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

CHƯƠNG 3: QUÁ TRÌNH

Chia sẻ: Kieu Thu Trang | Ngày: | Loại File: PDF | Số trang:44

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

Khái niệm quá trình Lập lịch biểu quá trình Các hoạt động trên quá trình Hợp tác các quá trình Liên lạc giữa các quá trình Liên lạc trong các hệ Client-Server .KHÁI NIỆM QUÁ TRÌNH HĐH thực hiện nhiều kiểu chương trình: Hệ thống bó – jobs Các hệ thống chia sẻ thời gian – các chương trình người dùng/ các nhiệm vụ Công việc (job) = quá trình (process) Quá trình là một chương trình trong sự thực hiện; sự thực hiện quá trình phải tiến triển theo kiểu cách tuần tự Một quá trình bao gồm:...

Chủ đề:
Lưu

Nội dung Text: CHƯƠNG 3: QUÁ TRÌNH

  1. CHƯƠNG 3: QUÁ TRÌNH
  2. NỘI DUNG Khái niệm quá trình Lập lịch biểu quá trình Các hoạt động trên quá trình Hợp tác các quá trình Liên lạc giữa các quá trình Liên lạc trong các hệ Client-Server Operating System Concepts - 7th Edition, Feb 7, 2006 3.2 Silberschatz, Galvin and Gagne ©2005
  3. KHÁI NIỆM QUÁ TRÌNH HĐH thực hiện nhiều kiểu chương trình: Hệ thống bó – jobs Các hệ thống chia sẻ thời gian – các chương trình người dùng/ các nhiệm vụ Công việc (job) = quá trình (process) Quá trình là một chương trình trong sự thực hiện; sự thực hiện quá trình phải tiến triển theo kiểu cách tuần tự Một quá trình bao gồm: Bộ đếm chương trình Stack Phần dữ liệu Operating System Concepts - 7th Edition, Feb 7, 2006 3.3 Silberschatz, Galvin and Gagne ©2005
  4. Process in Memory Operating System Concepts - 7th Edition, Feb 7, 2006 3.4 Silberschatz, Galvin and Gagne ©2005
  5. TRẠNG THÁI QUÁ TRÌNH Khi quá trình thực hiện nó thay đổi trạng thái new: Quá trình đang được khởi tạo running: các chỉ thị đang được thực hiện waiting: Quá trình đang chờ đợi một biến cố xảy ra ready: Quá trình đang chờ được cấp processor terminated: Quá trình kết thúc sự thực hiện Operating System Concepts - 7th Edition, Feb 7, 2006 3.5 Silberschatz, Galvin and Gagne ©2005
  6. BIỂU ĐỒ TRẠNG THÁI QUÁ TRÌNH Operating System Concepts - 7th Edition, Feb 7, 2006 3.6 Silberschatz, Galvin and Gagne ©2005
  7. KHỐI ĐIỀU KHIỂN QUÁ TRÌNH Process Control Block (PCB) Thông tin kết hợp với mỗi quá trình Trạng thái quá trình Bộ đếm chương trình Các thanh ghi CPU Thông tin lập lịch biểu CPU Thông tin quản trị bộ nhớ Thông tin kiểm toán Thông tin trạng thái I/O Operating System Concepts - 7th Edition, Feb 7, 2006 3.7 Silberschatz, Galvin and Gagne ©2005
  8. KHỐI ĐIỀU KHIỂN QUÁ TRÌNH (PCB) Operating System Concepts - 7th Edition, Feb 7, 2006 3.8 Silberschatz, Galvin and Gagne ©2005
  9. SỰ CHUYỂN CPU QUA LẠI GIỮA CÁC QUÁ TRÌNH Operating System Concepts - 7th Edition, Feb 7, 2006 3.9 Silberschatz, Galvin and Gagne ©2005
  10. CÁC HÀNG ĐỢI LẬP LỊCH BIỂU QUÁ TRÌNH Hàng đợi công việc (Job Queue) – tập tất cả các quá trình trong hệ thống Hàng đợi sẵn sàng (Ready Queue) – tập các quá trình nằm trong bộ nhớ sẵn sàng và chờ đợi thực hiện Các hàng đợi thiết bị (Device Queues) – tập các quá trình chờ đợi một thiết bị I/O Các quá trình di trú giữa các hàng đợi Operating System Concepts - 7th Edition, Feb 7, 2006 3.10 Silberschatz, Galvin and Gagne ©2005
  11. HÀNG ĐỢI SẴN SÀNG & CÁC HÀNG ĐỢI THIẾT BỊ I/O Operating System Concepts - 7th Edition, Feb 7, 2006 3.11 Silberschatz, Galvin and Gagne ©2005
  12. SƠ ĐỒ LẬP LỊCH BIỂU QUÁ TRÌNH Operating System Concepts - 7th Edition, Feb 7, 2006 3.12 Silberschatz, Galvin and Gagne ©2005
  13. CÁC BỘ LẬP LỊCH BIỂU Bộ lập lịch biểu dài hạn (Long-term scheduler / job scheduler) – chọn các quá trình để chuyển sang hàng đợi sẵn sàng Bộ lập lịch biểu ngắn hạn (Short-term scheduler / CPU scheduler) – chọn quá trình sẽ được thực hiện kế tiếp và cấp phát CPU cho nó Operating System Concepts - 7th Edition, Feb 7, 2006 3.13 Silberschatz, Galvin and Gagne ©2005
  14. BỔ XUNG LẬP LỊCH BIỂU TRUNG HẠN Operating System Concepts - 7th Edition, Feb 7, 2006 3.14 Silberschatz, Galvin and Gagne ©2005
  15. CÁC BỘ LẬP LỊCH BIỂU (Cont.) Bộ lập lịch biểu ngắn hạn được viện dẫn thường xuyên (ms) ⇒ nhanh Bộ lập lịch biểu dài hạn được viện dẫn ít thường xuyên (seconds, minutes) ⇒ có thể chậm Bộ lập lịch biểu dài hạn điều khiển bậc đa chương Các quá trình được phân thành: Quá trình I/O-bound – tiêu nhiều thời gian cho hoạt động I/O hơn cho tính toán, gồm nhiều CPU bursts ngắn Quá trình CPU-bound – tiêu nhiều thời gian hơn cho tính toán; gồm một số ít CPU bursts rất dài Operating System Concepts - 7th Edition, Feb 7, 2006 3.15 Silberschatz, Galvin and Gagne ©2005
  16. CHUYỂN NGỮ CẢNH Khi CPU chuyển cho quá trình khác, hệ thống phải lưu lại trạng thái của quá trình cũ và nạp trạng thái của quá trình mới Thời gian chuyển ngữ cảnh là một “phí”; hệ thống không làm việc “hữu ích” khi chuyển ngữ cảnh Thời gian chuyển ngữ cảnh phụ thuộc vào hỗ trợ phần cứng Operating System Concepts - 7th Edition, Feb 7, 2006 3.16 Silberschatz, Galvin and Gagne ©2005
  17. TẠO QUÁ TRÌNH Quá trình cha tạo ra các quá trình con, các quá trình con lại có thể tạo ra các quá trình con của nó, tạo ra một cây các quá trình Chia sẻ tài nguyên Cha và con chia sẻ tất cả các tài nguyên Các con chia sẻ một tập con các tài nguyên của cha Cha và con không chia sẻ tài nguyên Sự thực hiện Cha và các con thực hiện đồng thời Cha chờ đến tận khi con kết thúc Operating System Concepts - 7th Edition, Feb 7, 2006 3.17 Silberschatz, Galvin and Gagne ©2005
  18. TẠO QUÁ TRÌNH (Cont.) Không gian địa chỉ Con sao lại của cha Con có một chương trình được nạp vào trong nó Ví dụ: UNIX Fork: lời gọi hệ thống tạo quá trình mới Exec: lời gọi hệ thống được dùng sau fork để thay thế không gian bộ nhớ của quá trình với chương trình mới Operating System Concepts - 7th Edition, Feb 7, 2006 3.18 Silberschatz, Galvin and Gagne ©2005
  19. TẠO QUÁ TRÌNH Operating System Concepts - 7th Edition, Feb 7, 2006 3.19 Silberschatz, Galvin and Gagne ©2005
  20. CHƯƠNG TRÌNH C PHÂN NHÁNH QUÁ TRÌNH int main() { pid_t pid; /* fork another process */ pid = fork(); if (pid < 0) { /* error occurred */ fprintf(stderr, "Fork Failed"); exit(-1); } else if (pid == 0) { /* child process */ execlp("/bin/ls", "ls", NULL); } else { /* parent process */ /* parent will wait for the child to complete */ wait (NULL); printf ("Child Complete"); exit(0); } } Operating System Concepts - 7th Edition, Feb 7, 2006 3.20 Silberschatz, Galvin and Gagne ©2005
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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