intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

ĐỊNH THỜI CPU (Điều phối Tiến trình)

Chia sẻ: Nguyen Truong Giang | Ngày: | Loại File: PPT | Số trang:38

664
lượt xem
131
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong môi trường hệ điều hành đa nhiệm, bộ phận điều phối tiến trình có nhiệm vụ xem xét và quyết định khi nào thì 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, và khi đã có được processor thì chọn tiến trình nào trong số các tiến trình ở trạng thái ready để cấp processor cho nó.

Chủ đề:
Lưu

Nội dung Text: ĐỊNH THỜI CPU (Điều phối Tiến trình)

  1. TT CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH ĐỊNH THỜI CPU (Điều phối Tiến trình) Võ Quang Hoàng Khang Email: khangvqh@yahoo.com
  2. Mục tiêu  Hiểu được  Khái niệm cơ bản về định thời  Các cấp độ định thời  Mục tiêu của định thời  Các giải thuật định thời TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 2 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  3. Khái niệm cơ bản về định thời  Trong môi trường hệ điều hành đa nhiệm, bộ phận điều phối tiến trình có nhiệm vụ xem xét và quyết định khi nào thì 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, và khi đã có được processor thì chọn tiến trình nào trong số các tiến trình ở trạng thái ready để cấp processor cho nó. TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 3 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  4. Phân loại các hoạt động định thời  Định thời dài hạn (long-term scheduling): process nào được chấp nhận vào hệ thống  Định thời trung hạn (medium-term sched.): process nào được đưa vào (swap in), đưa ra khỏi (swap out) bộ nhớ chính  Định thời ngắn hạn (short-term sched.): process nào được thực thi tiếp theo TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 4 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  5. Định thời dài hạn  Xác định chương trình nào sẽ được đưa vào hệ thống để thực thi  Quyết định độ-đa-lập-trình (degree of multiprogramming)  Nếu càng nhiều process được đưa vào hệ thống  Khả năng các process bị block có xu hướng giảm  Sử dụng CPU hiệu quả hơn  Mỗi process được phân chia khoảng thời gian sử dụng CPU thấp hơn  Thường có xu hướng đưa vào một tập lẫn lộn các CPU-bound process và I/O-bound process TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 5 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  6. Định thời trung hạn  Quyết định về việc đưa process vào bộ nhớ chính, hay ra khỏi bộ nhớ chính phụ thuộc vào yêu cầu quản lý việc đa-lập-trình (multiprogramming)  Cho phép bộ định thời dài hạn chấp nhận nhiều process hơn số lượng process mà có tổng kích thước được chứa vừa trong bộ nhớ chính  Nhưng nếu có quá nhiều process thì sẽ làm tăng việc truy xuất đĩa, do đó cần phải lựa chọn độ-đa- lập-trình cho phù hợp  Được thực hiện bởi phần mềm quản lý bộ nhớ ĐỊNH THỜI CPU TTCÔNG NGHỆ THÔNG TIN 6 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  7. Định thời ngắn hạn  Xác định process nào được thực thi tiếp theo, còn gọi là định thời CPU  Được kích hoạt khi có một sự kiện có thể dẫn đến khả năng chọn một process để thực thi  Ngắt thời gian (clock interrupt)  Ngắt ngoại vi (I/O interrupt)  Lời gọi hệ thống (operating system call)  Signal …chương này sẽ tập trung vào định thời ngắn hạn… TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 7 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  8. Mục tiêu của định thời  Sự công bằng ( Fairness) : Các tiến trình chia sẻ CPU một cách công bằng, không có tiến trình nào phải chờ đợi vô hạn để được cấp phát CPU  Tính hiệu qủa (Efficiency) : Hệ thống phải tận dụng được CPU 100% thời gian  Thời gian đáp ứng hợp lý (Response time) : Cực tiểu hoá thời gian hồi đáp cho các tương tác của người sử dụng  Thời gian lưu lại trong hệ thống ( Turnaround Time) : Cực tiểu hóa thời gian hoàn tất các tác vụ xử lý theo lô TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 8 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  9. Mục tiêu của định thời  Thông lượng tối đa (Throughput ) : Cực đại hóa số công việc được xử lý trong một đơn vị thời gian. Tuy nhiên thường không thể thỏa mãn tất cả các mục tiêu kể trên vì bản thân chúng có sự mâu thuẫn với nhau mà chỉ có thể dung hòa chúng ở mức độ nào đó. TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 9 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  10. Các giải thuật định thời  Để tổ chức điều phối tiến trình hệ điều hành sử dụng hai danh sách: Danh sách sẵn sàng (Ready list) dùng để chứa các tiến trình ở trạng thái sẵn sàng. Danh sách đợi (Waiting list) dùng để chứa các tiến trình đang đợi để được bổ sung vào danh sách sẵn sàng.  Chỉ có những tiến trình trong ready list mới được chọn để cấp processor. Các tiến trình bị chuyển về trạng thái blocked sẽ được bổ sung vào waiting list. Hệ thống chỉ có duy nhất một ready list, nhưng có thể tồn tại nhiều waiting list. Thông thường hệ điều hành thiết kế nhiều waitting list, mỗi waitting list dùng để chứa các tiến trình đang đợi được cấp phát một tài nguyên hay một sự kiện riêng biệt nào đó. TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 10 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  11. Các giải thuật định thời 1 3 2 Processor Ready list 4 7 5 Waitting list 1 8 6 Waitting list 2 Hình 2.7: Sơ đồ chuyển tiến trình vào các danh sách TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 11 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  12. Các giải thuật định thời  Trong đó: 1. Tiến trình trong hệ thống được cấp đầy đủ tài nguyên chỉ thiếu processor. 2. Tiến trình được bộ điều phối chọn ra để cấp processor để bắt đầu xử lý. 3. Tiến trình kết thúc xử lý và trả lại processor cho hệ điều hành. 4. Tiến trình hết thời gian được quyền sử dụng processor (time-out), bị bộ điều phối tiến trình thu hồi lại processor. 5. Tiến trình bị khóa (blocked) do yêu cầu tài nguyên nhưng chưa được hệ điều hành cấp phát. Khi đó tiến trình được đưa vàoĐỊNH THỜI CPU tiến trình đợi tài nguyên (waiting TTCÔNG NGHỆ THÔNG TIN danh sách các 12 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  13. Các giải thuật định thời 6. Tiến trình bị khóa (blocked) do đang đợi một sự kiện nào đó xảy ra. Khi đó tiến trình được bộ điều phối đưa vào danh sách các tiến trình đợi tài nguyên (waiting list 2). 7. Tài nguyên mà tiến trình yêu cầu đã được hệ điều hành cấp phát. Khi đó tiến trình được bộ điều phối chuyển sang danh sách các tiến trình ở trạng thái sẵn sang (ready list) để chờ được cấp processor để được hoạt động. 8. Sự kiện mà tiến trình chờ đã xảy ra. Khi đó tiến trình được bộ điều phối chuyển sang danh sách các tiến trình ở trạng thái sẵn sang (ready list) để chờ được cấp processor. ĐỊNH THỜI CPU TTCÔNG NGHỆ THÔNG TIN 13 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  14. Chiến lược FIFO (First In First Out):  Nguyên tắc :  Processor được cấp phát cho tiến trình đầu tiên trong danh sách sẵn sàng có yêu cầu, 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. TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 14 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  15. Chiến lược FIFO (First In First Out):  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 Thì thứ tự cấp processor cho các tiến trình diễn ra như sau: Tiến trình: P1 P2 P3 Thời điểm: 0 24 27 Vậy thời gian chờ của tiến trình P1 là 0, của P2 là 23 (24 - 1), của P3 là 25 (24 + 3 - 2). Và thời gian chờ đợi trung bình của các tiến trình là: TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 15 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  16. Ví dụ thực tế  Việc phục vụ khách trong nhà hàng  Thực khách sẽ đến và gọi món ăn cho mình  Mỗi món ăn cần thời gian chuẩn bị khác nhau  Mục tiêu:  Giảm thời gian đợi trung bình của các thực khách  Cách làm nào sẽ phù hợp?  Thông thường các nhà hàng sẽ phục vụ theo kiểu FIFO (!) TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 16 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  17. Chiến lược FIFO (First In First Out): 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. TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 17 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  18. Chiến lược phân phối xoay vòng (RR: Round Robin): 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. TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 18 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  19. Chiến lược phân phối xoay vòng (RR: Round Robin): 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. TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 19 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
  20. Chiến lược phân phối xoay vòng (RR: Round Robin): 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 TTCÔNG NGHỆ THÔNG TIN ĐỊNH THỜI CPU 20 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2