© 2004, HOÀNG MINH SƠN
Chương 1
Hệ
thống
thông tin công nghiệp
08.01.07
Chương
3:
Vấn ₫ề
thời gian thực
2
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
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.
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
p
)
Thời gian
Sự
kiện Phản ứng
t
s
t
p2
T
b) Trong khoảng (t
p2
≤
t ≤
t
p2
)
Thời gian
Sự
kiện Phản ứng
t
s
t
p
)
5
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
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
thống điều
khiển
6
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
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ềukhiển
gian thực, hệđiềuhà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ềukhiển
công nghiệp (Industrial Control
Systems)
—
Distributed Control Systems (DCS), Programmable Logic
Controllers (PLC), Soft-PLCs
máy
vi tính
bên
trong
(μP) nốimạng
Chúng
ta
có
nên
tìm
hiểu
nguyên
lý
hoạt
động
T
ad
T
c
T
s
T
io
T
a
T
bus
9
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
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!
10
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
Đặc ₫iểm của mộthệ
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)
Đò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)
12
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
lý song song
—
Xử
lý phân tán
—
Xử
lý cạnh tranh
14
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
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ử
Một đoạn mã chương trình
(ví
dụ
một hàm) được gọi tuầ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ụ
15
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
Các
trạng
thái
của một tác
thựcthi
Tác vụ
mặc định
Ví
dụ:
- Điều khiển
logic
-
Kiểm tra lỗi
Chờ
tới chu kỳ
Mã
thựcthi
Thời gian
Tác vụ
tuần hoàn
Ví
dụ:
- Điều chỉnh vòng kín
- Xử
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).
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)
18
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
Xử
lý
cạnh
tác
vụ
19
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
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
—
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
đa nhiệm (khái niệm tác vụ nhìn từ phía người sử
dụng)
Hai loại tiến trình:
—
Tiến trình nặng cân (heavyweight process, process):
Chiếm một không gian địa chỉ riêng, thường tương ứng
với thực thi cả
một chương trình => sử
dụng an toàn hơn
nhưng giao tiếp giữa các process phức tạp
—
Tiến trình nhẹ
cân (lightweight process, thread): Thường
thuộc một process, các thread của một process cùng
chia sẻ
một không gian địa chỉ
=> giao tiếp đơn giản
thông qua các biến toàn cục, nhưng cần thận trọng
22
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
3.3
liệu
mà
không cần quan tâm tới cơ chế
phần cứng cụ
thể
Quản lý tác vụ:
—
Lập lịch:
Phân chia thời gian
CPU
cho thi hành các tác vụ
khác nhau
(trong xử
lý cạnh tranh)
—
Hỗ
trợ ₫ồng bộ
liệu hoặc phối hợp hoạt động
Các chức năng kiểm tra, chẩn đoán lỗi
24
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
RTOS trong các
hệ
thống
₫iềukhiển
Yêu cầu đặc biệt
—
Mã rất nhỏ, gọn
—
Đơn giản, dễ
sử
dụng, dễ
lập trình
—
Thời
thời gian, độ
rung nhỏ
(jitter)
—
Quản lý vào/ra hiệu quả, đơn giản
Hai dạng thực hiện:
—
Mã nguồn: Nhân thời gian thực, được dịch và
liên kết
cùng với CTĐK tạo thành một chương trình duy nhất ->
giải pháp vi điều khiển.
—
Mã chạy cài đặt sẵn trên thiết bị: Hệ điều hành thời gian
thực đầy đủ, cung cấp các dịch vụ độc lập với chương
trình điều khiển -> giải pháp PLC và
DCS.
25
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thời gian thực
© 2005 - HMS
GIAO DIỆN PHẦNCỨNG
PHẦNCỨNG
DỤNG
CHƯƠNG TRÌNH
ỨNG
DỤNG
Cấu trúc tiêu biểu của một hệ
₫iều hành
thời gian thực