Phương pháp xử lý theo thời gian thực

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ THANH THOAN

HỆ THỐNG THỜI GIAN THỰC VÀ
ỨNG DỤNG CÁC MẪU TRONG THIẾT KẾ

LUẬN VĂN THẠC SĨ

Hà Nội - 2007

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
--------------

Nguyễn Thị Thanh Thoan

HỆ THỐNG THỜI GIAN THỰC VÀ
ỨNG DỤNG CÁC MẪU TRONG THIẾT KẾ

Chuyên ngành

: Công nghệ phần mềm

Mã số

: 68.40.10

LUẬN VĂN THẠC SỸ

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS. TS. Nguyễn Văn Vỵ

Hà Nội - 2007

MỤC LỤC
Các thuật ngữ và các từ viết tắt .......................................................................................4
Danh mục các hình ..........................................................................................................5
MỤC LỤC .......................................................................................................................7
MỞ ĐẦU .......................................................................................................................10
Chƣơng I : TỔNG QUAN VỀ HỆ THỜI GIAN THỰC ...............................................11
1.1. Khái niệm về hệ thời gian thực [1] .....................................................................11
1.2 Phân loại hệ thời gian thực ..................................................................................12
1.2.1 Hệ thời gian thực cứng .................................................................................13
1.2.2 Hệ thời gian thực mềm .................................................................................13
1.3 Đặc điểm của hệ thời gian thực [6] .....................................................................14
1.4 Cấu trúc thành phần của một hệ thời gian thực ..................................................14
1.5. Xử lý thời gian thực ............................................................................................17
1.5.1 Xử lý ngắt .....................................................................................................19
1.5.2 Quản lý tiến trình ..........................................................................................21
1.6 Một số ứng dụng tiêu biểu của hệ thời gian thực ................................................22
1.6.1 Điều khiển tín hiệu số ...................................................................................23
1.6.2 Điều khiển mức cao .....................................................................................24
1.6.2.1 Các ví dụ về phân cấp điều khiển ..........................................................24
1.6.2.2 Hƣớng dẫn và kiểm soát ........................................................................26
1.6.3 Điều khiển lệnh.............................................................................................26
1.6.4 Xử lý tín hiệu ................................................................................................27
1.6.4.1 Hệ thống radar .......................................................................................27
1.7 Một số hệ thống thời gian thực điển hình ............................................................30
1.7.1 Hệ thống giám sát .........................................................................................31
1.7.2 Hệ thống điều khiển......................................................................................32
1.7.3 Hệ thống thu nhận dữ liệu ............................................................................33

Chƣơng 2: PHƢƠNG PHÁP PHÂN TÍCH THIẾT KẾ HƢỚNG MẪU ......................35
2.1 Mẫu thiết kế .........................................................................................................35
2.1.1 Khái niệm về mẫu .........................................................................................35
2.1.2 Vai trò của mẫu trong phát triển phần mềm .................................................36
2.1.3 Vòng đời của một mẫu .................................................................................37
2.1.4 Một số mẫu cho hệ thời gian thực ................................................................38
2.1.4.1 Mẫu hành vi Observer ...........................................................................38
2.1.4.2 Mẫu chiến lƣợc ......................................................................................40
2.1.4.3 Mẫu ngắt ................................................................................................41
2.1.4.4 Mẫu luân chuyển Robin ........................................................................43
2.2 Phân tích thiết kế hƣớng mẫu - POAD ................................................................45
2.3.1 Mục tiêu của POAD .....................................................................................45
2.2.2 Những vẫn đề của POAD .............................................................................45
2.2.3 Phân tích hƣớng mẫu ....................................................................................46
2.3.3.1 Tổng quan ..............................................................................................46
2.2.3.2 Mục đích của việc phân tích hƣớng mẫu...............................................48
2.2.3.3 Phân tích các yêu cầu ............................................................................48
2.2.3.4 Làm quen bƣớc đầu ...............................................................................49
2.2.3.5 Tìm và lấy ra các mẫu ...........................................................................49
2.2.3.6 Lựa chọn mẫu ........................................................................................50
2.2.4 Thiết kế hƣớng mẫu ......................................................................................51
2.2.4.1 Tổng quan ..............................................................................................51
2.2.4.2 Mục đích của việc thiết kế hƣớng mẫu ................................................51
2.2.4.3 Cấu trúc mẫu..........................................................................................51
2.2.4.4 Cấu trúc các mô hình mức mẫu chi tiết .................................................53
2.4 UML trợ giúp các mẫu thiết kế ...........................................................................54
Chƣơng 3: HỆ THỐNG GIÁM SÁT TRẠNG THÁI HOẠT ĐỘNG TRONG
TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG ...........................................................57
3.1 Tổng quan về trƣờng Đại học Dân lập Hải phòng ..............................................57

