Tải bản đầy đủ (.ppt) (92 trang)

slide bài giảng kiến trúc máy tính và hệ điều hành chương 7 quản lý tiến trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (649.22 KB, 92 trang )

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
  ƯƠ Ả
 .*%/&&/01ự
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
  ƯƠ Ả
 .*%/&&/01ự
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
  ƯƠ Ả
 .*%/&&/01ự
 ệ
+ 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
  ƯƠ Ả
 .*%/&&/01ự
 ệ
+ 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
  ƯƠ Ả
 .*%/&&/01ự
+ 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
 ệ
  ƯƠ Ả
 .*%/&&/01ự
+ 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
 ệ
  ƯƠ Ả

×