1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 3 lập lịch cho CPU

21 1,2K 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 156,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khái niệm lập lịch cho CPU• Lập lịch cho CPU là tổ chức một hàng đợi các tiến trình sẵn sàng để phân phối giờ CPU cho chúng dựa trên độ ưu tiên của các tiến trình sao cho hiệu suất sử dụ

Trang 1

Chương III

LẬP LỊCH CHO CPU

Trang 2

Mục tiêu

• Giúp sinh viên nắm được tầm quan trọng của “giờ CPU”, các phương pháp, các thuật toán lập lịch ccho CPU của hệ điều hành nhằm đáp ứng yêu cầu phục vụ của các tiến trình

• Biết được công cụ để CPU có thể điều khiển hoạt động của các tiến trình một cách chính xác

Trang 3

Nội dung

• Các khái niệm về giờ CPU

• Các thuật toán lập lịch cho CPU

• Khái niệm về ngắt và phương pháp xử lý ngắt của hệ điều hành

Trang 4

I CÁC KHÁI NIỆM CƠ BẢN

I.1 Khái niệm giờ CPU

Thời gian mà CPU phục vụ cho tiến trình gọi là giờ CPU

Mỗi thời điểm nhất định, chỉ có một tiến trình được phân phối giờ CPU để hoạt động

Trang 5

I.2 Khái niệm lập lịch cho CPU

• Hệ thống thường tổ chức các từ trạng thái

để ghi nhận tình trạng sử dụng tài nguyên

và trạng thái tiến trình Các từ trạng thái được tổ chức như sau:

Trang 6

I.2 Khái niệm lập lịch cho CPU

• Lập lịch cho CPU là tổ chức một hàng đợi các tiến trình sẵn sàng để phân phối giờ CPU cho chúng dựa trên độ ưu tiên của các tiến trình sao cho hiệu suất sử dụng CPU là tối ưu nhất

• Mỗi tiến trình ở trạng thái sẵn sàng được gắn một thứ tự ưu tiên dựa vào các yếu tố sau: Thời điểm hình thành tiến trình, thời gian thực hiện tiến trình, thời gian kết thúc tiến trình

Trang 8

– Thời gian tiến trình chờ được xử lý:

– Thời gian đáp ứng: Tính từ khi có yêu cầu giờ CPU đến khi được đáp ứng.

Trang 9

II Các Thuật toán lập lịch

II.1 First Come First Served (FCFS)

• Mọi tiến trình được phục vụ theo trình tự xuất hiện cho đến khí nó kết thúc hoặc bị ngắt.

• Ưu điểm: Giờ CPU không bị phân phối lại, chi phí

tổ chức thực hiện thấp.

• Nhược điểm: Thời gian trung bình chờ phục vụ của các tiến trình là như nhau Do đó: Thời gian trung bình sẽ tăng vô hạn, độ phát tán thời gian thực hiện tiến trình tăng thì TG chờ trung bình tăng, khi có tiến trình dài tiến trình khác phải chờ lâu hơn.

Trang 10

Ví dụ

Thời gian trung bình phải chờ là 51/3=17

Trang 11

II.2 Shortest Job First (SJF)

• Tiến trình nào tổng thời gian thực hiện ngắn hơn sẽ được phụ vụ trước

TG chờ trung bình là 9/3=3

Trang 12

II.2 Shortest Job First (SJF)

• Ưu điểm: TG chờ TB ngắn, nhanh chóng loại bỏ các tiến trình ngắn-> số lượng tiến trình trong hàng đợi ít

• Nhược điểm: Phải thực hiện phân phối lại giờ CPU khi có một tiến trình mới xuất hiện ngắn hơn tiến trình dang thực hiện

Trang 13

II.3 Shortest Remain Time (SRT)

• Dựa vào thời gian để thực hiện nốt tiến trình, TG này=Tổng thời gian thực hiện tiến trình – TG đã thực hiện TG thực hiện nốt tiến trình ngắn nhất sẽ dược phục vụ trước

• Do vậy phải thường xuyên cập nhập thời gian thực hiện tiến trình và phân bổ lại giờ CPU

Trang 14

II.4 Round Robin (RR)

• Mỗi tiến trình được phân bố một lượng thời gian thực hiện (time quantum) Sau khoảng thời gian

đó, nếu tiến trình chưa kết thúc thì nó được chuyển về cuối hàng đợi.

• Hàng đợi của các tiến trình được tổ chức theo vòng tròn và các tiến trình luôn đảm bảo được phục vụ Nếu tiến trình mới được hình thành, nó được đưa vào hàng đợi ở vị trí được phục vụ ngay Các tiến trình đều có đồ ưu tiên như nhau.

Trang 15

II.4 Round Robin (RR)

• Ưu điểm: Cho phép hệ thống ưu tiên những tiến trình ngắn nhưng không gây tổn hại cho các tiến trình dài

• Nhược điểm: Thường xuyên phải phân phối lại giờ CPU, do vậy thời gian chờ trung bình lớn

Trang 16

Ví dụ

TG chờ TB=17/3=5,66

Trang 17

II.5 Multi Level Queue (MLQ)

• Dựa vào thông tin do người sử dụng cung cấp và kết quả phân tích của hệ thống để phân chia độ ưu tiên cho các tiến trình

Trang 18

II.5 Multi Level Queue (MLQ)

• Trên thực tế, cách tổ chức 2 hàng đợi được sử dụng phổ biến:

– Một cho các tiến trình trao đổi vào ra nhiều

– Một cho các tiến trình thực hiện tính toán nhiều.

• Các tiến trình ở hàng đợi thứ nhất được

ưu tiên cao hơn vì phải chờ kết quả I/O nêu không sử dụng hết hiệu suất giờ CPU

Trang 19

II.6 Multi Level Feedback

Queues(MLFQ)

• Hệ thống tổ chức nhiều hàng đợi Mỗi hàng có độ ưu tiên và cách thức tổ chức thực hiện khác nhau Các TT có thể chuyển đổi từ hàng đợi này sang hàng khác

Trang 20

II.6 Multi Level Feedback

Queues(MLFQ)

• Các yếu tố cần chú ý:

– Số lượng hàng đợi sao cho hợp lý.

– Chọn thuật toán thích hợp cho mỗi hàng đợi – Tiêu chuẩn và cách thức hạ mức một tiến trình.

– Tiêu chuẩn và cách thức nâng mức một tiến trình.

– Tiêu chuẩn và cách thức chỉ định một tiến trình mới phát sinh vào hàng đợi nào.

Trang 21

III Ngắt

Ngày đăng: 04/12/2015, 17:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w