Bài giảng Hệ điều hành - Bài 3: Quản lý tiến trình - Trần Hạnh Nhi
n Phân chia CPU cho các tiến trình ?
n Tiếp cận
n Mục tiêu ?
n Tổ chức ?
n Chiến lược ?
n Trạng thái tiến trình ?
n Lưu trữ thông tin tiến trình ?
n Các thao tác trên tiến trình ?
n Bảo vệ tiến trình ?
n Trao đổi thông tin giữa các tiến trình ?
n Tiếp cận
n Mục tiêu ?
n Tổ chức ?
n Chiến lược ?
n Trạng thái tiến trình ?
n Lưu trữ thông tin tiến trình ?
n Các thao tác trên tiến trình ?
n Bảo vệ tiến trình ?
n Trao đổi thông tin giữa các tiến trình ?
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Bài 3: Quản lý tiến trình - Trần Hạnh Nhi", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_he_dieu_hanh_bai_3_quan_ly_tien_trinh_tran_hanh_nh.ppt
Nội dung text: Bài giảng Hệ điều hành - Bài 3: Quản lý tiến trình - Trần Hạnh Nhi
- 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 { chuyển CPU giữa các interrupt Pcur save state P tiến trình: cur 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
- 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
- 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
- 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
- Đ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
- 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 ◼ general-purpose & 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
- 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
- Lựa chọn tiến trình ? ◼ Tác vụ của Scheduler ◼ Mục tiêu ? ◼ Sử dụng CPU hiệu quả ◼ Đảm bảo tất cả các tiến trình đều tiến triển xử lý ◼ Tiêu chuẩn lựa chọn ? ◼ Tất cả các tiến trình đều như nhau ? ◼ Đề xuất một độ ưu tiên cho mỗi tiến trình ? ◼ Thời điểm lựa chọn ? (Thời điểm kích hoạt Scheduler()) 16
- Các cấp độ điều phối ◼ Longterm scheduling : chọn tiến trình kế tiếp được khởi động (mang vao bộ nhớ và nhận trạng thái ready) ◼ Mediumterm scheduling : quyết định chuyển tiến trình đang running sang trạng thái blocked. ◼ Shorterm scheduling : chọn 1 tiến trình ở trạng thái ready để chuyển sang trạng thái running. 18 ◼ Không có sự phân biệt rõ ràng hoàn toàn giữa 3 cấp
- Các chiến lược điều phối ▪ FIFO ▪ RR ▪ SJF ▪ MULTILEVELFEEDBACK ▪ LOTTERY 20
- Multilevel Feedback priority 22