Professional Documents
Culture Documents
Hệ thời gian thực - Chương 1 - new
Hệ thời gian thực - Chương 1 - new
Subject:
Real-time System
Chapter 1:
Introduction
● Tài liệu được đưa lên BKEL hằng tuần. Sinh viên tải về, in ra và
mang theo khi đến lớp học
● Điểm tổng kết môn học được đánh giá xuyên suốt quá trình học
● Bài tập về nhà (cá nhân, nhóm)
● Thực hành thí nghiệm
● Quá trình (bài tập lớn, chuyên cần)
● Thi cuối kỳ
Hệ thống nhúng là hệ thống có phần cứng xây dựng dựa trên bộ vi xử lý (hoặc vi
điều khiển) với phần mềm được thiết kế để thực hiện một chức năng chuyên biệt. Hệ
thống có thể được tái lập trình hoặc giữ một chức năng cố định.
Đặc điểm của hệ thống nhúng:
• Cấu trúc gồm: phần cứng (hardware) và phần
mềm (firmware, software).
• Có thể được nhúng trong các hệ thống lớn để
thực hiện một chức năng cụ thể.
• Có thể là bộ vi xử lý hoặc vi điều khiển - cả hai
đều là các mạch tích hợp cung cấp cho hệ thống
khả năng tính toán.
Hệ thời gian thực chia làm hai loại: thời gian thưc
cứng (Hard real-time) và thời gian thực mềm (Soft
real-time)
• Hard real-time: Thời gian thực cứng là khi hệ
thống hoạt động với yêu cầu thoả mãn sự ràng
buộc trong khung thời gian cứng tức là nếu vi
phạm thì sẽ dẫn đến hoạt động của toàn hệ
thống bị sai hoặc bị phá huỷ.
• Soft real-time: là khi hệ thống hoạt động với
yêu cầu thoả mãn ràng buộc trong khung thời
gian mềm, nếu vi phạm và sai lệch nằm trong
khoảng cho phép thì hệ thống vẫn có thể hoạt
động được và chấp nhận được
• Phần cứng — bao gồm CPU, bộ nhớ, các thiết bị xuất
nhập, đây là những tài nguyên của máy tính.
• Hệ điều hành — có chức năng điều khiển và phối hợp việc
sử dụng phần cứng cho những ứng dụng khác nhau.
• Hệ điều hành — là một chương trình hay một hệ chương
trình hoạt động tương tác giữa người sử dụng và phần
cứng của máy tính.
• Hệ thống máy tính — thường bao gồm có 4 thành phần
chính như phần cứng, hệ điều hành, các chương trình ứng
dụng và người dùng.
• Hệ điều hành có thể được coi như là bộ phân phối, cấp phát
và giải quyết tranh chấp tài nguyên của máy tính như thời
gian sử dụng CPU, vùng bộ nhớ, vùng lưu trữ tập tin, thiết
bị nhập xuất ...
• Do đó, một hệ thống tốt, thời gian xử lý nhanh là hệ thống
phải cho kết quả chính xác trong khoảng thời gian bị thúc ép
nhanh nhất.
• Hệ thống xử lý theo lô đa chương trình (multi-program) — khai thác
CPU bằng cách tổ chức các công việc sao cho CPU luôn luôn phải
trong tình trạng làm việc (tức CPU luôn được sử dụng qua lại bởi nhiều
tiến trình).
• Hệ thống chia sẻ thời gian — đây là một dạng của hệ thống đa chương,
là kiểu của các hệ điều hành hiện đại ngày nay, hệ thống này còn được
gọi là hệ thống đa nhiệm (multi-tasking).
• Hệ thống song song — hệ thống có nhiều bộ xử lý cùng chia sẻ hệ
thống đường truyền dưữ liệu, đôồng hồ, bộ nhớ và các thiết bị ngoại vi.
Các bộ xử lý này liên lạc bên trong với nhau.
• Hệ thống phân tán — giống như hệ thống chia sẻ thời gian nhưng các
bộ xử lý không chia sẻ bộ nhớ và đồng hồ, mà mỗi bộ xử lý có bộ nhớ
cục bộ riêng.
TS. Ngô Hà Quang Thịnh, nhqthinh@hcmut.edu.vn
1.4. Phân Loại
• Hệ thống xử lý theo lô — thực hiện các công việc lần lượt theo những
chỉ thị định trước, không cần sự can thiệp của người lập trình.
– CPU và thao tác nhập xuất: Tốc độ CPU nhanh hơn nhiều tốc độ của các thiết bị
ngoại vi. Do đó phải sử dụng 2 phương pháp là xử lý offline và spooling để đồng bộ
hoá hoạt động của CPU và thao tác nhập xuất.
– Xử lý offline: là thay vì CPU phải đọc trực tiếp từ thiết bị nhập và xuất ra thiết bị xuất,
hệ thống dùng 1 bộ lưu trữ trung gian. CPU chỉ thao tác với bộ phận này. Việc đọc
hay xuất đều đến và tư bộ lưu trữ trung gian.
– Spooling (simultaneous peripheral operation online): là đồng bộ hoá các thao tác bên
ngoài online, bằng việc sử dụng 1 bộ spooler. Cơ chế này cho phép quá trình giao
tiếp giữa CPU và ngoại vi là liên tục mà không gây ảnh hưởng đến việc sử dụng
CPU.
– Hệ phải xử lý các vấn đề lập lịch cho công việc, lập lịch cho bộ nhớ và cho cả CPU
nữa.
– Hiệu suất sử dụng CPU luôn cao, đảm bảo hiệu quả cho tiến trình làm việc
– Một chương trình khi thi hành được gọi là một tiến trình. Trong quá trình thực hiện
các thao tác nhập xuất thì CPU sẽ thi hành một tiến trình khác
– Một hệ điều hành chia sẻ cho phép nhiều người sử dụng chia sẻ máy tính một cách
đồng bộ do thời gian chuyển đổi nhanh nên họ có cảm giác là các tiến trình đang
được thi hành cùng lúc.
– Với sự gia tăng số lượng bộ xử lý, công việc được thực hiện nhanh chóng hơn
– Tài nguyên được sử dụng một cách hiệu quả do có sự chia sẻ nhằm tiết kiệm vùng
nhớ
– An toàn
Switch
Computer
Switch
Assembly line
Bell
0 = stop
Production
Control
System
Finished
Products
Parts
Terminals Sensors/Actuators
Database
Data Retrieval Display
and Display Devices
Operator’s Operator
Console Interface
Real-Time Computer
• Tính bị độ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 thường 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.
– Thời gian RTS được báo bằng đồng hồ hệ thống
– Hệ thống có nhiều vi xử lý có thể có nhiều đồng hồ
nhưng các đồng hồ phải đồng bộ với nhau
– Có 2 động lực chính khiến cho hệ điều hành hiện đại
thường hỗ trợ môi trường đa nhiệm (multi-task) trong đó
chấp nhận nhiều tác vụ thực hiện đồng thời trên cùng
một máy tính:
• Tăng hiệu suất sử dụng CPU
• Tăng tốc độ xử lý
- Một thực thể thụ động - Một thực thể hoạt động
- Chứa đựng các chỉ thị để - Có 1 con trỏ lệnh xác định
tiến hành một tác vụ nào đó chỉ thị kế tiếp sẽ thi hành
- Kèm theo các tài nguyên,
stack, không gian địa chỉ
– Scheduler cung cấp giải thuật để giúp các tiến trình chạy
song song.
- Một tiểu trình là 1 đơn vị xử lý cơ bản trong hệ thống.
- Các tiểu trình chia sẻ CPU với nhau giống như các chia
sẻ giữa các tiến trình: một tiểu trình xử lý trong khi các
tiểu trình khác chờ đến lượt.
50