1. Trong hệ thống bộ nhớ ảo, ‘working set’ (tập làm việc) của một tiến trình là gì?
A. Tổng dung lượng bộ nhớ mà tiến trình sử dụng.
B. Tập hợp các trang mà tiến trình đang truy cập trong một khoảng thời gian nhất định.
C. Tất cả các trang của tiến trình đã được nạp vào bộ nhớ.
D. Các trang bị loại bỏ khỏi bộ nhớ.
2. Hiện tượng ‘internal fragmentation’ (phân mảnh nội bộ) thường xảy ra trong kỹ thuật quản lý bộ nhớ nào?
A. Phân trang (paging).
B. Phân đoạn (segmentation).
C. Bộ nhớ cache.
D. Bộ nhớ ảo.
3. Vai trò của TLB (Translation Lookaside Buffer) trong quản lý bộ nhớ là gì?
A. Lưu trữ dữ liệu của các file.
B. Lưu trữ các ánh xạ địa chỉ gần đây nhất để tăng tốc độ dịch địa chỉ.
C. Quản lý các tiến trình.
D. Kiểm soát truy cập bộ nhớ.
4. Trong ngữ cảnh của bộ nhớ ảo, ‘demand paging’ (phân trang theo yêu cầu) có nghĩa là gì?
A. Tất cả các trang của một tiến trình được nạp vào bộ nhớ cùng một lúc.
B. Các trang chỉ được nạp vào bộ nhớ khi chúng được yêu cầu (truy cập).
C. Các trang được nạp vào bộ nhớ trước khi tiến trình bắt đầu chạy.
D. Bộ nhớ được phân chia thành các phân đoạn thay vì các trang.
5. Trong hệ thống Linux, lệnh ‘mmap’ được sử dụng để làm gì liên quan đến bộ nhớ?
A. Quản lý các thiết bị ngoại vi.
B. Ánh xạ một file hoặc thiết bị vào không gian địa chỉ của tiến trình.
C. Tạo các tiến trình mới.
D. Thay đổi quyền truy cập của các file.
6. Sự khác biệt chính giữa phân mảnh nội bộ (internal fragmentation) và phân mảnh bên ngoài (external fragmentation) là gì?
A. Phân mảnh nội bộ xảy ra trong các khối bộ nhớ đã được cấp phát, còn phân mảnh bên ngoài xảy ra giữa các khối đã cấp phát.
B. Phân mảnh nội bộ liên quan đến CPU, còn phân mảnh bên ngoài liên quan đến bộ nhớ.
C. Phân mảnh nội bộ là vấn đề nghiêm trọng hơn phân mảnh bên ngoài.
D. Phân mảnh nội bộ chỉ xảy ra trong bộ nhớ ảo, còn phân mảnh bên ngoài xảy ra trong bộ nhớ vật lý.
7. Trong hệ thống bộ nhớ ảo, việc sử dụng các thuật toán thay thế trang (page replacement algorithms) là cần thiết để làm gì?
A. Tăng dung lượng bộ nhớ vật lý.
B. Quản lý các thiết bị ngoại vi.
C. Xử lý các ngắt phần cứng.
D. Chọn trang nào sẽ được loại bỏ khỏi bộ nhớ khi bộ nhớ đầy.
8. Trong hệ thống Linux, lệnh ‘malloc’ được sử dụng để làm gì?
A. Ánh xạ file vào bộ nhớ.
B. Cấp phát bộ nhớ động.
C. Tạo các tiến trình mới.
D. Thay đổi quyền truy cập file.
9. Thuật toán FIFO trong thay thế trang có thể gặp vấn đề gì?
A. Luôn thay thế trang được sử dụng gần đây nhất.
B. Không xem xét tần suất sử dụng trang, có thể thay thế các trang quan trọng.
C. Yêu cầu nhiều bộ nhớ hơn các thuật toán khác.
D. Chỉ hoạt động tốt với các hệ thống nhỏ.
10. Vai trò của ‘swap space’ (không gian hoán đổi) trong bộ nhớ ảo là gì?
A. Lưu trữ dữ liệu truy cập thường xuyên.
B. Lưu trữ các trang của tiến trình không nằm trong bộ nhớ vật lý.
C. Tăng tốc độ của CPU.
D. Quản lý các thiết bị ngoại vi.
11. Chức năng của bảng trang (Page Table) trong hệ thống bộ nhớ ảo là gì?
A. Lưu trữ địa chỉ của các file trên đĩa cứng.
B. Ánh xạ địa chỉ logic của tiến trình thành địa chỉ vật lý trong bộ nhớ chính.
C. Quản lý các ngắt phần cứng.
D. Lưu trữ thông tin về các tiến trình đang chạy.
12. Kỹ thuật ‘overlays’ (phủ chồng) trong quản lý bộ nhớ là gì?
A. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ.
B. Một kỹ thuật để chạy các chương trình lớn hơn bộ nhớ vật lý bằng cách nạp và ghi đè các phần của chương trình vào cùng một vùng nhớ.
C. Một thuật toán thay thế trang.
D. Một loại bộ nhớ cache.
13. Thuật toán thay thế trang (page replacement algorithm) nào sau đây có xu hướng thay thế trang được sử dụng gần đây nhất?
A. FIFO (First-In, First-Out).
B. LRU (Least Recently Used).
C. Optimal.
D. Clock.
14. Thuật toán thay thế trang Clock (hay Second Chance) cải thiện thuật toán FIFO như thế nào?
A. Thay thế các trang ít được sử dụng nhất.
B. Cho phép các trang có cơ hội thứ hai trước khi bị thay thế.
C. Sử dụng một cấu trúc dữ liệu phức tạp hơn để quản lý các trang.
D. Sử dụng bộ nhớ cache để tăng tốc độ truy cập.
15. Sự khác biệt chính giữa bộ nhớ cache và bộ nhớ chính (RAM) là gì?
A. Bộ nhớ cache lớn hơn và chậm hơn RAM.
B. Bộ nhớ cache nhỏ hơn và nhanh hơn RAM.
C. RAM là bộ nhớ tạm thời, còn cache là bộ nhớ vĩnh viễn.
D. RAM lưu trữ dữ liệu, còn cache lưu trữ các chương trình.
16. Ưu điểm của việc sử dụng bộ nhớ cache CPU là gì?
A. Giảm thời gian truy cập bộ nhớ.
B. Tăng dung lượng bộ nhớ.
C. Giảm tiêu thụ điện năng.
D. Tăng tốc độ của ổ cứng.
17. Trong hệ thống bộ nhớ, việc sử dụng các kỹ thuật như ‘swapping’ (hoán đổi) liên quan đến điều gì?
A. Tăng tốc độ truy cập ổ cứng.
B. Di chuyển các tiến trình hoặc các phần của tiến trình giữa bộ nhớ chính và bộ nhớ phụ.
C. Quản lý các thiết bị ngoại vi.
D. Thay đổi địa chỉ IP của máy tính.
18. Trong hệ thống phân trang, địa chỉ logic (logical address) được chia thành những phần nào?
A. Địa chỉ file và offset.
B. Số hiệu trang (page number) và offset.
C. Địa chỉ IP và cổng.
D. Địa chỉ MAC và địa chỉ IP.
19. Kỹ thuật phân trang (paging) trong quản lý bộ nhớ có ưu điểm gì so với phân đoạn (segmentation)?
A. Ít gây ra hiện tượng phân mảnh bên ngoài.
B. Dễ dàng chia sẻ bộ nhớ giữa các tiến trình.
C. Đơn giản hóa việc quản lý bộ nhớ.
D. Tất cả các ưu điểm trên.
20. Trong hệ thống phân trang, kích thước của bảng trang (page table) phụ thuộc vào yếu tố nào?
A. Kích thước của bộ nhớ vật lý.
B. Số lượng tiến trình đang chạy.
C. Kích thước của trang (page size) và không gian địa chỉ logic.
D. Tốc độ của CPU.
21. Nguyên tắc hoạt động chính của bộ nhớ ảo (Virtual Memory) là gì?
A. Phân chia bộ nhớ vật lý thành các phân đoạn cố định.
B. Cho phép các tiến trình sử dụng một không gian địa chỉ lớn hơn bộ nhớ vật lý có sẵn.
C. Sử dụng bộ nhớ cache để tăng tốc độ truy cập bộ nhớ.
D. Chỉ cho phép một tiến trình truy cập bộ nhớ tại một thời điểm.
22. Hiện tượng ‘page fault’ (lỗi trang) xảy ra khi nào?
A. Khi CPU bị lỗi.
B. Khi một tiến trình cố gắng truy cập vào một trang không có trong bộ nhớ vật lý.
C. Khi bộ nhớ đầy.
D. Khi có lỗi trong phần mềm.
23. Trong hệ điều hành, đâu là chức năng chính của chương trình quản lý bộ nhớ (Memory Manager)?
A. Quản lý và điều phối các thiết bị ngoại vi.
B. Xử lý các ngắt (interrupts) từ phần cứng.
C. Cấp phát và thu hồi bộ nhớ cho các tiến trình, theo dõi việc sử dụng bộ nhớ.
D. Quản lý và đồng bộ hóa các tiến trình.
24. Trong hệ thống bộ nhớ ảo, việc sử dụng các cơ chế bảo vệ bộ nhớ có mục đích gì?
A. Tăng tốc độ truy cập bộ nhớ.
B. Ngăn chặn các tiến trình truy cập vào bộ nhớ của các tiến trình khác một cách trái phép.
C. Giảm kích thước bộ nhớ vật lý.
D. Tăng tốc độ của CPU.
25. Trong hệ thống quản lý bộ nhớ, ‘fragmentation’ (phân mảnh) là gì?
A. Sự phân chia bộ nhớ thành các phần không liên tục.
B. Sự gia tăng kích thước của các file.
C. Sự suy giảm tốc độ của CPU.
D. Sự cố trong phần cứng.
26. Trong hệ thống phân trang, kích thước của một trang (page) ảnh hưởng như thế nào đến hiệu suất?
A. Kích thước trang không ảnh hưởng đến hiệu suất.
B. Trang lớn hơn làm giảm số lượng trang cần quản lý, nhưng tăng phân mảnh nội bộ.
C. Trang nhỏ hơn làm tăng phân mảnh nội bộ.
D. Trang lớn hơn luôn tốt hơn vì giảm số lần truy cập bộ nhớ.
27. Kỹ thuật nào sau đây thường được sử dụng để giảm thiểu phân mảnh bên ngoài?
A. Phân trang (paging).
B. Phân đoạn (segmentation).
C. Sử dụng bộ nhớ cache.
D. Tăng kích thước của bộ nhớ chính.
28. Đâu là mục đích chính của cơ chế ‘copy-on-write’ (sao chép khi ghi) trong quản lý bộ nhớ?
A. Tăng tốc độ đọc dữ liệu.
B. Giảm thiểu việc sử dụng bộ nhớ và tăng hiệu suất khi tạo các tiến trình con.
C. Đảm bảo tính toàn vẹn dữ liệu.
D. Tăng tốc độ ghi dữ liệu.
29. Trong bộ nhớ ảo, hiện tượng ‘thrashing’ (tắc nghẽn) xảy ra khi nào?
A. Khi số lượng tiến trình trong hệ thống quá ít.
B. Khi hệ thống liên tục trao đổi các trang (page) giữa bộ nhớ chính và bộ nhớ phụ.
C. Khi bộ nhớ vật lý có đủ dung lượng để chứa tất cả các trang của các tiến trình đang hoạt động.
D. Khi các tiến trình không yêu cầu truy cập bộ nhớ.
30. Lợi ích chính của việc sử dụng bộ nhớ ảo là gì?
A. Tăng tốc độ truy cập bộ nhớ.
B. Cho phép chạy nhiều tiến trình hơn bộ nhớ vật lý có sẵn.
C. Giảm thiểu nhu cầu về bộ nhớ vật lý.
D. Đơn giản hóa việc quản lý file.
31. Trong ngữ cảnh của lập lịch CPU, ‘thông lượng’ (throughput) được định nghĩa là gì?
A. Thời gian một tiến trình chờ đợi CPU.
B. Số lượng tiến trình hoàn thành trong một đơn vị thời gian.
C. Thời gian cần thiết để chuyển đổi giữa hai tiến trình.
D. Thời gian một tiến trình sử dụng CPU.
32. Đâu là một lợi thế của việc sử dụng thuật toán lập lịch Round Robin?
A. Thời gian chờ trung bình ngắn nhất.
B. Thích hợp cho các tiến trình có thời gian thực thi ngắn.
C. Đảm bảo công bằng cho tất cả các tiến trình.
D. Đơn giản nhất để triển khai.
33. Trong hệ điều hành, đâu là vai trò chính của bộ lập lịch CPU (CPU scheduler)?
A. Quản lý bộ nhớ và phân bổ không gian nhớ cho các tiến trình.
B. Đảm bảo tính toàn vẹn của dữ liệu trên ổ đĩa cứng.
C. Chọn tiến trình sẵn sàng để cấp phát CPU và điều phối việc thực thi.
D. Kiểm soát các thiết bị ngoại vi và quản lý giao tiếp với chúng.
34. Thuật toán lập lịch nào được thiết kế để giảm thiểu thời gian chờ trung bình của các tiến trình?
A. FCFS (First-Come, First-Served).
B. SJF (Shortest Job First).
C. Round Robin.
D. Lập lịch theo mức ưu tiên (Priority Scheduling).
35. Trong lập lịch, thuật ngữ ‘aging’ (lão hóa) đề cập đến điều gì?
A. Giảm mức ưu tiên của một tiến trình theo thời gian.
B. Tăng mức ưu tiên của một tiến trình theo thời gian.
C. Giảm thời gian thực thi của một tiến trình.
D. Tăng thời gian chờ của một tiến trình.
36. Sự khác biệt chính giữa lập lịch ưu tiên tĩnh (static priority) và ưu tiên động (dynamic priority) là gì?
A. Ưu tiên tĩnh không thay đổi, trong khi ưu tiên động thay đổi trong quá trình thực thi.
B. Ưu tiên tĩnh dựa trên thời gian đến, ưu tiên động dựa trên thời gian thực thi.
C. Ưu tiên tĩnh chỉ áp dụng cho các tiến trình hệ thống, ưu tiên động cho các tiến trình người dùng.
D. Ưu tiên tĩnh được xác định bởi hệ điều hành, ưu tiên động được xác định bởi người dùng.
37. Trong ngữ cảnh của lập lịch CPU, ‘preemption’ (chiếm quyền) có nghĩa là gì?
A. Tiến trình tự nguyện giải phóng CPU.
B. Hệ điều hành tạm dừng một tiến trình đang chạy và chuyển CPU cho tiến trình khác.
C. CPU hoàn thành việc thực thi một tiến trình.
D. Tiến trình yêu cầu thêm thời gian CPU.
38. Trong các thuật toán lập lịch, thuật toán nào thường được sử dụng trong môi trường chia sẻ thời gian (time-sharing)?
A. FCFS.
B. SJF.
C. Round Robin.
D. Lập lịch ưu tiên.
39. Lợi ích chính của việc sử dụng đa luồng (multithreading) trong một tiến trình là gì?
A. Giảm thiểu thời gian chuyển đổi ngữ cảnh.
B. Tăng cường khả năng sử dụng CPU.
C. Giảm thiểu thời gian thực thi của tiến trình.
D. Tất cả các ý trên.
40. Đâu là một trong những mục tiêu chính của lập lịch CPU?
A. Tối đa hóa thời gian sử dụng CPU.
B. Giảm thiểu thời gian chờ trung bình của tiến trình.
C. Tăng số lượng tiến trình đang chạy song song.
D. Giảm thiểu thời gian thực thi của từng tiến trình.
41. Một hệ thống có thời gian đáp ứng (response time) tốt nhất khi sử dụng thuật toán lập lịch nào?
A. FCFS.
B. SJF.
C. Round Robin.
D. Lập lịch ưu tiên.
42. Trong lập lịch, khái niệm ‘context switch’ (chuyển đổi ngữ cảnh) đề cập đến điều gì?
A. Quá trình chuyển đổi giữa các tiến trình đang chạy trên CPU.
B. Việc lưu và khôi phục trạng thái của một tiến trình.
C. Thời gian cần thiết để bộ lập lịch chọn một tiến trình.
D. Cả a và b.
43. Đâu là một vấn đề tiềm ẩn của việc sử dụng thuật toán SJF?
A. Gây ra starvation cho các tiến trình dài.
B. Không công bằng cho các tiến trình ngắn.
C. Tăng thời gian chuyển đổi ngữ cảnh.
D. Không thể áp dụng trong các hệ thống thời gian thực.
44. Trong lập lịch, việc sử dụng các mức độ ưu tiên có thể dẫn đến vấn đề gì?
A. Tăng thời gian chờ trung bình.
B. Gây ra starvation cho các tiến trình có mức ưu tiên thấp.
C. Giảm thông lượng.
D. Tất cả các ý trên.
45. Hệ điều hành sử dụng cơ chế nào để ngăn chặn hiện tượng ‘starvation’ (đói tài nguyên) trong lập lịch ưu tiên?
A. Giảm mức ưu tiên của các tiến trình đang chạy.
B. Tăng mức ưu tiên của các tiến trình đã chờ đợi quá lâu.
C. Ngăn chặn các tiến trình có mức ưu tiên cao hơn.
D. Đóng băng các tiến trình có mức ưu tiên thấp.
46. Trong hệ thống đa nhiệm, bộ lập lịch CPU được kích hoạt khi nào?
A. Khi một tiến trình hoàn thành.
B. Khi một tiến trình bị chặn.
C. Khi một ngắt xảy ra.
D. Tất cả các trường hợp trên.
47. Trong lập lịch Round Robin, yếu tố nào xác định thời gian mà một tiến trình được phép sử dụng CPU trước khi bị chuyển sang tiến trình khác?
A. Thời gian đến của tiến trình.
B. Thời gian lượng tử (quantum time).
C. Mức độ ưu tiên của tiến trình.
D. Thời gian thực thi còn lại của tiến trình.
48. Thời gian cần thiết để chuyển đổi giữa hai tiến trình được gọi là gì?
A. Thời gian đến (Arrival time).
B. Thời gian chạy (Run time).
C. Thời gian chờ (Waiting time).
D. Thời gian chuyển đổi ngữ cảnh (Context switch time).
49. Đâu là một yếu tố ảnh hưởng đến hiệu suất của bộ lập lịch CPU?
A. Số lượng tiến trình trong hệ thống.
B. Thời gian chuyển đổi ngữ cảnh.
C. Độ dài của thời gian lượng tử (trong Round Robin).
D. Tất cả các ý trên.
50. Trong các thuật toán lập lịch, thuật toán nào có thể dẫn đến hiện tượng ‘convoy effect’ (hiệu ứng đoàn xe)?
A. Round Robin.
B. SJF.
C. FCFS.
D. Lập lịch ưu tiên.
51. Trong lập lịch, thuật ngữ ‘preemption’ (chiếm quyền) có liên quan chặt chẽ nhất đến thuật toán nào?
A. FCFS.
B. SJF.
C. Round Robin.
D. SJF (preemptive).
52. Trong các thuật toán lập lịch, đâu là thuật toán không mang tính chất chiếm quyền (non-preemptive)?
A. Round Robin.
B. SJF.
C. Lập lịch ưu tiên.
D. FCFS.
53. Trong một hệ thống đa luồng, bộ lập lịch CPU sẽ quản lý việc lập lịch cho:
A. Chỉ các tiến trình.
B. Chỉ các luồng.
C. Cả tiến trình và luồng.
D. Không có luồng hay tiến trình nào cả.
54. Trong lập lịch theo mức ưu tiên, yếu tố nào thường được sử dụng để xác định mức ưu tiên của một tiến trình?
A. Thời gian đến của tiến trình.
B. Thời gian thực thi còn lại của tiến trình.
C. Mức độ quan trọng của tiến trình và nhu cầu tài nguyên.
D. Thời gian chờ của tiến trình.
55. Đâu là một ví dụ về một hệ thống thời gian thực (real-time system)?
A. Một hệ thống xử lý văn bản.
B. Một hệ thống quản lý cơ sở dữ liệu.
C. Một hệ thống điều khiển máy bay.
D. Một hệ thống duyệt web.
56. Thuật toán lập lịch nào thường được sử dụng trong các hệ thống thời gian thực (real-time systems)?
A. FCFS.
B. SJF.
C. Round Robin.
D. Lập lịch ưu tiên với các mức độ ưu tiên xác định trước.
57. Đâu là vai trò của bộ lập lịch ngắn hạn (short-term scheduler)?
A. Quyết định tiến trình nào sẽ được đưa vào bộ nhớ chính.
B. Chọn tiến trình sẵn sàng để cấp phát CPU.
C. Quản lý việc chuyển đổi giữa các tiến trình bị chặn.
D. Xác định mức độ ưu tiên của các tiến trình.
58. Trong hệ điều hành, đâu là một trong những tiêu chí quan trọng để đánh giá hiệu quả của một thuật toán lập lịch?
A. Thời gian đến của tiến trình.
B. Thời gian thực thi của tiến trình.
C. Thời gian chờ trung bình của tiến trình.
D. Kích thước của tiến trình.
59. Điều gì xảy ra khi một tiến trình bị chặn (blocked) trong khi chờ đợi I/O?
A. Tiến trình sẽ tiếp tục chạy trên CPU.
B. Tiến trình sẽ bị gỡ bỏ khỏi CPU và trạng thái của nó được lưu trữ.
C. Tiến trình sẽ tạm dừng và chờ đợi cho đến khi I/O hoàn thành.
D. Cả b và c.
60. Trong ngữ cảnh của lập lịch, ‘starvation’ (đói tài nguyên) có nghĩa là gì?
A. Một tiến trình sử dụng quá nhiều tài nguyên CPU.
B. Một tiến trình không bao giờ được cấp phát CPU.
C. Thời gian chờ của một tiến trình quá ngắn.
D. Thời gian thực thi của một tiến trình quá dài.
61. Đâu là một trong những vai trò của trình điều khiển thiết bị (device driver)?
A. Quản lý bộ nhớ ảo.
B. Cung cấp một giao diện cho hệ điều hành để tương tác với các thiết bị phần cứng cụ thể.
C. Lên lịch CPU.
D. Đồng bộ hóa các luồng.
62. FIFO (First-In, First-Out) là một thuật toán lập lịch CPU đơn giản. Nhược điểm chính của nó là gì?
A. Gây ra starvation cho các tiến trình ngắn.
B. Không công bằng đối với các tiến trình dài.
C. Có thể dẫn đến thời gian chờ trung bình dài nếu một tiến trình dài chiếm CPU trước.
D. Chỉ hoạt động tốt với hệ thống đa luồng.
63. Hiện tượng ‘thrashing’ (tắc nghẽn) trong bộ nhớ ảo xảy ra khi nào?
A. Có quá nhiều bộ nhớ vật lý.
B. Hệ thống dành quá nhiều thời gian để chuyển đổi giữa các trang, thay vì thực hiện công việc thực tế.
C. Các tiến trình không cần truy cập vào bộ nhớ.
D. Có quá ít tiến trình đang chạy.
64. Trong lập trình hệ thống, mục đích của việc sử dụng các tín hiệu (signals) là gì?
A. Để cấp phát bộ nhớ cho các tiến trình.
B. Để thông báo cho một tiến trình về một sự kiện đã xảy ra.
C. Để đồng bộ hóa các luồng bằng mutex.
D. Để quản lý bộ nhớ ảo.
65. Đâu là vai trò của bảng tiến trình (Process Control Block – PCB)?
A. Lưu trữ thông tin về các tiến trình đang hoạt động trong hệ thống.
B. Quản lý bộ nhớ ảo.
C. Xử lý các ngắt.
D. Lên lịch CPU.
66. Trong hệ điều hành, ‘spooling’ được sử dụng để làm gì?
A. Quản lý các tiến trình trên CPU.
B. Cho phép các thiết bị chậm (ví dụ: máy in) không làm chậm các tiến trình khác bằng cách sử dụng bộ đệm (buffer).
C. Quản lý bộ nhớ ảo.
D. Đồng bộ hóa các luồng.
67. Trong hệ thống tệp, ‘inode’ (index node) dùng để làm gì?
A. Lưu trữ dữ liệu của các tệp.
B. Lưu trữ siêu dữ liệu (metadata) về một tệp, như quyền truy cập, kích thước, và vị trí trên đĩa.
C. Lưu trữ tên tệp.
D. Quản lý các thư mục.
68. Trong ngữ cảnh hệ điều hành, ‘multitasking’ (đa nhiệm) có nghĩa là gì?
A. Chỉ có một tác vụ được thực thi tại một thời điểm.
B. Hệ điều hành có thể thực thi nhiều tác vụ cùng một lúc, bằng cách chuyển đổi giữa chúng.
C. Hệ điều hành chỉ có thể thực thi các tác vụ tuần tự.
D. Hệ điều hành không thể xử lý nhiều tác vụ.
69. Hệ điều hành sử dụng cơ chế nào để ngăn chặn hiện tượng ‘deadlock’ (bế tắc)?
A. Chỉ cho phép một tiến trình truy cập vào một tài nguyên tại một thời điểm.
B. Sử dụng các thuật toán phát hiện và giải quyết deadlock, hoặc ngăn chặn bằng cách áp dụng các điều kiện cần thiết cho deadlock không xảy ra.
C. Tăng cường bộ nhớ RAM để đáp ứng nhu cầu tài nguyên của tất cả các tiến trình.
D. Tất cả các phương án trên.
70. Trong hệ điều hành, đâu là chức năng chính của chương trình quản lý tiến trình (Process Manager)?
A. Quản lý bộ nhớ chính và bộ nhớ phụ.
B. Xử lý các ngắt và giao tiếp với thiết bị ngoại vi.
C. Lên lịch, tạo, hủy và đồng bộ hóa các tiến trình.
D. Quản lý cấu trúc thư mục và tập tin.
71. Trong ngữ cảnh lập trình đa luồng, mutex (mutual exclusion) được sử dụng để làm gì?
A. Đồng bộ hóa các tiến trình khác nhau.
B. Ngăn chặn xung đột khi nhiều luồng truy cập vào cùng một tài nguyên chia sẻ.
C. Cấp phát bộ nhớ cho các luồng.
D. Tạo ra các luồng mới.
72. Trong hệ thống file, ‘directory’ (thư mục) được dùng để làm gì?
A. Lưu trữ dữ liệu của các tệp.
B. Tổ chức và quản lý các tệp và thư mục khác.
C. Quản lý bộ nhớ RAM.
D. Thực hiện các lệnh trong hệ thống.
73. Trong một hệ điều hành, ‘kernel’ (nhân hệ điều hành) là gì?
A. Giao diện người dùng đồ họa.
B. Phần lõi của hệ điều hành, chịu trách nhiệm quản lý tài nguyên hệ thống.
C. Một ứng dụng người dùng thông thường.
D. Một trình duyệt web.
74. Đâu là vai trò của ‘BIOS’ (Basic Input/Output System) trong quá trình khởi động?
A. Tải hệ điều hành.
B. Khởi tạo phần cứng và kiểm tra ban đầu trước khi tải hệ điều hành.
C. Quản lý bộ nhớ ảo.
D. Quản lý các tiến trình.
75. Đâu là vai trò của ‘page table’ (bảng trang) trong hệ thống bộ nhớ ảo?
A. Lưu trữ thông tin về các tiến trình đang chạy.
B. Ánh xạ địa chỉ logic (của tiến trình) thành địa chỉ vật lý (trong bộ nhớ RAM).
C. Quản lý các ngắt.
D. Lên lịch CPU.
76. Trong hệ điều hành, mục đích của việc sử dụng ‘cache’ (bộ nhớ đệm) là gì?
A. Tăng tốc độ truy cập dữ liệu bằng cách lưu trữ các dữ liệu được sử dụng thường xuyên.
B. Giảm dung lượng bộ nhớ chính.
C. Quản lý các tiến trình.
D. Đồng bộ hóa các luồng.
77. Sự khác biệt chính giữa tiến trình (process) và luồng (thread) là gì?
A. Tiến trình có thể chia sẻ bộ nhớ, trong khi luồng thì không.
B. Luồng nhẹ hơn và chia sẻ tài nguyên với tiến trình cha, trong khi tiến trình có tài nguyên riêng.
C. Tiến trình thực thi song song, còn luồng thì tuần tự.
D. Luồng có thể tạo ra các tiến trình con, còn tiến trình thì không.
78. Thuật toán lập lịch CPU nào được thiết kế để giảm thiểu thời gian đáp ứng (response time)?
A. FIFO (First-In, First-Out).
B. SJF (Shortest Job First).
C. Round Robin.
D. Priority Scheduling.
79. Sự khác biệt chính giữa liên kết cứng (hard link) và liên kết mềm (soft link) trong hệ thống tệp là gì?
A. Liên kết cứng trỏ đến inode, trong khi liên kết mềm trỏ đến tên tệp.
B. Liên kết cứng có thể vượt qua các hệ thống tệp khác nhau, còn liên kết mềm thì không.
C. Liên kết cứng là một bản sao của tệp, còn liên kết mềm chỉ là một con trỏ.
D. Liên kết cứng không thể xóa tệp gốc, còn liên kết mềm thì có thể.
80. Hiện tượng ‘starvation’ (đói tài nguyên) trong hệ điều hành xảy ra khi nào?
A. Một tiến trình bị khóa vĩnh viễn và không bao giờ được thực thi.
B. Một tiến trình liên tục bị trì hoãn trong việc truy cập tài nguyên do các tiến trình khác chiếm giữ.
C. Hệ thống bị sập do lỗi phần cứng.
D. Quá nhiều tiến trình được tạo ra, làm tràn bộ nhớ.
81. Đâu là một trong những điều kiện cần thiết để xảy ra tình trạng deadlock?
A. Không có sự chiếm dụng tài nguyên.
B. Sự chiếm dụng vòng tròn (circular wait).
C. Tất cả các tiến trình đều có cùng mức độ ưu tiên.
D. Không có sự tranh chấp tài nguyên.
82. Sự khác biệt chính giữa ‘preemptive multitasking’ (đa nhiệm chiếm quyền) và ‘non-preemptive multitasking’ (đa nhiệm không chiếm quyền) là gì?
A. Preemptive multitasking cho phép các tiến trình tự quyết định thời gian thực thi của chúng, còn non-preemptive thì không.
B. Preemptive multitasking cho phép hệ điều hành kiểm soát việc chuyển đổi giữa các tiến trình, còn non-preemptive thì không, tiến trình tự quyết định khi nào nhường CPU.
C. Preemptive multitasking sử dụng bộ nhớ ảo, còn non-preemptive thì không.
D. Preemptive multitasking chỉ hỗ trợ các ứng dụng đồ họa, còn non-preemptive thì không.
83. ‘Boot loader’ (bộ nạp khởi động) có chức năng gì trong quá trình khởi động hệ thống?
A. Quản lý các tiến trình.
B. Tải hệ điều hành vào bộ nhớ và chuyển quyền điều khiển cho nó.
C. Quản lý các thiết bị ngoại vi.
D. Xử lý các ngắt.
84. Trong bộ nhớ ảo, ‘paging’ (phân trang) là gì?
A. Một phương pháp phân chia bộ nhớ thành các khối có kích thước cố định.
B. Một kỹ thuật để quản lý các tiến trình trong CPU.
C. Một cách để đồng bộ hóa các luồng.
D. Một loại cấu trúc dữ liệu trong hệ điều hành.
85. Hệ thống I/O (Input/Output) trong hệ điều hành có chức năng gì?
A. Quản lý bộ nhớ chính.
B. Cho phép hệ thống giao tiếp với các thiết bị ngoại vi.
C. Quản lý các tiến trình.
D. Quản lý bộ nhớ ảo.
86. Mục đích của việc sử dụng ‘system call’ (lời gọi hệ thống) là gì?
A. Để các ứng dụng người dùng có thể yêu cầu dịch vụ từ nhân hệ điều hành.
B. Để giao tiếp với các thiết bị ngoại vi.
C. Để quản lý bộ nhớ ảo.
D. Để đồng bộ hóa các luồng.
87. Ưu điểm chính của việc sử dụng ‘virtual memory’ (bộ nhớ ảo) là gì?
A. Tăng tốc độ truy cập bộ nhớ.
B. Cho phép các tiến trình sử dụng nhiều bộ nhớ hơn bộ nhớ vật lý có sẵn.
C. Giảm thiểu việc sử dụng ổ cứng.
D. Tất cả các phương án trên.
88. Trong hệ thống I/O, ‘DMA’ (Direct Memory Access) được sử dụng để làm gì?
A. Quản lý các thiết bị ngoại vi.
B. Cho phép các thiết bị ngoại vi truy cập trực tiếp vào bộ nhớ chính mà không cần sự can thiệp của CPU.
C. Xử lý các ngắt.
D. Đồng bộ hóa các luồng.
89. Hệ thống tệp (file system) có chức năng chính là gì?
A. Quản lý và tổ chức dữ liệu trên bộ nhớ lưu trữ.
B. Quản lý các tiến trình đang chạy.
C. Cấp phát bộ nhớ RAM.
D. Điều khiển phần cứng.
90. Trong hệ thống đa nhiệm, việc ‘context switching’ (chuyển đổi ngữ cảnh) có nghĩa là gì?
A. Chuyển đổi giữa các luồng trong cùng một tiến trình.
B. Lưu trạng thái của một tiến trình và tải trạng thái của một tiến trình khác để CPU có thể thực thi tiến trình mới.
C. Thay đổi bộ nhớ ảo của một tiến trình.
D. Lên lịch CPU cho các tiến trình.
91. Trong hệ thống tệp tin, ‘file allocation’ (phân bổ tệp tin) đề cập đến điều gì?
A. Việc lưu trữ các thư mục.
B. Việc quản lý quyền truy cập vào các tệp tin.
C. Phương pháp hệ thống sử dụng để lưu trữ các khối dữ liệu của một tệp tin trên đĩa.
D. Việc tạo ra các bản sao lưu của tệp tin.
92. Đâu là mục đích của việc sử dụng các thuật toán lên lịch CPU (CPU scheduling)?
A. Để giảm thiểu thời gian sử dụng bộ nhớ.
B. Để tối đa hóa số lượng thiết bị ngoại vi được sử dụng.
C. Để phân phối thời gian CPU cho các tiến trình một cách công bằng và hiệu quả.
D. Để tăng tốc độ xử lý của phần cứng CPU.
93. Trong hệ điều hành, ‘buffer’ (bộ đệm) được sử dụng để làm gì?
A. Để lưu trữ các lệnh của CPU.
B. Để tăng tốc độ truy cập bộ nhớ.
C. Để lưu trữ tạm thời dữ liệu trong quá trình truyền dữ liệu giữa các thiết bị khác nhau.
D. Để quản lý các tiến trình.
94. Sự khác biệt chính giữa tiến trình (process) và luồng (thread) là gì?
A. Tiến trình có thể chia sẻ bộ nhớ, còn luồng thì không.
B. Luồng nhẹ hơn và chia sẻ tài nguyên của tiến trình cha, trong khi tiến trình có không gian địa chỉ riêng.
C. Tiến trình có thể thực thi song song, còn luồng thì không.
D. Luồng là một đơn vị quản lý tài nguyên, còn tiến trình là một đơn vị thực thi.
95. Hiện tượng ‘deadlock’ (bế tắc) trong hệ điều hành xảy ra khi nào?
A. Khi một tiến trình cố gắng truy cập vào một vùng bộ nhớ đã được bảo vệ.
B. Khi hai hoặc nhiều tiến trình bị chặn vĩnh viễn vì chúng chờ đợi các tài nguyên mà các tiến trình khác đang giữ.
C. Khi hệ thống bị quá tải và không thể đáp ứng các yêu cầu.
D. Khi có quá nhiều tiến trình đang chạy cùng một lúc.
96. Trong lập trình đa luồng, ‘race condition’ (tình trạng tranh chấp) là gì?
A. Khi một luồng bị khóa vĩnh viễn và không thể tiếp tục thực thi.
B. Khi hai hoặc nhiều luồng cố gắng truy cập và sửa đổi cùng một dữ liệu dùng chung cùng một lúc, dẫn đến kết quả không mong muốn.
C. Khi một luồng bị treo do lỗi bộ nhớ.
D. Khi một luồng cố gắng truy cập vào một tài nguyên không hợp lệ.
97. Trong ‘paging’, điều gì xảy ra khi một tiến trình cố gắng truy cập vào một trang không có trong bộ nhớ chính?
A. Một ‘page fault’ (lỗi trang) xảy ra.
B. Tiến trình bị dừng lại và chờ đợi vô thời hạn.
C. Hệ thống sẽ tự động tăng kích thước bộ nhớ chính.
D. CPU sẽ chuyển sang một tiến trình khác.
98. ‘Malware’ (phần mềm độc hại) là gì?
A. Một loại phần mềm dùng để tăng tốc độ máy tính.
B. Một loại phần mềm được thiết kế để gây hại cho hệ thống máy tính, đánh cắp thông tin, hoặc gây gián đoạn hoạt động.
C. Một phần mềm được dùng để quản lý các thiết bị ngoại vi.
D. Một công cụ dùng để tối ưu hóa hiệu suất hệ thống.
99. Đâu là một phương pháp phân bổ tệp tin phổ biến?
A. Phân bổ liên tục (Contiguous allocation).
B. Phân bổ liên kết (Linked allocation).
C. Phân bổ chỉ mục (Indexed allocation).
D. Tất cả các phương án trên.
100. Trong các thuật toán lên lịch CPU sau, thuật toán nào có thể gây ra hiện tượng ‘starvation’ (đói tài nguyên)?
A. Round Robin.
B. FIFO (First-In, First-Out).
C. SJF (Shortest Job First).
D. Priority Scheduling (Lập lịch theo mức ưu tiên).
101. Trong hệ điều hành, đâu là chức năng chính của chương trình quản lý tiến trình (Process Manager)?
A. Quản lý bộ nhớ chính, phân bổ và thu hồi bộ nhớ cho các tiến trình.
B. Xử lý các yêu cầu vào/ra (I/O) từ các thiết bị ngoại vi.
C. Lên lịch và điều phối việc thực thi các tiến trình, đảm bảo tài nguyên được sử dụng hiệu quả.
D. Cung cấp giao diện người dùng để người dùng tương tác với hệ điều hành.
102. Trong hệ điều hành, ‘context switch’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình chuyển đổi từ chế độ người dùng sang chế độ kernel.
B. Quá trình lưu trạng thái của một tiến trình và tải trạng thái của một tiến trình khác để CPU có thể thực hiện một tiến trình khác.
C. Quá trình cấp phát bộ nhớ cho một tiến trình.
D. Quá trình xóa bỏ một tiến trình khỏi bộ nhớ.
103. Để tránh tình trạng ‘deadlock’, hệ điều hành thường áp dụng những biện pháp nào?
A. Chỉ cho phép một tiến trình truy cập vào một tài nguyên tại một thời điểm.
B. Cung cấp các thuật toán để phát hiện, ngăn chặn hoặc giải quyết deadlock.
C. Tăng cường bộ nhớ RAM để giảm tải cho CPU.
D. Giới hạn số lượng tiến trình được tạo ra.
104. Trong hệ điều hành, ‘kernel’ (nhân) là gì?
A. Giao diện người dùng đồ họa.
B. Phần lõi của hệ điều hành, chịu trách nhiệm quản lý tài nguyên và cung cấp các dịch vụ cơ bản.
C. Một ứng dụng người dùng.
D. Một trình duyệt web.
105. Để tăng hiệu suất của ‘disk I/O’, hệ điều hành thường sử dụng những kỹ thuật nào?
A. Caching (bộ nhớ đệm).
B. Scheduling (lên lịch).
C. Defragmentation (chống phân mảnh).
D. Tất cả các phương án trên.
106. Đâu là một ví dụ về một ‘system call’?
A. Tính toán một biểu thức toán học phức tạp.
B. Đọc dữ liệu từ bàn phím.
C. Gán giá trị cho một biến trong chương trình.
D. Thực hiện một phép cộng đơn giản.
107. Trong ngữ cảnh của hệ điều hành, ‘critical section’ (vùng tới hạn) là gì?
A. Một phần của hệ thống nơi các lỗi phần cứng được ghi lại.
B. Một đoạn mã mà tại đó một tiến trình truy cập vào các tài nguyên dùng chung và cần được bảo vệ để tránh xung đột.
C. Một khu vực của bộ nhớ chỉ dành riêng cho các tiến trình hệ thống.
D. Một phần của hệ điều hành chịu trách nhiệm quản lý các thiết bị ngoại vi.
108. Để giải quyết ‘race condition’, người ta thường sử dụng những cơ chế nào?
A. Chỉ cho phép một luồng truy cập vào dữ liệu dùng chung tại một thời điểm.
B. Sử dụng các cơ chế đồng bộ hóa như mutexes hoặc semaphores.
C. Sử dụng các biến cục bộ cho mỗi luồng.
D. Tất cả các phương án trên.
109. Ví dụ về ‘malware’ bao gồm những loại nào?
A. Virus, worms, trojans, ransomware.
B. Các trình duyệt web.
C. Các ứng dụng văn phòng.
D. Các hệ điều hành.
110. Trong hệ thống tệp tin, ‘disk I/O’ (vào/ra đĩa) là gì?
A. Việc truyền dữ liệu giữa bộ nhớ chính và CPU.
B. Việc truy cập dữ liệu từ bộ nhớ cache.
C. Việc truyền dữ liệu giữa bộ nhớ chính và ổ đĩa.
D. Việc quản lý các thiết bị ngoại vi.
111. Điều gì xảy ra khi một tiến trình thực hiện một ‘system call’ (lời gọi hệ thống)?
A. Tiến trình tiếp tục thực thi ở chế độ người dùng.
B. CPU chuyển sang chế độ kernel để thực hiện các tác vụ đặc quyền thay cho tiến trình.
C. Tiến trình bị tạm dừng và chờ đợi cho đến khi hệ thống giải quyết yêu cầu.
D. Tiến trình được chuyển sang một CPU khác.
112. ‘Thrashing’ (nghẽn bộ nhớ) trong hệ điều hành là gì?
A. Tình trạng khi hệ thống dành quá nhiều thời gian để chuyển đổi giữa các tiến trình.
B. Tình trạng khi hệ thống bị quá tải và không thể đáp ứng các yêu cầu.
C. Tình trạng khi CPU không sử dụng hiệu quả.
D. Tình trạng khi hệ thống dành quá nhiều thời gian cho việc trao đổi trang giữa bộ nhớ chính và bộ nhớ phụ.
113. Mutex (Mutual Exclusion) và Semaphore được sử dụng để làm gì trong hệ điều hành?
A. Để quản lý bộ nhớ ảo.
B. Để đồng bộ hóa các tiến trình và ngăn chặn tình trạng race condition trong vùng tới hạn.
C. Để điều khiển các thiết bị ngoại vi.
D. Để lên lịch các tiến trình.
114. Trong ngữ cảnh bảo mật hệ điều hành, ‘authentication’ (xác thực) là gì?
A. Quá trình kiểm tra và xác nhận danh tính của người dùng hoặc tiến trình.
B. Quá trình cấp quyền truy cập vào các tài nguyên.
C. Quá trình mã hóa dữ liệu.
D. Quá trình ngăn chặn truy cập trái phép.
115. Trong hệ thống tệp tin, inode là gì?
A. Một khối dữ liệu chứa nội dung của tệp tin.
B. Một cấu trúc dữ liệu chứa thông tin về một tệp tin, chẳng hạn như quyền truy cập, kích thước, và vị trí trên đĩa.
C. Một thư mục chứa các tệp tin.
D. Một liên kết đến một tệp tin khác.
116. Trong hệ điều hành, ‘virtual memory’ (bộ nhớ ảo) được sử dụng để làm gì?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để cung cấp cho mỗi tiến trình một không gian địa chỉ lớn hơn bộ nhớ vật lý có sẵn.
C. Để giảm thiểu việc sử dụng ổ cứng.
D. Để quản lý các thiết bị ngoại vi.
117. Quá trình ‘paging’ (phân trang) trong bộ nhớ ảo là gì?
A. Quá trình chia bộ nhớ vật lý thành các khối nhỏ hơn.
B. Quá trình chuyển đổi địa chỉ logic thành địa chỉ vật lý.
C. Quá trình chia không gian địa chỉ ảo thành các trang và bộ nhớ vật lý thành các khung trang.
D. Quá trình nén dữ liệu trong bộ nhớ.
118. Trong bảo mật hệ điều hành, ‘authorization’ (phân quyền) là gì?
A. Quá trình xác minh danh tính của người dùng.
B. Quá trình cấp phép cho người dùng hoặc tiến trình truy cập vào các tài nguyên cụ thể.
C. Quá trình mã hóa dữ liệu.
D. Quá trình ngăn chặn truy cập trái phép.
119. Để giảm thiểu hiện tượng ‘thrashing’, người ta thường áp dụng những biện pháp nào?
A. Tăng kích thước bộ nhớ RAM.
B. Giảm số lượng tiến trình đang chạy.
C. Sử dụng các thuật toán thay thế trang hiệu quả hơn.
D. Tất cả các phương án trên.
120. Hệ thống tệp tin sử dụng ‘directory’ (thư mục) để làm gì?
A. Lưu trữ nội dung của các tệp tin.
B. Tổ chức và quản lý các tệp tin trong hệ thống, cung cấp một cấu trúc phân cấp.
C. Quản lý bộ nhớ trên ổ đĩa.
D. Kiểm soát quyền truy cập vào các tệp tin.
121. Trong hệ điều hành, ‘thrashing’ (tình trạng giằng xé) xảy ra khi nào?
A. Khi có quá nhiều tiến trình đang sử dụng CPU.
B. Khi hệ thống dành quá nhiều thời gian để chuyển đổi giữa các trang trong bộ nhớ ảo, thay vì thực hiện các tác vụ hữu ích.
C. Khi bộ nhớ vật lý bị đầy.
D. Khi một tiến trình bị ngõ cụt.
122. Trong ngữ cảnh của hệ điều hành, ‘tiến trình’ (process) được định nghĩa như thế nào?
A. Một bản sao của chương trình đang chạy.
B. Một đơn vị thực thi của chương trình, bao gồm mã lệnh, dữ liệu, và các tài nguyên hệ thống.
C. Một tệp tin thực thi trên đĩa.
D. Một giao diện người dùng đồ họa (GUI).
123. Trong hệ thống tệp, ‘inode’ có vai trò gì?
A. Lưu trữ tên của tệp.
B. Lưu trữ dữ liệu của tệp.
C. Lưu trữ siêu dữ liệu về tệp, chẳng hạn như quyền truy cập, kích thước, và vị trí trên đĩa.
D. Lưu trữ nội dung của thư mục.
124. Sự khác biệt chính giữa ‘semaphore’ (cờ hiệu) và ‘mutex’ (khóa độc quyền) là gì?
A. Mutex có thể được sử dụng bởi nhiều luồng cùng một lúc, trong khi semaphore chỉ có thể được sử dụng bởi một luồng.
B. Semaphore có thể được sử dụng để đồng bộ hóa các luồng, và mutex chỉ dùng để bảo vệ các vùng dữ liệu dùng chung.
C. Mutex chỉ có thể được sở hữu bởi một luồng tại một thời điểm, trong khi semaphore có thể có nhiều giá trị, cho phép kiểm soát số lượng luồng truy cập tài nguyên.
D. Semaphore chỉ có thể được sử dụng để bảo vệ các vùng dữ liệu dùng chung, trong khi mutex có thể được sử dụng để đồng bộ hóa các luồng.
125. Trong hệ thống tệp, ‘hard link’ và ‘symbolic link’ khác nhau như thế nào?
A. Hard link là một bản sao của tệp, trong khi symbolic link là một con trỏ đến tệp.
B. Hard link có thể liên kết đến các tệp trên các hệ thống tệp khác nhau, trong khi symbolic link không thể.
C. Hard link không thể liên kết đến thư mục, trong khi symbolic link có thể.
D. Cả hai đều giống nhau, chỉ khác nhau về tên gọi.
126. Trong hệ điều hành, ‘spooling’ (tạo bộ đệm) được sử dụng để làm gì?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để cho phép các thiết bị chậm hơn (ví dụ, máy in) hoạt động hiệu quả hơn bằng cách sử dụng bộ đệm tạm thời.
C. Để quản lý các tiến trình.
D. Để cung cấp giao diện người dùng.
127. Trong hệ điều hành, mục đích của việc sử dụng bộ nhớ đệm (cache) là gì?
A. Để tăng tốc độ truy cập bộ nhớ bằng cách lưu trữ các dữ liệu thường xuyên được truy cập.
B. Để lưu trữ dữ liệu vĩnh viễn.
C. Để quản lý các thiết bị ngoại vi.
D. Để cung cấp giao diện người dùng.
128. Hệ điều hành sử dụng cơ chế nào để ngăn chặn xung đột tài nguyên giữa các tiến trình?
A. Sử dụng bộ nhớ ảo.
B. Quản lý bộ nhớ và cấp phát tài nguyên một cách an toàn và hiệu quả.
C. Cho phép các tiến trình truy cập trực tiếp vào phần cứng.
D. Sử dụng giao diện dòng lệnh (CLI).
129. Trong hệ điều hành, ‘paging’ (phân trang) được sử dụng để làm gì?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để chia bộ nhớ vật lý thành các khối cố định (khung trang) và chia không gian địa chỉ logic của tiến trình thành các khối cố định (trang), tạo điều kiện cho bộ nhớ ảo.
C. Để quản lý các thiết bị ngoại vi.
D. Để cung cấp giao diện người dùng.
130. Trong hệ thống tệp, ‘thư mục’ (directory) có vai trò gì?
A. Lưu trữ dữ liệu của tệp.
B. Tổ chức và quản lý các tệp, chứa các mục nhập liên kết tên tệp với inode.
C. Lưu trữ siêu dữ liệu về tệp.
D. Lưu trữ nội dung của tệp.
131. Đâu là một trong những chức năng chính của bộ lập lịch (scheduler) trong hệ điều hành?
A. Quản lý bộ nhớ và phân bổ không gian nhớ cho các tiến trình.
B. Xác định thứ tự thực thi của các tiến trình trên CPU.
C. Quản lý các thiết bị ngoại vi.
D. Cung cấp giao diện người dùng.
132. Khái niệm ‘ngõ cụt’ (deadlock) trong hệ điều hành mô tả tình huống nào?
A. Hai hoặc nhiều tiến trình đang chờ đợi nhau để giải phóng tài nguyên, dẫn đến việc không tiến trình nào có thể tiếp tục.
B. Một tiến trình bị treo vì lỗi phần cứng.
C. Hệ thống bị quá tải vì quá nhiều tiến trình đang chạy.
D. Bộ nhớ bị đầy.
133. Trong lập trình hệ thống, mục đích của việc sử dụng các hệ thống gọi (system calls) là gì?
A. Để cho phép các ứng dụng truy cập trực tiếp vào phần cứng.
B. Để cung cấp một giao diện cho các ứng dụng để yêu cầu các dịch vụ từ kernel.
C. Để tăng tốc độ thực thi của các ứng dụng.
D. Để người dùng có thể tương tác với hệ điều hành.
134. Ngắt (Interrupt) trong hệ điều hành có vai trò gì?
A. Để tăng tốc độ xử lý của CPU bằng cách thực hiện song song các tác vụ.
B. Để thông báo cho CPU về một sự kiện cần được xử lý, ví dụ như yêu cầu I/O hoặc lỗi.
C. Để xóa bộ nhớ và khởi động lại hệ thống.
D. Để người dùng có thể tương tác với hệ điều hành thông qua giao diện dòng lệnh.
135. Trong hệ điều hành, ‘interrupt handler’ (trình xử lý ngắt) có vai trò gì?
A. Để quản lý bộ nhớ.
B. Để phản ứng với các ngắt, xác định nguyên nhân và thực hiện các hành động cần thiết.
C. Để quản lý các thiết bị ngoại vi.
D. Để cung cấp giao diện người dùng.
136. Sự khác biệt chính giữa ‘luồng’ (thread) và ‘tiến trình’ (process) là gì?
A. Luồng không chia sẻ tài nguyên với tiến trình khác, trong khi tiến trình có.
B. Luồng nhẹ hơn và chia sẻ tài nguyên (bộ nhớ, v.v.) với các luồng khác trong cùng một tiến trình, trong khi tiến trình có không gian bộ nhớ riêng.
C. Tiến trình nhẹ hơn và chia sẻ tài nguyên, trong khi luồng có không gian bộ nhớ riêng.
D. Luồng chỉ có thể chạy trên một CPU, trong khi tiến trình có thể chạy trên nhiều CPU.
137. Sự khác biệt chính giữa ‘lập lịch ưu tiên’ (priority scheduling) và ‘lập lịch vòng’ (round robin scheduling) là gì?
A. Lập lịch ưu tiên dựa trên mức độ ưu tiên của các tiến trình, trong khi lập lịch vòng phân phối thời gian CPU cho các tiến trình theo vòng tròn.
B. Lập lịch vòng dựa trên mức độ ưu tiên của các tiến trình, trong khi lập lịch ưu tiên phân phối thời gian CPU cho các tiến trình theo vòng tròn.
C. Lập lịch ưu tiên luôn hiệu quả hơn lập lịch vòng.
D. Lập lịch vòng luôn hiệu quả hơn lập lịch ưu tiên.
138. Thuật toán nào sau đây thường được sử dụng để lập lịch CPU (CPU scheduling)?
A. FIFO (First-In, First-Out).
B. SJF (Shortest Job First).
C. Round Robin.
D. Tất cả các đáp án trên.
139. Trong hệ điều hành, mục đích của việc sử dụng ‘spinlock’ (vòng lặp đợi) là gì?
A. Để ngăn chặn xung đột tài nguyên giữa các tiến trình.
B. Để cung cấp một cơ chế đồng bộ hóa đơn giản, nơi một tiến trình liên tục kiểm tra một biến cho đến khi nó đạt được một trạng thái nhất định.
C. Để tăng tốc độ truy cập bộ nhớ.
D. Để quản lý các thiết bị ngoại vi.
140. Trong hệ điều hành, ‘trình điều khiển thiết bị’ (device driver) có vai trò gì?
A. Để quản lý bộ nhớ.
B. Để cung cấp giao diện cho các ứng dụng để truy cập vào phần cứng.
C. Để quản lý các thiết bị ngoại vi.
D. Cả hai đáp án B và C.
141. Trong hệ thống tệp, ‘quyền truy cập’ (permissions) được sử dụng để làm gì?
A. Để chỉ định tên của tệp.
B. Để xác định người dùng nào có thể đọc, ghi, hoặc thực thi một tệp.
C. Để lưu trữ dữ liệu của tệp.
D. Để quản lý bộ nhớ.
142. Trong hệ điều hành, ‘cache coherency’ (tính nhất quán của bộ nhớ đệm) được sử dụng để làm gì?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để đảm bảo rằng tất cả các bản sao của dữ liệu trong bộ nhớ đệm đều nhất quán, đặc biệt trong các hệ thống đa nhân.
C. Để quản lý các thiết bị ngoại vi.
D. Để cung cấp giao diện người dùng.
143. Trong hệ điều hành, ‘đa nhiệm’ (multitasking) nghĩa là gì?
A. Khả năng của hệ điều hành để thực thi nhiều tác vụ đồng thời trên một CPU.
B. Khả năng của hệ điều hành để chạy nhiều CPU cùng một lúc.
C. Khả năng của hệ điều hành để cho phép người dùng đăng nhập nhiều tài khoản cùng một lúc.
D. Khả năng của hệ điều hành để chỉ thực hiện một tác vụ tại một thời điểm.
144. ‘Kernel-mode’ (chế độ hạt nhân) và ‘user-mode’ (chế độ người dùng) khác nhau như thế nào trong hệ điều hành?
A. Kernel-mode có quyền truy cập đầy đủ vào phần cứng và bộ nhớ, trong khi user-mode có quyền truy cập hạn chế.
B. User-mode có quyền truy cập đầy đủ vào phần cứng, trong khi kernel-mode có quyền truy cập hạn chế.
C. Cả hai chế độ đều có quyền truy cập như nhau.
D. Kernel-mode chỉ được sử dụng cho các ứng dụng đồ họa, trong khi user-mode được sử dụng cho các tác vụ hệ thống.
145. Trong hệ điều hành, mục đích của việc sử dụng ‘I/O scheduling’ (lập lịch I/O) là gì?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để tối ưu hóa việc sử dụng các thiết bị I/O và giảm thời gian chờ đợi.
C. Để quản lý các tiến trình.
D. Để cung cấp giao diện người dùng.
146. Trong hệ điều hành, ‘daemon’ là gì?
A. Một tiến trình thực hiện các tác vụ nền, thường được khởi động khi hệ thống khởi động.
B. Một giao diện người dùng đồ họa.
C. Một trình quản lý bộ nhớ.
D. Một thuật toán lập lịch CPU.
147. Trong hệ điều hành, đâu là chức năng chính của kernel?
A. Quản lý các ứng dụng người dùng, giao diện người dùng và các tiện ích hệ thống.
B. Cung cấp giao diện đồ họa (GUI) cho người dùng.
C. Quản lý tài nguyên phần cứng, cung cấp các dịch vụ hệ thống và điều phối các tiến trình.
D. Chỉ thực hiện các tác vụ liên quan đến mạng và kết nối internet.
148. Trong ngữ cảnh của hệ điều hành, ‘đồng bộ hóa’ (synchronization) được sử dụng để làm gì?
A. Để tăng tốc độ thực thi của các tiến trình.
B. Để cho phép các tiến trình chia sẻ dữ liệu một cách an toàn và tránh các vấn đề về cạnh tranh tài nguyên.
C. Để quản lý bộ nhớ.
D. Để cung cấp giao diện người dùng.
149. Đâu là một ví dụ về hệ thống gọi (system call) thường được sử dụng?
A. Mở một tệp.
B. Thực hiện phép tính toán học.
C. Hiển thị thông báo trên màn hình.
D. Cả ba đáp án trên.
150. ‘Bộ nhớ ảo’ (virtual memory) trong hệ điều hành có tác dụng gì?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để cung cấp cho mỗi tiến trình một không gian địa chỉ bộ nhớ riêng biệt, lớn hơn bộ nhớ vật lý.
C. Để lưu trữ dữ liệu vĩnh viễn.
D. Để quản lý các thiết bị ngoại vi.