3.2 Bài toán giám sát hoạt động trong khuôn viên nhà trƣờng .................................58
3.2.1 Mô tả Bài toán ..............................................................................................58
3.2.2 Những vấn đề đặt ra .....................................................................................59
3.2.3 Đặc tả hệ thống .............................................................................................60
3.2.3.1 Hệ thống phần cứng...............................................................................60
3.2.3.2 Hệ thống phần mềm ..............................................................................60
3.3 Phát triển hệ thống phần mềm theo POAD .........................................................61
3.3.1 Xác định mô hình nghiệp vụ ........................................................................61
3.3.1.1 Các chức năng nghiệp vụ của hệ thống .................................................63
3.3.1.2 Các tác nhân nghiệp vụ .........................................................................67
3.3.1.3 Các biểu đồ hoạt động của tiến trình nghiệp vụ ....................................67
3.3.1.4 Mô hình miền lĩnh vực ..........................................................................69
2.3.1.5 Từ diển giải thích...................................................................................70
3.3.2. Biểu diễn mô hình hệ thống nghiệp vụ........................................................71
3.3.2.1 Mô hình ca sử dụng mức cao ................................................................72
3.3.2.2 Các mô hình ca sử dụng chi tiết ............................................................73
3.3.4 Lựa chọn các mẫu .........................................................................................80
3.4 Thiết kế “Hệ thống giám sát trạng thái hoạt động” ............................................80
3.4.1 Thiết kế ca sử dụng “Quản trị hệ thống” ......................................................80
3.4.2 Thiết kế ca sử dụng “Kiểm soát vào ra” .......................................................82
3.4.3 Thiết kế ca sử dụng “Xử lý hỏa hoạn” .....................................................83
3.4.4 Thiết kế ca sử dụng “Quản trị vận hành” .................................................84
3.5 Một số giao diện chƣơng trình ............................................................................85
KẾT LUẬN ...................................................................................................................89
TÀI LIỆU THAM KHẢO .............................................................................................90

Các thuật ngữ và các từ viết tắt
Viết tắt

Tên đầy đủ

Ý nghĩa

A/D

Analog / Digital

Bộ chuyển đổi tương tự - số

ATC

Air Traffic Control

Điều khiển máy bay lên xuống

CSDL

Cơ sở dữ liệu

D/A

Digital / Analog

Bộ chuyển đổi số - tương tự

HRT

Hard Real Time

Thời gian thực cứng

I /O

Input / Ouput

Vào/ra

PloP

Patterns language of
Program

Chương trình của ngôn ngữ mẫu

PloPD

Patterns language of
Program Design

Thiết kế chương trình của ngôn
ngữ mẫu

POAD

Pattern Oriented Analys
and Design

Phân tích và thiết kế hướng mẫu

RTS

Real Time System

Hệ thời gian thực

RUP

Rational Unified Process

Tiến trình thống nhất của Rational

SRT

Soft Real Time

Thời gian thực mềm

UML

Unified Modeling Language

Ngôn ngữ mô hình hóa thống nhất

Danh mục các hình

Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian ...............................................11
Hình 1.2 Đồ thị mô tả đặc trưng hai loại hệ thời gian thực ......................................12
Hình 1.3: Các thành phần của hoạt động thời gian thực ...........................................15
Hình 1.4: Các kiểu tác vụ theo chuẩn IEC 61131-3..................................................17
Hình 1.5: Mô hình chung của hệ thời gian thực .......................................................18
Hình 1.6 Mô hình xử lý ngắt .....................................................................................19
Hình 1.7 Ưu tiên ngắt ................................................................................................20
Hình 1.8: Hành động thực thi thời gian thực yêu cầu bắt đầu một tiến trình ...........21
Hình 1.9. Một bộ điều khiển số .................................................................................23
Hình 1.10: Cấu trúc hệ thống điêu khiển máy bay....................................................25
Hình 1.11. Xử lý tín hiệu radar và hệ thống hiệu chỉnh ............................................28
Hình 1.13: Kiến trúc tiến trình hệ thống báo động trộm ...........................................31
Hình 1.14: Kiến trúc tiến trình của hệ thống điều khiển nhiệt độ .............................32
Hình 1.15: Kiến trúc của luồng giám sát hệ thống....................................................33
Hình 1.16: Bộ đệm tròn cho bộ thu nhận dữ liệu ......................................................34
Hình 2.1 Vòng đời của một mẫu ..............................................................................37
Hình 2.2 Cấu trúc mẫu Quan sát ...............................................................................39
Hình 2.3 Mô tả cấu trúc mẫu chiến lược ..................................................................40
Hình 2.4. Cấu trúc mẫu ngắt .....................................................................................41
Hình 2.5. Phương thức điều khiển ngắt ....................................................................42
Hình 2.7 Sự cấu thành những thiết kế ứng dụng khi sử dụng những mẫu ................46
Hình 2.8. Pha phân tích của POAD...........................................................................47
Hình 2.9 Biểu đồ lớp [a] và Biểu đồ tương tác [b] của mẫu Observer. ....................55
Hình 3.1. Sơ đồ cấu trúc hệ thống phần cứng ...........................................................60
Bảng 3.1. Bảng phân quyền vào ra ...........................................................................62

