Xem mẫu
- Hệ thống
Chương 1
thông tin công nghiệp
Chương 3: Vấn ₫ề thời gian thực
© 2004, HOÀNG MINH SƠN
08.01.07
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chương 3: Nội dung
1. Khái niệm “hệ thời gian thực”
2. Xử lý thời gian thực
3. Hệ điều hành thời gian thực
4. Giao tiếp thời gian thực
5. Lập trình thời gian thực
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực © 2005 - HMS 2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.1 Hệ thời gian thực là gì?
“A real-time system is one in which the correctness of the system
depends not only on the logical results, but also on the time at
which the results are produced,...”
Một hệ thời gian thực là một hệ thống mà sự hoạt ₫ộng tin cậy của
nó không chỉ phụ thuộc vào sự chính xác của kết quả, mà còn phụ
thuộc vào thời ₫iểm ₫ưa ra kết quả ₫ể phản ứng với sự kiện bên
ngoài. Hệ thống có lỗi khi thời gian yêu cầu không ₫ược thoả mãn.
JOHN A. STANKOVIC ET AL.: Strategic Directions in Real-Time and Embedded
Systems. ACM Computing Surveys, Vol. 28, No. 4, December 1996
Thời gian thực không phải là thời gian tuyệt đối
© 2004, HOÀNG MINH SƠN
Tính năng thời gian thực không đồng nghĩa với tốc độ
tính toán rất nhanh
Tính năng thời gian thực = tính chính xác + tính kịp
thời
Chương 3: Vấn đề thời gian thực © 2005 - HMS 3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các dạng của “tính kịp thời”
Sự kiện Phản ứng Sự kiện Phản ứng
T T
ts tp Thời gian ts tp1 tp2 Thời gian
a) Chính xác tại ... (t = tp) b) Trong khoảng ... (tp2 ≤ t ≤ tp2 )
Sự kiện Phản ứng Sự kiện Phản ứng
T T
© 2004, HOÀNG MINH SƠN
ts tp Thời gian ts tp Thời gian
c) Chậm nhất là ... (t ≥ tp) d) Sớm nhất là ... (t ≥ tp)
Chương 3: Vấn đề thời gian thực © 2005 - HMS 4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- HT ₫iều khiển có phải là hệ TGT?
Mỗi hệ thống điều khiển là một hệ thời gian thực
Chất lượng điều khiển không chỉ phụ thuộc vào thuật
toán điều khiển, mà còn phụ thuộc vào khả năng phản
ứng của hệ thống, thời điểm đọc tín hiệu đầu vào (tín
hiệu đo), vào thời gian tính toán luật điều khiển và thời
điểm đưa ra tín hiệu điều khiển
Tính năng thời gian thực của một HTĐK phụ thuộc cả
vào phần cứng và phần mềm và vào kiến trúc hệ thống
Phần cứng: Tốc độ tính toán của vi xử lý, tốc độ chuyển đổi
DA/AD, cơ chế vào/ra, chậm trễ trong các thiết bị
Phần mềm: Thuật toán điều khiển, phương pháp lập trình,
tổ chức thực hiện chương trình
© 2004, HOÀNG MINH SƠN
Tính năng TGT của một HTĐK liên quan tới tính mạng
con người
Phần lớn các hệ thời gian thực là các hệ thống điều
khiển
Chương 3: Vấn đề thời gian thực © 2005 - HMS 5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Hai dạng hệ thống TGT tiêu biểu
1. Hệ thống nhúng (Embedded Systems)
— Các hệ thống điều khiển chuyên dụng, đặc chủng cho
các thiết bị, máy móc đơn lẻ
— Máy tính điều khiển là một phần không tách rời của
thiết bị được điều khiển
— Dựa trên nền vi xử lý, nhân thời gian thực, hệ điều hành
thời gian thực
— Ví dụ ứng dụng: công nghiệp hàng không-vũ trụ, robot
công nghiệp, phương tiện giao thông, ...
2. Hệ thống điều khiển công nghiệp (Industrial Control
Systems)
— Distributed Control Systems (DCS), Programmable Logic
© 2004, HOÀNG MINH SƠN
Controllers (PLC), Soft-PLCs
— Các hệ thống điều khiển phân cấp, phân tán
— Ứng dụng trong CN chế biến, CN chế tạo
Chương 3: Vấn đề thời gian thực © 2005 - HMS 6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chiếc xe hơi có là một hệ TGT?
Hơn 50 máy vi tính bên trong (μP) nối mạng
Chúng ta có nên tìm hiểu nguyên lý hoạt động của
chúng?
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực © 2005 - HMS 7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Bus trường có phải là một hệ TGT?
Controller
Tc
Tbus Tin Bus trường Tout
I/O I/O Tio I/O I/O
© 2004, HOÀNG MINH SƠN
Tsd Tad
Sensor Sensor Ts Ta Actuator Actuator
Chương 3: Vấn đề thời gian thực © 2005 - HMS 8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tính năng thời gian thực là yêu cầu
chung của hầu hết các hệ thống thông
tin công nghiệp!
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực © 2005 - HMS 9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Đặc ₫iểm của một hệ thời gian thực
Tính phản ứng: Hệ thống phải phản ứng với các sự
kiện xuất hiện vào các thời điểm không biết trước.
Tính nhanh nhạy: Hệ thống phải xử lý thông tin một
cách nhanh chóng để có thể đưa ra kết quả phản ứng
một cách kịp thời.
Tính ₫ồng thời: Hệ thống phải có khả năng phản ứng
và xử lý đồng thời nhiều sự kiện diễn ra.
Tính tiền ₫ịnh: Dự đoán trước được thời gian phản ứng
tiêu biểu, thời gian phản ứng chậm nhất cũng như
trình tự đưa ra các phản ứng.
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực © 2005 - HMS 10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Xử lý thời gian thực là gì?
Xử lý thời gian thực là hình thức xử lý thông tin trong
một hệ thống ₫ể ₫ảm bảo tính năng thời gian thực của
nó.
Luôn liên quan với các sự kiện bên ngoài (tính phản
ứng)
Yêu cầu cao về hiệu suất phần mềm (tính nhanh nhạy)
Đòi hỏi xử lý ₫ồng thời nhiều tác vụ (tính ₫ồng thời)
© 2004, HOÀNG MINH SƠN
Đòi hỏi cơ sở lý thuyết chặt chẽ phục vụ phân tích và
đánh giá (tính tiền ₫ịnh)
Chương 3: Vấn đề thời gian thực © 2005 - HMS 11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tại sao phải nghiên cứu về xử lý TGT?
Xử lý thời gian thực là nguyên lý làm việc cơ bản của
mỗi hệ thống điều khiển và của mỗi hệ thống thông
tin công nghiệp, nhìn từ quan điểm tin học
Chất lượng điều khiển và độ tin cậy của hệ thống điều
khiển không chỉ phụ thuộc vào thuật toán ₫iều khiển,
công nghệ phần cứng, mà còn phụ thuộc một cách tất
yếu vào phương pháp xử lý thời gian thực
Chúng ta còn biết quá ít về cơ chế thực hiện các chức
năng phần mềm bên trong một bộ điều khiển (số)
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực © 2005 - HMS 12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các hình thức cơ bản của xử lý TGT
Khả năng phản ứng đồng thời với các sự kiện bên
ngoài: Xử lý đa nhiệm
Đáp ứng yêu cầu về thời gian của nhiều “tác vụ”:
— Xử lý song song
— Xử lý phân tán
— Xử lý cạnh tranh
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực © 2005 - HMS 13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tác vụ và xử lý ₫a nhiệm
Một quá trình tính toán cho một nhiệm vụ cụ thể, có
thể được thực hiện đồng thời, ví dụ:
— Các tác vụ xử lý giá trị vào/ra
— Các tác vụ điều chỉnh
— Các tác vụ điều khiển logic
— Các tác vụ xử lý biến cố
— ...
Một tác vụ là sự thi hành một chương trình hoặc một
phần chương trình
— Một chương trình chạy nhiều lần => nhiều tác vụ
— Một đoạn mã chương trình (ví dụ một hàm) được gọi tuần
© 2004, HOÀNG MINH SƠN
hoàn với các chu kỳ khác nhau => nhiều tác vụ khác
nhau
Multitasking (đa nhiệm): khả năng thi hành đồng thời
nhiều tác vụ
Chương 3: Vấn đề thời gian thực © 2005 - HMS 14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các trạng thái của một tác vụ
Trạng thái nghỉ, chưa tồn tại (Dormant,
Nonexistence): Task trong bộ nhớ nhưng
hệ điều hành không quản lý.
Trạng thái sẵn sàng (Ready state): Khi
nó có thể được điều hoạt nhưng hiện
DORMANT READY
đang có một Task khác có mức ưu tiên
cao hơn đang được thực hiện.
Trạng thái chạy (Running state): Khi nó
đang được điều khiển bởi CPU
WAITING RUNNING Trạng thái đợi (Waiting state) : Khi nó
đang chờ một sự kiện xảy ra để được
sẵn sàng như một sự kiện vào/ra, khi
© 2004, HOÀNG MINH SƠN
tài nguyên chung có thể sử dụng hay là
khi có các ngắt thời gian.
Chương 3: Vấn đề thời gian thực © 2005 - HMS 15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phân loại tác vụ (IEC 61131-3)
Chờ tới chu kỳ Chờ sự kiện
Thời gian Sự kiện
Mã thực thi
Mã thực thi Mã thực thi
Tác vụ mặc định Tác vụ tuần hoàn Tác vụ sự kiện
Ví dụ: Ví dụ: Ví dụ:
© 2004, HOÀNG MINH SƠN
- Điều khiển logic - Điều chỉnh vòng kín - Điều khiển trình tự
- Kiểm tra lỗi - Xử lý truyền thông - Xử lý sự cố
Chương 3: Vấn đề thời gian thực © 2005 - HMS 16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các hình thức xử lý ₫ồng thời
Xử lý song song: Các tác vụ (task) được phân chia
thực hiện song song trên nhiều bộ xử lý
Xử lý cạnh tranh: Nhiều tác vụ chia sẻ thời gian của
một bộ xử lý.
Xử lý phân tán: Mỗi (nhóm) tác vụ được thực hiện
riêng trên một máy tính (trường hợp đặc biệt của xử
lý song song).
© 2004, HOÀNG MINH SƠN
Xử lý cạnh tranh là hình thức quan trọng nhất trong
các hệ thống điều khiển (có thể kết hợp với xử lý
phân tán)
Chương 3: Vấn đề thời gian thực © 2005 - HMS 17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Xử lý cạnh tranh
Các vấn đề:
— Tổ chức, lập lịch phân
chia tài nguyên cho các
tác vụ
— Giao tiếp giữa các tác vụ
— Đồng bộ hóa giữa các tác
vụ
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực © 2005 - HMS 18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phương pháp lập lịch
Vấn đề:
— Bên cạnh hiệu năng của phần cứng máy tính, thì
phương pháp lập lịch có ảnh hưởng lớn tới tính năng
thời gian thực của hệ thống
— Cần sự thỏa hiệp giữa tính năng thời gian thực và
hiệu suất sử dụng tài nguyên máy tính
Cơ chế lập lịch
— Lập lệnh tĩnh: thứ tự thực hiện các tác vụ được xác định
trước khi hệ thống đi vào hoạt động.
— Lập lệnh động: thứ tự thực hiện các tác vụ được xác định
© 2004, HOÀNG MINH SƠN
trong khi hệ thống đang hoạt động.
Chương 3: Vấn đề thời gian thực © 2005 - HMS 19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phương pháp lập lịch
Sách lược lập lịch
— FIFO: đến trước sẽ được thực hiện trước.
— Non-preemptive: không chen hàng, các tác vụ được thực
hiện bình thường dựa trên mức ưu tiên của chúng.
— Preemptive: chen hàng, chọn một tác vụ để thực hiện
trước các tác vụ khác.
— Round-robin/Time-slicing: Mỗi tác vụ có mức ưu tiên như
nhau được thực hiện một số “lát thời gian”
— Mức ưu tiên cố định/động: các tác vụ được đặt các mức
ưu tiên cố định hoặc có thể thay đổi nếu cần.
Thuật toán lập lịch
© 2004, HOÀNG MINH SƠN
— Rate monotonic: càng thường xuyên càng được ưu tiên.
— Deadline monotonic: càng gấp càng được ưu tiên.
— Least laxity: tỷ lệ thời gian tính toán/thời hạn cuối cùng
(deadline) càng lớn càng được ưu tiên.
Chương 3: Vấn đề thời gian thực © 2005 - HMS 20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn