Bài giảng Hệ điều hành nâng cao: Bài 3 - Trần Hạnh Nhi
Số trang: 23
Loại file: ppt
Dung lượng: 612.50 KB
Lượt xem: 22
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Hệ điều hành nâng cao - Bài 3: Quản lý tiến trình. Chương này gồm có những nội dung chính sau: Phân chia CPU cho các tiến trình, trạng thái tiến trình, lưu trữ thông tin tiến trình, các thao tác trên tiến trình, bảo vệ tiến trình, trao đổi thông tin giữa các tiến trình.
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ điều hành nâng cao: Bài 3 - Trần Hạnh Nhi Bài 3 : QUẢN LÝ TIẾN TRÌNH Phân chia CPU cho các tiến trình ? Tiếp cận Mục tiêu ? Tổ chức ? Chiến lược ? Trạng thái tiến trình ? Lưu trữ thông tin tiến trình ? Các thao tác trên tiến trình ? Bảo vệ tiến trình ? Trao đổi thông tin giữa các tiến trình ? 1 Phân chia CPU ? 1 CPU vật lý : làm thế nào để tạo ảo giác mỗi tiến trình sở hữu CPU riêng của mình ? CPU while(1) Dispatcher luân { interrupt Pcur chuyển CPU giữa các save state Pcur tiến trình: Scheduler gets Pnext Ngữ cảnh xử lý riêng load state Pnext biệt cho mỗi tiến trình jump to it (PCB) } Dispatching loop : 2 Trạng thái tiến trình ? Nhận CPU ready running Rs Rs Trả CPU CPU CPU blocked Chờ R Nhận R Rs CPU 3 Khối quản lý tiến trình trong mô hình multiprocesses Process control Block pid PCB State (State, details) Context (IP, Mem, Files…) Relatives ( Dad, children) Scheduling statistic 4 PCB và TCB trong mô hình multithreads PCB pid Thread Control Block TCB Threads list Context tid (Mem, global State ressources…) (State, details) Relatives Context ( Dad, children) (IP, local stack…) Scheduling statistic 5 Các thao tác trên tiến trình Tạo lập tiến trình : Cấp phát tài nguyên cho tiến trình con ? Hoạt động của cha và con độc lập Kết thúc tiến trình : Thu hồi tài nguyên ? Eùp buộc kết thúc ? Thay đổi trạng thái tiến trình : Assign(), Block(), Awake(), Resume(), Suspend() 6 Trạng thái tiến trình ? Có nhu cầu Suspend &Resume : Hệ thống quá tải Kiểm soát hoạt động của tiến trình con 7 An ninh trật tự cho môi trường đa tiến trình ! Bảo vệ tiến trình : Ngăn cản các tiến trình xâm phạm tài nguyên, can thiệp vàoxử lý của nhau => KGĐC riêng biệt, 2 mode xử lý Bảo đảm quyền tiến triển xử lý cho mỗi tiến trình => công bằng trong các chiến lược phân phối tài nguyên. Trao đổi thông tin , phối hợp hoạt động ? Nhu cầu ? Vấn đề ? => Chương kế tiếp Giải pháp ? 8 Các danh sách tiến trình Ready List P1 P5 P4 Waiting Lists R1 P2 P7 R1 P3 P10 R1 P6 9 Điều phối tiến trình Mục tiêu ? Các cấp độ điều phối Thời điểm ra quyết định điều phối ? Đánh giá chiến lược điều phối ? Một số chiến lược điều phối 10 Điều phối tiến trình SCHEDULER chọn một tiến trình nhận cpu DISPATCH ER chuyển đổi ngữ cảnh 11 Chuyển đổi ngữ cảnh (context switching) Kịch bản : Lưu ngữ cảnh tiến trình hiện hành Nạp ngữ cảnh tiến trình được chọn kế tiếp Chi tiết cụ thể phụ thuộc vào phần cứng generalpurpose & floating point registers, co processor state… Chi phí chuyển đổi ngữ cảnh : Giữa các tiến trình ? Giữa các tiểu trình ? 12 Chuyển đổi ngữ cảnh giữa các tiến trình P1 P2 User mode System call Kernel mode Dispatcher Chuyển đổi mode xử lý Chuyển đổi IP và các thanh ghi khác của CPU Chuyển đổi không gian địa chỉ 13 Tiểu trình hạt nhân (Kernel thread) T1 T2 User mode System call Kernel mode Dispatcher Khái niệm tiểu trình được xây dựng bên trong hạt nhân Distpatcher làm việc với đơn vị là tiểu trình 14 Tiểu trình người dùng (User thread) Khái niệm tiểu trình được hỗ User trợ bởi một thư viện hoạt mode động trong user mode T1 T2 T3 Distpatcher của hạt nhân làm việc với đơn vị là tiến trình ThreadDistpatcher làm việc LWP1 LWP2 với đơn vị là tiểu trình P – LWP T Không cần chuyển đổi chế độ xử lý khi chuyển đổi các tiểu P1 P2 trình cùng thuộc 1 tiến trình. Kernel Kernel 15 L ...
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ điều hành nâng cao: Bài 3 - Trần Hạnh Nhi Bài 3 : QUẢN LÝ TIẾN TRÌNH Phân chia CPU cho các tiến trình ? Tiếp cận Mục tiêu ? Tổ chức ? Chiến lược ? Trạng thái tiến trình ? Lưu trữ thông tin tiến trình ? Các thao tác trên tiến trình ? Bảo vệ tiến trình ? Trao đổi thông tin giữa các tiến trình ? 1 Phân chia CPU ? 1 CPU vật lý : làm thế nào để tạo ảo giác mỗi tiến trình sở hữu CPU riêng của mình ? CPU while(1) Dispatcher luân { interrupt Pcur chuyển CPU giữa các save state Pcur tiến trình: Scheduler gets Pnext Ngữ cảnh xử lý riêng load state Pnext biệt cho mỗi tiến trình jump to it (PCB) } Dispatching loop : 2 Trạng thái tiến trình ? Nhận CPU ready running Rs Rs Trả CPU CPU CPU blocked Chờ R Nhận R Rs CPU 3 Khối quản lý tiến trình trong mô hình multiprocesses Process control Block pid PCB State (State, details) Context (IP, Mem, Files…) Relatives ( Dad, children) Scheduling statistic 4 PCB và TCB trong mô hình multithreads PCB pid Thread Control Block TCB Threads list Context tid (Mem, global State ressources…) (State, details) Relatives Context ( Dad, children) (IP, local stack…) Scheduling statistic 5 Các thao tác trên tiến trình Tạo lập tiến trình : Cấp phát tài nguyên cho tiến trình con ? Hoạt động của cha và con độc lập Kết thúc tiến trình : Thu hồi tài nguyên ? Eùp buộc kết thúc ? Thay đổi trạng thái tiến trình : Assign(), Block(), Awake(), Resume(), Suspend() 6 Trạng thái tiến trình ? Có nhu cầu Suspend &Resume : Hệ thống quá tải Kiểm soát hoạt động của tiến trình con 7 An ninh trật tự cho môi trường đa tiến trình ! Bảo vệ tiến trình : Ngăn cản các tiến trình xâm phạm tài nguyên, can thiệp vàoxử lý của nhau => KGĐC riêng biệt, 2 mode xử lý Bảo đảm quyền tiến triển xử lý cho mỗi tiến trình => công bằng trong các chiến lược phân phối tài nguyên. Trao đổi thông tin , phối hợp hoạt động ? Nhu cầu ? Vấn đề ? => Chương kế tiếp Giải pháp ? 8 Các danh sách tiến trình Ready List P1 P5 P4 Waiting Lists R1 P2 P7 R1 P3 P10 R1 P6 9 Điều phối tiến trình Mục tiêu ? Các cấp độ điều phối Thời điểm ra quyết định điều phối ? Đánh giá chiến lược điều phối ? Một số chiến lược điều phối 10 Điều phối tiến trình SCHEDULER chọn một tiến trình nhận cpu DISPATCH ER chuyển đổi ngữ cảnh 11 Chuyển đổi ngữ cảnh (context switching) Kịch bản : Lưu ngữ cảnh tiến trình hiện hành Nạp ngữ cảnh tiến trình được chọn kế tiếp Chi tiết cụ thể phụ thuộc vào phần cứng generalpurpose & floating point registers, co processor state… Chi phí chuyển đổi ngữ cảnh : Giữa các tiến trình ? Giữa các tiểu trình ? 12 Chuyển đổi ngữ cảnh giữa các tiến trình P1 P2 User mode System call Kernel mode Dispatcher Chuyển đổi mode xử lý Chuyển đổi IP và các thanh ghi khác của CPU Chuyển đổi không gian địa chỉ 13 Tiểu trình hạt nhân (Kernel thread) T1 T2 User mode System call Kernel mode Dispatcher Khái niệm tiểu trình được xây dựng bên trong hạt nhân Distpatcher làm việc với đơn vị là tiểu trình 14 Tiểu trình người dùng (User thread) Khái niệm tiểu trình được hỗ User trợ bởi một thư viện hoạt mode động trong user mode T1 T2 T3 Distpatcher của hạt nhân làm việc với đơn vị là tiến trình ThreadDistpatcher làm việc LWP1 LWP2 với đơn vị là tiểu trình P – LWP T Không cần chuyển đổi chế độ xử lý khi chuyển đổi các tiểu P1 P2 trình cùng thuộc 1 tiến trình. Kernel Kernel 15 L ...
Tìm kiếm theo từ khóa liên quan:
Hệ điều hành nâng cao Hệ điều hành Bài giảng Hệ điều hành Quản lý tiến trình Trạng thái tiến trình Lưu trữ thông tin tiến trìnhGợi ý tài liệu liên quan:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 450 0 0 -
Lecture Operating systems: Lesson 24 - Dr. Syed Mansoor Sarwar
29 trang 380 0 0 -
Lecture Operating systems: Lesson 21 - Dr. Syed Mansoor Sarwar
22 trang 327 0 0 -
173 trang 272 2 0
-
175 trang 270 0 0
-
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 269 0 0 -
Lecture Operating systems: Lesson 13 - Dr. Syed Mansoor Sarwar
31 trang 268 0 0 -
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 244 0 0 -
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 242 0 0 -
Bài thảo luận nhóm: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android
39 trang 225 0 0