Hình 3.2. Biểu đồ hoạt động tiến trình nghiệp vụ “Điều khiển đóng – mở cửa” .....68
Hình 3.3. Biểu đồ hoạt động tiến trình nghiệp vụ “Cảnh báo nguy cơ hỏa hoạn” ...69
Hình 3.4. Biểu đồ miền lĩnh vực ...............................................................................70
Hình 3.5 Mô hình ca sử dụng mức tổng quát ............................................................72
Hình 3.6: Biểu đồ ca sử dụng gói “Quản trị hệ thống” ............................................73
Hình 3.7: Biểu đồ ca sử dụng “Kiểm soát vào ra” ....................................................75
Hình 3.8: Mô hình gói ca sử dụng “Cảnh báo hỏa hoạn” .........................................76
Hình 3.9: Biều đồ ca sử dụng gói “Quản lý vận hành” .............................................78
Hình 3.10. Biểu đồ lớp của các lớp đối tượng chính ...............................................81
Hình 3.11. Biểu đồ lớp cập nhật bảng phân quyền sử dụng mẫu chiến lược............82
Hình 3.12. Biểu đồ lớp thiết kiểm soát vào ra theo mẫu quan sát ............................83
Hình 3.13 Biểu đồ lớp mức mẫu “Xử lý hỏa hoạn” .................................................84
Hình 3.14 Biểu đồ lớp cho ca sử dụng giám sát truy nhập và ghi nhật ký ...............85
Hình 3.15 Giao diện đăng nhập hệ thống ..................................................................85
Hình 3.16 Giao diện vào ra hệ thống .......................................................................86
Hình 3.17 Giao diện cảm ứng nhiệt độ .....................................................................86
Hình 3.18 Giao diện quan sát nhiệt độ ......................................................................87
Hình 3.19 Giao diện lựa chọn chiến lược cập nhật ...................................................87
Hình 3.20 Giao diện cập nhật trực tiếp .....................................................................88
Hình 3.21 Giao diện cập nhật từ tệp .........................................................................88

MỞ ĐẦU
Ngày nay, hầu hết các tương tác tính toán trong nhiều hệ thống trên máy tính đều
tíến hành theo thời gian thực như các hệ thống điều khiển phản hồi, hệ thống giám sát,
các hệ thống điều khiển tự động... Các hệ thống trên thường phải đáp ứng được các sự
kiện trong thế giới thực về mặt thời gian khi tương tác với môi trường bên ngoài.
Có rất nhiều phương pháp được dùng để phân tích thiết kế phần mềm này như:
phương pháp “biểu đồ trạng thái”, hay máy trạng thái hữu hạn [11], phương pháp phân
tích thiết kế hướng đối tượng,... Trong các phương pháp thiết kế trên, phương pháp
phân tích hướng đối tượng và sử dụng mẫu trong thiết kế đang là một hướng nghiên
cứu và ứng dụng đang phát triển rất mạnh hiện nay. Nó mang đặc trưng của công nghệ
sử dụng lại cho việc phát triển các hệ thống phần mềm ở mức thiết kế. Vì vậy, đề tài
“Hệ thống thời gian thực và ứng dụng các mẫu trong thiết kế” được chọn làm luận văn
tốt nghiệp của tôi.
Trong luận văn này, sau khi trình bày tổng quan về hệ thống thời gian thực và
trình bày phương pháp phát triển hệ thống phần mềm trên cơ sở phương pháp phân
tích hướng đối tượng định hướng mẫu. Nó được vận dụng để phân tích thiết kế hệ
thống giám sát trạng thái hoạt động trong khuôn viên Trường đại học dân lập Hải
Phòng - một hệ thống thời gian thực.
Nội dung luận văn gồm ba chương
Chương 1: Tổng quan về Hệ thời gian thực.
Trong chương này, trình bày các khái niệm về hệ thống thời gian thực, các ứng
dụng điển hình của hệ thống này.
Chương 2: Phương pháp phân tích thiết kế hướng mẫu
Trong chương này, trình bày tổng quan về mẫu thiết kế và phương pháp phân
tích thiết kế hệ thống phần mềm hướng mẫu. Ngoài ra trình bày một số mẫu được sử
dụng cho thiết kế cho ứng dụng đề xuất như mẫu Quan sát [Observer], mẫu chiến lược
[Trategy], mẫu ngắt [Interruptt], và mẫu luân chuyển Robin [Round Robin].
Chương 3: Hệ thống giám sát trạng thái hoạt động trong khuôn viên Trường
Đại học Dân Lập Hải Phòng
Đây là phần xây dựng ứng dụng dựa trên cơ sở lý thuyết đã trình bày ở trên. Sử
dụng phương pháp phân tích hướng đối tượng và các mẫu để tiến hành phân tích và
thiết kế ứng dụng và tiến hành một số cài đặt thử nghiệm.
Cuối cùng là phần kết luận và hướng phát triển tiếp theo của đề tài.

