Câc chiến lược điều phối

Một phần của tài liệu Giáo trình Hệ điều hành (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính Trung cấp) (Trang 101 - 104)

Chiến lược FIFO (First in First Out): trong chiến lược năy, khi processor rỗi thì hệ điều hănh sẽ cấp nó cho tiến trình đầu tiín trong ready list, đđy lă tiến

trình được chuyển sang trạng thâi ready sớm nhất, có thể lă tiến trình được đưa

văo hệ thống sớm nhất. FIFO được sử dụng trong điều phối độc quyền nín khi tiến trình được cấp processor nó sẽ sở hữu processor cho đến khi kết thúc xử lý hay phải đợi một thao tâc văo/ra hoăn thănh, khi đó tiến trình chủ động trả lại processor cho hệ thống.

Ví dụ: Nếu hệ điều hănh cần cấp processor cho 3 tiến trình P1, P2, P3, với thời điểm văo ready list vă khoảng thời gian mỗi tiến trình cần processor được mô tả trong bảng sau:

Tiến trình thời điểm văo t/g xử lý

Như vậy FIFO tồn tại một số hạn chế: Thứ nhất, có thời gian chờ đợi trung bình lớn nín không phù hợp với câc hệ thống chia sẻ thời gian. Thứ hai, khả năng tương tâc kĩm khi nó được âp dụng trín câc hệ thống uniprocessor. Thứ ba, nếu câc tiến trình ở đầu ready list cần nhiều thời gian của processor thì câc tiến trình ở cuối ready list sẽ phải chờ lđu mới được cấp processor.

Chiến lược phđn phối xoay vòng (RR: Round Robin): trong chiến lược

năy, ready list được thiết kết theo dạng danh sâch nối vòng. Tiến trình được bộ điều phối chọn để cấp processor cũng lă tiến trình ở đầu ready list, nhưng sau

một khoảng thời gian nhất định năo đó thì bộ điều phối lại thu hồi lại processor của tiến trình vừa được cấp processor vă chuyển processor cho tiến trình kế tiếp (bđy giờ đê trở thănh tiến trình đầu tiín) trong ready list, tiến trình vừa bị thu hồi

processor được đưa văo lại cuối ready list. Rõ răng đđy lă chiến lược điều phối

không độc quyền.

Khoảng khoản thời gian mă mỗi tiến trình được sở hữu processor để hoạt động lă bằng nhau, vă thường được gọi lă Quantum.

Ví dụ: Nếu hệ điều hănh cần cấp processor cho 3 tiến trình P1, P2, P3 với thời điểm văo ready list vă khoảng thời gian mỗi tiến trình cần processor được mô tả trong bảng sau:

Tiến trình thời điểm văo t/g xử lý

P1 0 24

P2 1 3

P3 2 3

Quantum = 4

Thì thứ tự cấp processor cho câc tiến trình lần lượt lă:

Tiến trình P1 P2 P3 P1 P1 P1 P1 P1

Thời điểm 0 4 7 10 14 18 22 26

Vậy thời gian chờ đợi trung bình sẽ lă: (0 + 6 + 3 + 5)/3 = 4.46 Như vậy RR có thời gian chờ đợi trung bình nhỏ hơn so với FIFO

Trong chiến lược năy, vấn đề đặt ra đối với công tâc thiết kế lă: nín chon quantum bằng bao nhiíu lă thích hợp, nếu quantum nhỏ thì hệ thống phải tốn nhiều thời gian cho việc cập nhật ready list vă chuyển trạng thâi tiến trình, dẫn đến vi phạm mục tiíu: khai thâc tối đa thời gian xử lý của processor. Nếu quantum lớn thì thời gian chờ đợi trung bình vă thời gian hồi đâp sẽ tăng lín, dẫn đến tính tương tâc của hệ thống bị giảm xuống.

Chiến lược theo độ ưu tiín: trong chiến lược năy, bộ phận điều phối tiến trình dựa văo độ ưu tiín của câc tiến trình để tổ chức cấp processor cho tiến trình. Tiến trình được chọn để cấp processor lă tiến trình có độ ưu tiín cao nhất, tại thời điểm hiện tại.

Ở đđy hệ điều hănh thường tổ chức gân độ ưu tiín cho tiến trình theo nguyín tắc kết hợp giữ gân tĩnh vă gân động. Khi khởi tạo tiến trình được gân độ ưu tiín tĩnh, sau đó phụ thuộc văo môi trường hoạt động của tiến trình vă

