tv-Ch03 CPU Scheduling

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

Machine Translated by Google

Machine Translated by Google

Vấn đề về lịch trình

Hồ sơ ứng dụng: Một

chương trình luân phiên giữa CPU và I/O Quá trình

này bị ràng buộc bởi CPU (chủ yếu là sử dụng CPU) hoặc bị
ràng buộc bởi I/O (chủ yếu là chờ I/O)

Khi nào lên lịch

Khi một quá trình được tạo/kết thúc Khi

một quá trình đưa ra lệnh gọi chặn Khi I/O

bị gián đoạn

2
Machine Translated by Google

Vấn đề về lịch trình

Có được phép ưu tiên không?

Bộ lập lịch không được ưu tiên không sử dụng các ngắt đồng

hồ để dừng một quá trình

Các ứng dụng khác nhau yêu cầu các tiêu chí tối ưu hóa khác nhau

Hệ thống theo mẻ (thông lượng, thời gian xử lý)

Hệ thống tương tác (thời gian phản hồi, tính công bằng, kỳ

vọng của người dùng)

Hệ thống thời gian thực (đáp ứng thời hạn)

3
Machine Translated by Google

Lên lịch

Lập lịch là hoạt động lựa chọn yêu cầu tiếp


theo để được máy chủ phục vụ

Trong HĐH, yêu cầu là việc thực hiện một công việc
hoặc một tiến trình, còn máy chủ là CPU

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


4
Machine Translated by Google

Lên lịch

Lập kế hoạch dài hạn (Lên kế hoạch công việc)

Quyết định khi nào chấp nhận một quy trình đã đến
để lập kế hoạch, tùy thuộc vào bản chất của nó (liệu
Giới hạn CPU hoặc giới hạn I/O) và tài nguyên

Lập kế hoạch trung hạn

Quyết định khi nào hoán đổi một tiến trình


khỏi bộ nhớ và khi nào tải lại nó

Lập kế hoạch ngắn hạn (Lập lịch CPU)

Quyết định quy trình nào sẵn sàng phục vụ tiếp theo
CPU và trong bao lâu

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


5
Machine Translated by Google

Lên lịch

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


6
Machine Translated by Google

Lập lịch CPU

Bộ lập lịch quy trình chọn trong số các quy trình


có sẵn để thực hiện tiếp theo trên CPU

Mục tiêu: Tối đa hóa việc sử dụng CPU, nhanh chóng chuyển các tiến
trình sang CPU

Duy trì hàng đợi lập lịch của các tiến trình

Hàng đợi sẵn sàng – tập hợp tất cả các tiến trình
nằm trong bộ nhớ chính, sẵn sàng và chờ thực thi

Hàng đợi – một tập hợp các tiến trình đang chờ một sự
kiện (tức là I/O)

7
Machine Translated by Google

Hàng đợi sẵn sàng và chờ đợi

số 8
Machine Translated by Google

Trình bày về lập kế hoạch quy trình

9
Machine Translated by Google

Lập lịch CPU

Sử dụng CPU tối đa

Chu kỳ bùng nổ CPU–I/O – Việc thực


thi quy trình bao gồm một chu kỳ
Thực thi CPU và chờ I/O

Cụm CPU tiếp theo là cụm I/O

10
Machine Translated by Google

Lợi ích của chủ đề

Khả năng phản hồi - có thể cho phép tiếp tục thực thi nếu một phần

của quy trình bị chặn, đặc biệt quan trọng đối với giao diện người
dùng

Chia sẻ tài nguyên – các luồng chia sẻ tài nguyên của tiến

trình, dễ dàng hơn việc chia sẻ bộ nhớ hoặc truyền tin nhắn

Kinh tế – rẻ hơn so với việc tạo quy trình, chuyển đổi luồng có

chi phí thấp hơn so với chuyển đổi ngữ cảnh

Khả năng mở rộng – quy trình có thể tận dụng các kiến
trúc đa lõi

11
Machine Translated by Google

Bộ lập lịch CPU

Bộ lập lịch CPU chọn trong số các tiến trình trong hàng

đợi sẵn sàng và phân bổ lõi CPU cho một trong số chúng