Chƣơng I
TỔNG QUAN VỀ HỆ THỜI GIAN THỰC
1.1. Khái niệm về hệ thời gian thực [1]
Hầu hết các bộ xử lý được dùng để điều khiển các máy tính cá nhân đơn giản cho
đến toàn bộ các hệ thống máy móc trong các nhà máy. Những hệ thống này tương tác
trực tiếp với các thiết bị phần cứng. Phần mềm trong những hệ thống này được gọi là
hệ thời gian thực nhúng [Embedded Real Time System]. Nó thực hiện các xử lý để đáp
ứng lại với các sự kiện phát sinh từ các phần cứng bằng cách tạo ra các tín hiệu điều
khiển gửi đến các thiết bị phần cứng nhằm đáp ứng những sự kiện của môi trường.
Những phần mềm này được nhúng vào trong hệ thống phần cứng hay hệ thống lớn hơn
và phải sản ra các tín hiệu điều khiển trong khoảng thời gian thực xác định để đáp ứng
được các sự kiện phát sinh từ môi trường của hệ thống.
Như vậy, một hệ thời gian thực là một hệ thống mà hoạt động hiệu quả của nó
không chỉ phụ thuộc vào sự chính xác của kết quả tạo ra mà còn phụ thuộc vào thời
điểm đưa ra kết quả. Hệ thống sẽ là thất bại mỗi khi các yêu cầu về thời gian và mức
độ đáp ứng không được thoả mãn. Hình 1.1 [5] mô tả mức độ đáp ứng kịp thời của hệ
thống theo bốn yêu cầu khác nhau.
Sự kiện

Sự kiện

Phản ứng

T

T

ts

Thời gian

tp

ts

tp-1

Phản ứng

Sự kiện

T

ts

tp-2

Thời gian

b] Trong khoảng ... tp-1 ≤ t ≤ tp-2

a] Chính xác tại t = tp
Sự kiện

Phản ứng

Phản ứng
T

tp

Thời gian

c] Chậm nhất là ... t ≤ tp

ts

tp

Thời gian

d] Sớm nhất là ... t ≥ tp

Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian

12

Các hệ thời gian thực khác với các phần mềm khác là những chức năng đáp ứng
của hệ thống đối với các sự kiện của môi trường trong một khoảng thời gian nhất định
[thường là khoảng thời gian ngắn]. Do vậy người ta định nghĩa hệ thời gian thực [Real
Time System - RTS] như sau:
Một hệ thời gian thực là một hệ thống mà trong đó tính đúng đắn của nó không
chỉ phụ thuộc vào các kết quả logic được tạo ra mà còn phụ thuộc vào thời điểm mà
tại đó các kết quả được đưa ra.[10]
Nhiều thay đổi của các sự kiện trong thế giới thực thường xảy ra rất nhanh, mỗi
hệ thống thời gian thực giám sát các sự kiện này phải thực hiện việc xử lý và đưa ra
kết quả trong một khoảng thời gian bắt buộc gọi là một hạn định hay thời điểm kết
thúc [deadline]. Khoảng thời gian này được xác định từ thời gian bắt đầu và thời gian
hoàn tất công việc. Trong thực tế, nhiều yếu tố kích thích xảy ra trong khoảng thời
gian rất ngắn, ví dụ vào khoảng vài mili giây, và khi đó thời gian mà hệ thống cần đáp
ứng lại các yếu tố kích thích thường vào khoảng dưới 1 giây mới đảm bảo được yêu
cầu mong muốn. Khoảng thời gian này bao gồm: thời gian tiếp nhận kích thích, thời
gian xử lý thông tin và thời gian hồi đáp kích thích.[10]

1.2 Phân loại hệ thời gian thực
Hệ thời gian thực được chia thành hai loại, hệ thời gian thực cứng [Hardware
real time system] và hệ thời gian thực mềm [Sofware real time system]. Hình 1.2 [5]
dưới đây minh họa cho sự khác biệt giữa hai loại hệ thống đó.

Giá trị
kết quả
xử lý đưa
ra

đồ thị hệ mềm
đồ thị hệ cứng

- +
thời điểm đáp ứng
[deadline]

thời gian

Hình 1.2 Đồ thị mô tả đặc trưng hai loại hệ thời gian thực

13

Trong đó: hạn định [deadline] là khoảng thời gian hay thời điểm mà tại đó các tác vụ
thực hiện yêu cầu cần được hoàn thành.

1.2.1 Hệ thời gian thực cứng
Trong một số hệ thống được quan tâm đặc biệt đến các hậu quả do sự vi phạm
giới hạn về thời gian cho phép. Những hậu quả này có thể rất tồi tệ. Nó mang lại
những thiệt hại nặng nề về vật chất, và có thể gây ra những ảnh hưởng to lớn đến sinh
mạng con người. Một ví dụ cho loại hệ thống này như việc ra lệnh dừng tàu đã không
được thực hiện đúng lúc để tàu đi băng qua ga sẽ là nguyên nhân dẫn đến một tai nạn
thảm khốc, hay việc điều khiển ném bom xảy quá chậm có thể nổ vào dân thường thay
vì nổ đúng mục tiêu của một căn cứ quân sự đối phương. Chính vì vậy, người ta đưa ra
định nghĩa về hệ thời gian thực cứng như sau:
Một hệ thời gian thực cứng là một hệ thống mà hoạt động không đúng đắn của
nó sẽ để lại hậu quả nghiêm trọng [10]. Do đó hệ thời gian thực cứng buộc phải đưa ra
các kết quả chính xác trong khoảng thời gian nhất định đã cho.
Ví dụ: Một đoàn tàu điều khiển tự động không thể dừng lại ngay lập tức. Khi có
tín hiệu dứng, hành động phanh lại của nó phải được kích hoạt từ một khoảng cách xác
định trên đường ray từ cổng tín hiệu đến vị trí nó phải dừng. Khoảng cách phanh này
phụ thuộc không chỉ vào tốc độ của con tàu mà còn vào hệ số an toàn của bộ phanh
giảm tốc độ. Từ tốc độ và sự giảm tốc độ an toàn của tàu, bộ điều khiển có thể tính
toán ra thời gian bắt buộc tàu cần hãm phanh và cường độ phanh yêu cầu trước điểm
cần dừng bao xa. Thời gian giới hạn bắt buộc này chính là thời gian sự cưỡng bức để
hoàn thành các công việc như là quan sát, xử lý tín hiệu dừng và kích hoạt phanh. Vì
vậy, sự cưỡng bức thời gian này phải là cứng mới đảm bảo sự dừng đúng vị trí của con
tàu.

