Professional Documents
Culture Documents
1 2
Tại sao phải lập lịch CPU? Hàng chờ lập lịch tiến trình
z Số lượng NSD, số lượng tiến trình luôn lớn Hàng chờ sẵn
CPU
sàng thực hiện
hơn số lượng CPU của máy tính rất nhiều
z Tại một thời điểm, chỉ có duy nhất một tiến Vào/ra Hàng chờ vào/ra Yêu cầu vào/ra
CPU-burst và IO-burst
z Trong suốt thời gian tồn tại trong hệ thống,
tiến trình được xem như thực hiện hai loại Microsoft
Office
công việc chính: Outlook
CPU-burst Adobe
z Khi tiến trình ở trạng thái running: Sử dụng CPU Photoshop
(thuật ngữ: CPU-burst) CPU-burst
z Khi tiến trình thực hiện các thao tác vào ra: Sử
dụng thiết bị vào/ra (thuật ngữ: I/O burst)
5 6
1
Hai loại tiến trình chính Bộ lập lịch ra hoạt động khi…
z Căn cứ theo cách sử dụng CPU của tiến 1. Một tiến trình chuyển từ trạng thái running
trình, có hai loại tiến trình: sang waiting
z Tiến trình loại CPU-bound: Tiến trình có một hoặc 2. Một tiến trình chuyển từ trạng thái running
nhiều phiên sử dụng CPU dài sang ready
z Tiến trình loại I/O-bound: Tiến trình có nhiều
3. Một tiến trình chuyển từ trạng thái waiting
phiên sử dụng CPU ngắn (tức là thời gian vào ra
nhiều) sang ready
4. Một tiến trình kết thúc
7 8
11 12
2
Các tiêu chí đánh giá lập lịch Các tiêu chí đánh giá lập lịch
z Khả năng tận dụng CPU (CPU utilization): z Thời gian hoàn thành (turnaround time):
Thể hiện qua tải CPU – là một số từ 0% đến z tturnaround = to-ti với ti là thời điểm tiến trình vào hệ
100%. thống, to là thời điểm tiến trình ra khỏi hệ thống
z Trong thực tế các hệ thống thường có tải từ 40% (kết thúc thực hiện)
(tải thấp) đến 90% (tải cao) z Như vậy tturnaround là tổng: thời gian tải vào bộ nhớ,
thời gian thực hiện, thời gian vào ra, thời gian
z Thông lượng (throughput): Là số lượng các
nằm trong hàng chờ…
tiến trình hoàn thành trong một đơn vị thời
gian
13 14
Các tiêu chí đánh giá lập lịch Các tiêu chí đánh giá lập lịch
z Thời gian chờ (waiting time): Là tổng thời z Thời gian đáp ứng (response time): Là
gian tiến trình phải nằm trong hàng chờ khoảng thời gian từ khi tiến trình nhận được
ready (twaiting) một yêu cầu cho đến khi bắt đầu đáp ứng
z Các thuật toán lập lịch CPU không có ảnh hưởng yêu cầu đó
đến tổng thời gian thực hiện một tiến trình mà chỉ z tres = tr – ts, trong đó tr là thời điểm nhận yêu
có ảnh hưởng đến thời gian chờ của một tiến
cầu, ts là thời điểm bắt đầu đáp ứng yêu cầu
trình trong hàng chờ ready
z Thời gian chờ trung bình (average waiting time):
taveragewaiting=twaiting / n, n là số lượng tiến trình trong
hàng chờ
15 16
3
FCFS (First Come First Served) Ví dụ FCFS 1a
z Tiến trình nào có yêu cầu sử dụng CPU z Giả sử có 3 tiến trình P1, P2, P3 với thời gian
trước sẽ được thực hiện trước thực hiện tương ứng là 24ms, 3ms, 6ms
z Ưu điểm: Thuật toán đơn giản nhất z Giả sử 3 tiến trình xếp hàng theo thứ tự P1, P2,
z Nhược điểm: Hiệu quả của thuật toán phụ P3. Khi đó ta có biểu đồ Gantt như sau:
thuộc vào thứ tự của các tiến trình trong hàng P1 P2 P3
chờ, vì thứ tự này ảnh hưởng rất lớn đến thời 0 24 27 33
gian chờ trung bình (average waiting time) z Thời gian chờ của các tiến trình là: P1 chờ
0ms, P2 chờ 24ms, P3 chờ 27ms
19
z Thời gian chờ trung bình: (0+24+27)/3=17ms 20
Tiến trình con Tạo một tiến z Giả sử P là tiến trình “lớn” có chu kỳ sử dụng CPU trong 40ms
thực hiện trình con và vào ra trong 50ms
z Q1, Q2, Q3 là 3 tiến trình “nhỏ” có chu kỳ sử dụng CPU trong
10ms và vào ra trong 10ms
Ngắt xuất hiện Chờ ngắt 23
z Thứ tự xếp hàng: P, Q1, Q2, Q3 24
4
SJF (Shortest Job First) SJF (Shortest Job First)
z Với SJF, tham số lập lịch có thêm độ dài của z Với lập lịch dài hạn: Có thể biết tnextburst vì có
phiên sử dụng CPU tiếp theo tnextburst tham số chỉ ra thời gian chạy của tiến trình khi
đưa tiến trình vào hệ thống (job submit)
z Tiến trình có tnextburst nhỏ nhất sẽ được lập
lịch sử dụng CPU trước z Khó khăn: Chỉ có thể phỏng đoán được tnextburrt
với lập lịch ngắn hạn
z Nếu hai tiến trình có tnextburst bằng nhau thì z Đọc ở nhà: Dự đoán tnextburst bằng công thức
FCFS được áp dụng trung bình mũ (exponential average) trang
160-162 trong giáo trình
z SJF không tối ưu được với lập lịch ngắn hạn
z SJF thường được áp dụng cho lập lịch dài hạn
25 26
5
Round-robin (RR) Round-robin (RR)
z Còn gọi là lập lịch quay vòng z Hiệu quả của RR phụ thuộc độ lớn của
z Được thiết kế để áp dụng cho các hệ phân tquantum
z Nếu tquantum nhỏ thì hiệu quả của RR giảm vì bộ
chia thời gian (time-sharing) điều phối phải thực hiện nhiều thao tác chuyển
z RR hoạt động theo chế độ preemptive trạng thái, lãng phí thời gian CPU
z Tham số lượng tử thời gian (time quantum) z Nếu tquantum lớn thì số thao tác chuyển trạng thái
giảm đi
tquantum: Mỗi tiến trình được sử dụng CPU
z Nếu tquantum rất nhỏ (ví dụ 1ms) thì RR được
trong nhiều nhất bằng tquantum, sau đó đến
gọi là processor sharing
lượt tiến trình khác
z Nếu tquantum = ∞ thì RR trở thành FCFS
31 32
6
Lập lịch với hàng chờ đa mức Lập lịch với hàng chờ đa mức
có phản hồi có phản hồi
z Thuật ngữ: Multilevel feedback-queue z Cách thực hiện:
scheduling z Độ dài phiên sử dụng CPU và thời gian đã nằm
z Thuật toán lập lịch kiểu này nhằm khắc phục trong hàng chờ là tiêu chuẩn chuyển tiến trình
giữa các hàng chờ
nhược điểm không mềm dẻo của lập lịch với
hàng chờ đa mức z Tiến trình chiếm nhiều thời gian CPU sẽ bị
chuyển xuống hàng chờ có độ ưu tiên thấp
z Ý tưởng chính: Cho phép tiến trình chuyển từ z Tiến trình nằm lâu trong hàng chờ sẽ được
hàng chờ này sang hàng chờ khác, trong khi chuyển lên hàng chờ có độ ưu tiên cao hơn
lập lịch với hàng chờ đa mức không cho phép
điều này
37 38
39 40
41 42
7
Mô hình hàng chờ Mô phỏng
z Thuật ngữ: Queueing model z Thuật ngữ: Simulation
z Dựa trên lý thuyết xác suất, quá trình ngẫu nhiên. Tài z Thực hiện các tình huống giả định trên máy
liệu tham khảo:
tính để đánh giá hiệu quả của các thuật toán
z Leonard Kleinrock, Queueing Systems: Volume I – Theory
(Wiley Interscience, New York, 1975) lập lịch, kiểm nghiệm các kết quả lý thuyết
z Leonard Kleinrock, Queueing Systems: Volume II – z Mô phỏng thường tốn thời gian CPU và
Computer Applications (Wiley Interscience, New York, 1976)
không gian lưu trữ
z Ưu điểm: So sánh được các thuật toán lập lịch trong
một số trường hợp z Được sử dụng nhiều trong công nghiệp
z Hạn chế: Phức tạp về mặt toán học, lớp các thuật z Ví dụ các hệ mô phỏng mạng (có module
toán phân tích so sánh được còn hạn chế hàng chờ): OPNET, NS-2, Qualnet
43 44