



Preview text:
lOMoAR cPSD| 59416725 Bài 1
~/ostep-homework/cpu-intro$ ./process-run.py -l 5:100,5:100 -c -p Nhận xét:
CPU chạy tuần tự tiến trình 0 và 1. Xong tiến trình PID: 0 rồi mới sang cái tiếp theo. Bài 2
~/ostep-homework/cpu-intro$ ./process-run.py -l 4:100,1:0
Produce a trace of what would happen when you run these processes: Process 0 cpu cpu cpu cpu Process 1 io io_done
Ta có thể đoán được là có tổng cộng 6 chu kì để CPU hoàn thành công việc.
Giờ ta thử kiểm tra bằng lệnh kia xem đúng ko:
~/ostep-homework/cpu-intro$ ./process-run.py -l 4:100,1:0 -c -p Stats: Total Time 11 Stats: CPU Busy 6 (54.55%) Stats: IO Busy 5 (45.55%)
Ta thấy rằng, như cái đầu tiên, ta dự đoán đúng là sẽ mất 4 chu kì để hoàn thành tiến
trình đầu tiên. Sang cái
tiến trình thứ 2, ta thấy nó mất nhiều thời gian hơn ta nghĩ. Cụ thể thì, nó mất 2 + 5
tiến trình nữa. Và nó bị chặn để IOs hoạt động như bảng. Bài 3
~/ostep-homeword/cpu-intro$ ./process-run.py -l 1:0,4:100 Kết quả: lOMoAR cPSD| 59416725
Produce a trace of what would happen when you run these processes:
Process 0 io io_done Process 1 cpu cpu cpu Nhận xét:
Các tiến trình chỉ đảo ngược lại thứ tự thực hiện, ko có gì thay đổi cả. Kiểm tra:
~/ostep-homeword/cpu-intro$ ./process-run.py -l 1:0,4:100 -c -p Stats: Total Time 7 Stats: CPU Busy 6 (85.71%) Stats: IO Busy 5 (71.43%) Nhận xét:
Lần này, các tiến trình CPU được xếp chạy song song với IOs, ko đợi đến khi IOs
xong rồi mới chạy. Làm chương trình mất ít thời gian hơn so với thứ tự trước. Bài 4
~/ostep-homework/cpu-intro$ ./process-run.py -l 1:0,4:100 -c -S SWITCH_ON_END Nhận xét:
Lần này, ta thấy CPU đợi đến khi nào IOs hoàn thành thì mới chuyển sang tiến trình 2 Bài 5
~/ostep-homework/cpu-intro$ ./process-run.py -l 1:0,4:100 -c -S SWITCH_ON_IO Nhận xét:
Giống với bài 3, có thể nói -S SWITCH_ON_IO là cờ mặc định của chương trình. Bài 6
~/ostep-homework/cpu-intro$ ./process-run.py -l 3:0,5:100,5:100,5:100 -S
SWITCH_ON_IO -I IO_RUN_LATER -c -p Stats: Total Time 31 Stats: CPU Busy 21 (85.71%) lOMoAR cPSD| 59416725 Stats: IO Busy 15 (71.43%) Nhận xét:
Ta thấy SWITCH_ON_IO cho phép CPU hoạt động song song với IOs. Còn
IO_RUN_LATER làm cho IOs chờ cho đến khi mà các tiến trình của CPU
làm xong thì mới kết thúc tiến trình hiện tại của IOs. Bài 7
~/ostep-homework/cpu-intro$ ./process-run.py -l 3:0,5:100,5:100,5:100 -S
SWITCH_ON_IO -I IO_RUN_IMMEDIATE -c -p Stats: Total Time 21 Stats: CPU Busy 21 (85.71%) Stats: IO Busy 15 (71.43%) Nhận xét:
Ta thấy rằng, SWITCH_ON_IO cho phép chương trình CPU và IO chạy song song,
còn IO_RUN_IMMEDIATE sẽ khiến CPU ưu
tiên xử lý IO khi IO bắt đầu và kết thúc thay vì các tiến trình CPU khác. Bài 8
Cờ mặc định của chương trình: -I IO_RUN_LATER -S SWITCH_ON_IO
-I IO_RUN_LATER: Để IO đợi cho đến khi tất cả tiến trình của CPU hoàn thành.
-I IO_RUN_IMMEDIATE: Ưu tiên IO tiến trình trước hoặt động rồi đến các tiến trình sau của CPU.
-S SWITCH_ON_IO: Đổi sang tiến trình khác khi mà IO hoạt động
-S SWITCH_ON_END: Đổi sang tiến trình khác khi mà tiến trình đang thực hiện kết thúc. lOMoAR cPSD| 59416725
1. ~/ubuntu/ostep-homework/cpu-intro$ ./process-run.py -s 1 -l 3:50,3:50 Kết quả: PID 0: CPU, IO, IO PID 1: CPU, CPU, CPU -S SWITCH_ON_IO -I ???
1. ~/ubuntu/ostep-homework/cpu-intro$ ./process-run.py -s 2 -l 3:50,3:50 Kết quả: PID 0: IO, IO, IO PID 1: CPU, IO, IO - S SWITCH_ON_IO -I ???
1. ~/ubuntu/ostep-homework/cpu-intro$ ./process-run.py -s 3 -l 3:50,3:50 Kết quả: PID 0: CPU, IO, CPU PID 1: IO, IO, CPU -S SWITCH_ON_IO -I IO_RUN_LATER