1.2.2 Hệ thời gian thực mềm
Ngược lại với hệ thời gian thực cứng là hệ thời gian thực mềm. Kết quả đưa ra
của một hệ thống cho phép một sai số nhất định cả về giá trị và thời gian so với
khoảng thời gian dự kiến. Tuy nhiên, nếu sự sai lệch này không được đảm bảo nó cũng
không gây ra điều gì nghiêm trọng.
Đối với hệ thời gian thực mềm, thời gian đáp ứng của hệ thống với yếu tố kích
thích cũng quan trọng. Tuy nhiên, trong trường hợp này thời gian đáp ứng của hệ
thống có thể vượt quá giới hạn trễ cho phép, hệ thống vẫn hoạt động bình thường,
không quan tâm đến các tác hại do sự vi phạm này gây ra [thường thì các tác hại này là

14

không đáng kể]. Trong trường hợp này, người ta gọi là hệ thống có ràng buộc định thời
gian mềm. Vì vậy người ta định nghĩa hệ thời gian thực mềm như sau:
Một hệ thời gian thực mềm là một hệ thống mà trong đó các hoạt động của nó
được phép hoàn thành trong một sai số cho phép mà không gây hậu quả nghiêm
trọng[10], tức là sự đáp ứng của hệ thời gian thực mềm có thể vượt ra ngoài một giới
hạn cho phép mà vẫn có thể chấp nhận được. Ví dụ về hệ thống này bao gồm những hệ
thống thực hiện tương tác trực tuyến, những bộ chuyển mạch điện thoại, hay các trò
chơi [game] điện tử.
Trong các tài liệu về hệ thời gian thực, sự phân biệt giữ khoảng thời gian bắt
buộc cứng hay mềm thường tùy theo trạng thái định lượng trong những giới hạn mang
lại kết quả hữu dụng. Tuy nhiên, trong thực tế, sự phân chia này nhiều khi không cần
thiết. Vì vậy, sự phân chia này chỉ có tính tương đối.

1.3 Đặc điểm của hệ thời gian thực [6]
Một hệ thống thời gian thực có các đặc trưng tiêu biểu sau:
 Tính bị động: Hệ thống thường phải phản ứng lại 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. Đây là một đặc điểm tiêu biểu. Tuy
nhiên, đối với một hệ thống có tính năng thời gian thực không nhất thiết phải đáp
ứng thật nhanh mà quan trọng hơn là phải có phản ứng kịp thời đối với các yêu
cầu, tác động từ bên ngoà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. Phải lập lịch cho các sự kiện.

1.4 Cấu trúc thành phần của một hệ thời gian thực
Baker và Scallon [1986] đã trình bày một thảo luận hay về các yêu cầu thiết bị
cho hoạt động thời gian thực. Cooling [1991] cũng đề cập tới vấn đề này, và thảo luận
tóm tắt về sản phẩm hoạt động thời gian thực thương mại. Các yêu cầu riêng cho hệ
thời gian thực thường là yêu cầu phần thực thi cần được thiết kế như là một phần của
hệ thống.

15

Các thành phần của một RTS [11] [hình 1.3] phụ thuộc vào kích cỡ và sự phức
tạp của hệ thời gian thực được xây dựng. Thông thường, với mọi hệ thời gian thực [trừ
những hệ thống đơn giản] đều có các thành phần sau:
Thông tin
lập lịch

Đồng hồ thời
gian thực

Lập lịch

Điều khiển ngắt

Xử lý các yêu cầu
về tài nguyên
Tài nguyên
chờ xử lý

Quản lý tài nguyên
Sẵn sàng
xử lý

Danh sách
sẵn sàng

Danh sách tài
nguyên có giá trị

Giải phóng
tài nguyên

Bộ điều vận

Danh sách
xử lý

Hoạt động
xử lý

Hình 1.3: Các thành phần của hoạt động thời gian thực

1. Một đồng hồ thời gian thực [real - time clock]: thiết bị này cung cấp thông tin
cho việc lập lịch trình xử lý một cách định kỳ.
2. Một bộ điều khiển ngắt [unterrupt handler]: thành phần này dùng để quản lý các
yêu cầu đáp ứng các sự kiện không theo chu kỳ.

16

