Lập lịch CPU khi 1 và 4 không được ưu tiên trước: - Không có sự lựa chọn: phải chọn một tiến trình mới để thực hiện - Khi một tiến trình được phân phối CPU, nó sử dụng CPU cho đến khi gi
Trang 1BÀI TẬP LỚN
Đề tài:
Lập lịch CPU
Trang 4Nội dung
I/ Các khái niệm cơ bản
II/ Các tiêu chuẩn lập lịch III/ Các giải thuật lập lịch IV/ Lập lịch multiprocessor V/ Lập lịch thời gian thực VI/ Lựa chọn giải thuật
VII/ Ngắt
Trang 5I/ Các khái niệm cơ bản
2 Chu kỳ sử dụng CPU-I/O
3 Bộ định thời CPU
4 Định thời biểu trưng dụng
Trang 61 Khái niệm giờ CPU
Giờ CPU là thời gian mà CPU phục vụ cho tiến trình hoạt động.
Tại 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 7I/ Các khái niệm cơ bản
1 Khái niệm giờ CPU
3 Bộ định thời CPU
4 Định thời biểu trưng dụng
5 Bộ phân phát
Trang 82/ Chu kỳ sử dụng CPU-I/O
Trang 9I/ Các khái niệm cơ bản
1 Khái niệm giờ CPU
2 Chu kỳ sử dụng CPU-I/O
4 Định thời biểu trưng dụng
5 Bộ phân phát
Trang 103/ Bộ định thời CPU
- Mỗi khị 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 ngắn chu kỳ (short-temr scheduler, CPU scheduler)
Trang 11I/ Các khái niệm cơ bản
1 Khái niệm giờ CPU
2 Chu kỳ sử dụng CPU-I/O
3 Bộ định thời CPU
Trang 124.Bộ định thời biểu trưng dụng
Các quyết định lập lịch CPU có thể xảy khi
một tiến 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ừ trạng thái đợi sang trạng thái sẵn
sàng
Kết thúc
Trang 13Lập lịch CPU khi 1 và 4 không được ưu tiên trước:
- Không có sự lựa chọn: phải chọn một tiến trình mới để thực hiện
- Khi một tiến trình được phân phối CPU, nó sử dụng CPU cho đến khi giải phóng CPU bằng cách kết thúc hoặc
chuyển sang trạng thái chờ
- Các tiến trình sẵn sàng nhường điều khiển của CPU
4.Bộ định thời biểu trưng dụng
Trang 14Lập lịch CPU khi 2 và 3 được ưu tiên trước:
- Khi 2: tiến trình đá bật CPU ra Cần phải chọn tiến trình kế tiếp.
- Khi 3: tiến trình có thể đá bật tiến trình khác ra
khỏi CPU.
4.Bộ định thời biểu trưng dụng
Trang 15Nội dung
I/ Các khái niệm cơ bản
II/ Các tiêu chuẩn lập lịch
III/ Các giải thuật lập lịch IV/ Lập lịch multiprocessor V/ Lập lịch thời gian thực VI/ Lựa chọn giải thuật
VII/ Ngắt
Trang 16II.Các tiêu chuẩn lập lịch
CPU utilization (việc sử dụng CPU)
Throughput (thông lượng)
Turnaround time (thời gian hoàn thành)
Waiting time (thời gian chờ)
Responsen time (thời gian đáp ứng)
Trang 17VII/ Ngắt
Trang 18III.Các giải thuật lập lịch
1.Định thời đến trước được phục vụ trước (firt-come,first-served)
2.Định thời biểu công việc ngắn nhất trước
(shortest-job-first).
3.Định thời theo độ ưu tiên
4.Định thời luân phiên.
5.Định thời biểu với hàng đợi nhiều cấp.
6.Định hàng đợi phản hồi đa cấp.
Trang 20 Nếu thời gian thực hiện tiến trình tăng thì thời gian chờ đợi trung bình sẽ tăng theo
Khi có tiến trình dài, ít bị ngắt thì các tiến trình khác phải chờ đợi lâu hơn
Vd: Cho dãy tiến trình với thời
Trang 21Nếu các quá trình đến theo thứ tự P1,P2,P3 và
đc phục vụ theo thứ tự FCFS, chúng ta nhận được kết quả:
Thời gian chờ của các tiến trình:
1.Định thời đến trước phục vụ trước
Trang 22Nếu các tiến trình đến theo thứ tự:
P2 , P3 , P1
Biểu đồ Gantt của lập lịch như sau:
Thời gian chờ đợi các tiến trinh:
Trang 23III.Các giải thuật lập lịch
1.Định thời đến trước được phục vụ trước come,first-served )
(firt-2.Định thời biểu công việc ngắn nhất trước (shortest-job-first)
3.Định thời theo độ ưu tiên
4.Định thời luân phiên
5.Định thời biểu với hàng đợi nhiều cấp
6.Định hàng đợi phản hồi đa cấp
Trang 24• Nhanh chóng loại bỏ các tiến trình ngắn
• Giảm số lượng tiến trình trong hàng đợi
Nhược điểm:Chế độ phân phối lại giờ CPU được áp
dụng trong trường hợp ngắt các tiến trình có thể không hợp lý
Trang 25- Không ưu tiên trước.
- Có ưu tiên trước.
2.Định thời biểu công việc ngắn trước phục
vụ trước
Trang 27Ví dụ SJF có ưu tiên trước
Trang 28Xác định thời gian sử dụng CPU
so hang mot
là 4.
1 0
, 3.
theo tiep
CPU dung
su cho doan
du tri gia
2.
thun CPU
dung
su cua te gian thuc thoi
1.
0 1
0 1
t t t
t
n n
n n
α α
τ
Trang 29Minh họa khi α =1/2 và τ0 =10
Trang 30III.Các giải thuật lập lịch
1.Định thời đến trước được phục vụ trước come,first-served)
(firt-2.Định thời biểu công việc ngắn nhất trước
(shortest-job-first)
3.Định thời theo độ ưu tiên
4.Định thời luân phiên
5.Định thời biểu với hàng đợi nhiều cấp
6.Định hàng đợi phản hồi đa cấp
Trang 313.Bộ định thời mức ưu tiên
Một số tiến trình được gắn một số ưu tiên
CPU được phân phối cho tiến trình có mức ưu tiên cao nhất (có số ưu tiên nhỏ nhất )
SJF là trường hợp riêng của lập lịch theo mức
ưu tiên: mức ưu tiên chính là thời gian sử dụng CPU tiếp sau dự đoán được.
Vấn đề gặp phải là: những tiến trình có mức ưu
tiên thấp có thể ko bao giờ được thực hiện.
Giải pháp: kỹ thuật tăng mức ưu tiên của các tiến
trình chờ đợi lâu trong hệ thống.
Trang 32Ví dụ
Quá trình Thời gian xử lý Độ ưu tiên P1 10 3
P2 1 1 P3 2 4 P4 1 5 P5 5 2
Thời gian chờ TB: (0+1+6+16+18)/5=8,2
3.Bộ định thời mức ưu tiên
Trang 33III.Các giải thuật lập lịch
1.Định thời đến trước được phục vụ trước come,first-served)
(firt-2.Định thời biểu công việc ngắn nhất trước
(shortest-job-first) 3.Định thời theo độ ưu tiên
4.Định thời luân phiên
5.Định thời biểu với hàng đợi nhiều cấp
6.Định hàng đợi phản hồi đa cấp
Trang 344.Định thời luân phiên (Round-Robin (RR))
Mỗi tiến trình sử dụng một lượng nhỏ thời gian của CPU,
thường là 10-100ms Sau đó nó được ưu tiên đưa vào cuối của hàng đợi.
Hàng đợi được tổ chức dạng FIFO(FCFS)
Nếu tiến trình có thời gian sử dụng CPU<q (q:định lượng thời gian) ⇒ Tiến trình sẽ tự nguyện nhường CPU khi kết thúc Trình lập lịch sẽ chọn tiến trình kế tiếp trong hàng đợi.
Nếu tiến trình có thời gain sử dụng CPU>q ⇒ bộ định thời sẽ đếm lùi và gây mất HĐH kkhi nó =0 Việc chuyển ngữ cảnh được thực hiện và tiến trình hiện tại được đưa xuống cuối hàng đợi để nhường CPU cho tiến trình kế tiếp.
Trang 35Quan hệ giữa q và hiệu năng
Nếu q lớn ⇒ tương tự như FCFS
Nếu q nhỏ ⇒ số lần chuyển ngữ cảnh càng nhiều, làm giảm hiệu năng.
4.Định thời luân phiên (Round-Robin (RR))
Trang 36Hiển thị cách thời gian hoàn thành biến
đổi theo định mức thời gian
4.Định thời luân phiên(Round-Robin (RR))
Trang 37- Thường xuyên phải phân phối lại giờ CPU
- Thời gian chờ đợi trung bình có thể lớn hơn so với FCFS
- Chú ý: Nên chọn giá trị q cho thích hợp
4.Định thời luân phiên
(Round-Robin (RR))
Trang 38Vd: xét vd trên và giá trị time quantum q=4
Ta có sơ đồ grant biểu thị thứ tự ưu tiên thực hiện các tiến trình như sau:
Từ sơ đồ ta thấy thời gian chờ của các tiến trình là :
Trang 39III.Các giải thuật lập lịch
1.Định thời đến trước được phục vụ trước come,first-served)
(firt-2.Định thời biểu công việc ngắn nhất trước
(shortest-job-first).
3.Định thời theo độ ưu tiên
4.Định thời luân phiên.
5.Định thời biểu với hàng đợi nhiều cấp.
6.Định hàng đợi phản hồi đa cấp.
Trang 405.Định thời với hàng đợi nhiều cấp
Được chia thành nhiều hàng đợi riêng lẻ:
-chạy ở chế độ giao tiếp (foreground hay interactive)
-chạy ở chế độ nền hay ạng bó(background hay batch)
Mỗi hàng đợi có giải thuật lập lịch riêng:
- foreground -RR
- background –FCFC
Phải có sự lập lịch giữa các hàng đợi:
-lập lịch với mức ưu tiên cố định
-paahn chia thời gian: mỗi hàng đợi nhạn được một lượng thời gain CPU nào đó mà nó có thể lập lịch các tiến trình của nó
Trang 415.Định thời với hàng đợi nhiều cấp
Trang 42Nhược điểm :
• Khi có một tiến trình ở mức cao hơn cần thực hiện thì hệ thống phải ngắt tiến trình ở các mức thấp hơn để phục vụ tiến trình ở mức cao
• không sử dụng hết hiệu suất giờ CPU đựơc phân bổ
• Các tiến trình ở hàng đợi thứ hai hoạt động tính toán dựa trên nền của các tiến trình ở mức thứ nhất
• Sau khi thực hiện, tiến trình ở mức nào phải quay trở về mức
đó nếu chưa kết thúc
5.Định thời với hàng đợi nhiều cấp
Trang 43III.Các giải thuật lập lịch
1.Định thời đến trước được phục vụ trước come,first-served)
(firt-2.Định thời biểu công việc ngắn nhất trước
(shortest-job-first).
3.Định thời theo độ ưu tiên
4.Định thời luân phiên.
5.Định thời biểu với hàng đợi nhiều cấp.
6.Định hàng đợi phản hồi đa cấp.
Trang 446.Lập lịch đa mức hàng đợi thông tin phản hồi
Một tiến trình có thể di chuyển giữa các hàng đợi.
Trình lập lịch đa mức hàng đợi thông tin phản hồi
được xác định bởi các tham số sau:
- Số lượng hàng đợi
- Giải thuật đinh thời cho mỗi hàng đợi
- Phương pháp được dùng để các định khi nâng cấp một
quá trình tới hàng đợi có độ ưu tiên cao hơn
- Phương pháp được dùng để các định khi nào chuyển
một quá trình tới hàng đợi có đọ ưu tiên thấp hơn
- Phương pháp được dùng để xác định hàng đợi nào một
quá trình sẽ đi vào và khi nòa qua trình đó cần phục vụ
Trang 45Các hàng đợi phản hồi nhiều cấp:
6.Lập lịch đa mức hàng đợi thông tin phản hồi
Trang 46Nội dung
I/ Các khái niệm cơ bản
II/ Các tiêu chuẩn lập lịch III/ Các giải thuật lập lịch
IV/ Lập lịch multiprocessor
V/ Lập lịch thời gian thực VI/ Lựa chọn giải thuật
VII/ Ngắt
Trang 47- Đa sử lý ko đối xứng –asymmetric multiprocessing:
-chỉ có một processor truy nhập các cấu trúc dữ liệu hệ thống, làm giảm sự cần thiết bảo vệ dữ liệu chia sẻ
Trang 48Nội dung
I/ Các khái niệm cơ bản
II/ Các tiêu chuẩn lập lịch III/ Các giải thuật lập lịch IV/ Lập lịch multiprocessor
V/ Lập lịch thời gian thực
VI/ Lựa chọn giải thuật
VII/Ngắt
Trang 49V.Lập lịch theo thời gian thực
Được chia làm hai loại:
Hệ thồng thời thực cứng (hardware real-time systems) được yêu cầu để hoàn thành một tác vụ tới hạn trong lượng thời gian được đảm bảo.Khi tiến trình được gửi đến với lệnh cho biết thời gian cần thiết của nó,trình lập lịch có thể chấp nhận và đảm bảo nó kết thúc đúng thời hạn hoặc từ chối tiến trình
Tính toán thời gian thực mềm (soft rsal_time computing) ít nghiêm khắc hơn.Nó yêu cầu các tiến trình tới hạn nhận độ ưu tiên cao hơn các qua trình khác.Có thể phân phối tài nguyên ko hợp lý,thời gain trễ, lâu hơn
→ phải cẩn thận trong thiết kế trình lập lịch và các khía cạnh liên quan của HĐH:
- lập lịch có ưu tiên, có tiến trình thời gian thực có mức ưu tiên cao nhất.
- trễ điều vận phải nhỏ.
Trang 50Nội dung
I/ Các khái niệm cơ bản II/ Các tiêu chuẩn lập lịch III/ Các giải thuật lập lịch IV/ Lập lịch multiprocessor V/ Lập lịch thời gian thực
VI/ Lựa chọn giải thuật
VII/ Ngắt
Trang 51VI.Lựa chọn giải thuật.
Chọn giải thuật lập lịch CPU nào cho hệ thống cụ thể?
Trước tiên xác sử dụng tiêu chuẩn nào?
1 Phân tích hiệu năng của từng giải thuật đối với các tiến trình
2 Sử dụng chuẩn hàng đợi:
Công thức Little: n = λ x w
n: độ dài queue trung bình
w: thời gian chờ đợi trng bình trong queue
λ: tốc độ đến queue của tiến trình (số tiến trình/giây)
3 Mô phỏng: lập trình mô hình hệ thống để đánh giá
4 Thực hiện: đặt giải thuật cụ thể trong hệ thống thực để đánh giá
Trang 52Nội dung
I/ Các khái niệm cơ bản II/ Các tiêu chuẩn lập lịch III/ Các giải thuật lập lịch IV/ Lập lịch multiprocessor V/ Lập lịch thời gian thực VI/ Lựa chọn giải thuật
VII/ Ngắt
Trang 54→ Ngắt là công cụ để chuyển điều khiển tới một tiến trình khác mà tiến trình hiện tại không biết.
Trang 563.Quy trình xử lý ngắt
Quy trình chung của xử lý ngắt:
- Ghi nhận đặc trưng của sự kiện gây ra ngắt vào ô nhớ quy định.
- Ghi nhận trạng thái của tiến trình bị ngắt ( bộ đếm chương trình, nội dung các thanh ghi, chế độ làm
việc…).
- Chuyển địa chỉ chương trình xử lý ngắt vào thanh ghi địa chỉ lệnh của CPU.
- Thực hiện chương trình xử lý sự kiện
- Khôi phục lại tiến trình bị ngắt.
Trang 57Đề bài :
Cho dãy tiến trình với thời gian thực hiện tương ứng như sau:
process Thời gian xử lý
p 1 10
P 2 2
P 3 7
P 4 1
P 5 5
a Vẽ sơ đồ Grant theo các thuật toán FCFS, SJF, RR ( q=2)?
b Tính thời gian chờ đợi trung bình của các thuật toán Thuật toán nào có thời
gian chờ đợi trung bình ngắn nhất?
Bài tập ứng dụng
Trang 580 1 3 8 15 250