công tâc điều phối tiến trình của bộ phận điều phối mă hệ điều hănh có thể thay đổi độ ưu tiín của tiến trình.

Khi hệ thống phât sinh một tiến trình ready mới, thì bộ phận điều phối sẽ so

sânh độ ưu tiín của tiến trình mới phât sinh với độ ưu tiín của tiến trình đang sở hữu processor (tạm gọi lă tiến trình hiện tại). Nếu tiến trình mới có độ ưu tiín

thấp hơn tiến trình hiện tại thì bộ phận điều phối sẽ chỉn nó văo ready list tại vị trí thích hợp. Nếu tiến trình mới có độ ưu tiín cao hơn tiến trình hiện tại thì bộ điều phối sẽ thu hồi processor từ tiến trình hiện tại để cấp cho tiến trình mới yíu cầu, nếu lă điều phối không độc quyền, hoặc chỉn tiến trình mới văo ready list tại vị trí thích hợp, nếu lă điều phối độc quyền.

Chiến lược năy cũng phải sử dụng ready list, vă ready list luôn được xếp theo thứ tự giảm dần của độ ưu tiín kể từ đầu danh sâch. Điều năy có nghĩa lă tiến trình được chọn để cấp processor lă tiến trình ở đầu ready list.

Ví dụ: Nếu hệ điều hănh cần cấp processor cho 3 tiến trình P1, P2, P3với độ ưu tiín vă khoảng thời gian mỗi tiến trình cần processor được mô tả trong bảng (adsbygoogle = window.adsbygoogle || []).push({});

sau:

Tiến trình độ ưu tiín thời gian xử lý

P1 3 24

P2 1 3

Chiến lược SJF (Shortest Job Fist: công việc ngắn nhất): Đđy lă trường hợp đặc biệt của chiến lược theo độ ưu tiín. Trong chiến lược năy độ ưu tiín P

của mỗi tiến trình lă 1/t, với t lă khoảng thời gian mă tiến trình cần processor. Bộ điều phối sẽ chọn tiến trình có P lớn để cấp processor, tức lă ưu tiín cho

những tiến trình có thời gian xử lý (thời gian cần processor) nhỏ.

Chiến lược năy có thể có thời gian chờ đợi trung bình đạt cực tiểu. Nhưng

hệ điều hănh khó có thể đoân được thời gian xử lý mă tiến trình yíu cầu.

Chiến lược nhiều cấp độ ưu tiín: Hệ điều hănh phđn lớp câc tiến trình

theo độ ưu tiín của chúng để có câch thức điều phối thích hợp cho từng lớp tiến trình. Mỗi cấp độ ưu tiín có một realy list riíng. Bộ điều phối dùng chiến lược điều phối thích hợp cho từng realy list. Hệ điều hănh cũng phải thiết kế một cơ chế thích hợp đểđiều phối tiến trình giữa câc lớp.

Trong chiến lược năy hệ điều hănh sử dụng độ ưu tiín tĩnh, vă điều phối

không độc quyền, do đó một tiến trình thuộc ready list ở cấp ưu tiín i sẽ chỉ được cấp phât processor khi trong ready list ở cấp ưu tiín j (j > i) không còn một tiến trình năo.

Câc tiến trình ở ready list có độ ưu tiín thấp sẽ phải chờ đợi processor trong một khoảng thời gian dăi, có thể lă vô hạn. Để khắc phục điều năy hệ điều hănh xđy dựng chiến lược điều phối: Nhiều mức độ ưu tiín xoay vòng. Trong

chiến lược năy hệ điều hănh chuyển dần một tiến trình ở ready list có độ ưu tiín

cao xuống ready list có độ ưu tiín thấp hơn sau mỗi lần sử dụng procesor, vă

ngược lại một tiến trình ở lđu trong ready list có độ ưu tiín thấp thì sẽ được chuyển dần lín ready list có độ ưu tiín cao hơn.

Khi xđy dựng chiến lược nhiều mức độ ưu tiín xoay vòng hệ điều hănh cần xâc định câc thông tin sau: Số lượng câc lớp ưu tiín. Chiến lược điều phối riíng cho từng read list trong mỗi lớp ưu tiín. Một tiến trình ready mới sẽ được đưa văo ready list năo. Khi năo thì thực hiện việc di chuyển một tiến trình từ

ready list năy sang ready list khâc.

Một phần của tài liệu Giáo trình Hệ điều hành (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính Trung cấp) (Trang 101 - 104)