3. Một bộ lập lịch [scheduler]: thành phần này có nhiệm vụ kiểm tra tiến trình
những phần có thể được thực hiện và chọn ra một ra một thành phần trong số
chúng đề thực hiện.
4. Một bộ quản lý tài nguyên [resource manager]: phân phối một số tài nguyên về
bộ nhớ và bộ xử lý cho một tiến trình đã được sắp lịch thực hiện.
5. Bộ điều vận [despatcher]: thành phần này được phân nhiệm vụ để khởi động sự
thực thi của một tiến trình.
Các hệ thống cung cấp dịch vụ liên tục, như hệ thống viễn thông và hệ thống
giám sát thường có các yêu cầu về độ tin cậy cao. Chúng có thể còn cần đến những
khả năng thực thi khác nữa như là:
6. Quản lý cấu hình [configuration manager]: Bộ phận này cho phép thiết lập lại cấu
hình động của phần cứng hệ thống [Kramer và Magee,1985]. Ví dụ như: một đơn
vị phần cứng không còn phù hợp với hệ thống. Do đó, hệ thống cần được nâng
cấp bằng việc thêm hay thay bằng một phần cứng mới mà không cần phải ngừng
hoạt động của toàn hệ thống.
7. Quản lý lỗi [fault manager]: Bộ phận này có nhiệm vụ tự tìm lỗi gây ra từ phần
cứng và phần mềm và tiến hành những hoạt động thích hợp để khôi phục lại
trạng thái ổn định từ những trạng thái lỗi đó.
Hệ thống thời gian thực thường xử lý các tác nhân kích thích với các mức ưu tiên
khác nhau. Các tác nhân như là các sự kiện đặc biệt mà thời gian xử lý cần thiết phải
được hoàn thành trong khoảng thời gian xác định. Những bộ xử lý khác được đặt trong
một độ trễ an toàn. Do đó, hoạt động của một hệ thống thời gian thực phải quản lý tối
thiểu hai mức ưu tiên sau cho các tiến trình hệ thống:
1. Mức ngắt [interrupt level]: đây là mức ưu tiên cao nhất. Nó là một đặc trưng
dùng để phân biệt các hệ thống thời gian thực với các kiểu hệ thống khác.
2. Mức đồng hồ [clock level]: mức này chỉ ra sự ưu tiên của một tiến trình đã xác
định trước và được thực hiện theo thời gian định kỳ tính được từ đồng hồ.
Trong khoảng thời gian của mỗi mức ưu tiên này, các lớp khác nhau của tiến
trình có thể được chỉ định sự ưu tiên khác nhau. Ví dụ, một ngắt từ một thiết bị cần
thực hiện nhanh có thể dành được quyền ưu tiên xử lý từ một thiết bị chậm hơn để
tránh mất thông tin. Sự chỉ định tiến trình ưu tiên, thường được yêu cầu phân tích và
mô phỏng nhiều.

17

1.5. Xử lý thời gian thực
Xử lý thời gian thực [realtime processing] [5] 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ó. Như vậy, xử lý thời gian
thực cũng có các đặc điểm tiêu biểu nêu trên như tính bị động, tính nhanh nhạy, tính
đồng thời và tính tiền định. Để có thể phản ứng với nhiều sự kiện diễn ra cùng một lúc,
một hệ thống xử lý thời gian thực cần sử dụng các tiến trình tính toán đồng thời.
Quá trình tính toán là một tiến trình thực hiện một hoặc một phần chương trình
tuần tự do hệ điều hành quản lý trên một máy tính, có thể tồn tại đồng thời với các quá
trình khác trong thời gian thực hiện lệnh và thời gian xếp hàng chờ thực hiện.
Có ba hình thức tổ chức các quá trình tính toán đồng thời:
 Tính toán tương tranh: Nhiều quá trình tính toán chia sẻ thời gian xử lý thông tin
trên một bộ xử lý.
 Tính toán song song: Các quá trình tính toán được phân chia thực hiện song song
trên nhiều bộ xử lý của một máy tính.
 Tính toán phân tán: Mỗi quá trình tính toán được thực hiện riêng trên một máy tính.
Trong các hình thức trên đây thì hình thức xử lý tương tranh có vai trò chủ chốt
tương ứng với trường hợp phổ biến khi hệ thống chỉ có một bộ xử lý. Mặc dù hệ thống
điều khiển có thể có nhiều trạm, và mỗi trạm là một hệ đa bộ xử lý, số lượng các quá
trình tính toán cần thực hiện luôn lớn hơn số lượng các bộ vi xử lý. Trong khi một Bộ
vi xử lý không thể thực hiện song song nhiều lệnh, nó phải phân chia thời gian để thực
hiện xen kẽ nhiều nhiệm vụ khác nhau theo thứ tự tùy theo mức ưu tiên và phương
pháp lập lịch.

Chờ tới chu kỳ

Chờ sự kiện
Sự kiện

Thời gian

Mã thực thi
Mã thực thi

Tác vụ mặc định
Ví dụ:
- Điều khiển logic
- Kiểm tra lỗi

Tác vụ tuần hoàn
Ví dụ:
- Điều khiển vòng kín
- Xử lý truyền thông

Mã thực thi