Các quyết định lập lịch CPU có thể diễn ra khi một quá trình:

Chuyển từ trạng thái chạy sang trạng thái chờ

Chuyển từ trạng thái chạy sang trạng thái sẵn sàng

Chuyển từ chờ sang sẵn sàng

Chấm dứt

12
Machine Translated by Google

Sơ đồ trạng thái quy trình

2 4

1
3

13
Machine Translated by Google

Các loại lịch trình

Lập kế hoạch không ưu tiên: Một quá trình chạy đến


khi hoàn thành khi được lên lịch

Lập kế hoạch ưu tiên: lấy CPU khỏi tiến trình.

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


14
Machine Translated by Google

Điều phối

Mô-đun Bộ điều phối trao quyền điều khiển CPU cho quy trình
được bộ lập lịch CPU chọn:

Chuyển ngữ cảnh

Chuyển sang chế độ người dùng

Nhảy đến vị trí thích hợp trong chương trình người


dùng để khởi động lại chương trình đó

15
Machine Translated by Google

Điều phối

Độ trễ điều phối là thời gian để người điều


phối dừng một quá trình và bắt đầu một quá trình khác
đang chạy

16
Machine Translated by Google

Tiêu chí lập kế hoạch

Thời gian hoàn thành (c): Thời gian hoàn thành một công việc hoặc

quy trình

Thời gian hoàn thành (ta): Thời gian từ khi gửi một công việc hoặc

quy trình đến khi hệ thống hoàn thành nó. Khái niệm này chỉ

có ý nghĩa đối với các công việc hoặc quy trình

không tương tác.

Vòng quay có trọng số (w): Tỷ lệ giữa thời gian quay vòng của một

công việc hoặc quy trình so với thời gian phục vụ của chính nó.

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


17
Machine Translated by Google

Chính sách lập kế hoạch không ưu tiên

Lên lịch đến trước được phục vụ trước (FCFS)

Lập kế hoạch yêu cầu ngắn nhất tiếp theo (SRN)

Lập kế hoạch tỷ lệ phản hồi cao nhất tiếp theo (HRN)

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


18
Machine Translated by Google

Chính sách lập kế hoạch không ưu tiên

Lập kế hoạch đến trước, phục vụ trước (FCFS)


Các yêu cầu được lập lịch theo thứ tự
họ đến trong hệ thống

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


19
Machine Translated by Google

Chính sách lập kế hoạch không ưu tiên

Lập kế hoạch Yêu cầu Tiếp theo Ngắn nhất (SRN)

Lập lịch yêu cầu với dịch vụ nhỏ nhất


thời gian

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


20
Machine Translated by Google

Chính sách lập kế hoạch không ưu tiên

Lập kế hoạch tiếp theo (HRN) có tỷ lệ phản hồi cao

nhất Chọn quy trình có phản hồi cao nhất


tỉ lệ

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


21
Machine Translated by Google

Chính sách lập kế hoạch ưu tiên

Lập kế hoạch Round-Robin với tính năng cắt thời gian (RR)

Lập lịch trình Ít hoàn thành Tiếp theo (LCN)

Lập kế hoạch thời gian đi ngắn nhất (STG)

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


22
Machine Translated by Google

Chính sách lập kế hoạch ưu tiên

Lập kế hoạch Round-Robin với time-slicing (RR)

Kernel sắp xếp để tăng một ngắt hẹn giờ khi thời
gian trôi qua.

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


23
Machine Translated by Google

Chính sách lập kế hoạch ưu tiên

Lập lịch trình Ít hoàn thành tiếp theo (LCN)

Lập lịch trình cho quy trình đã tiêu thụ cho đến nay
lượng thời gian CPU ít nhất

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


24
Machine Translated by Google

Chính sách lập kế hoạch ưu tiên

Lập kế hoạch cho thời gian hoạt động ngắn

nhất (STG) Lập lịch trình cho một tiến trình có yêu cầu
về thời gian CPU còn lại là nhỏ nhất trong hệ thống

Nguồn: Dhananjay Dhamdhere - Hệ điều hành, McGraw Hill (2008)


25

You might also like