KIẾN TRÚC MÁY TÍNH
VÀ HỆ ĐIỀU HÀNH
ệ
ự
ƯƠ
Ả
ự ạ ệ ữ
! ! ẽ ẽ
"#$ % $ &ả ệ ộ
ệ
' ()ị
ƯƠ Ả
+ Tiến trình là một chương trình đang hoạt động, sở hữu:
- Một con trỏ lệnh - Một con trỏ stack
- Một tập các thanh ghi - Một không gian địa chỉ
Chương
trình
Dữ liệu
Trạng thái tiến trình Nguồn tài nguyên
Môi trường máy tính lý thuyết
ệ
*+% )ạ
+ Tiến trình tuần tự:
- Điểm khởi tạo là điểm kết thúc của tiến trình trước đó
P1
P2
P3
ƯƠ Ả
ệ
*+% )ạ
+ Tiến trình tuần tự:
- Điểm khởi tạo là điểm kết thúc của tiến trình trước đó
+ Tiến trình song song:
- Điểm khởi tạo nằm ở thân của các tiến trình khác
P1
P2
P3
ƯƠ Ả
ệ
*+% )ạ
+ Một số loại tiến trình song song:
- Song song độc lập: không có quan hệ thông tin với nhau
- Song song có quan hệ thông tin với nhau
- Song song phân cấp: tiến trình đang hoạt động khởi tạo
các tiến trình khác hoạt động song song với nó
Mô hình tập trung Mô hình phân tán
- Song song đồng mức: sử dụng chung tài nguyên theo
nguyên tắc lần lượt
ƯƠ Ả
ệ
, ạ ủ
+ Tiến trình hai trạng thái:
Not
Running Running
Enter
Dispatch
Pause
Exit
Tiến trình vừa mới
khởi tạo và đưa vào
hệ thống hoặc bị thu
hồi processor
Tiến trình ở
trạng thái Not
Running được
cấp processor
ƯƠ Ả
ệ
, ạ ủ
- Tại một thời điểm:
Processor
Enter
Exit
Dispatch
Pause
Chỉ có một tiến trình ở trạng thái Running
Có thể có nhiều tiến trình ở trạng thái Not Running
- Sơ đồ chuyển tiến trình vào hàng đợi:
ƯƠ Ả
ệ
, ạ ủ
+ Tiến trình ba trạng thái:
Ready Running
New
Exit
1
6
Blocked
5
3
4
2
Đang chờ cấp
phát processor
Đang được sở
hữu processor
Đang chờ để: cấp phát
thêm tài nguyên, quá
trình vào/ra kết thúc;
một sự kiện nào đó
xảy ra
ƯƠ Ả
ệ
, ạ ủ
+ Tiến trình ba trạng thái:
Ready Running
New
Exit
1
6
Blocked
5
3
4
2
Admit: Khởi tạo
tiến trình, đưa
vào hệ thống,
cấp phát tài
nguyên đầy đủ,
trừ processor
Dispatch: Tiến
trình được cấp
processor để
bắt đầu thực
hiện
Release: Tiến
trình hoàn
thành xử lý và
kết thúc
Time_out: Tiến
trình bị thu hồi
processor do
hết thời gian
được quyền sử
dụng processor
Event wait: Tiến
trình đang chờ:
một sự kiện;
một thao tác
vào/ra; một tài
nguyên
Event Occurs:
Sự kiện mà tiến
trình chờ đã
xảy ra
ƯƠ Ả
ệ
, ạ ủ
- Bộ phận điều phối tiến trình thu hồi processor khi:
Tiến trình đang thực hiện hết thời gian sử dụng
processor
Có tiến trình mới phát sinh có độ ưu tiên cao hơn
Có tiến trình mới phát sinh có thời gian sử dụng
processor nhỏ hơn nhiều so với thời gian sử dụng
processor còn lại của tiến trình
ƯƠ Ả
ệ
, ạ ủ
Processor
Admit
Release
Dispatch
Time - out
Ready Queue
Blocked Queue
Event Wait
Event
Occurs
- Sơ đồ chuyển tiến trình vào các hàng đợi:
ƯƠ Ả
ệ
, ạ ủ
+ Tiến trình bốn trạng thái:
- Trong môi trường đa nhiệm:
Tồn tại nhiều tiến trình trong Queue
Sử dụng tài nguyên không hợp lý
- Thiết kế thêm 1 trạng thái tiến trình Suspend (tạm dừng):
Tiến trình đang được lưu trên bộ nhớ phụ
Tiến trình đang ở trạng thái Blocked, Ready
ƯƠ Ả
ệ
, ạ ủ
+ Tiến trình bốn trạng thái:
Ready Running
New
Exit
1
Suspend
BlockedSuspend
Activate
ƯƠ Ả
ệ
, ạ ủ
+ Tiến trình năm trạng thái:
- Hệ điều hành thiết kế 2 trạng thái suspend:
Blocked - Suspend: trạng thái suspend dành cho
các tiến trình từ blocked chuyển đến
Ready - Suspend: trạng thái suspend dành cho các
tiến trình từ Ready chuyển đến
ƯƠ Ả
ệ
, ạ ủ
Ready Running
New
Release
Activate
Suspend
Blocked
Blocked
Suspend
Suspend
Exit
Event Occurs
Ready
Suspend
Event Occurs
Activate
AdmitAdmit
ƯƠ Ả
ệ
,%- ể
+ Khối điều khiển tiến trình là một cấu trúc dữ liệu gồm:
- Trạng thái hiện thời của tiến trình
- Định danh của tiến trình (PID)
- Một con trỏ đến tiến trình mẹ
- Các con trỏ đến các tiến trình con
ƯƠ Ả
ệ
,%- ể
+ Khối điều khiển tiến trình là một cấu trúc dữ liệu gồm:
- Mức ưu tiên của tiến trình
- Các con trỏ xác định vị trí nguồn tài nguyên
- Không gian lưu trữ
- Bộ vi xử lý đang sử dụng
Sự biểu hiện của tiến trình trong hệ điều hành
ƯƠ Ả
ệ
,%- ể
+ Khi thay đổi trạng thái tiến trình, hệ điều hành thực hiện:
- Lưu ngữ cảnh của tiến trình (PC, các thanh ghi khác)
- Cập nhật PCB của tiến trình
- Di chuyển PCB của tiến trình đến một hàng đợi thích hợp
- Chọn 1 tiến trình khác để thực hiện và cập nhật PCB
- Cập nhật các thông tin liên quan đến quản lý bộ nhớ
- Khôi phục lại ngữ cảnh cho phù hợp với tiến trình mới
ƯƠ Ả
.*%/&&/01ự
2 ợ
+ Hàng đợi sẵn sàng:
- Các tiến trình ở bộ nhớ chính sẵn sàng và chờ thực thi
- Được lưu thành 1 danh sách liên kết:
Đầu hàng đợi chứa các con trỏ trỏ đến PCB của
tiến trình đầu và tiến trình cuối
Mỗi PCB có 1 con trỏ trỏ đến tiến trình kế tiếp
+ Hàng đợi thiết bị vào/ra
+ Hàng đợi yêu cầu vào ra
+ Hàng đợi tạo tiến trình con
+ Hàng đợi ngắt
ƯƠ Ả
.*%/&&/01ự
2 ợ
Hàng đợi sẵn sàng
Tiến trình con
chấm dứt
Thực thi tiến
trình con
Ngắt phát sinh
Hàng đợi vào/ra
Tạo ra tiến trình con
Khoảng thời gian
cho đã hết
Chờ ngắt
Yêu cầu vào/ra
I/O
CPU
ƯƠ Ả
.*%/&&/01ự
ệ
+ Trong hệ thống thực thi theo lô:
- Số tiến trình được nạp nhiều hơn số tiến trình được thực
thi ngay
- Các tiến trình được đưa vào thiết bị lưu trữ
- Bộ điều phối dài hạn chọn tiến trình nạp vào bộ nhớ
- Bộ điều phối ngắn hạn (bộ điều phối CPU) chọn tiến trình
để chuyển giao CPU
ƯƠ Ả
.*%/&&/01ự
ệ
+ Trong hệ thống đa nhiệm:
- Xem xét và quyết định khi nào dừng tiến trình hiện tại để
thu hồi processor và chuyển processor cho tiến trình khác
- Chọn tiến trình nào trong số các tiến trình ở trạng thái
ready để cấp processr cho nó
- Phân biệt sự khác nhau giữa điều phối tiến trình và điều
độ tiến trình
ƯƠ Ả
.*%/&&/01ự
+ Các cơ chế điều phối:
- Điều phối độc quyền:
Toàn quyền sử dụng processor cho đến khi tiến
trình kết thúc hoặc tự động trả processor
Quyết định điều phối xảy ra khi tiến trình chuyển từ
trạng thái Running sang Blocked hoặc kết thúc
ệ
ƯƠ Ả
.*%/&&/01ự
+ Các cơ chế điều phối:
- Điều phối không độc quyền:
Bộ điều phối có thể tạm dừng tiến trình đang xử
lý để thu hồi processor và cấp cho tiến trình khác
Quyết định điều phối xảy ra khi tiến trình chuyển
trạng thái hoặc kết thúc
ệ
ƯƠ Ả