Bài tập Chương 4 Hệ Điều Hành | Trường Đại học CNTT Thành Phố Hồ Chí Minh

Bài tập Chương 4 Hệ Điều Hành | Trường Đại học CNTT Thành Phố Hồ Chí Minh được được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

lOMoARcPSD| 40551442
1. Tại sao phải định thời? Có những loại bộ định thời nào?
- Trong các hệ thống đa nhiệm (multitasking), đơn vi xử lý cho phép thực thi đồng thời nhiều
chương trình để làm tăng hiệu suất hệ thống (Cho phép nhiều chương trình được nạp vào bộ
nhớ). Tại mỗi thời điểm, chỉ có một tiến trình được thực thi. Cần phải giải quyết vấn đề phân
chia, lựa chọn tiến trình thực thi để đạt được hiệu quả cao nhất.
Định thời là chiến lược lựa chọn tiến trình phù hợp để được thực thi sao cho đạt
được hiệu quả cao nhất
- Những loại bộ định thời:
2. Định thời CPU là gì? Bộ định thời nào chịu trách nhiệm thực hiện việc này?
- Định thời CPU là quá trình quyết định tiến trình nào sẽ được sử dụng CPU tiếp theo. Đây là
một nhiệm vụ quan trọng của hệ điều hành, vì nó đảm bảo rằng tất cả các tiến trình trong hệ
thống đều được thực thi một cách hợp lý.
- Bộ định thời CPU (CPU scheduler) là một phần của hệ điều hành chịu trách nhiệm thực
hiện định thời CPU. Bộ định thời CPU thường được chia thành hai loại chính:
lOMoARcPSD| 40551442
Định thời dài hạn (long-term scheduling): Xác định tiến trình nào sẽ được đưa vào
bộ nhớ chính từ bộ nhớ ngoài.
Định thời ngắn hạn (short-term scheduling): Xác định tiến trình nào sẽ được sử
dụng
CPU tiếp theo từ hàng đợi sẵn sàng
3. Phí tổn gây ra khi định thời là gì?
Phí tổn gây ra khi định thời là những chi phí phát sinh do quá trình định thời CPU, bao gồm:
- Phí tổn chuyển ngữ cảnh: Khi một tiến trình đang chạy bị gián đoạn để chuyển sang tiến
trình khác, hệ thống cần phải lưu trữ trạng thái của tiến trình đang chạy khôi phục trạng
thái của tiến trình mới. Quá trình này được gọi là chuyển ngữ cảnh. Phí tổn chuyển ngữ cảnh
bao gồm thời gian và bộ nhớ cần thiết để lưu trữ và khôi phục trạng thái của tiến trình.
- Phí tổn chờ đợi: Khi một tiến trình không được sử dụng CPU, nó phải chờ trong hàng đợi
sẵn sàng. Thời gian chđợi của một tiến trình phụ thuộc vào thuật toán định thời được sử
dụng.
- Phí tổn tắc nghẽn: Khi tất cả các tiến trình trong hệ thống đều đang chờ đợi CPU, hệ thống
bị tắc nghẽn. Phí tổn tắc nghẽn thời gian mà hệ thống không thể thực thi bất kỳ tiến trình
nào
4. Trình bày các tiêu chuẩn định thời CPU?
Hướng người dùng (User-oriented)
lOMoARcPSD| 40551442
- Thời gian đáp ứng (Response time): khoảng thời gian từ lúc tiến trình gửi yêu cầu thực thi
đến khi yêu cầu được đáp ứng lần đầu tiên (trong các hệ thống time-sharing, interactive
system) → cực tiểu.
- Thời gian hoàn thành (Turnaround time): khoảng thời gian từ lúc một tiến trình được nạp
vào hệ thống đến khi tiến trình đó kết thúc → cực tiểu.
- Thời gian đợi (Waiting time): tổng thời gian một tiến trình đợi trong ready queue → cực
tiểu.
Hướng hệ thống (System-oriented)
- Hiệu năng sử dụng CPU (processor utilization): định thời sao cho CPU càng bận càng tốt
→ cực đại
- Tính công bằng (fairness): tất cả tiến trình phải được đối xử như nhau
- Thông lượng (throughput): số tiến trình hoàn tất công việc trong một đơn vị thời gian → cực
đại
5. Kể tên các giải thuật định thời CPU?
- First-Come, First-Served (FCFS)
- Shortest Job First (SJF)
- Shortest Remaining Time First (SRTF)
- Round-Robin (RR)
- Priority Scheduling
- Highest Response Ratio Next (HRRN)
- Multilevel Queue
- Multilevel Feedback Queue
lOMoARcPSD| 40551442
6. Mô tả và nêu ưu điểm, nhược điểm của từng giải thuật định thời sau: FCFS, SJF, SRTF,
RR, Priority Scheduling, HRRN, MQ, MFQ.
Mô tả
Ưu điểm
Nhược điểm
FCFS
(Firstcome,
firstserved)
Thuật toán FCFS lựa
chọn tiến trình đến
trước để thực thi trước
-
-
Đơn giản và dễ thực
hiện.
Mức độ sử dụng CPU
cao.
Thời gian chờ đợi và
thời gian quay vòng
của các tiến trình có
thể dài
SJF
(Shortest
job first)
Thuật toán SJF lựa
chọn tiến trình thời
gian thực thi ngắn nhất
để thực thi trước.
-
-
Thời gian chờ đợi và
thời gian quay vòng
của các tiến trình ngắn
nhất.
Mức độ sử dụng CPU
có thể cao.
Khó thực hiện, cần
phải biết thời gian
thực thi của các tiến
trình trước khi chúng
được thực thi.
SRTF
(Shortest
Thuật toán SRTF
một biến thể của SJF,
trong đó thuật toán sẽ
-
Thời gian chờ đợi và
thời gian quay vòng
của các tiến trình ngắn
- Khó thực hiện,
cần phải biết thời
gian thực thi còn
lại của các tiến
remaining
time first)
lựa chọn tiến trình
thời gian thực thi còn
lại ngắn nhất để thực
thi trước.
nhất.
trình trước khi
chúng được thực
thi.
lOMoARcPSD| 40551442
RR
(Roundrobin)
Thuật toán RR lựa
chọn các tiến trình
trong hàng đợi sẵn
sàng theo vòng tròn.
Mỗi tiến trình được
sử dụng CPU trong
một khoảng thời gian
nhất định, sau đó sẽ
được chuyển sang
tiến trình tiếp theo.
Mức độ sử dụng CPU
cao.
Thời gian chờ đợi
của các tiến trình
tương đối ngắn.
-
Thời gian quay
vòng của các
tiến trình có thể
không công
bằng.
Priority
scheduling
Thuật toán priority
scheduling lựa chọn
tiến trình có độ ưu
tiên cao nhất để thực
thi trước. Độ ưu tiên
của một tiến trình có
thể được xác định dựa
trên
Thời gian chờ đợi
của các tiến trình
quan trọng được
giảm thiểu. Tính
công bằng được đảm
bảo.
-
Mức độ sử dụng
CPU có thể thấp.
lOMoARcPSD| 40551442
các thuộc tính của tiến
trình đó, chẳng hạn
như mức độ quan
trọng, thời hạn, hoặc
độ ưu tiên được chỉ
định bởi người dùng.
HRRN
(Highest
response
ratio next)
Thuật toán HRRN lựa
chọn tiến trình có tỷ lệ
phản hồi cao nhất để
thực thi trước. Tỷ lệ
phản hồi được tính
bằng thời gian chờ đợi
của tiến trình chia cho
thời gian thực thi còn
lại của tiến trình.
-
Thời gian chờ đợi của
các tiến trình được
giảm thiểu.
-
Mức độ sử dụng
CPU có thể thấp.
MQ
(Multilevel
queue
scheduling
)
Thuật toán MQ chia
các tiến trình thành
các hàng đợi khác
nhau dựa trên độ ưu
tiên của chúng. Các
tiến trình trong hàng
đợi có độ ưu tiên cao
-
-
Có thể đáp ứng các
yêu cầu về độ ưu tiên
khác nhau của các tiến
trình.
Mức độ sử dụng CPU
có thể cao.
-
Có thể phức tạp
để triển khai và
quản lý.
lOMoARcPSD| 40551442
hơn sẽ được ưu tiên sử
dụng CPU hơn các
tiến trình trong hàng
đợi có độ ưu tiên thấp
hơn
MFQ
(Multilevel
feedback
queue
scheduling
)
Thuật toán MFQ là
một biến thể của MQ,
trong đó các tiến trình
có thể được di chuyển
giữa các hàng đợi
khác nhau dựa trên
thời gian thực thi của
chúng. Các tiến trình
có thời gian thực thi
ngắn sẽ được di
chuyển lên hàng đợi
có độ ưu tiên cao hơn,
trong khi các tiến trình
có thời gian thực thi
dài sẽ được di chuyển
xuống hàng đợi có độ
-
-
-
Có thể đáp ứng các
yêu cầu về độ ưu tiên
khác nhau của các tiến
trình.
Mức độ sử dụng CPU
có thể cao.
Thời gian chờ đợi của
các tiến trình có thể
ngắn.
-
Có thể phức tạp
để triển khai và
quản lý.
lOMoARcPSD| 40551442
ưu tiên thấp hơn
7. Đặc điểm của định thời trên hệ thống có nhiều bộ xử lý? Khi nào cần phải thực hiện
cânbằng tải?
Đặc điểm của định thời trên hệ thống có nhiều bộ xử
- Tăng mức độ sử dụng CPU: Khi có nhiều bộ xử lý, các tiến trình có thể được thực thi song
song trên các bộ xử lý khác nhau, giúp tăng mức độ sử dụng CPU.
- Giảm thời gian chờ đợi: Khi các tiến trình được thực thi song song, thời gian chờ đợi của
các tiến trình có thể giảm xuống.
- Tăng tính khả dụng: Khi một bộ xử lý bị lỗi, các tiến trình vẫn có thể được thực thi trên các
bộ xử lý còn lại, giúp tăng tính khả dụng của hệ thống.
Cần phải thực hiện cân bằng tải khi:
- Hệ thống có nhiều bộ xử lý: Cân bằng tải giúp đảm bảo rằng tất cả các bộ xử lý đều được sử
dụng hiệu quả
- Hệ thống có nhiều tiến trình: Cân bằng tải giúp giảm thời gian chờ đợi của các tiến trình.
- Hệ thống có các tiến trình có độ ưu tiên khác nhau: Cân bằng tải giúp đảm bảo rằng các
tiến trình quan trọng được ưu tiên sử dụng CPU.
8. Đặc điểm định thời theo thời gian thực?
- Có nhiều thách thức do yêu cầu v nh chất thi gian thực.
- Có 2 dạng hệ thống thời gian thc:
+ Soft real-time systems: Các tác vụ quan trọng sẽ được cấp độ ưu tiên lớn nhất, nhưng
không đảm bảo bất cứ điều gì khác
lOMoARcPSD| 40551442
+ Hard real-time systems: Tác vụ phải hoàn thành trong deadline của nó
- Hệ thống thời gian thực phải phản hồi ngay lập tức yêu cầu CPU của một 琀椀 ến trình => Bộ định thời phải
hỗ trợ định thời theo độ ưu 琀椀 ên với chế độ trưng dụng
- Tiến trình có thêm một đặc trưng mới: nh chu kỳ - yêu cầu CPU trong một khoảng thời gian cố định.
- Khi một 琀椀 ến trình có chu kỳ yêu cầu CPU, nó có thời gian xử lý C, thời gian deadline d (thời gian nó s
được phục vụ bởi CPU) và thời gian chu kỳ T
- 0 ≤ C ≤ d ≤ T
9. Mô tả các đặc điểm cơ bản của bộ định thời CFS trên Linux?
Nhân Linux từ 2.6.23 sử dụng bộ định thời CFS (Completely Fair Scheduler)
- Định thời theo lớp:
Mỗi lớp được gán một độ ưu tiên cụ thể.
Bộ định thời chọn tác vụ có độ ưu tiên cao nhất trong lớp có độ ưu tiên cao nhất.
Thời gian sử dụng CPU của mỗi tác vụ không dựa trên quantum time cố định mà dựa
trên tỷ lệ giờ CPU.
Nhân Linux cài đặt sẵn 2 lớp: default và real-time. Các lớp khác có thể được thêm
vào.
- Thời gian sử dụng CPU:
Được tính dựa trên giá trị nice được gán cho mỗi tác vụ, có giá trị từ -20 đến 19.
Giá trị thấp hơn có độ ưu tiên cao hơn.
Target latency – khoảng thời gian mà một tiến trình cần được chạy ít nhất một lần.
Target latency có thể tăng lên nếu số lượng tiến trình tăng lên.
lOMoARcPSD| 40551442
- CFS xác định tác vụ được thực thi kế tiếp qua virtual run time:
Mỗi tác vụ có giá trị virtual run time riêng, được kết hợp với một hệ số đặc biệt dựa
trên độ ưu tiên.
Các tiến trình có độ ưu tiên bình thường có virtual run time tương đương với thời gian
chạy thực tế.
Chọn tiến trình có virtual run time nhỏ nhất để thực thi tiếp.
10. Mô tả các đặc điểm cơ bản của định thời trên Windows?
- Định thời theo độ ưu tiên với chế độ trưng dụng.
- Tác vụ có độ ưu tiên cao nhất luôn được chạy tiếp.
- Tiến trình sẽ được thực thi cho đến khi (1) block bởi system call, (2) hết quantum time, (3) bị
thay thế bởi một tiến trình khác có độ ưu tiên cao hơn.
- Sử dụng 32 độ ưu tiên, được chia thành 2 lớp: variable (1- 15) và real-time (16-31). Độ ưu
tiên 0 dành cho quản lý bộ nhớ.
- Mỗi độ ưu tiên có hàng đợi riêng.
- Idle thread được chạy nếu không có bất cứ tác vụ nào trong hàng đợi.
- Các hàm thư viện Windows API cung cấp cho tiến trình các lớp ưu tiên sau:
REALTIME_PRIORITY_CLASS, HIGH_PRIORITY_CLASS,
ABOVE_NORMAL_PRIORITY_CLASS,NORMAL_PRIORITY_CLASS ,
BELOW_NORMAL_PRIORITY_CLASS, IDLE_PRIORITY_CLASS.
- Tiến trình có thể có các độ ưu tiên tương đối sau: TIME_CRITICAL, HIGHEST,
ABOVE_NORMAL, NORMAL, BELOW_NORMAL, LOWEST, IDLE
- Lớp ưu tiên và độ ưu tiên tương đối có thể kết hợp để xác định giá trị ưu tiên.
lOMoARcPSD| 40551442
- Độ ưu tiên cơ sở (lúc khởi tạo) là NORMAL bên trong lớp.
- Khi hết quantum, độ ưu tiên có thể giảm nhưng không nhỏ hơn độ ưu tiên cơ sở.
11. (Bài tập mẫu) Cho các tiến trình với thông tin ở bảng bên dưới. Biết rằng tất cả các tiến
trình đều đến ở thời điểm 0 theo thứ tự từ P1 đến P5. Vẽ giản đồ Gantt, tính thời gian
đợi trung bình và thời gian lưu lại trong hệ thống (turnaround time) trung bình cho các
giải thuật sau:
a. FCFS
b. SJF
c. RR với quantum time = 10
Process
Burst Time
P1
10
P2
29
P3
3
P4
7
P5
12
FCFS:
Thời gian đợi trung bình: (0 + 10 + 39 + 42 + 49)/5 = 28
Thời gian lưu lại trong hệ thống trung bình: (10 + 39 + 42 + 49 + 61)/5 = 40.2
SJF
Thời gian đợi trung bình: (10 + 32 + 0 + 3 + 20)/5 = 13
Thời gian lưu lại trong hệ thống trung bình: (20 + 61 + 3 + 10 + 32)/5 = 25.2
lOMoARcPSD| 40551442
RR với quantum time = 10
Thời gian đợi trung bình: (0 + (10 + 20 + 2) + 20 + 23 + (30 + 10))/5 = 23
Thời gian lưu lại trong hệ thống trung bình: (10 + 61 + 23 + 30 + 52)/5 = 35.2
12. Cho 5 tiến trình P1, P2, P3, P4, P5 với thời gian vào hàng đợi ready và thời gian cần
CPU tương ứng như bảng sau:
Process
Arrival Time
CPU Burst Time
P1
0
8
P2
2
19
P3
4
3
P4
5
6
P5
7
10
Vẽ sơ đồ Gantt và tính thời gian chờ trung bình, thời gian đáp ứng trung bình, thời gian
lưu lại trong hệ thống (turnaround time) trung bình cho các giải thuật sau:
a. FCFS
b. SJF preemptive
c. RR với quantum time = 6.
FCFS:
P1
P2
P3
P4
P5
0 8 27 30 36 46
Thời gian chờ: P1=0, P2=6, P3=23, P4=25, P5=29
Thời gian chờ trung bình: (0+6+23+25+29)/5=16,6
Thời gian đáp ứng: P1=0, P2=6, P3=23, P4=25, P5=29
Thời gian đáp ứng trung bình: (0+6+23+25+29)/5=16,6
Thời gian lưu lại: P1=8, P2=25, P3=26, P4=31, P5=39
Thời gian lưu lại trung bình: (8+25+26+31+39)/5=25,8
lOMoARcPSD| 40551442
SJF preemptive
P1
P3
P1
P4
P5
P2
0 4 7 11
46
Thời gian chờ: P1=3, P2=25, P3=0, P4=6, P5=10
Thời gian chờ trung bình: (3+25+0+6+10)/5=8,8
Thời gian đáp ứng: P1=0, P2=25, P3=0, P4=6, P5=10
Thời gian đáp ứng trung bình: (0+25+0+6+10)/5=8,2
Thời gian lưu lại: P1=11, P2=44, P3=3, P4=12, P5=20
Thời gian lưu lại trung bình: (11+44+3+12+20)/5=18
RR với quantum time = 6.
17
27
P1
P2
P3
P4
P1
P5
P2
P5
P2
0 6 12 15 21 23 29 35 39
46
Thời gian chờ (tất cả tgian chờ): P1=15, P2=25, P3=8, P4=10, P5=22
Thời gian chờ trung bình: (15+25+8+10+22)/5=16
Thời gian đáp ứng (chờ lần 1): P1=0, P2=4, P3=8, P4=10, P5=16
Thời gian đáp ứng trung bình: (0+4+8+10+16)/5=7,6
Thời gian lưu lại (hoàn thành – vào): P1=23, P2=44, P3=11, P4=16, P5=32
Thời gian lưu lại trung bình: (23+44+11+16+32)/5=25,2
13. (Bài tập mẫu) Cho 5 tiến trình P1, P2, P3, P4, P5 với thời gian vào hàng đợi ready và
thời gian cần CPU tương ứng như bảng sau:
Process
Arrival Time
Burst Time
P1
0
13
lOMoARcPSD| 40551442
P2
4
9
P3
6
4
P4
7
20
P5
12
10
lOMoARcPSD| 40551442
Vẽ giản đồ Gantt và tính thời gian đợi trung bình, thời gian đáp ứng trung bình, thời gian
lưu lại trong hệ thống (turnaround time - thời gian hoàn thành) trung bình khi thực hiện
các giải thuật định thời sau:
a) Round Robin với quantum time = 5
b) SRTF
Có nhận xét gì về tính hiệu quả của hai giải thuật trên?
a. Round Robin với quantum time = 5
Giản đồ Gantt:
P1
P2
P1
P3
P4
P2
P5
P1
P4
P5
P4
0 5 10 15 19 24 28 33 36 41 46 56
Thời gian đáp ứng trung bình: (0 + 1 + 9 + 12 + 16)/5 = 7.6
Thời gian đợi trung bình: ((5 + 18) + (1 + 14) + 9 + (12 + 12 + 5) + (16 + 8))/5 = 20
Thời gian hoàn thành trung bình: (36 + 24 + 13 + 49 + 34)/5 = 31.2 b. SRTF
Giản đồ Gantt:
0 6 10 17 26 36
56
Thời gian đáp ứng trung bình: (0 + 13 + 0 + 29 + 14)/5 = 11.2
Thời gian đợi trung bình: (4 + 13 + 0 + 29 + 14)/5 = 12
Thời gian hoàn thành trung bình: (17 + 22 + 4 + 49 + 24)/5 = 23.2
Nhận xét về hai giải thuật trên:
- SRTF hiệu quả hơn (tốt hơn) Round Robin nếu xét trên các tiêu chuẩn thời gian đợi
(trungbình) và thời gian hoàn thành (trung bình).
- Round Robin cho thời gian đáp ứng (trung bình) tốt hơn SRTF.
14. (Bài tập mẫu) Cho 5 tiến trình P1, P2, P3, P4, P5 với thời gian vào hàng đợi ready và
thời gian cần CPU tương ứng như bảng sau:
Process
Arrival Time
Burst Time
Priority
P1
P3
P1
P2
P5
P4
lOMoARcPSD| 40551442
P1
0
13
4
P2
4
9
3
P3
6
4
1
P4
7
17
2
P5
12
9
5
Vẽ giản đồ Gantt và tính thời gian đợi trung bình, thời gian đáp ứng trung bình, thời gian
lưu lại trong hệ thống (turnaround time - thời gian hoàn thành) trung bình khi thực hiện
giải thuật định thời Preemptive Priority (độ ưu tiên 1 > 2 > 3 …) Giản đồ Gantt:
P1
P2
P3
P4
P2
P1
P5
0 4 6 10 27 34 43 52
Thời gian đáp ứng trung bình: (0 + 0 + 0 + 3 + 31)/5 = 6.8
Thời gian đợi trung bình: (30 + 21 + 0 + 3 + 31)/5 = 17
Thời gian hoàn thành trung bình: (43 + 30 + 4 + 20 + 40)/5 = 27.4
15. Sử dụng các giải thuật FCFS, SJF, SRTF, Priority -Pre, RR (10) để tính các giá trị
thờigian đợi, thời gian đáp ứng, thời gian hoàn thành trung bình và vẽ giản đồ Gantt
cho các tiến trình sau:
Process
Arrival Time
Burst Time
Priority
P1
0
20
20
P2
25
25
30
P3
20
25
15
P4
35
15
35
P5
10
35
5
P6
15
50
10
FCFS :
P1
P5
P6
P3
P2
P4
0 20 55 105 Thời gian chờ:
(0+105+85+120+10+40)/6=60
Thời gian đáp ứng: (0+105+85+120+10+40)/6=60 Thời
gian hoàn thành: (20+130+110+135+45+90)/6=88,3
SJF:
130
155
170
lOMoARcPSD| 40551442
P1
P3
P4
P2
P5
P6
0 20 45 60
Thời gian chờ: (0+35+0+10+75+105)/6=37,5
Thời gian đáp ứng: (0+35+0+10+75+105)/6=37,5 Thời
gian hoàn thành: (20+60+25+25+110+155)/6=65,83
SRTF:
85
120
170
P1
P3
P4
P3
P2
P5
P6
0 20 35 50 60
Thời gian chờ: (0+35+(0+15)+0+75+105)/6=38,33
Thời gian đáp ứng: (0+35+0+0+75+105)/6=35,83 Thời
gian hoàn thành: (20+60+40+15+110+155)/6=66,67
Priority -Pre:
85
120
170
P1
P5
P6
P3
P1
P2
P4
Thời gian chờ: ((0+110)+105+75+120+0+30)/6=73,33
Thời gian đáp ứng: (0+105+75+120+0+30)/6=55
Thời gian hoàn thành: (130+130+100+135+35+80)/6=101,67
RR (10):
P1
P5
P1
P6
P3
P5
P2
P4
P6
P3
P5
P2
P4
0 10 20 30 40 50 60 70 80 90 100 110 120 125
P6
P3
P5
P2
P6
125 135 140 145 150 170
Thời gian chờ:
((0+10)+(35+40)+(20+40+35)+(35+40)+(0+30+40+30)+(15+40+35+15))/6=76,67
Thời gian đáp ứng: (0+35+20+35+0+15)/6=17,5
Thời gian hoàn thành: (30+125+120+90+135+155)/6=109,167
16. Xét tập các tiến trình sau (với thời gian yêu cầu CPU và độ ưu tiên kèm theo). Vẽ
giản đồ Gantt và tính thời gian đợi trung bình và thời gian lưu lại trong hệ thống trung
bình (turnaround time) cho các giải thuật sau:
a. SJF Preemptive
b. RR với quantum time = 2
c. Preemptive Priority (độ ưu tiên 1 > 2 > ...)
lOMoARcPSD| 40551442
Process
Arrival Time
Burst Time
Priority
P1
0
10
3
P2
1
3
2
P3
2
2
1
P4
3
1
2
P5
4
5
4
SJF Preemptive
P1
P2
P3
P4
P3
P2
P5
P1
0 1 2 3 4 5 7 12 21 Thời gian chờ:
((0+11)+(0+3)+(0+1)+0+3)/5=3,6
Thời gian đáp ứng: (0+0+0+0+3)/5=0,6
Thời gian hoàn thành: (21+6+3+1+8)/5=7,8
RR với quantum time = 2
P1
P2
P3
P1
P4
P5
0 2 4 6
8
9
11
P2
P1
P5
P1
P5
P1
11 12 14 16
Thời gian chờ: ((0+4+4+2+1)+(1+7)+2+5+(5+3+2))/5=7,2
Thời gian đáp ứng: (0+1+2+5+5)/5=2,6
Thời gian hoàn thành: (21+11+4+6+15)/5=11,4
Preemptive Priority (độ ưu tiên 1 > 2 > ...)
18
19
21
P1
P2
P3
P2
P4
P1
P5
0 1 2 4 6 7 16 21
Thời gian chờ: ((0+6)+(0+2)+0+3+2)/5=2,6
Thời gian đáp ứng: (0+0+0+3+2)/5=1
Thời gian hoàn thành: (16+5+2+4+17)/5=8,8
lOMoARcPSD| 40551442
17. Cho 5 tiến trình với thời gian vào hàng đợi ready và thời gian cần CPU tương ứng
như bảng sau:
Process
Arrival Time
Burst Time
P1
0
10
P2
2
29
P3
4
3
P4
5
7
P5
7
12
Vẽ giản đồ Gantt và tính thời gian đợi trung bình, thời gian đáp ứng trung bình và thời
gian lưu lại trong hệ thống (turnaround time) trung bình cho các giải thuật sau:
a. FCFS
b. SJF preemptive
c. RR với quantum time = 10
FCFS
P1
P2
P3
P4
P5
0 10 39 42 49 61
Thời gian chờ: (0+8+35+37+42)/5=24,4
Thời gian đáp ứng: (0+8+35+37+42)/5=24,4
Thời gian hoàn thành: (10+37+38+44+54)/5=36,6
SJF preemptive
P1
P3
P1
P4
P5
P2
lOMoARcPSD| 40551442
0 4 7 13 20 32
61
Thời gian đợi trung bình: ((0 + 3) + 30 + 0+ 8 + 13) / 5 = 10,8
Thời gian đáp ứng trung bình: (0 + 30 + 0 + 8 + 13) / 5 = 10,2
Thời gian lưu lại trong hệ thống trung bình: (13 + 59 + 3 + 15 + 25) / 5 = 23
RR với quantum time = 10
P1
P2
P3
P4
P5
P2
P5
P2
0 10 20 23 30 40 50 52 61
Thời gian đợi trung bình: (0 + (8 + 20 + 2) + 16 + 18 + (23 + 10)) / 5 = 19,4
Thời gian đáp ứng trung bình: (0 + 8 + 16 + 18 + 23) / 5 = 13
Thời gian lưu lại trong hệ thống trung bình: (10 + 59 + 19 + 25 + 45) / 5 = 31,6
| 1/20