Tác vụ sự kiện
Ví dụ:
- Điều khiển trình tự
- Xử lý sự cố

Hình 1.4: Các kiểu tác vụ theo chuẩn IEC 61131-3

18

Trong các hệ thống điều khiển, khái niệm tác vụ hay được sử dụng bên cạnh quá
trình tính toán. Có thể nói, tác vụ là một nhiệm vụ xử lý thông tin trong hệ thống, được
thực hiện theo cơ chế tuần hoàn hoặc theo sự kiện. Các dạng tác vụ qui định trong
chuẩn IEC 61131-3 [Programmable Controllers – Part3: Programming Languages]
được minh họa trên hình 1.4. Ví dụ, một tác vụ thực hiện nhiệm vụ điều khiển cho một
hoặc nhiều mạch vòng kín có chu kỳ trích mẫu giống nhau. Hoặc, một tác vụ có thể
thực hiện nhiệm vụ điều khiển logic, điều khiển trình tự theo các sự kiện xảy ra. Tác
vụ có thể thực hiện dưới dạng một quá trình tính toán duy nhất, hoặc một dãy các quá
trình tính toán khác nhau.
Hoạt động của hệ thống thời gian thực được xác định thông qua việc xác định
danh sách các kích thích hệ thống nhận được, danh sách các đáp ứng, và thời điểm các
đáp ứng cần được sinh ra.
Sự kích thích được chia thành hai loại:
1. Kích thích có chu kỳ: Những kích thích này xuất hiện trong khoảng thời gian
nhất định cho trước. Ví dụ hệ thống có thể kiểm tra một bộ cảm biến, cứ mỗi 50
milli giây thực hiện một hoạt động [hồi đáp phụ thuộc vào giá trị của bộ cảm
biến – “kích thích”].
2. Kích thích không theo chu kỳ: Những kích thích này xuất hiện không đều, chúng
thường là những tín hiệu được sử dụng cơ chế ngắt của máy tính. Ví dụ, một kích
thích sẽ là một ngắt chỉ ra rằng sự truyền vào/ra đã hoàn tất, hoặc chỉ ra rằng dữ
liệu đang có trong bộ đệm.
Bộ cảm
biến

Bộ cảm
biến

Bộ cảm
biến

Bộ cảm
biến

Bộ cảm
biến

Bộ cảm
biến

Hệ thống điều khiển
thời gian thực

Bộ thao
tác

Bộ thao
tác

Bộ thao
tác

Hình 1.5: Mô hình chung của hệ thời gian thực

Bộ thao
tác

19

Kích thích có chu kỳ trong hệ thời gian thực thường được tạo ra bằng một bộ cảm
biến gắn trong hệ thống. Các kích thích này cung cấp thông tin trạng thái về môi
trường hệ thống. Chúng điều khiển các hồi đáp tác động tới một tập Bộ thao tác có
nhiệm vụ điều khiển một số đơn vị phần cứng, rồi sau đó Bộ thao tác làm ảnh hưởng
trực tiếp tới môi trường hệ thống.
Kích thích không có chu kỳ có thể sinh ra bởi các Bộ thao tác hay bởi các bộ cảm
biến. Chúng thường chỉ ra một số điều kiện ngoại lệ, như ổ cứng hỏng, nó cần phải
được quản lý của hệ thống. Mô hình cảm biến - hệ thống - bộ thao tác này trong hệ
thời gian thực nhúng, được minh họa trong hình 1.5.

1.5.1 Xử lý ngắt
Một đặc trưng hay dùng để phân biệt các hệ thống thời gian thực với các kiểu
hệ thống khác là việc xử lý ngắt. Hệ thống thời gian thực phải đáp ứng với các kích
thích bên ngoài [hay thường gọi là các ngắt] trong một khuôn khổ thời gian do thế giới
bên ngoài ấn định. Bởi vì nhiều kích thích [ngắt] thường xuất hiện nên phải thiết lập
các mức ưu tiên ngắt.
Xử lý ngắt bắt buộc không chỉ lưu trữ thông tin để cho máy tính có thể chạy lại
đúng đắn nhiệm vụ đã bị ngắt trước đó mà còn phải tránh tắc nghẽn và các chu trình
vô hạn.
Luồng xử lý “thông thường”
Xử lý ngắt
ngắt được
thông báo




Chương trình bị ngắt
Xác định bản chất ngắt
Thực hiện dịch vụ ngắt
Khôi phục trạng thái của
chương trình khi bị ngắt
 Tiếp tục thực hiện chương
trình khi bị ngắt

Hình 1.6 Mô hình xử lý ngắt
Cách tiếp cận tổng thể với xử lý ngắt được minh họa trong hình 1.6. Luồng xử
lý thông thường bị “ngắt” bởi một sự kiện được bộ xử lý phát hiện ra từ phần cứng nào
đó. Một sự kiện là bất kỳ một sự xuất hiện nào đòi hỏi được đáp ứng ngay lập tức và

20

