Professional Documents
Culture Documents
1
Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
I. Scheduler
1. Trả lời câu hỏi
Lợi ích của việc sử dụng hàng đợi ưu tiên so với các giải thuật định thời khác đã học
là gì?
Lợi ích của việc sử dụng hàng đợi ưu tiên là:
- Cho phép các tác vụ được gán độ ưu tiên và bộ định thời thực thi tác vụ dựa trên
độ ưu tiên đó. Điều này giúp hệ thống tập trung vào các tác vụ quan trọng.
- Bằng việc đánh thứ tự ưu tiên các tác vụ, bộ định thời có thể cung cấp tính tương
tác tốt hơn và giảm thời gian phản hòi trung bình cho các tác vụ quan trọng.
- Cho phép thay đổi độ ưu tiên của tác vụ một cách linh động.
P1 P2 P3 P1 P2 P1 P2 P2 P3 P3 P3
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
- Từng vùng nhớ có thể được gán quyền truy cập khác nhau, cung cấp sự bảo vệ và
độc lập giữa từng vùng nhớ của một chương trình. Việc này giúp ngăn chặn sự truy
cập hay chỉnh sửa không được phép đến một vùng nhớ.
- Cho phép điều khiển bộ nhớ một cách linh hoạt. Các vùng nhớ có thể được dùng
để cấp phát cũng như thu hổi bộ nhớ, cho phép tận dụng nguồn tài nguyên.
- Phân chia các vùng lưu trữ dữ liệu khác nhau như heap, stack, ... Việc phân chia
này giúp cải thiện tính module và cung cấp vùng nhớ dùng chung cho các chương
trình.
- Cho phép các chương trình dùng chung các vùng nhớ. Điều này giúp hỗ trợ sự giao
tiếp giữa các chương trình với nhau cũng như các thư viện dùng chung.
- Trong trường hợp xảy ra lỗi bảo mật liên quan tới một vùng nhớ, các vùng nhớ còn
lại giúp cô lập vùng nhớ bị lỗi, tránh gây ảnh hưởng tới các phần khác trong không
gian địa chỉ của chương trình, cải thiện tính ổn địn của hệ thống.
- Thiết kế phân trang đơn giản hoá việc tính toán địa chỉ bằng việc chia không gian
bộ nhớ ảo thành các trang có kích thước cố định và ánh xạ chúng với các khung
trong bộ nhớ vật lý. Bằng việc phân trang, việc tính toán địa chỉ vật lý trở nên hiệu
quả hơn vì các trang luận lý và các khung vật lý được ánh xạ trực tiếp với nhau,
thay vì phải tính toán địa chỉ vật lý thông qua địa chỉ phân vùng.
- Việc phân vùng có thể dẫn đến phân mảnh ngoại vì sự tăng giảm kích thước các
vùng nhớ. Điều này dẫn đến sự thiếu hiệu quả trong việc cấp phát bộ nhớ.
- Thiết kế phân vùng cùng phân trang làm tăng mức độ sử dụng bộ nhớ và độ phức
tạp để lưu trữ các bảng phân trang và phân vùng.
- Việc phân trang có thể dẫn đến phân mảnh nội vì các trang được cấp phát có thể
không được tận dụng hiệu quả, gây nên sự lãng phí bộ nhớ ở trong một trang. Việc
này xảy ra khi kích thước của vùng nhớ không phải là một số nguyên lần kích thước
một trang dẫn đến tồn tại một không gian không được sử dụng trong một trang.
Với chương trình m0s và m1s lần lượt có nội dung như sau:
1 1 6
2 alloc 300 0
3 alloc 100 1
4 free 0
5 alloc 100 2
6 write 102 1 20
7 write 1 2 10
Listing 2: Chương trình m0s
1 1 6
2 alloc 300 0
3 alloc 100 1
4 free 0
5 alloc 100 2
6 free 2
7 free 1
Listing 3: Chương trình m1s
1 Time slot 0
2 ld_routine
3 Time slot 1
4 Loaded a process at input / proc / m0s , PID : 1 PRIO : 0
5 Time slot 2
6 CPU 0: Dispatched process 1
7 Print free region list and page table of process 1
8 print_list_rg :
9 rg [300 -> 512]
10
11 print_pgtbl : 0 - 512
12 00000000: 80000001
13 00000004: 80000000
14 Loaded a process at input / proc / m0s , PID : 2 PRIO : 1
15 Time slot 3
16 Print free region list and page table of process 1
17 print_list_rg :
18 rg [400 -> 512]
19
20 print_pgtbl : 0 - 512
21 00000000: 80000001
22 00000004: 80000000
23 Loaded a process at input / proc / m1s , PID : 3 PRIO : 0
24 Time slot 4
25 CPU 0: Put process 1 to ready queue
26 CPU 0: Dispatched process 2
27 Print free region list and page table of process 2
28 print_list_rg :
29 rg [300 -> 512]
30
31 print_pgtbl : 0 - 512
32 00000000: 80000003
33 00000004: 80000002
34 Time slot 5
35 Print free region list and page table of process 2
36 print_list_rg :
37 rg [400 -> 512]
38
39 print_pgtbl : 0 - 512
40 00000000: 80000003
41 00000004: 80000002
42 Time slot 6
43 CPU 0: Put process 2 to ready queue
44 CPU 0: Dispatched process 3
45 Print free region list and page table of process 3
46 print_list_rg :
47 rg [300 -> 512]
48
49 print_pgtbl : 0 - 512
50 00000000: 80000005
51 00000004: 80000004
52 Time slot 7
53 CPU 0: Put process 3 to ready queue
54 CPU 0: Dispatched process 1
55 Print free region list and page table of process 1
56 print_list_rg :
57 rg [0 -> 300]
58 rg [400 -> 512]
59
60 print_pgtbl : 0 - 512
61 00000000: 80000001
62 00000004: 80000000
63 Time slot 8
64 Print free region list and page table of process 1
65 print_list_rg :
66 rg [100 -> 300]
67 rg [400 -> 512]
68
69 print_pgtbl : 0 - 512
70 00000000: 80000001
71 00000004: 80000000
72 Time slot 9
73 CPU 0: Put process 1 to ready queue
74 CPU 0: Dispatched process 2
75 Print free region list and page table of process 2
76 print_list_rg :
77 rg [0 -> 300]
78 rg [400 -> 512]
79
80 print_pgtbl : 0 - 512
81 00000000: 80000003
82 00000004: 80000002
83 Time slot 10
84 Print free region list and page table of process 2
85 print_list_rg :
86 rg [100 -> 300]
87 rg [400 -> 512]
88
89 print_pgtbl : 0 - 512
90 00000000: 80000003
91 00000004: 80000002
92 Time slot 11
93 CPU 0: Put process 2 to ready queue
94 CPU 0: Dispatched process 1
95 write region =1 offset =20 value =102
96 Time slot 12
97 write region =2 offset =10 value =1
98 CPU 0: Processed 1 has finished
99 CPU 0: Dispatched process 2
100 write region =1 offset =20 value =102
101 Time slot 13
102 Time slot 14
103 CPU 0: Put process 2 to ready queue
104 CPU 0: Dispatched process 2
105 write region =2 offset =10 value =1
106 Time slot 15
107 CPU 0: Processed 2 has finished
108 CPU 0: Dispatched process 3
109 Print free region list and page table of process 3
110 print_list_rg :
111 rg [400 -> 512]
112
- Sự không đồng nhất dữ liệu. Các thread hoặc chương trình có thể chỉnh sửa bộ nhớ
dùng chung đồng thời, dẫn đến sử dụng dữ liệu bị sai sót và không lường trước
được.
- Nếu thiếu các cơ chế đồng bộ như khoá hay semaphore, hệ thống có thể gặp tình
trạng khoá chết. Điều này xảy ra khi hai hay nhiều thread hay chương trình chờ
cho thread hay chương trình còn lại giải phóng dữ liệu mà nó cần. Điều này dẫn
đến việc hệ thống bị đóng băng hay không phản hồi.
72 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
73 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
74 66 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
75 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
76 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
77 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
78 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
79 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
80 __ __ __ __ __ __ __ __ __ __ 01 __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
81 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
82 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
83 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
84 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
85 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
86 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
87 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
88 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
89 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
90 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
91 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
92 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
93 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
94 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
95 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
96 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
97 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
98 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
99 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
100 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
101 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
102 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
103 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
104 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
105 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
106 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
107 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
108 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
109 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
110 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
111 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
112 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
113 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
114 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
115 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
116 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
117 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
118 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
119 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __
Listing 5: Kết quả chạy hệ điều hành