Preview text:

lOMoAR cPSD| 40551442
1. Tại sao phải định thời? Có những loại bộ định thời nào?
- Trong các hệ thống đa nhiệm (multitasking), đơn vi xử lý cho phép thực thi đồng thời nhiều
chương trình để làm tăng hiệu suất hệ thống (Cho phép nhiều chương trình được nạp vào bộ
nhớ). Tại mỗi thời điểm, chỉ có một tiến trình được thực thi. Cần phải giải quyết vấn đề phân
chia, lựa chọn tiến trình thực thi để đạt được hiệu quả cao nhất.
Định thời là chiến lược lựa chọn tiến trình phù hợp để được thực thi sao cho đạt
được hiệu quả cao nhất
- Những loại bộ định thời:
2. Định thời CPU là gì? Bộ định thời nào chịu trách nhiệm thực hiện việc này?
- Định thời CPU là quá trình quyết định tiến trình nào sẽ được sử dụng CPU tiếp theo. Đây là
một nhiệm vụ quan trọng của hệ điều hành, vì nó đảm bảo rằng tất cả các tiến trình trong hệ
thống đều được thực thi một cách hợp lý.
- Bộ định thời CPU (CPU scheduler) là một phần của hệ điều hành chịu trách nhiệm thực
hiện định thời CPU. Bộ định thời CPU thường được chia thành hai loại chính: lOMoAR cPSD| 40551442 •
Định thời dài hạn (long-term scheduling): Xác định tiến trình nào sẽ được đưa vào
bộ nhớ chính từ bộ nhớ ngoài. •
Định thời ngắn hạn (short-term scheduling): Xác định tiến trình nào sẽ được sử dụng
CPU tiếp theo từ hàng đợi sẵn sàng
3. Phí tổn gây ra khi định thời là gì?
Phí tổn gây ra khi định thời là những chi phí phát sinh do quá trình định thời CPU, bao gồm:
- Phí tổn chuyển ngữ cảnh: Khi một tiến trình đang chạy bị gián đoạn để chuyển sang tiến
trình khác, hệ thống cần phải lưu trữ trạng thái của tiến trình đang chạy và khôi phục trạng
thái của tiến trình mới. Quá trình này được gọi là chuyển ngữ cảnh. Phí tổn chuyển ngữ cảnh
bao gồm thời gian và bộ nhớ cần thiết để lưu trữ và khôi phục trạng thái của tiến trình.
- Phí tổn chờ đợi: Khi một tiến trình không được sử dụng CPU, nó phải chờ trong hàng đợi
sẵn sàng. Thời gian chờ đợi của một tiến trình phụ thuộc vào thuật toán định thời được sử dụng.
- Phí tổn tắc nghẽn: Khi tất cả các tiến trình trong hệ thống đều đang chờ đợi CPU, hệ thống
bị tắc nghẽn. Phí tổn tắc nghẽn là thời gian mà hệ thống không thể thực thi bất kỳ tiến trình nào
4. Trình bày các tiêu chuẩn định thời CPU?
Hướng người dùng (User-oriented) lOMoAR cPSD| 40551442
- Thời gian đáp ứng (Response time): khoảng thời gian từ lúc tiến trình gửi yêu cầu thực thi
đến khi yêu cầu được đáp ứng lần đầu tiên (trong các hệ thống time-sharing, interactive system) → cực tiểu.
- Thời gian hoàn thành (Turnaround time): khoảng thời gian từ lúc một tiến trình được nạp
vào hệ thống đến khi tiến trình đó kết thúc → cực tiểu.
- Thời gian đợi (Waiting time): tổng thời gian một tiến trình đợi trong ready queue → cực tiểu.
Hướng hệ thống (System-oriented)
- Hiệu năng sử dụng CPU (processor utilization): định thời sao cho CPU càng bận càng tốt → cực đại
- Tính công bằng (fairness): tất cả tiến trình phải được đối xử như nhau
- Thông lượng (throughput): số tiến trình hoàn tất công việc trong một đơn vị thời gian → cực đại
5. Kể tên các giải thuật định thời CPU?
- First-Come, First-Served (FCFS) - Shortest Job First (SJF)
- Shortest Remaining Time First (SRTF) - Round-Robin (RR) - Priority Scheduling
- Highest Response Ratio Next (HRRN) - Multilevel Queue - Multilevel Feedback Queue lOMoAR cPSD| 40551442
6. Mô tả và nêu ưu điểm, nhược điểm của từng giải thuật định thời sau: FCFS, SJF, SRTF,
RR, Priority Scheduling, HRRN, MQ, MFQ. Mô tả Ưu điểm Nhược điểm FCFS Thuật toán FCFS lựa
- Đơn giản và dễ thực Thời gian chờ đợi và chọn tiến trình đến hiện. thời gian quay vòng
(Firstcome, trước để thực thi trước - Mức độ sử dụng CPU của các tiến trình có firstserved) cao. thể dài SJF
Thuật toán SJF lựa - Thời gian chờ đợi và Khó thực hiện, cần
chọn tiến trình có thời thời gian quay vòng phải biết thời gian (Shortest gian thực thi ngắn nhất
của các tiến trình ngắn thực thi của các tiến job first) để thực thi trước. nhất. trình trước khi chúng
- Mức độ sử dụng CPU được thực thi. có thể cao. SRTF
Thuật toán SRTF là - Thời gian chờ đợi và - Khó thực hiện, một biến thể của SJF, thời gian quay vòng cần phải biết thời (Shortest trong đó thuật toán sẽ
của các tiến trình ngắn gian thực thi còn lại của các tiến remaining
lựa chọn tiến trình có nhất. trình trước khi time first) thời gian thực thi còn chúng được thực
lại ngắn nhất để thực thi. thi trước. lOMoAR cPSD| 40551442 RR Thuật toán RR lựa
- Mức độ sử dụng CPU - Thời gian quay
(Roundrobin) chọn các tiến trình cao. vòng của các trong hàng đợi sẵn - Thời gian chờ đợi tiến trình có thể sàng theo vòng tròn. của các tiến trình không công Mỗi tiến trình được tương đối ngắn. bằng. sử dụng CPU trong một khoảng thời gian nhất định, sau đó sẽ được chuyển sang tiến trình tiếp theo. Priority Thuật toán priority - Thời gian chờ đợi - Mức độ sử dụng scheduling scheduling lựa chọn của các tiến trình CPU có thể thấp. tiến trình có độ ưu quan trọng được tiên cao nhất để thực - giảm thiểu. Tính thi trước. Độ ưu tiên công bằng được đảm của một tiến trình có bảo.
thể được xác định dựa trên lOMoAR cPSD| 40551442
các thuộc tính của tiến trình đó, chẳng hạn như mức độ quan trọng, thời hạn, hoặc
độ ưu tiên được chỉ định bởi người dùng. HRRN
Thuật toán HRRN lựa - Thời gian chờ đợi của - Mức độ sử dụng các tiến trình được CPU có thể thấp. (Highest
chọn tiến trình có tỷ lệ giảm thiểu. response phản hồi cao nhất để
ratio next) thực thi trước. Tỷ lệ phản hồi được tính
bằng thời gian chờ đợi của tiến trình chia cho thời gian thực thi còn lại của tiến trình. MQ Thuật toán MQ chia - Có thể đáp ứng các - Có thể phức tạp các tiến trình thành
yêu cầu về độ ưu tiên để triển khai và
(Multilevel các hàng đợi khác khác nhau của các tiến quản lý. nhau dựa trên độ ưu trình. queue tiên của chúng. Các - Mức độ sử dụng CPU tiến trình trong hàng có thể cao.
scheduling đợi có độ ưu tiên cao ) lOMoAR cPSD| 40551442
hơn sẽ được ưu tiên sử dụng CPU hơn các tiến trình trong hàng
đợi có độ ưu tiên thấp hơn MFQ Thuật toán MFQ là - Có thể đáp ứng các - Có thể phức tạp một biến thể của MQ,
yêu cầu về độ ưu tiên để triển khai và
(Multilevel trong đó các tiến trình khác nhau của các tiến quản lý.
có thể được di chuyển trình. feedback giữa các hàng đợi - Mức độ sử dụng CPU khác nhau dựa trên có thể cao. queue
- Thời gian chờ đợi của thời gian thực thi của các tiến trình có thể scheduling chúng. Các tiến trình ngắn. có thời gian thực thi ) ngắn sẽ được di chuyển lên hàng đợi có độ ưu tiên cao hơn, trong khi các tiến trình có thời gian thực thi
dài sẽ được di chuyển
xuống hàng đợi có độ lOMoAR cPSD| 40551442 ưu tiên thấp hơn
7. Đặc điểm của định thời trên hệ thống có nhiều bộ xử lý? Khi nào cần phải thực hiện cânbằng tải?
Đặc điểm của định thời trên hệ thống có nhiều bộ xử lý
- Tăng mức độ sử dụng CPU: Khi có nhiều bộ xử lý, các tiến trình có thể được thực thi song
song trên các bộ xử lý khác nhau, giúp tăng mức độ sử dụng CPU.
- Giảm thời gian chờ đợi: Khi các tiến trình được thực thi song song, thời gian chờ đợi của
các tiến trình có thể giảm xuống.
- Tăng tính khả dụng: Khi một bộ xử lý bị lỗi, các tiến trình vẫn có thể được thực thi trên các
bộ xử lý còn lại, giúp tăng tính khả dụng của hệ thống.
Cần phải thực hiện cân bằng tải khi:
- Hệ thống có nhiều bộ xử lý: Cân bằng tải giúp đảm bảo rằng tất cả các bộ xử lý đều được sử dụng hiệu quả
- Hệ thống có nhiều tiến trình: Cân bằng tải giúp giảm thời gian chờ đợi của các tiến trình.
- Hệ thống có các tiến trình có độ ưu tiên khác nhau: Cân bằng tải giúp đảm bảo rằng các
tiến trình quan trọng được ưu tiên sử dụng CPU.
8. Đặc điểm định thời theo thời gian thực?
- Có nhiều thách thức do yêu cầu về 琀 nh chất thời gian thực.
- Có 2 dạng hệ thống thời gian thực:
+ Soft real-time systems: Các tác vụ quan trọng sẽ được cấp độ ưu tiên lớn nhất, nhưng
không đảm bảo bất cứ điều gì khác lOMoAR cPSD| 40551442
+ Hard real-time systems: Tác vụ phải hoàn thành trong deadline của nó
- Hệ thống thời gian thực phải phản hồi ngay lập tức yêu cầu CPU của một 琀椀 ến trình => Bộ định thời phải
hỗ trợ định thời theo độ ưu 琀椀 ên với chế độ trưng dụng
- Tiến trình có thêm một đặc trưng mới: 琀 nh chu kỳ - yêu cầu CPU trong một khoảng thời gian cố định.
- Khi một 琀椀 ến trình có chu kỳ yêu cầu CPU, nó có thời gian xử lý C, thời gian deadline d (thời gian nó sẽ
được phục vụ bởi CPU) và thời gian chu kỳ T - 0 ≤ C ≤ d ≤ T
9. Mô tả các đặc điểm cơ bản của bộ định thời CFS trên Linux?
Nhân Linux từ 2.6.23 sử dụng bộ định thời CFS (Completely Fair Scheduler)
- Định thời theo lớp:
• Mỗi lớp được gán một độ ưu tiên cụ thể.
• Bộ định thời chọn tác vụ có độ ưu tiên cao nhất trong lớp có độ ưu tiên cao nhất.
• Thời gian sử dụng CPU của mỗi tác vụ không dựa trên quantum time cố định mà dựa trên tỷ lệ giờ CPU.
• Nhân Linux cài đặt sẵn 2 lớp: default và real-time. Các lớp khác có thể được thêm vào.
- Thời gian sử dụng CPU:
• Được tính dựa trên giá trị nice được gán cho mỗi tác vụ, có giá trị từ -20 đến 19.
• Giá trị thấp hơn có độ ưu tiên cao hơn.
• Target latency – khoảng thời gian mà một tiến trình cần được chạy ít nhất một lần.
• Target latency có thể tăng lên nếu số lượng tiến trình tăng lên. lOMoAR cPSD| 40551442
- CFS xác định tác vụ được thực thi kế tiếp qua virtual run time:
• Mỗi tác vụ có giá trị virtual run time riêng, được kết hợp với một hệ số đặc biệt dựa trên độ ưu tiên.
• Các tiến trình có độ ưu tiên bình thường có virtual run time tương đương với thời gian chạy thực tế.
• Chọn tiến trình có virtual run time nhỏ nhất để thực thi tiếp.
10. Mô tả các đặc điểm cơ bản của định thời trên Windows?
- Định thời theo độ ưu tiên với chế độ trưng dụng.
- Tác vụ có độ ưu tiên cao nhất luôn được chạy tiếp.
- Tiến trình sẽ được thực thi cho đến khi (1) block bởi system call, (2) hết quantum time, (3) bị
thay thế bởi một tiến trình khác có độ ưu tiên cao hơn.
- Sử dụng 32 độ ưu tiên, được chia thành 2 lớp: variable (1- 15) và real-time (16-31). Độ ưu
tiên 0 dành cho quản lý bộ nhớ.
- Mỗi độ ưu tiên có hàng đợi riêng.
- Idle thread được chạy nếu không có bất cứ tác vụ nào trong hàng đợi.
- Các hàm thư viện Windows API cung cấp cho tiến trình các lớp ưu tiên sau:
REALTIME_PRIORITY_CLASS, HIGH_PRIORITY_CLASS,
ABOVE_NORMAL_PRIORITY_CLASS,NORMAL_PRIORITY_CLASS ,
BELOW_NORMAL_PRIORITY_CLASS, IDLE_PRIORITY_CLASS.
- Tiến trình có thể có các độ ưu tiên tương đối sau: TIME_CRITICAL, HIGHEST,
ABOVE_NORMAL, NORMAL, BELOW_NORMAL, LOWEST, IDLE
- Lớp ưu tiên và độ ưu tiên tương đối có thể kết hợp để xác định giá trị ưu tiên. lOMoAR cPSD| 40551442
- Độ ưu tiên cơ sở (lúc khởi tạo) là NORMAL bên trong lớp.
- Khi hết quantum, độ ưu tiên có thể giảm nhưng không nhỏ hơn độ ưu tiên cơ sở.
11. (Bài tập mẫu) Cho các tiến trình với thông tin ở bảng bên dưới. Biết rằng tất cả các tiến
trình đều đến ở thời điểm 0 theo thứ tự từ P1 đến P5. Vẽ giản đồ Gantt, tính thời gian
đợi trung bình và thời gian lưu lại trong hệ thống (turnaround time) trung bình cho các giải thuật sau: a. FCFS b. SJF
c. RR với quantum time = 10 Process Burst Time P1 10 P2 29 P3 3 P4 7 P5 12 FCFS:
Thời gian đợi trung bình: (0 + 10 + 39 + 42 + 49)/5 = 28
Thời gian lưu lại trong hệ thống trung bình: (10 + 39 + 42 + 49 + 61)/5 = 40.2 SJF
Thời gian đợi trung bình: (10 + 32 + 0 + 3 + 20)/5 = 13
Thời gian lưu lại trong hệ thống trung bình: (20 + 61 + 3 + 10 + 32)/5 = 25.2 lOMoAR cPSD| 40551442
RR với quantum time = 10
Thời gian đợi trung bình: (0 + (10 + 20 + 2) + 20 + 23 + (30 + 10))/5 = 23
Thời gian lưu lại trong hệ thống trung bình: (10 + 61 + 23 + 30 + 52)/5 = 35.2
12. Cho 5 tiến trình P1, P2, P3, P4, P5 với thời gian vào hàng đợi ready và thời gian cần
CPU tương ứng như bảng sau: Process Arrival Time CPU Burst Time P1 0 8 P2 2 19 P3 4 3 P4 5 6 P5 7 10
Vẽ sơ đồ Gantt và tính thời gian chờ trung bình, thời gian đáp ứng trung bình, thời gian
lưu lại trong hệ thống (turnaround time) trung bình cho các giải thuật sau: a. FCFS b. SJF preemptive
c. RR với quantum time = 6. FCFS: P1 P2 P3 P4 P5 0 8 27 30 36 46
Thời gian chờ: P1=0, P2=6, P3=23, P4=25, P5=29
Thời gian chờ trung bình: (0+6+23+25+29)/5=16,6
Thời gian đáp ứng: P1=0, P2=6, P3=23, P4=25, P5=29
Thời gian đáp ứng trung bình: (0+6+23+25+29)/5=16,6
Thời gian lưu lại: P1=8, P2=25, P3=26, P4=31, P5=39
Thời gian lưu lại trung bình: (8+25+26+31+39)/5=25,8 lOMoAR cPSD| 40551442 SJF preemptive P1 P3 P1 P4 P5 P2 0 4 7 11 17 27 46
Thời gian chờ: P1=3, P2=25, P3=0, P4=6, P5=10
Thời gian chờ trung bình: (3+25+0+6+10)/5=8,8
Thời gian đáp ứng: P1=0, P2=25, P3=0, P4=6, P5=10
Thời gian đáp ứng trung bình: (0+25+0+6+10)/5=8,2
Thời gian lưu lại: P1=11, P2=44, P3=3, P4=12, P5=20
Thời gian lưu lại trung bình: (11+44+3+12+20)/5=18
RR với quantum time = 6. P1 P2 P3 P4 P1 P5 P2 P5 P2 0 6 12 15 21 23 29 35 39 46
Thời gian chờ (tất cả tgian chờ): P1=15, P2=25, P3=8, P4=10, P5=22
Thời gian chờ trung bình: (15+25+8+10+22)/5=16
Thời gian đáp ứng (chờ lần 1): P1=0, P2=4, P3=8, P4=10, P5=16
Thời gian đáp ứng trung bình: (0+4+8+10+16)/5=7,6
Thời gian lưu lại (hoàn thành – vào): P1=23, P2=44, P3=11, P4=16, P5=32
Thời gian lưu lại trung bình: (23+44+11+16+32)/5=25,2
13. (Bài tập mẫu) Cho 5 tiến trình P1, P2, P3, P4, P5 với thời gian vào hàng đợi ready và
thời gian cần CPU tương ứng như bảng sau: Process Arrival Time Burst Time P1 0 13 lOMoAR cPSD| 40551442 P2 4 9 P3 6 4 P4 7 20 P5 12 10 lOMoAR cPSD| 40551442
Vẽ giản đồ Gantt và tính thời gian đợi trung bình, thời gian đáp ứng trung bình, thời gian
lưu lại trong hệ thống (turnaround time - thời gian hoàn thành) trung bình khi thực hiện
các giải thuật định thời sau:
a) Round Robin với quantum time = 5 b) SRTF
Có nhận xét gì về tính hiệu quả của hai giải thuật trên?
a. Round Robin với quantum time = 5 Giản đồ Gantt: P1 P2 P1 P3 P4 P2 P5 P1 P4 P5 P4 0 5 10 15 19 24 28 33 36 41 46 56
Thời gian đáp ứng trung bình: (0 + 1 + 9 + 12 + 16)/5 = 7.6
Thời gian đợi trung bình: ((5 + 18) + (1 + 14) + 9 + (12 + 12 + 5) + (16 + 8))/5 = 20
Thời gian hoàn thành trung bình: (36 + 24 + 13 + 49 + 34)/5 = 31.2 b. SRTF Giản đồ Gantt: 0 6 10 17 26 36 56
Thời gian đáp ứng trung bình: (0 + 13 + 0 + 29 + 14)/5 = 11.2
Thời gian đợi trung bình: (4 + 13 + 0 + 29 + 14)/5 = 12
Thời gian hoàn thành trung bình: (17 + 22 + 4 + 49 + 24)/5 = 23.2
Nhận xét về hai giải thuật trên:
- SRTF hiệu quả hơn (tốt hơn) Round Robin nếu xét trên các tiêu chuẩn thời gian đợi
(trungbình) và thời gian hoàn thành (trung bình).
- Round Robin cho thời gian đáp ứng (trung bình) tốt hơn SRTF.
14. (Bài tập mẫu) Cho 5 tiến trình P1, P2, P3, P4, P5 với thời gian vào hàng đợi ready và
thời gian cần CPU tương ứng như bảng sau: Process Arrival Time Burst Time Priority P1 P3 P1 P2 P5 P4 lOMoAR cPSD| 40551442 P1 0 13 4 P2 4 9 3 P3 6 4 1 P4 7 17 2 P5 12 9 5
Vẽ giản đồ Gantt và tính thời gian đợi trung bình, thời gian đáp ứng trung bình, thời gian
lưu lại trong hệ thống (turnaround time - thời gian hoàn thành) trung bình khi thực hiện
giải thuật định thời Preemptive Priority (độ ưu tiên 1 > 2 > 3 …)
Giản đồ Gantt: P1 P2 P3 P4 P2 P1 P5 0 4 6 10 27 34 43 52
Thời gian đáp ứng trung bình: (0 + 0 + 0 + 3 + 31)/5 = 6.8
Thời gian đợi trung bình: (30 + 21 + 0 + 3 + 31)/5 = 17
Thời gian hoàn thành trung bình: (43 + 30 + 4 + 20 + 40)/5 = 27.4 15.
Sử dụng các giải thuật FCFS, SJF, SRTF, Priority -Pre, RR (10) để tính các giá trị
thờigian đợi, thời gian đáp ứng, thời gian hoàn thành trung bình và vẽ giản đồ Gantt
cho các tiến trình sau:
Process Arrival Time Burst Time Priority P1 0 20 20 P2 25 25 30 P3 20 25 15 P4 35 15 35 P5 10 35 5 P6 15 50 10 FCFS : P1 P5 P6 P3 P2 P4 0 20 55 105 Thời gian chờ: 130 155 170 (0+105+85+120+10+40)/6=60
Thời gian đáp ứng: (0+105+85+120+10+40)/6=60 Thời
gian hoàn thành: (20+130+110+135+45+90)/6=88,3 SJF: lOMoAR cPSD| 40551442 P1 P3 P4 P2 P5 P6 0 20 45 60 85 120 170
Thời gian chờ: (0+35+0+10+75+105)/6=37,5
Thời gian đáp ứng: (0+35+0+10+75+105)/6=37,5 Thời
gian hoàn thành: (20+60+25+25+110+155)/6=65,83 SRTF: P1 P3 P4 P3 P2 P5 P6 0 20 35 50 60 85 120 170
Thời gian chờ: (0+35+(0+15)+0+75+105)/6=38,33
Thời gian đáp ứng: (0+35+0+0+75+105)/6=35,83 Thời
gian hoàn thành: (20+60+40+15+110+155)/6=66,67 Priority -Pre: P1 P5 P6 P3 P1 P2 P4
Thời gian chờ: ((0+110)+105+75+120+0+30)/6=73,33
Thời gian đáp ứng: (0+105+75+120+0+30)/6=55
Thời gian hoàn thành: (130+130+100+135+35+80)/6=101,67 RR (10): P1 P5 P1 P6 P3 P5 P2 P4 P6 P3 P5 P2 P4
0 10 20 30 40 50 60 70 80 90 100 110 120 125 P6 P3 P5 P2 P6 125 135 140 145 150 170 Thời gian chờ:
((0+10)+(35+40)+(20+40+35)+(35+40)+(0+30+40+30)+(15+40+35+15))/6=76,67
Thời gian đáp ứng: (0+35+20+35+0+15)/6=17,5
Thời gian hoàn thành: (30+125+120+90+135+155)/6=109,167 16.
Xét tập các tiến trình sau (với thời gian yêu cầu CPU và độ ưu tiên kèm theo). Vẽ
giản đồ Gantt và tính thời gian đợi trung bình và thời gian lưu lại trong hệ thống trung
bình (turnaround time) cho các giải thuật sau: a. SJF Preemptive
b. RR với quantum time = 2
c. Preemptive Priority (độ ưu tiên 1 > 2 > ...) lOMoAR cPSD| 40551442 Process Arrival Time Burst Time Priority P1 0 10 3 P2 1 3 2 P3 2 2 1 P4 3 1 2 P5 4 5 4 SJF Preemptive P1 P2 P3 P4 P3 P2 P5 P1 0 1 2 3 4 5 7 12 21 Thời gian chờ:
((0+11)+(0+3)+(0+1)+0+3)/5=3,6
Thời gian đáp ứng: (0+0+0+0+3)/5=0,6
Thời gian hoàn thành: (21+6+3+1+8)/5=7,8
RR với quantum time = 2 P1 P2 P3 P1 P4 P5 0 2 4 6 8 9 11 P2 P1 P5 P1 P5 P1 11 12 14 16 18 19 21
Thời gian chờ: ((0+4+4+2+1)+(1+7)+2+5+(5+3+2))/5=7,2
Thời gian đáp ứng: (0+1+2+5+5)/5=2,6
Thời gian hoàn thành: (21+11+4+6+15)/5=11,4
Preemptive Priority (độ ưu tiên 1 > 2 > ...) P1 P2 P3 P2 P4 P1 P5 0 1 2 4 6 7 16 21
Thời gian chờ: ((0+6)+(0+2)+0+3+2)/5=2,6
Thời gian đáp ứng: (0+0+0+3+2)/5=1
Thời gian hoàn thành: (16+5+2+4+17)/5=8,8 lOMoAR cPSD| 40551442
17. Cho 5 tiến trình với thời gian vào hàng đợi ready và thời gian cần CPU tương ứng như bảng sau: Process Arrival Time Burst Time P1 0 10 P2 2 29 P3 4 3 P4 5 7 P5 7 12
Vẽ giản đồ Gantt và tính thời gian đợi trung bình, thời gian đáp ứng trung bình và thời
gian lưu lại trong hệ thống (turnaround time) trung bình cho các giải thuật sau: a. FCFS b. SJF preemptive
c. RR với quantum time = 10 FCFS P1 P2 P3 P4 P5 0 10 39 42 49 61
Thời gian chờ: (0+8+35+37+42)/5=24,4
Thời gian đáp ứng: (0+8+35+37+42)/5=24,4
Thời gian hoàn thành: (10+37+38+44+54)/5=36,6 SJF preemptive P1 P3 P1 P4 P5 P2 lOMoAR cPSD| 40551442 0 4 7 13 20 32 61
Thời gian đợi trung bình: ((0 + 3) + 30 + 0+ 8 + 13) / 5 = 10,8
Thời gian đáp ứng trung bình: (0 + 30 + 0 + 8 + 13) / 5 = 10,2
Thời gian lưu lại trong hệ thống trung bình: (13 + 59 + 3 + 15 + 25) / 5 = 23
RR với quantum time = 10 P1 P2 P3 P4 P5 P2 P5 P2 0 10 20 23 30 40 50 52 61
Thời gian đợi trung bình: (0 + (8 + 20 + 2) + 16 + 18 + (23 + 10)) / 5 = 19,4
Thời gian đáp ứng trung bình: (0 + 8 + 16 + 18 + 23) / 5 = 13
Thời gian lưu lại trong hệ thống trung bình: (10 + 59 + 19 + 25 + 45) / 5 = 31,6