CÂU HỎI TỰ LUẬN MÔN HỆ ĐIỀU HÀNH
CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
1. Chức năng hệ điều hành?
2. Thiết kế hđh đáp ứng mục tiêu gì?
3. Các thành phần hệ thống máy tính?
4. Phân biệt hđh đơn chương và đa chương?
5. Phân biệt hệ điều hành đơn nhiệm và đa nhiệm?
6. Phân biệt bộ nhớ chính và bộ nhớ thứ cấp?
7. Giải thích đa nhiệm, đa chương, đa xử lý?
8. CPU ảo là gì? Cho ví dụ trong hệ điều hành?
9. Hệ đa xử lý có ưu điểm gì?
10. Liệt kê các kiến trúc của hđh?
11. Hđh windows được thiết kế theo kiến trúc nào?
12. Lý do hđh linux không được sử dụng rộng rãi?
CHƯƠNG 2 : CẤU TRÚC HỆ ĐIỀU HÀNH
13. Trình thông dịch lệnh của hđh là gì?lấy ví dụ?
14. khái niệm lời gọi hệ thống? cho ví dụ.
15. Các cách truyền tham số cho lời gọi hệ thống?3
16. Các phương thức tổng quát để chuyển các tham số từ chương trình đang chạy đến hệ điều hành?
17. Cho biết cấu trúc của hđh windows?
18. Máy ảo là gì?ưu điểm và nhượt điểm?
19. Khi không gian đĩa của máy ảo bị phân mãnh thì bộ nhớ vật lý có bị phân mãnh theo không?không
vì việc cài đặt máy ảo tồn tại dưới dạng 1 tập tin
20. Muốn di chuyển máy ảo từ máy thực này sang máy thực khác được không?được.dùng chức năng.
21. Muốn ghost máy ảo có được không?
CHƯƠNG 3: QUÁ TRÌNH
22. Quá trình là gì?Tài nguyên của quá trình là gì?
23. Tiến trình (quá trình) là gì? Một tiến trình thường bao gồm những phần nào?
24. Bộ đếm chương trình thực hiện chức năng gì?
25. Chương trình có phải là quá trình không?tại sao?
26. Có mấy loại tiến trính (process)?kể ra?
27. Chương trình có phải là một quá trình không?
28. Nêu các trạng thái có thể có của một quá trình?định nghĩa mỗi trạng thái?
29. Giải thích sơ đồ chuyển trạng thái của quá trình?
30. Thuật ngữ khối điều khiển quá trình là gì?nó dùng để làm gì?
31. Khối điều khiển quá trình còn có tên gọi khác là gì?
32. Các thông tin trong khối điều khiển quá trình là gì?
33. Mục tiêu của việc chia thời?
34. Mục tiêu của việc đa chương là gì?
35. Có bao nhiêu bộ định thời biểu cho quá trình?
36. Sự khác nhau giữa bộ định thời CPU và bộ định thời công việc?
37. Tại sao bộ định thời dài quyết định mức độ đa chương của hệ thống?
38. Tại sao bộ định thời ngắn thường phải thực thi nhanh?
39. Bộ định thời trung gian dùng để làm gì?
40. Tại sao bộ định thời công việc nên chọn sự kết hợp giữa hai quá trính: hướng I/O và hướng CPU?
41. Ngữ cảnh của quá trình được hiện diện ở đâu?
42. Chuyển ngữ cảnh là gì?Giải thích việc chuyển CPU từ quá trình này sang quá trình khác?
43. Nhận xét về thời gian chuyển ngữ cảnh của CPU?
44. Thời gian CPU bỏ ra để chuyển từ việc phục vụ cho quá trình này sang quá trình khác, lúc này CPU
làm gì?
45. Tại sao những lần chuyển ngữ cảnh phụ thuộc nhiều vào hổ trợ phần cứng?
46. Làm thế nào để tạo ra một quá trình mới trong khi thực thi?
47. Khi một quá trình tạo ra quá trình mới có 2 khả năng có thể tồn tại trong thuật ngữ của việc thực thi
đó là gì?
48. Khi một quá trình tạo ra quá trình mới có 2 khả năng có thể tồn tại trong thuật ngữ không gian địa
chỉ đó là gì?
49. Có mấy trường hợp kết thúc quá trình? Kể ra?
50. Thao tác tạo quá trình và kết thúc (xóa) quá trình được thực hiện như thế nào?Ngoài các thao tác tạo
và xóa quá trình, bạn còn biết thao tác nào nữa không?
51. Phân biệt trạng thái Ready và trạng thái running?
52. Khái niệm hàng đợi thiết bị?cho ví dụ?
53. Phân biệt hàng đợi công việc và hàng đợi sẳn sàng?
54. HĐH làm thế nào để kết thúc quá trình?
55. Nêu những lý do để 1 quá trình cha có thể kết thúc việc thực thi của một trong những quá trình con?
56. Phân biệt quá trình hướng I/O và quá trình hướng CPU?
57. Bộ quản lý tiến trình làm nhiệm vụ gì?Các hoạt động của nó?
58. Bộ quản lý bộ nhớ làm nhiệm vụ gì?Các hoạt động của nó?
59. Trong hệ điều hành các quá trình có hợp tác với nhau không?tại sao?
60. Phân biệt những quá trình độc lập và những quá trình hợp tác?
61. Thuật ngữ cung cấp phương tiện cho các quá trình hợp tác giao tiếp với nhau gọi là gì?mục đích của
phương tiện này?
62. Lý do các quá trình trong hệ thống thực thi đồng hành?
63. Các thao tác được thực hiện trong phương tiện giao tiếp liên quá trình là gì?
64. Thế nào là giao tiếp trực tiếp, gián tiếp.
65. Phân biệt hàm send nghẽn, hàm send không nghẽn?
66. Phân biệt hàm receive nghẽn, hàm receive không nghẽn?
67. Hàng đợi tạm thời trong vùng đệm có khả năng chứa là 0, khả năng chứ có giới hạn, khả năng chứa
không giới hạn nghĩa là gì?
68. Chức năng của hệ thống truyền thông điệp là gì?
69. Phân biệt người sở hữu hộp thư và người dùng hộp thư.
70. Phân biệt hộp thư được sở hữu bởi một quá trình và hộp thư được sở hữu bởi hệ điều hành?
CHƯƠNG 4a : LUỒNG
71. Khái niệm luồng?phân biệt quá trình và luồng?
72. Cấu trúc tổng quát một chương trình đa luồng. Ví dụ một chương trình đa luồng?
73. Thế nào là quá trình nhẹ?các thành phần của luồng là gì?
74. Thuận lợi (ưu điểm) của chương trình (lập trình) đa luồng là gì ?
75. Phân biệt giữa tín hiệu đồng bộ và tín hiệu bất đồng bộ?cho ví dụ?
76. Kể ra các mô hình đa luồng?ưu điểm và khuyết điểm của mỗi mô hình?
77. Sự hủy bỏ luồng là gì?
78. Sự hủy bỏ một luồng đích có thể xảy ra mấy diễn cảnh , kể ra ? phương pháp hủy bỏ luồng đích?
79. Ưu điểm và khuyết điểm của nhóm luồng?
80. Bạn hiểu thế nào về hệ thống có một nhân hay nhiều nhân?
81. Phân biệt hủy bỏ bất đồng bộ và hủy bỏ trì hoản?cho ví dụ
82. Phân biệt giữa tín hiệu đồng bộ và tín hiệu bất đồng bộ?cho ví dụ?
83. Cấu trúc dữ liệu chủ yếu của luồng trong hđh win 2000, solaris, unix là gì?
84. Phân biệt luồng nhân và luồng người dùng? (khác nhau về định nghĩa, ví dụ)
85. Tại sao phải xử lý song song?
CHƯƠNG 4b: ĐỊNH THỜI BIỂU
86. Schedule dispatch là gì?
87. Chức năng bộ định thời biểu CPU và bộ điều phối?
88. Nhiệm vụ và chức năng của bộ phân phát là gì?
89. Kể ra các tiêu chí định thời biểu CPU như thế nào thì tối ưu?
90. Độ trễ dispatch là gì?
91. Phân biệt định thời biểu trưng dụng và không trưng dụng?
92. Ý tưởng của giải thuật SJF trưng dụng và không trưng dụng, Ưu điểm và khuyết điểm của giải thuật
SJF, khó khăn thật sự là gì?
93. Ý tưởng của giải thuật ưu tiên có trưng dụng và không trưng dụng, Ưu điểm và khuyết điểm của mỗi
giải thuật, phương pháp khắc phục khuyết điểm trong giải thuật ưu tiên có trưng dụng là gì?
94. Vấn đề chính đối với giải thuật định thời theo độ ưu tiên là gì? Cách khắc phục?
95. Nêu giải pháp giải quyết vấn đề chết đói (Stavation) trong giải thuật lập lịch biểu theo kiểu có ưu
tiên.
96. Tại sao phổ thời gian q trong giải thuật Round Robin phải được chọn là đủ lớn?
97. Những đều gì xảy ra nếu quá trình có độ ưu tiên cao cần đọc hay sửa đổi dữ liệu nhưng hiện đang
được truy xuât bởi quá trình khác có độ ưu tiên thấp hơn?
98. Ý tưởng giải thuật hàng đợi phản hồi đa cấp? Một bộ định thời hàng đợi phản hồi đa cấp được định
nghĩa bởi các tham số gì?
99. Sự khác chủ yếu của giải thuật hàng đợi đa cấp và hàng đợi phản hồi đa cấp là gì?
100. Phân biệt đa xử lí bất đối xứng và đa xử lí đối xứng? Tại sao đa xử lí bất đối xứng đơn giản hơn
đa xử lí đối xứng?
101. Để chọn một giải thuật tối ưu cho việc định thời biểu CPU, ta nên dựa vào các tiêu chí nào?
102. Nêu tên tất cả các giải thuật định thời biểu CPU?ý tưởng của từng giải thuật?
103. Nêu các phương pháp đánh giá giải thuật?
104. Mô hình quyết định có ưu diểm gì? Khuyết điểm?
105. Mô hình quyết định có ưu diểm, Khuyết điểm gì?
106. Mô hình hàng đợi có ưu điểm gì? Khuyết điểm?
107. Định nghĩa thời gian hoàn thành?
108. Định nghĩa Thông lượng?
109. Định nghĩa Thời gian chờ ?
CHƯƠNG 5: ĐỒNG BỘ HÓA
110. Miền tương trục là gì?
111. Tình trạng đua tranh là gì?
112. Tại sao phải đồng bộ hóa?
113. Các giải pháp để đồng bộ hóa?
114. Miền tương trục là gì?
115. Khái niệm tình trạng đua tranh (race condition)
116. Các quá trình đi vào miền tương trục dựa trên cơ sở nào?
117. Hiện tượng “dùng đúp” dữ liệu và “mất dữ liệu” ở bài toán Producer và Customer diễn ra khi
nào? Biện pháp khắc phục?
118. Phân biệt tài nguyên chia sẻ và tài nguyên tuần tự?cho ví dụ trong hệ điều hành?
119. Giải pháp đối với vấn đề vùng tương trục là gì?
120. Giải thích thuật ngữ Mutual Exchusion, Progress, Bounded wait?
121. Giải pháp nghẽn và đánh thức có ưu điểm gì so với chờ đợi bận?
122. Nếu 2 chỉ thị TestAndSet được thực thi cùng một lúc (mỗi chỉ thị trên CPU khác nhau ) thì
chúng sẽ thực thi như thế nào?
123. SLEEP là gì?ý tưởng cơ bản của giải thuật Sleep and wakeup?
124. Một Semaphore S là gì?
125. Ưu điểm và khuyết điểm của Semaphore?
126. Phân biệt Semaphore đếm và Semaphore nhị phân?
127. Để xây dựng một Monitor các quá trình phải đảm bảo điều kiện gì?
128. Sự bất lợi chủ yếu của các giải pháp được mã hóa bởi giải thuật là gì?
129. Hãy cài đặt cấu trúc dữ liệu cho Semaphore nhị phân?
130. Xem xét hai đoạn mã của hai quá trình đang thực thi đồng hành như sau. Hỏi chúng có xảy ra tắt
nghẽn không?tại sao?
void *A()
{ ...
(1) pthread_mutex_lock(&lock1);
.... // “A” làm việc gì đấy ở đây rất lâu.
(2) pthread_mutex_lock(&lock2);
...
(3) pthread_mutex_unlock(&lock2);
(4) pthread_mutex_unlock(&lock1);
}
void *B()
{ ...
(5) pthread_mutex_lock(&lock2);
.... // “B” làm việc gì đấy ở đây rất lâu.
(6) pthread_mutex_lock(&lock1);
...
(7) pthread_mutex_unlock(&lock1);
(8) pthread_mutex_unlock(&lock2);
}
main()
{ ...
pthread_create(&thread1, NULL, A, NULL);
pthread_create(&thread2, NULL, B, NULL);
...
}
131. Có hai process cùng sử dụng các thiết bị “tuần tự” (T) và (D). Chúng đều tuân thủ “qui trình” sử
dụng thiết bị.
Có thể có hai khả năng xảy ra:
- Tiến trình này sử dụng thiết bị thì tiến trình kia đã dùng xong. (T
2
< T
1
)
- Thời gian sử dụng thiết bị của hai tiến trình gần như trùng nhau (T
1
= T
2
).
Hỏi mỗi trường hợp có xảy ra deadlock không? Giải thích cho từng trường hợp
132. Làm thế nào để tránh tắt nghẽn trong hệ thống?
133. Giải pháp tránh tắt nghẽn cho bài toán 5 nhà triết gia ăn tối?
134. Ý nghĩa của mỗi bài toán nguyên thủy về đồng bộ hóa?
135. Các bài toán nguyên thủy về đồng bộ hóa giải quyến vấn đề gì trong hệ điều hành?
136. Nguyên nhân dẫn đến khóa chết và đói tài nguyên?khi sự kiện này xảy ra trong hệ thống có hại
như thế nào?
CHƯƠNG 6: DEADLOCK
137. Deadlock là gì?
138. Một quá trình có thể sử dụng tài nguyên chỉ theo thứ tự nào?
139. Trong giải thuật kiểm tra độ an toàn, ma trận Max có ý nghĩa gì?
140. Phát biểu R1 có 4 thể hiện, bạn hiểu như thế nào? Cho ví dụ trong hệ điều hành?
141. Viết giải thuật kiểm tra sự an toàn để tránh deadlock?
142. Viết giải thuật yêu cầu tài nguyên của Banker?
143. Viết giải thuật phát hiện hệ thống có ở trong trạng thái deadlock hay không?
144. Đồ thị chờ dùng để làm gì? Cho đồ thị cấp phát tài nguyên sau, vẽ đồ thị chờ tương ứng.
145. Vẽ đồ thị Wait – For ứng với đồ thị cấp phát tài nguyên như sau:
146. Biện pháp khắc phục tình trạng chết đói trong giải pháp phục hồi Deadlock có trưng dụng tài
nguyên
P
5
P
1
P
2
P
3
P
4
R
3
R
1
R
4
R
2