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

Bài Giảng Hệ Điều Hành-Chương 2: Quá trình

Chia sẻ: Nguyen Van Nghia | Ngày: | Loại File: PDF | Số trang:44

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

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

Chủ đề:
Lưu

Nội dung Text: Bài Giảng Hệ Điều Hành-Chương 2: Quá trình

  1. CHƯƠNG 3: QUÁ TRÌNH 3:
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.2
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.3
  4. Process in Memory Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.4
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.5
  6. BIỂU ĐỒ TRẠNG THÁI QUÁ TRÌNH Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.6
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.7
  8. KHỐI ĐIỀU KHIỂN QUÁ TRÌNH (PCB) Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.8
  9. SỰ CHUYỂN CPU QUA LẠI GIỮA CÁC QUÁ TRÌNH Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.9
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.10
  11. HÀNG ĐỢI SẴN SÀNG & CÁC HÀNG ĐỢI THIẾT BỊ I/O Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.11
  12. SƠ ĐỒ LẬP LỊCH BIỂU QUÁ TRÌNH Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.12
  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ó Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.13
  14. BỔ XUNG LẬP LỊCH BIỂU TRUNG HẠN Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.14
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.15
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.16
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.17
  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 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.18
  19. TẠO QUÁ TRÌNH Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.19
  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); } } Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7th Edition, Feb 7, 2006 3.20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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