sự đáp ứng đó có thể được sinh ra bởi phần cứng hoặc phần mềm. Trạng thái của
chương trình bị ngắt được lưu trữ và điều khiển được chuyển cho dịch vụ ngắt, tức là
chuyển tới một phần mềm thích hợp để xử lý ngắt. Khi hoàn thành xong nhiệm vụ ngắt
thì trạng thái của máy lại được khôi phục và luồng xử lý dở dang [thông thường] lại
được tiếp tục.
Trong nhiều tình huống, bản thân dịch vụ ngắt cho một sự kiện có thể lại bị ngắt
bởi một sự kiện khác, có mức ưu tiên cao hơn. Mức ưu tiên ngắt [Hình 1.7] có thể
được thiết lập. Nếu một tiến trình có mức ưu tiên thấp ngẫu nhiên được phép ngắt bởi
một tiến trình có mức ưu tiên cao thì có thể khó chạy lại các tiến trình theo đúng trật tự
và có thể làm phát sinh chu trình vô hạn.
Mức ưu tiên ngắt

Thời gian

0

1

Luồng xử lý thông
thường

2

3

Ngắt mức 1
Mức 1 dịch vụ ngắt
Mức 2 dịch vụ
ngắt

Dịch vụ ngắt mức 3

Dịch vụ ngắt mức 3
hoàn thành

Hình 1.7 Ưu tiên ngắt
Để xử lý ngắt mà vẫn đáp ứng cho các ràng buộc thời gian hệ thống, nhiều hệ
điều hành thời gian thực tiến hành tính toán động để xác định xem mục tiêu hệ thống
đã đạt chưa. Những tính toán động này đều dựa trên tần số trung bình số lần xuất hiện
của sự kiện, khối lượng thời gian cần để phục vụ nó [nếu chúng có thể được phục vụ],
và chương trình có thể ngắt tạm thời ngăn cản chúng phục vụ.
Nếu các tính toán động chỉ ra rằng, không thể xử lý được các sự kiện xuất hiện
trong hệ thống mà vẫn đáp ứng các ràng buộc thời gian thì hệ thống phải quyết định
theo sơ đồ hành động. Một sơ đồ có thể bao gồm việc đặt dữ liệu vào bộ đệm để nó có
thể được xử lý nhanh chóng khi hệ thống sẵn sàng.

21

1.5.2 Quản lý tiến trình
Quản lý tiến trình trong hoạt động thời gian thực đề cập tới việc quản lý một tập
các tiến trình cùng thực hiện. Đó là một phần của hệ thời gian thực. Quản lý tiến trình
cần chọn ra một tiến trình để thực hiện tại một thời điểm, phân chia bộ nhớ và tài
nguyên xử lý cho các tiến trình đó và bắt đầu thực hiện nó trên một bộ xử lý.
Tiến trình định kỳ là tiến trình cần được thực hiện sau một khoảng thời gian xác
định đã cho giữa hai tiến trình với dữ liệu thu được và Bộ thao tác điều khiển. Sự hoạt
động này sử dụng đồng hồ thời gian thực để quyết định thời điểm một tiến trình được
thực hiện. Trong một hệ thời gian thực sẽ có một số lớp tiến trình định kỳ. Sẽ có sự
khác nhau giữa thời gian thực hiện và hạn định. Khi thực hiện cần chọn tiến trình thích
hợp để thực thi ở bất cứ thời điểm nào.
Đồng hồ thời gian thực được cấu hình là những tiếng “tick” theo chu kỳ, mà
khoảng cách giữa những lần “tick” là vài mili giây. Đồng hồ “tick” khởi tạo một mức
ngắt tiến trình sau khi lập lịch quản lý tiến trình cho các tiến trình định kỳ. Tiến trình
mức ngắt thường không hồi đáp cho sự quản lý tiến trình định kỳ bởi vì việc xử lý ngắt
cần được hoàn thành nhanh nhất có thể.
Bộ lập lịch

Quản lý tài nguyên

Chọn tiến trình cho
thực hiện

Phân chia bộ nhớ và
bộ xử lý

Bộ điều vận
Bắt đầu thực hiện trên
một bộ xử lý có giá trị

Hình 1.8: Hành động thực thi thời gian thực yêu cầu bắt đầu một tiến trình

Hoạt động quản lý tiến trình định kỳ được chỉ ra ở hình 1.8. Danh sách các tiến trình
định kỳ được Bộ lập lịch kiểm tra và lựa chọn một tiến trình để thực hiện. Sự lựa chọn này
phụ thuộc vào tiến trình ưu tiên, tiến trình định kỳ, thời gian thực thi mong muốn và giới
hạn kết thúc của các tiến trình đã sẵn sàng. Đôi khi, có hai tiến trình với hai giới hạn khác
nhau cần được thực hiện tại cùng một thời điểm. Trong tình huống này, một tiến trình sẽ
được gán một khoảng thời gian trễ trong giới hạn thời gian của nó.
Nguyên nhân gây ra ngắt của máy tính là điều khiển truyền tới một vị trí xác định
trên bộ nhớ, nó bao gồm một lệnh nhảy tới một dich vụ ngắt thông thường. Dịch vụ
ngắt thường cần đơn giản, ngắn và có số lần thực hiện ít. Khi một ngắt được phục vụ,
những ngắt khác sẽ không thể thực hiện được và sẽ bị hệ thống bỏ qua. Để việc mất

Chủ Đề