Chương này trang bị cho người học những hiểu biết về lập lịch CPU. Các nội dung chính được trình bày trong chương 5 gồm: Các khái niệm cơ bản, các tiêu chuẩn lập lịch, các giải thuật lập lịch, lập lịch multiprocessor, lập lịch thời gian thực, lựa chọn giải thuật. để nắm bắt các nội dung chi tiết. | Nội dung chương 5 BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH Các khái niệm cơ bản Các tiêu chuẩn lập lịch Chương 5: Lập lịch CPU Các giải thuật lập lịch Phạm Quang Dũng Bộ môn Khoa học máy tính Khoa Công nghệ thông tin Trường Đại học Nông nghiệp Hà Nội Website: Lập lịch multiprocessor Lập lịch thời gian thực Lựa chọn giải thuật Bài giảng Nguyên lý Hệ điều hành . Các khái niệm cơ bản Phạm Quang Dũng ©2008 Trình lập lịch CPU - CPU Scheduler multi-programming giúp đạt được sự sử dụng CPU tối đa Chu kỳ sử dụng CPU–I/O (CPU–I/O Burst Cycle): Sự thực hiện tiến trình gồm một chu kỳ thực hiện của CPU và chờ vào-ra. Sự phân phối sử dụng CPU giúp lựa chọn giải thuật lập lịch CPU Mỗi khi CPU rỗi, HĐH cần chọn trong số các tiến trình đã sẵn sàng thực hiện trong bộ nhớ (ready queue), và phân phối CPU cho một trong số đó. Tiến trình được thực hiện bởi trình lập lịch ngắn kỳ (short-term scheduler, CPU scheduler) Các quyết định lập lịch CPU có thể xảy ra khi một tiến trình: 1. Chuyển từ trạng thái chạy sang trạng thái chờ (vd: I/O request) 2. Chuyển từ trạng thái chạy sang trạng thái sẵn sàng (vd: khi một ngắt xuất hiện) 3. Chuyển từ trạng thái đợi sang trạng thái sẵn sàng (vd: I/O hoàn thành) 4. Kết thúc Bài giảng Nguyên lý Hệ điều hành Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành Phạm Quang Dũng ©2008 1 Preemptive/nonpreemptive Scheduling Trình điều vận - Dispatcher Lập lịch CPU khi 1 và 4 là không được ưu tiên trước Môđun trình điều vận trao quyền điều khiển của CPU cho tiến (nonpreemptive): trình được lựa chọn bởi trình lập lịch CPU; các bước: Không có sự lựa chọn: phải chọn 1 tiến trình mới để thực hiện. chuyển ngữ cảnh Khi 1 tiến trình được phân phối CPU, nó sẽ sử dụng CPU cho đến chuyển sang user mode khi nó giải phóng CPU bằng cách kết thúc hoặc chuyển sang trạng nhảy tới vị trí thích hợp trong chương trình của người sử dụng để thái chờ. khởi động lại chương trình đó Các tiến trình sẵn sàng nhường