1. Sự khác biệt chính giữa process và thread là gì?
A. Process là một chương trình đang thực thi với không gian địa chỉ riêng, trong khi thread là một luồng thực thi bên trong một process và chia sẻ không gian địa chỉ của process đó.
B. Process chỉ có thể chạy trên hệ thống đơn xử lý, trong khi thread có thể chạy trên hệ thống đa xử lý.
C. Process đòi hỏi nhiều tài nguyên hơn thread.
D. Process được quản lý bởi kernel, trong khi thread được quản lý bởi user-level library.
2. Sự khác biệt chính giữa preemptive và non-preemptive scheduling là gì?
A. Preemptive scheduling chỉ áp dụng cho các hệ thống đa xử lý, trong khi non-preemptive scheduling chỉ áp dụng cho các hệ thống đơn xử lý.
B. Trong preemptive scheduling, một tiến trình đang chạy có thể bị ngắt để nhường CPU cho tiến trình khác, trong khi non-preemptive scheduling thì không.
C. Preemptive scheduling sử dụng hàng đợi ưu tiên, trong khi non-preemptive scheduling sử dụng hàng đợi FIFO.
D. Preemptive scheduling đòi hỏi phần cứng đặc biệt, trong khi non-preemptive scheduling thì không.
3. Phương pháp quản lý bộ nhớ nào sau đây có thể dẫn đến external fragmentation?
A. Paging.
B. Segmentation.
C. Demand paging.
D. Virtual memory.
4. Điều gì là mục đích của hệ thống quản lý bộ nhớ (Memory Management Unit – MMU)?
A. Để quản lý tất cả các thiết bị ngoại vi của hệ thống.
B. Để chuyển đổi địa chỉ ảo thành địa chỉ vật lý.
C. Để điều khiển tốc độ của CPU.
D. Để mã hóa dữ liệu trong bộ nhớ.
5. Điều gì là mục đích của RAID (Redundant Array of Independent Disks)?
A. Để tăng tốc độ của CPU.
B. Để cung cấp khả năng chịu lỗi và/hoặc cải thiện hiệu suất lưu trữ dữ liệu.
C. Để mã hóa dữ liệu trên ổ cứng.
D. Để quản lý bộ nhớ ảo.
6. Điều gì là mục đích chính của device driver?
A. Để tăng tốc độ của CPU.
B. Để cung cấp một giao diện chuẩn cho hệ điều hành để tương tác với phần cứng.
C. Để mã hóa dữ liệu trên ổ cứng.
D. Để quản lý bộ nhớ ảo.
7. Trong ngữ cảnh của hệ điều hành thời gian thực (real-time operating system – RTOS), ‘deterministic behavior’ nghĩa là gì?
A. Hệ thống luôn đưa ra kết quả đúng bất kể đầu vào.
B. Thời gian thực hiện của một tác vụ có thể được dự đoán một cách chính xác.
C. Hệ thống có thể tự động phát hiện và sửa chữa lỗi.
D. Hệ thống có thể thích ứng với các điều kiện thay đổi.
8. Giải thuật nào sau đây thường được sử dụng để tránh deadlock?
A. Shortest Job First (SJF).
B. Banker’s Algorithm.
C. First-Come, First-Served (FCFS).
D. Round Robin.
9. Trong ngữ cảnh của hệ điều hành, ‘virtual machine’ là gì?
A. Một loại máy tính siêu mạnh.
B. Một môi trường phần mềm mô phỏng một hệ thống máy tính vật lý, cho phép chạy các hệ điều hành và ứng dụng khác nhau trên cùng một phần cứng.
C. Một chương trình tiện ích để quản lý bộ nhớ ảo.
D. Một giao thức mạng để chia sẻ tài nguyên máy tính.
10. Sự khác biệt chính giữa batch processing và time-sharing là gì?
A. Batch processing chỉ có thể xử lý một công việc tại một thời điểm, trong khi time-sharing có thể xử lý nhiều công việc đồng thời.
B. Trong batch processing, các công việc được thực hiện tuần tự mà không có sự tương tác của người dùng, trong khi time-sharing cho phép người dùng tương tác với các công việc đang chạy.
C. Batch processing sử dụng bộ nhớ ảo, trong khi time-sharing sử dụng bộ nhớ vật lý.
D. Batch processing chỉ áp dụng cho các hệ thống lớn, trong khi time-sharing áp dụng cho các hệ thống nhỏ.
11. Điều gì là mục đích chính của việc sử dụng semaphore trong hệ điều hành?
A. Để quản lý cấp phát bộ nhớ.
B. Để đồng bộ hóa các tiến trình và tránh tình trạng tranh chấp tài nguyên.
C. Để mã hóa dữ liệu truyền qua mạng.
D. Để phát hiện và ngăn chặn virus.
12. Trong hệ điều hành, thế nào là deadlock?
A. Một tình trạng khi một tiến trình bị treo do lỗi phần cứng.
B. Một tình trạng khi hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên, dẫn đến không tiến trình nào có thể tiếp tục.
C. Một tình trạng khi hệ thống không đủ bộ nhớ để chạy tất cả các tiến trình.
D. Một tình trạng khi một tiến trình cố gắng truy cập vào một vùng nhớ không được cấp phát cho nó.
13. Trong hệ điều hành, scheduler có vai trò gì?
A. Quản lý bộ nhớ.
B. Chọn tiến trình nào sẽ được thực thi tiếp theo.
C. Quản lý các thiết bị ngoại vi.
D. Mã hóa dữ liệu.
14. Điều gì là mục đích của load balancer trong hệ thống phân tán?
A. Để tăng tốc độ của CPU.
B. Để phân phối tải công việc giữa nhiều máy chủ để cải thiện hiệu suất và khả năng chịu lỗi.
C. Để mã hóa dữ liệu trên ổ cứng.
D. Để quản lý bộ nhớ ảo.
15. Điều gì là lợi ích chính của việc sử dụng bộ nhớ ảo (virtual memory)?
A. Tăng tốc độ truy cập bộ nhớ vật lý.
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 mức tiêu thụ điện năng của hệ thống.
D. Bảo vệ hệ thống khỏi các cuộc tấn công tràn bộ đệm.
16. Trong ngữ cảnh của hệ thống tệp, journaling là gì?
A. Một kỹ thuật nén dữ liệu để giảm dung lượng lưu trữ.
B. Một phương pháp ghi lại các thay đổi dự định đối với hệ thống tệp trước khi chúng được thực hiện, để phục hồi sau sự cố.
C. Một công cụ để lập chỉ mục các tệp để tìm kiếm nhanh hơn.
D. Một giao thức mạng để chia sẻ tệp giữa các máy tính.
17. Trong ngữ cảnh của hệ điều hành, thuật ngữ ‘thrashing’ đề cập đến điều gì?
A. Một trạng thái mà CPU liên tục chuyển đổi giữa các tiến trình, tiêu tốn phần lớn thời gian vào việc chuyển đổi thay vì thực thi.
B. Một lỗi phần cứng nghiêm trọng dẫn đến hệ thống bị treo.
C. Một kỹ thuật tối ưu hóa bộ nhớ để giảm phân mảnh.
D. Một loại tấn công mạng nhắm vào các hệ thống sử dụng hệ điều hành cũ.
18. Trong ngữ cảnh của bảo mật hệ điều hành, ‘principle of least privilege’ nghĩa là gì?
A. Mỗi người dùng chỉ nên được cấp quyền truy cập tối thiểu cần thiết để thực hiện công việc của họ.
B. Tất cả các tài khoản người dùng nên được bảo vệ bằng mật khẩu mạnh.
C. Hệ thống nên được cấu hình để tự động cập nhật phần mềm bảo mật.
D. Dữ liệu nhạy cảm nên được mã hóa khi lưu trữ và truyền tải.
19. Điều gì là mục đích của firewall trong hệ điều hành?
A. Để tăng tốc độ kết nối mạng.
B. Để kiểm soát lưu lượng mạng đến và đi, ngăn chặn truy cập trái phép.
C. Để mã hóa dữ liệu truyền qua mạng.
D. Để quản lý địa chỉ IP.
20. Điều gì là mục đích chính của việc sử dụng cache memory?
A. Để tăng dung lượng bộ nhớ chính.
B. Để giảm thời gian truy cập dữ liệu bằng cách lưu trữ các bản sao của dữ liệu thường xuyên được sử dụng.
C. Để bảo vệ hệ thống khỏi virus.
D. Để mã hóa dữ liệu trong bộ nhớ.
21. Trong hệ điều hành, ‘race condition’ 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 nhớ không được cấp phát cho nó.
B. Khi kết quả của một hoạt động phụ thuộc vào thứ tự thực hiện của các tiến trình hoặc luồng.
C. Khi hệ thống không đủ bộ nhớ để chạy tất cả các tiến trình.
D. Khi một tiến trình bị treo do lỗi phần cứng.
22. Trong ngữ cảnh của hệ thống tệp, inode là gì?
A. Một phần của bộ nhớ chính được sử dụng để lưu trữ các tệp tạm thời.
B. Một cấu trúc dữ liệu chứa thông tin về một tệp, chẳng hạn như quyền, kích thước và vị trí dữ liệu.
C. Một loại virus máy tính lây nhiễm vào các tệp thực thi.
D. Một giao thức mạng được sử dụng để chia sẻ tệp giữa các máy tính.
23. Điều gì là mục đích của swapping trong hệ điều hành?
A. Để tăng tốc độ truy cập bộ nhớ.
B. Để di chuyển các trang bộ nhớ không hoạt động từ RAM sang ổ cứng để giải phóng RAM cho các tiến trình khác.
C. Để bảo vệ hệ thống khỏi virus.
D. Để mã hóa dữ liệu trong bộ nhớ.
24. Trong hệ điều hành, DMA (Direct Memory Access) là gì?
A. Một phương pháp truy cập bộ nhớ nhanh hơn bằng cách sử dụng địa chỉ vật lý trực tiếp.
B. Một kỹ thuật cho phép các thiết bị ngoại vi truy cập bộ nhớ chính trực tiếp mà không cần sự can thiệp của CPU.
C. Một loại bộ nhớ cache tốc độ cao.
D. Một giao thức mạng để truyền dữ liệu trực tiếp giữa các máy tính.
25. Trong hệ điều hành, thuật ngữ ‘context switching’ đề cập đến điều gì?
A. Quá trình khởi động lại hệ thống.
B. Quá trình lưu và khôi phục trạng thái của một tiến trình để CPU có thể chuyển sang thực thi một tiến trình khác.
C. Quá trình cài đặt phần mềm mới.
D. Quá trình sao lưu dữ liệu.
26. Sự khác biệt chính giữa hard link và symbolic link trong hệ thống tệp Unix-like là gì?
A. Hard link chỉ có thể trỏ đến các tệp trên cùng một hệ thống tệp, trong khi symbolic link có thể trỏ đến các tệp trên các hệ thống tệp khác nhau.
B. Hard link tạo ra một bản sao của tệp, trong khi symbolic link tạo ra một con trỏ đến tệp gốc.
C. Hard link không thể trỏ đến thư mục, trong khi symbolic link có thể.
D. Hard link không chiếm dung lượng lưu trữ, trong khi symbolic link chiếm một lượng nhỏ dung lượng.
27. Trong ngữ cảnh của hệ điều hành, ‘memory leak’ là gì?
A. Một lỗi phần cứng làm hỏng dữ liệu trong bộ nhớ.
B. Một tình trạng khi một chương trình không giải phóng bộ nhớ đã được cấp phát, dẫn đến lãng phí tài nguyên.
C. Một cuộc tấn công mạng nhằm đánh cắp dữ liệu từ bộ nhớ.
D. Một kỹ thuật tối ưu hóa bộ nhớ để giảm phân mảnh.
28. Sự khác biệt chính giữa process synchronization và process communication là gì?
A. Process synchronization chỉ áp dụng cho các tiến trình trên cùng một máy, trong khi process communication áp dụng cho các tiến trình trên các máy khác nhau.
B. Process synchronization đảm bảo thứ tự thực hiện của các tiến trình, trong khi process communication cho phép các tiến trình trao đổi dữ liệu.
C. Process synchronization sử dụng semaphore, trong khi process communication sử dụng socket.
D. Process synchronization chỉ áp dụng cho các hệ thống đa xử lý, trong khi process communication áp dụng cho các hệ thống đơn xử lý.
29. Trong hệ điều hành, system call là gì?
A. Một hàm thư viện được sử dụng để thực hiện các phép toán số học phức tạp.
B. Một cách để một chương trình người dùng yêu cầu các dịch vụ từ kernel.
C. Một loại ngắt phần cứng.
D. Một chương trình tiện ích được sử dụng để quản lý hệ thống tệp.
30. Sự khác biệt chính giữa microkernel và monolithic kernel là gì?
A. Microkernel nhỏ hơn và nhanh hơn monolithic kernel.
B. Microkernel chỉ chứa các chức năng cốt lõi của hệ điều hành, trong khi monolithic kernel chứa hầu hết các chức năng, bao gồm cả device driver và hệ thống tệp.
C. Microkernel dễ phát triển và bảo trì hơn monolithic kernel.
D. Microkernel an toàn hơn monolithic kernel.
31. Điều gì KHÔNG phải là một phương pháp để giải quyết deadlock (bế tắc)?
A. Prevention (phòng ngừa).
B. Avoidance (tránh né).
C. Detection and Recovery (phát hiện và phục hồi).
D. Ignoring the problem (bỏ qua vấn đề).
32. Cơ chế nào cho phép hệ điều hành xử lý nhiều yêu cầu đồng thời từ nhiều người dùng?
A. Batch processing.
B. Multitasking.
C. Real-time processing.
D. Single-tasking.
33. Trong hệ điều hành, ‘virtual memory’ (bộ nhớ ảo) là gì?
A. Một loại bộ nhớ chỉ đọc (ROM).
B. Một kỹ thuật cho phép các tiến trình sử dụng nhiều bộ nhớ hơn bộ nhớ vật lý hiện có.
C. Bộ nhớ được sử dụng để lưu trữ các máy ảo.
D. Bộ nhớ được sử dụng để tăng tốc độ truy cập dữ liệu.
34. Trong hệ thống tệp, ‘hard link’ (liên kết cứng) khác với ‘soft link’ (liên kết mềm) như thế nào?
A. Hard link là một bản sao của tệp, trong khi soft link là một con trỏ đến tệp.
B. Hard link trỏ trực tiếp đến inode của tệp, trong khi soft link trỏ đến đường dẫn của tệp.
C. Hard link có thể trỏ đến các tệp trên các hệ thống tệp khác nhau, trong khi soft link thì không.
D. Hard link chỉ có thể được tạo bởi người dùng root, trong khi soft link có thể được tạo bởi bất kỳ người dùng nào.
35. Trong ngữ cảnh hệ điều hành, thuật ngữ ‘daemon’ dùng để chỉ loại chương trình nào?
A. Một chương trình giao diện người dùng đồ họa (GUI).
B. Một chương trình chạy nền, thực hiện các tác vụ hệ thống.
C. Một chương trình được sử dụng để quản lý phần cứng.
D. Một chương trình được sử dụng để phát triển phần mềm.
36. Điểm khác biệt chính giữa ‘process’ (tiến trình) và ‘thread’ (luồng) là gì?
A. Process là một thể hiện của chương trình đang thực thi, trong khi thread là một chương trình đang thực thi.
B. Process chia sẻ không gian bộ nhớ, trong khi thread có không gian bộ nhớ riêng biệt.
C. Process có không gian bộ nhớ riêng biệt, trong khi thread chia sẻ không gian bộ nhớ với các thread khác trong cùng một process.
D. Process là một đơn vị thực thi nhỏ hơn thread.
37. Điều gì KHÔNG phải là mục tiêu chính của việc lập lịch CPU (CPU scheduling)?
A. Tối đa hóa hiệu suất CPU (CPU utilization).
B. Tối thiểu hóa thời gian chờ (waiting time) của các tiến trình.
C. Tối đa hóa thời gian phản hồi (response time) của các tiến trình.
D. Tối đa hóa số lượng tiến trình đang chạy đồng thời, bất kể hiệu suất.
38. Trong ngữ cảnh hệ điều hành, ‘race condition’ (điều kiện chạy đua) xảy ra khi nào?
A. Khi một tiến trình cố gắng truy cập vào một tài nguyên đã bị khóa bởi một tiến trình khác.
B. Khi nhiều tiến trình cùng truy cập và sửa đổi một tài nguyên chung, và kết quả cuối cùng phụ thuộc vào thứ tự thực hiện.
C. Khi một tiến trình không thể hoàn thành do thiếu tài nguyên.
D. Khi hệ thống gặp lỗi phần cứng.
39. Trong quản lý bộ nhớ, ‘segmentation’ (phân đoạn) khác với ‘paging’ (phân trang) như thế nào?
A. Segmentation chia bộ nhớ thành các khối có kích thước cố định, trong khi paging chia bộ nhớ thành các khối có kích thước thay đổi.
B. Segmentation chia bộ nhớ thành các khối có kích thước thay đổi, tương ứng với các phần logic của chương trình, trong khi paging chia bộ nhớ thành các khối có kích thước cố định.
C. Segmentation chỉ được sử dụng trong bộ nhớ vật lý, trong khi paging chỉ được sử dụng trong bộ nhớ ảo.
D. Segmentation nhanh hơn paging.
40. Điều gì KHÔNG phải là một lợi ích của việc sử dụng hệ thống tệp nhật ký (journaling file system)?
A. Giảm thời gian phục hồi sau sự cố hệ thống.
B. Tăng cường tính toàn vẹn dữ liệu.
C. Tăng tốc độ truy cập dữ liệu.
D. Giảm thiểu nguy cơ mất dữ liệu do lỗi hệ thống.
41. Thuật toán lập lịch CPU nào ưu tiên các tiến trình có thời gian thực thi ngắn nhất?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Priority Scheduling.
D. Round Robin.
42. Trong hệ điều hành thời gian thực (real-time operating system – RTOS), điều gì là quan trọng nhất?
A. Tối đa hóa thông lượng (throughput).
B. Đảm bảo thời gian phản hồi nhanh chóng và có thể dự đoán được.
C. Tối thiểu hóa việc sử dụng bộ nhớ.
D. Tối đa hóa số lượng tiến trình có thể chạy đồng thời.
43. Trong hệ điều hành, ‘device driver’ (trình điều khiển thiết bị) có vai trò gì?
A. Cung cấp giao diện người dùng đồ họa (GUI).
B. Cho phép hệ điều hành giao tiếp với phần cứng.
C. Quản lý bộ nhớ ảo.
D. Lập lịch CPU.
44. Điều gì KHÔNG phải là một chức năng của hệ thống quản lý bộ nhớ?
A. Cấp phát và thu hồi bộ nhớ.
B. Quản lý bộ nhớ ảo.
C. Bảo vệ bộ nhớ.
D. Quản lý các tiến trình.
45. Điều gì KHÔNG phải là một thành phần của kernel (nhân) hệ điều hành?
A. Trình quản lý bộ nhớ (memory manager).
B. Trình quản lý tiến trình (process manager).
C. Trình quản lý thiết bị (device manager).
D. Trình duyệt web (web browser).
46. Cơ chế nào cho phép một tiến trình đang chạy tạm dừng để một tiến trình khác có độ ưu tiên cao hơn được thực thi?
A. Polling.
B. Interrupt.
C. Buffering.
D. Spooling.
47. Trong hệ điều hành, ‘kernel mode’ (chế độ kernel) có đặc quyền gì so với ‘user mode’ (chế độ người dùng)?
A. Chế độ kernel không có đặc quyền nào hơn chế độ người dùng.
B. Chế độ kernel có thể truy cập trực tiếp vào phần cứng và bộ nhớ hệ thống, trong khi chế độ người dùng bị hạn chế.
C. Chế độ người dùng có thể truy cập trực tiếp vào phần cứng và bộ nhớ hệ thống, trong khi chế độ kernel bị hạn chế.
D. Chế độ kernel chỉ có thể chạy các ứng dụng hệ thống, trong khi chế độ người dùng chỉ có thể chạy các ứng dụng của người dùng.
48. Trong bảo mật hệ điều hành, ‘principle of least privilege’ (nguyên tắc đặc quyền tối thiểu) có nghĩa là gì?
A. Người dùng nên được cấp quyền truy cập vào tất cả các tài nguyên hệ thống để thực hiện công việc một cách hiệu quả.
B. Người dùng chỉ nên được cấp quyền truy cập tối thiểu cần thiết để thực hiện công việc của họ.
C. Người dùng nên được cấp quyền quản trị hệ thống để có thể khắc phục sự cố một cách nhanh chóng.
D. Người dùng không nên được cấp bất kỳ quyền truy cập nào để đảm bảo an toàn cho hệ thống.
49. Hệ thống tệp (file system) có chức năng chính nào sau đây?
A. Quản lý bộ nhớ ảo.
B. Quản lý các tiến trình.
C. Tổ chức và quản lý các tệp tin và thư mục trên thiết bị lưu trữ.
D. Cung cấp giao diện người dùng đồ họa (GUI).
50. Trong bảo mật hệ thống, ‘buffer overflow’ (tràn bộ đệm) là gì?
A. Một tình trạng khi bộ nhớ bị đầy.
B. Một lỗi lập trình xảy ra khi một chương trình ghi dữ liệu vượt quá kích thước của bộ đệm, có thể dẫn đến việc ghi đè lên các vùng nhớ khác.
C. Một cuộc tấn công từ chối dịch vụ (DoS).
D. Một loại virus máy tính.
51. Cơ chế nào được sử dụng để bảo vệ các vùng nhớ quan trọng của hệ điều hành khỏi bị các tiến trình người dùng ghi đè?
A. Swapping.
B. Memory Protection.
C. Paging.
D. Buffering.
52. Trong ngữ cảnh quản lý bộ nhớ, kỹ thuật ‘paging’ giải quyết vấn đề gì?
A. Phân mảnh bộ nhớ ngoài (external fragmentation).
B. Phân mảnh bộ nhớ trong (internal fragmentation).
C. Tràn bộ nhớ (memory overflow).
D. Xung đột bộ nhớ (memory collision).
53. Trong hệ điều hành, ‘deadlock’ (bế tắc) 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 nhớ không hợp lệ.
B. Khi hai hoặc nhiều tiến trình chặn lẫn nhau, chờ đợi tài nguyên mà tiến trình khác đang giữ.
C. Khi hệ thống gặp lỗi phần cứng nghiêm trọng.
D. Khi một tiến trình sử dụng quá nhiều CPU.
54. Trong hệ điều hành, thuật ngữ ‘thrashing’ mô tả hiện tượng gì?
A. CPU liên tục chuyển đổi giữa các tiến trình, gây lãng phí tài nguyên.
B. Hệ thống liên tục hoán đổi (swapping) các trang (page) giữa bộ nhớ và ổ đĩa, dẫn đến hiệu suất thấp.
C. Bộ nhớ bị phân mảnh nghiêm trọng, khiến việc cấp phát bộ nhớ trở nên khó khăn.
D. Ổ đĩa bị đầy, khiến hệ thống không thể lưu trữ thêm dữ liệu.
55. Cơ chế nào cho phép một tiến trình giao tiếp với một tiến trình khác trên cùng một hệ thống?
A. DMA (Direct Memory Access).
B. IPC (Inter-Process Communication).
C. API (Application Programming Interface).
D. GUI (Graphical User Interface).
56. Phương pháp nào sau đây được sử dụng để cải thiện hiệu suất của bộ nhớ cache?
A. Giảm kích thước bộ nhớ chính (main memory).
B. Tăng tốc độ CPU.
C. Sử dụng các thuật toán thay thế cache hiệu quả, chẳng hạn như Least Recently Used (LRU).
D. Giảm tốc độ ổ cứng.
57. Trong hệ điều hành, ‘context switching’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình chuyển đổi giữa các chế độ người dùng (user mode) và chế độ kernel (kernel mode).
B. Quá trình lưu và khôi phục trạng thái của một tiến trình, cho phép CPU chuyển sang thực thi một tiến trình khác.
C. Quá trình chuyển đổi giữa các hệ điều hành khác nhau trên cùng một máy tính.
D. Quá trình chuyển đổi giữa các ứng dụng khác nhau trên cùng một hệ điều hành.
58. Trong hệ thống tệp, inode chứa thông tin gì?
A. Dữ liệu thực tế của tệp.
B. Tên của tệp.
C. Metadata của tệp, chẳng hạn như quyền truy cập, kích thước và vị trí của dữ liệu trên đĩa.
D. Danh sách các tiến trình đang truy cập tệp.
59. Thuật toán lập lịch nào đảm bảo mọi tiến trình đều nhận được một lượng thời gian CPU tối thiểu?
A. Shortest Job First (SJF).
B. First-Come, First-Served (FCFS).
C. Round Robin.
D. Priority Scheduling.
60. Thuật ngữ ‘spooling’ thường được sử dụng để mô tả hoạt động nào trong hệ điều hành?
A. Quản lý bộ nhớ ảo.
B. Lập lịch CPU.
C. Đồng bộ hóa tiến trình.
D. Đưa dữ liệu vào hàng đợi để xử lý tuần tự, thường được sử dụng với các thiết bị như máy in.
61. Trong hệ điều hành, thuật ngữ ‘thrashing’ đề cập đến hiện tượng gì?
A. CPU liên tục chuyển đổi giữa các tiến trình, làm tăng hiệu suất tổng thể của hệ thống.
B. Bộ nhớ ảo liên tục trao đổi các trang, dẫn đến hiệu suất hệ thống giảm đáng kể.
C. Ổ cứng liên tục đọc và ghi dữ liệu, dẫn đến hao mòn phần cứng nhanh chóng.
D. Hệ thống bị tấn công từ chối dịch vụ (DoS), làm cho hệ thống không thể đáp ứng yêu cầu.
62. Trong hệ điều hành, ‘swapping’ là gì?
A. Quá trình chuyển đổi giữa các chế độ người dùng và chế độ kernel.
B. Quá trình di chuyển các trang hoặc tiến trình từ bộ nhớ chính (RAM) sang bộ nhớ phụ (ví dụ: ổ cứng) để giải phóng bộ nhớ.
C. Quá trình chuyển đổi CPU từ tiến trình này sang tiến trình khác.
D. Quá trình chuyển đổi giữa các hệ điều hành khác nhau trên cùng một máy tính.
63. Điều gì là sự khác biệt chính giữa ‘monolithic kernel’ và ‘microkernel’?
A. Monolithic kernel chạy nhanh hơn microkernel.
B. Monolithic kernel có kích thước nhỏ hơn microkernel.
C. Monolithic kernel thực hiện hầu hết các dịch vụ hệ điều hành trong kernel space, trong khi microkernel chỉ thực hiện các dịch vụ cơ bản trong kernel space và các dịch vụ khác trong user space.
D. Microkernel dễ dàng phát triển hơn monolithic kernel.
64. Điều gì là sự khác biệt chính giữa ‘hard link’ và ‘symbolic link’ (soft link) trong hệ thống tập tin Linux?
A. Hard link chỉ có thể tạo trên cùng một hệ thống tập tin, trong khi symbolic link có thể tạo trên các hệ thống tập tin khác nhau.
B. Hard link tạo ra một bản sao của tập tin, trong khi symbolic link chỉ tạo ra một con trỏ đến tập tin gốc.
C. Hard link chiếm nhiều dung lượng hơn symbolic link.
D. Hard link có thể trỏ đến thư mục, trong khi symbolic link thì không.
65. Trong hệ điều hành, ‘file system’ (hệ thống tập tin) có vai trò gì?
A. Quản lý bộ nhớ ảo.
B. Quản lý các tiến trình đang chạy.
C. Tổ chức và quản lý các tập tin và thư mục trên thiết bị lưu trữ.
D. Quản lý kết nối mạng.
66. Trong hệ thống quản lý bộ nhớ, ‘page fault’ xảy ra khi nào?
A. Khi một tiến trình cố gắng truy cập vào một trang bộ nhớ không hợp lệ.
B. Khi một trang bộ nhớ vật lý bị hỏng.
C. 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ý.
D. Khi bộ nhớ vật lý đầy và không thể cấp phát thêm trang.
67. Điều gì là mục tiêu chính của việc sử dụng ‘load balancing’ trong một hệ thống phân tán?
A. Tăng tốc độ CPU.
B. Tăng dung lượng bộ nhớ RAM.
C. Phân phối công việc đồng đều giữa các máy chủ để tối ưu hóa việc sử dụng tài nguyên và giảm thời gian phản hồi.
D. Bảo vệ dữ liệu khỏi bị mất mát.
68. Điều gì là mục tiêu chính của việc sử dụng ‘caching’ trong hệ điều hành?
A. Tăng dung lượng bộ nhớ RAM.
B. Giảm mức tiêu thụ điện năng.
C. Tăng tốc độ truy cập dữ liệu bằng cách lưu trữ các bản sao dữ liệu thường xuyên được sử dụng ở vị trí truy cập nhanh hơn.
D. Bảo vệ dữ liệu khỏi bị mất mát.
69. Trong hệ điều hành, ‘zombie process’ là gì?
A. Một tiến trình đang chạy ngầm và tiêu thụ nhiều tài nguyên.
B. Một tiến trình đã kết thúc nhưng vẫn còn một mục nhập trong bảng tiến trình cho đến khi tiến trình cha thu thập thông tin trạng thái của nó.
C. Một tiến trình bị treo và không phản hồi.
D. Một tiến trình đang chờ để được cấp phát bộ nhớ.
70. Điều gì là mục tiêu chính của việc sử dụng ‘access control list’ (ACL) trong hệ điều hành?
A. Tăng tốc độ truy cập dữ liệu.
B. Quản lý bộ nhớ ảo.
C. Kiểm soát quyền truy cập của người dùng và tiến trình vào các tài nguyên hệ thống.
D. Quản lý kết nối mạng.
71. Trong hệ điều hành, ‘scheduler’ (bộ lập lịch) có vai trò gì?
A. Quản lý bộ nhớ ảo.
B. Quyết định tiến trình nào sẽ được cấp CPU để thực thi tại một thời điểm nhất định.
C. Quản lý các thiết bị I/O.
D. Quản lý kết nối mạng.
72. Điều gì là mục tiêu chính của việc sử dụng ‘RAID’ (Redundant Array of Independent Disks) trong hệ thống lưu trữ?
A. Tăng tốc độ CPU.
B. Tăng dung lượng bộ nhớ RAM.
C. Cải thiện hiệu suất và độ tin cậy của hệ thống lưu trữ.
D. Giảm mức tiêu thụ điện năng của hệ thống.
73. Phương pháp nào sau đây được sử dụng để bảo vệ hệ thống khỏi các chương trình độc hại (malware)?
A. Tăng tốc độ CPU.
B. Sử dụng bộ nhớ cache lớn hơn.
C. Sử dụng tường lửa (firewall), phần mềm diệt virus (antivirus), và các biện pháp kiểm soát truy cập.
D. Tắt tất cả các kết nối mạng.
74. Trong hệ điều hành, ‘virtual memory’ (bộ nhớ ảo) cho phép điều gì?
A. Cho phép các tiến trình truy cập trực tiếp vào phần cứng.
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. Cho phép hệ điều hành chạy trên các máy ảo.
D. Cho phép các tiến trình chia sẻ bộ nhớ một cách an toàn.
75. Phương pháp nào sau đây thường được sử dụng để giải quyết tình trạng ‘deadlock’ trong hệ điều hành?
A. Tăng tốc độ CPU.
B. Sử dụng bộ nhớ cache lớn hơn.
C. Chấp nhận deadlock xảy ra và khởi động lại hệ thống.
D. Sử dụng các thuật toán phát hiện và phục hồi deadlock, hoặc phòng tránh deadlock bằng cách áp đặt các quy tắc cấp phát tài nguyên.
76. Trong hệ điều hành, ‘context switching’ là gì?
A. Quá trình chuyển đổi giữa các chế độ người dùng và chế độ kernel.
B. Quá trình chuyển đổi CPU từ tiến trình này sang tiến trình khác.
C. Quá trình chuyển đổi giữa các hệ điều hành khác nhau trên cùng một máy tính.
D. Quá trình chuyển đổi giữa các ngôn ngữ lập trình khác nhau.
77. Điều gì là mục tiêu chính của việc sử dụng ‘firewall’ (tường lửa) trong hệ thống mạng?
A. Tăng tốc độ kết nối mạng.
B. Quản lý địa chỉ IP.
C. Kiểm soát và lọc lưu lượng mạng để bảo vệ hệ thống khỏi các truy cập trái phép và các cuộc tấn công mạng.
D. Mã hóa dữ liệu truyền qua mạng.
78. Trong hệ điều hành, ‘system call’ là gì?
A. Một hàm được sử dụng để gọi các chương trình khác.
B. Một yêu cầu từ một chương trình người dùng đến kernel để thực hiện một dịch vụ đặc quyền.
C. Một lệnh để khởi động lại hệ thống.
D. Một hàm để quản lý bộ nhớ.
79. Điều gì là lợi ích chính của việc sử dụng ‘containerization’ (ví dụ: Docker) trong phát triển và triển khai ứng dụng?
A. Tăng tốc độ CPU.
B. Tăng dung lượng bộ nhớ RAM.
C. Đóng gói ứng dụng và các phụ thuộc của nó vào một đơn vị duy nhất, giúp đảm bảo tính nhất quán và khả năng tái sản xuất trên các môi trường khác nhau.
D. Giảm mức tiêu thụ điện năng.
80. Sự khác biệt chính giữa ‘preemptive scheduling’ và ‘non-preemptive scheduling’ là gì?
A. Preemptive scheduling sử dụng hàng đợi ưu tiên, trong khi non-preemptive scheduling không sử dụng.
B. Preemptive scheduling cho phép một tiến trình đang chạy bị ngắt để nhường CPU cho tiến trình khác, trong khi non-preemptive scheduling thì không.
C. Non-preemptive scheduling chỉ áp dụng cho hệ thống đa xử lý, trong khi preemptive scheduling áp dụng cho hệ thống đơn xử lý.
D. Preemptive scheduling sử dụng thuật toán Round Robin, trong khi non-preemptive scheduling sử dụng thuật toán First-Come, First-Served.
81. Thuật toán lập lịch CPU nào sau đây đảm bảo thời gian chờ trung bình nhỏ nhất?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Round Robin.
D. Priority Scheduling.
82. Trong hệ điều hành, ‘mutex’ (mutual exclusion) được sử dụng để làm gì?
A. Quản lý bộ nhớ ảo.
B. Đảm bảo rằng chỉ có một tiến trình hoặc luồng có thể truy cập vào một tài nguyên dùng chung tại một thời điểm.
C. Lập lịch các tiến trình CPU.
D. Mã hóa dữ liệu để bảo mật thông tin.
83. Trong ngữ cảnh của hệ điều hành, ‘semaphore’ được sử dụng để làm gì?
A. Mã hóa dữ liệu để bảo mật thông tin.
B. Quản lý bộ nhớ ảo.
C. Đồng bộ hóa các tiến trình và quản lý truy cập vào tài nguyên dùng chung.
D. Lập lịch các tiến trình CPU.
84. Điều gì là lợi ích chính của việc sử dụng ‘threads’ (luồng) thay vì ‘processes’ (tiến trình)?
A. Threads có không gian địa chỉ riêng biệt, làm tăng tính bảo mật.
B. Threads tiêu thụ ít tài nguyên hơn và có thời gian chuyển đổi nhanh hơn so với processes.
C. Threads có thể chạy trên các hệ điều hành khác nhau mà không cần sửa đổi.
D. Threads có thể truy cập trực tiếp vào phần cứng.
85. Thuật ngữ ‘race condition’ trong hệ điều hành đề cập đến tình huống nào?
A. Hai hoặc nhiều tiến trình cố gắng truy cập và thay đổi cùng một dữ liệu dùng chung đồng thời, dẫn đến kết quả không xác định.
B. Một tiến trình chiếm giữ CPU quá lâu, gây ra sự chậm trễ cho các tiến trình khác.
C. Hệ điều hành không thể cấp phát đủ bộ nhớ cho một tiến trình.
D. Hai hoặc nhiều tiến trình bị deadlock.
86. Trong hệ điều hành, ‘device driver’ (trình điều khiển thiết bị) có vai trò gì?
A. Quản lý bộ nhớ ảo.
B. Cung cấp giao diện giữa hệ điều hành và phần cứng thiết bị.
C. Quản lý các tiến trình đang chạy.
D. Quản lý kết nối mạng.
87. Trong hệ điều hành, ‘process control block’ (PCB) chứa thông tin gì?
A. Mã nguồn của chương trình.
B. Địa chỉ bộ nhớ của chương trình.
C. Trạng thái của tiến trình, bộ đếm chương trình, các thanh ghi, và thông tin quản lý bộ nhớ.
D. Dữ liệu đầu vào và đầu ra của chương trình.
88. Trong hệ điều hành, ‘shell’ là gì?
A. Kernel của hệ điều hành.
B. Một giao diện dòng lệnh hoặc đồ họa cho phép người dùng tương tác với hệ điều hành.
C. Một chương trình để quản lý bộ nhớ.
D. Một trình điều khiển thiết bị.
89. Trong hệ điều hành, ‘interrupt’ (ngắt) là gì?
A. Một tín hiệu từ phần cứng hoặc phần mềm báo hiệu cho CPU biết về một sự kiện cần được xử lý.
B. Một lệnh để dừng một tiến trình đang chạy.
C. Một hàm để quản lý bộ nhớ.
D. Một cơ chế để đồng bộ hóa các tiến trình.
90. Điều gì là vai trò chính của ‘kernel’ trong một hệ điều hành?
A. Quản lý giao diện người dùng đồ họa (GUI).
B. Cung cấp các công cụ phát triển phần mềm.
C. Điều phối các tài nguyên phần cứng và cung cấp các dịch vụ cơ bản cho ứng dụng.
D. Quản lý kết nối mạng và giao tiếp giữa các thiết bị.
91. Trong hệ điều hành, RAID (Redundant Array of Independent Disks) được sử dụng để làm gì?
A. Tăng tốc độ CPU
B. Tăng dung lượng bộ nhớ RAM
C. Cải thiện hiệu suất và độ tin cậy của lưu trữ dữ liệu bằng cách kết hợp nhiều ổ đĩa cứng thành một đơn vị logic
D. Tăng cường bảo mật hệ thống
92. Sự khác biệt chính giữa ‘preemptive scheduling’ (lập lịch ưu tiên) và ‘non-preemptive scheduling’ (lập lịch không ưu tiên) là gì?
A. Preemptive scheduling sử dụng hàng đợi ưu tiên, trong khi non-preemptive scheduling không sử dụng.
B. Preemptive scheduling cho phép một tiến trình đang chạy bị ngắt để nhường CPU cho tiến trình khác, trong khi non-preemptive scheduling thì không.
C. Preemptive scheduling chỉ áp dụng cho hệ thống đa xử lý, trong khi non-preemptive scheduling chỉ áp dụng cho hệ thống đơn xử lý.
D. Preemptive scheduling luôn hiệu quả hơn non-preemptive scheduling.
93. Trong ngữ cảnh của hệ điều hành, thuật ngữ ‘thrashing’ đề cập đến hiện tượng nào?
A. CPU liên tục chuyển đổi giữa các tiến trình, làm tăng hiệu suất tổng thể.
B. Bộ nhớ ảo bị phân mảnh nghiêm trọng, gây khó khăn cho việc cấp phát bộ nhớ.
C. Hệ thống liên tục hoán đổi (swapping) các trang bộ nhớ vào và ra khỏi bộ nhớ chính, dẫn đến hiệu suất giảm đáng kể.
D. Ổ cứng hoạt động quá tải do số lượng lớn các yêu cầu đọc/ghi đồng thời.
94. Trong hệ điều hành, thuật ngữ ‘starvation’ (đói tài nguyên) đề cập đến tình huống nào?
A. Một tiến trình không thể truy cập vào bộ nhớ.
B. Một tiến trình bị từ chối quyền truy cập vào một tài nguyên cần thiết trong một khoảng thời gian dài, mặc dù tài nguyên đó có sẵn.
C. Hệ thống bị thiếu CPU.
D. Một tiến trình bị khóa lẫn nhau với một tiến trình khác.
95. Sự khác biệt giữa process và thread là gì?
A. Process là một đơn vị thực thi, trong khi thread là một chương trình.
B. Process có không gian địa chỉ riêng, trong khi các thread trong cùng một process chia sẻ không gian địa chỉ.
C. Process nhanh hơn thread.
D. Process chỉ có thể chạy trên hệ thống đơn xử lý, trong khi thread có thể chạy trên hệ thống đa xử lý.
96. Điều gì xảy ra khi một tiến trình cố gắng truy cập vào một trang bộ nhớ không hợp lệ (ví dụ: trang không được cấp phát hoặc không có quyền truy cập)?
A. Tiến trình sẽ tiếp tục thực thi một cách bình thường.
B. Hệ điều hành sẽ tự động cấp phát trang bộ nhớ mới cho tiến trình.
C. Một ngoại lệ (exception) hoặc lỗi phân đoạn (segmentation fault) sẽ được tạo ra, và hệ điều hành thường sẽ kết thúc tiến trình.
D. Dữ liệu từ một trang bộ nhớ khác sẽ được sử dụng thay thế.
97. Mutex và Semaphore là gì và chúng khác nhau như thế nào?
A. Mutex là một biến đếm, còn Semaphore là một khóa nhị phân.
B. Mutex được sử dụng để bảo vệ tài nguyên chia sẻ, còn Semaphore được sử dụng để đồng bộ hóa các tiến trình.
C. Mutex chỉ có thể được giải phóng bởi tiến trình đã khóa nó, trong khi Semaphore có thể được giải phóng bởi một tiến trình khác.
D. Mutex và Semaphore là hoàn toàn giống nhau và có thể thay thế cho nhau trong mọi trường hợp.
98. Cơ chế nào được hệ điều hành sử dụng để bảo vệ bộ nhớ của các tiến trình khác nhau khỏi bị truy cập trái phép?
A. Sử dụng bộ nhớ cache.
B. Sử dụng các thanh ghi (registers) của CPU.
C. Sử dụng bảng trang (page table) và các cơ chế kiểm soát truy cập bộ nhớ.
D. Sử dụng ngắt phần cứng.
99. Điều gì xảy ra khi một tiến trình thực hiện một lệnh gọi hệ thống (system call)?
A. Tiến trình chuyển sang chế độ người dùng (user mode).
B. Tiến trình chuyển sang chế độ kernel (kernel mode) và yêu cầu dịch vụ từ hệ điều hành.
C. Tiến trình tạm dừng thực thi cho đến khi có ngắt phần cứng.
D. Tiến trình trực tiếp truy cập vào phần cứng.
100. Trong ngữ cảnh của hệ điều hành thời gian thực (real-time operating system – RTOS), điều gì là quan trọng nhất?
A. Hiệu suất CPU tối đa.
B. Sử dụng bộ nhớ hiệu quả.
C. Tính đáp ứng và khả năng đáp ứng các sự kiện trong một khoảng thời gian xác định.
D. Giao diện người dùng thân thiện.
101. Trong hệ thống tệp, ‘journaling’ (ghi nhật ký) là gì và nó giúp ích như thế nào?
A. Một phương pháp để nén dữ liệu trong hệ thống tệp.
B. Một kỹ thuật để ghi lại các thay đổi đối với hệ thống tệp trước khi chúng được thực hiện, giúp phục hồi hệ thống tệp sau sự cố.
C. Một cơ chế để bảo vệ hệ thống tệp khỏi bị truy cập trái phép.
D. Một phương pháp để tăng tốc độ truy cập tệp.
102. Trong ngữ cảnh của bảo mật hệ điều hành, ‘buffer overflow’ (tràn bộ đệm) là gì và nó có thể gây ra hậu quả gì?
A. Một tình trạng hệ thống bị thiếu bộ nhớ.
B. Một lỗi lập trình xảy ra khi một chương trình ghi dữ liệu vượt quá kích thước của bộ đệm được cấp phát, có thể dẫn đến việc ghi đè lên các vùng nhớ khác và gây ra lỗi hoặc cho phép kẻ tấn công thực thi mã độc.
C. Một phương pháp để tăng tốc độ truy cập bộ nhớ.
D. Một cơ chế để bảo vệ bộ nhớ khỏi bị truy cập trái phép.
103. Nguyên tắc ‘least privilege’ (đặc quyền tối thiểu) trong bảo mật hệ điều hành có nghĩa là gì?
A. Mỗi người dùng nên có quyền truy cập vào tất cả các tài nguyên hệ thống.
B. Mỗi tiến trình và người dùng chỉ nên có quyền truy cập tối thiểu cần thiết để thực hiện nhiệm vụ của mình.
C. Tất cả các tiến trình nên chạy ở chế độ kernel để có hiệu suất tốt nhất.
D. Hệ thống nên ưu tiên các tiến trình có quyền cao nhất.
104. Trong hệ điều hành, ‘device driver’ (trình điều khiển thiết bị) là gì?
A. Một chương trình để quản lý bộ nhớ.
B. Một phần mềm cho phép hệ điều hành giao tiếp với một thiết bị phần cứng cụ thể.
C. Một công cụ để theo dõi hiệu suất hệ thống.
D. Một cơ chế để bảo vệ hệ thống khỏi bị virus.
105. Trong ngữ cảnh quản lý bộ nhớ, ‘locality of reference’ (tính cục bộ tham chiếu) là gì?
A. Một kỹ thuật nén dữ liệu để giảm dung lượng bộ nhớ sử dụng.
B. Xu hướng của một tiến trình truy cập các vị trí bộ nhớ gần nhau trong một khoảng thời gian ngắn.
C. Phương pháp phân bổ bộ nhớ cho các tiến trình dựa trên kích thước của chúng.
D. Một thuật toán để giải phóng bộ nhớ đã được cấp phát nhưng không còn sử dụng.
106. Trong hệ điều hành, ‘context switching’ (chuyển đổi ngữ cảnh) là gì?
A. Quá trình thay đổi quyền truy cập của một tệp.
B. Quá trình chuyển đổi giữa chế độ người dùng (user mode) và chế độ kernel (kernel mode).
C. Quá trình lưu và khôi phục trạng thái của một tiến trình để CPU có thể chuyển sang thực thi một tiến trình khác.
D. Quá trình phân bổ bộ nhớ cho một tiến trình.
107. Hệ điều hành sử dụng thuật toán nào để quản lý việc cấp phát bộ nhớ?
A. Giải thuật sắp xếp nổi bọt (Bubble Sort)
B. Giải thuật tìm kiếm nhị phân (Binary Search)
C. Giải thuật cấp phát tốt nhất (Best-Fit), cấp phát đầu tiên (First-Fit), hoặc cấp phát tệ nhất (Worst-Fit)
D. Giải thuật Dijkstra
108. Trong hệ điều hành, điều gì xảy ra khi một tiến trình bị ‘block’ (chặn)?
A. Tiến trình được cấp phát CPU và bắt đầu thực thi
B. Tiến trình tạm dừng thực thi cho đến khi một sự kiện nào đó xảy ra (ví dụ: hoàn thành I/O, nhận được tín hiệu)
C. Tiến trình bị kết thúc
D. Tiến trình được chuyển sang bộ nhớ ảo
109. Trong bảo mật hệ điều hành, ‘rootkit’ là gì?
A. Một công cụ để quản lý hệ thống tệp.
B. Một tập hợp các công cụ phần mềm được thiết kế để che giấu sự hiện diện của phần mềm độc hại và cho phép truy cập trái phép vào hệ thống.
C. Một chương trình để kiểm tra tính toàn vẹn của hệ thống.
D. Một cơ chế để bảo vệ hệ thống khỏi bị tấn công từ chối dịch vụ (DoS).
110. Trong hệ điều hành, ‘virtual memory’ (bộ nhớ ảo) là gì và nó hoạt động như thế nào?
A. Một loại bộ nhớ vật lý nhanh hơn RAM.
B. Một kỹ thuật cho phép hệ điều hành sử dụng không gian đĩa cứng làm bộ nhớ mở rộng, cho phép chạy các chương trình lớn hơn bộ nhớ vật lý.
C. Một phương pháp nén dữ liệu trong bộ nhớ.
D. Một cơ chế để bảo vệ bộ nhớ khỏi bị truy cập trái phép.
111. Trong hệ điều hành, thuật ngữ ‘race condition’ (điều kiện chạy đua) đề cập đến tình huống nào?
A. Hai hoặc nhiều tiến trình cố gắng truy cập và thay đổi cùng một dữ liệu chia sẻ đồng thời, và kết quả cuối cùng phụ thuộc vào thứ tự thực hiện.
B. Một tiến trình chiếm giữ CPU quá lâu, làm chậm các tiến trình khác.
C. Hệ thống bị thiếu bộ nhớ, dẫn đến việc các tiến trình cạnh tranh để giành quyền sử dụng bộ nhớ.
D. Hai hoặc nhiều tiến trình bị khóa lẫn nhau, không thể tiếp tục thực thi.
112. Chức năng chính của bộ nhớ cache là gì?
A. Để lưu trữ dữ liệu lâu dài.
B. Để tăng tốc độ truy cập dữ liệu bằng cách lưu trữ các bản sao của dữ liệu thường xuyên được sử dụng gần CPU.
C. Để quản lý bộ nhớ ảo.
D. Để bảo vệ bộ nhớ khỏi bị truy cập trái phép.
113. Trong ngữ cảnh của hệ điều hành, ‘virtualization’ (ảo hóa) là gì?
A. Một kỹ thuật để nén dữ liệu.
B. Một công nghệ cho phép chạy nhiều hệ điều hành trên cùng một phần cứng vật lý.
C. Một phương pháp để tăng tốc độ truy cập bộ nhớ.
D. Một cơ chế để bảo vệ hệ thống khỏi bị tấn công mạng.
114. Sự khác biệt chính giữa hard link và symbolic link (soft link) trong hệ thống tệp Unix/Linux là gì?
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 gốc.
B. Hard link chỉ có thể trỏ đến các tệp trên cùng một hệ thống tệp, trong khi symbolic link có thể trỏ đến các tệp trên các hệ thống tệp khác nhau.
C. Hard link có inode riêng, trong khi symbolic link chia sẻ inode với tệp gốc.
D. Hard link tự động cập nhật khi tệp gốc bị thay đổi, trong khi symbolic link thì không.
115. Khi một chương trình gặp lỗi và cần được gỡ lỗi, hệ điều hành cung cấp cơ chế nào để hỗ trợ việc này?
A. Trình biên dịch (Compiler)
B. Trình liên kết (Linker)
C. Trình gỡ lỗi (Debugger)
D. Trình quản lý bộ nhớ (Memory Manager)
116. Công cụ nào thường được sử dụng để theo dõi hiệu suất hệ thống (ví dụ: sử dụng CPU, bộ nhớ, I/O) trong Linux?
A. grep.
B. ls.
C. top hoặc htop.
D. rm.
117. Trong hệ điều hành, ‘deadlock’ (bế tắc) là gì và các điều kiện cần thiết để xảy ra deadlock là gì?
A. Deadlock là tình trạng hệ thống bị treo do thiếu bộ nhớ.
B. Deadlock là tình trạng hai hoặc nhiều tiến trình bị khóa lẫn nhau, mỗi tiến trình chờ đợi một tài nguyên mà tiến trình khác đang giữ.
C. Deadlock là tình trạng một tiến trình chiếm giữ CPU quá lâu, làm chậm các tiến trình khác.
D. Deadlock là tình trạng hệ thống bị tấn công từ chối dịch vụ (DoS).
118. Trong hệ thống tệp, inode là gì?
A. Một khối dữ liệu chứa nội dung của tệp.
B. Một bảng chứa danh sách tất cả các tệp trong hệ thống.
C. Một cấu trúc dữ liệu chứa thông tin về một tệp, như quyền truy cập, kích thước, và vị trí các khối dữ liệu.
D. Một chương trình tiện ích để quản lý tệp.
119. Trong hệ điều hành, cơ chế DMA (Direct Memory Access) cho phép thiết bị ngoại vi nào 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?
A. CPU
B. RAM
C. Thiết bị ngoại vi (ví dụ: ổ cứng, card mạng)
D. Bộ nhớ cache
120. Điều gì xảy ra khi một tiến trình tạo ra một tiến trình con (child process) bằng lệnh gọi hệ thống ‘fork’ trong Unix/Linux?
A. Tiến trình cha (parent process) kết thúc.
B. Một bản sao của tiến trình cha được tạo ra, bao gồm cả không gian địa chỉ, mã và dữ liệu.
C. Tiến trình con chia sẻ không gian địa chỉ với tiến trình cha.
D. Tiến trình cha và tiến trình con chạy đồng thời trong cùng một không gian địa chỉ.
121. Trong hệ điều hành, ‘paging’ và ‘segmentation’ khác nhau như thế nào trong việc quản lý bộ nhớ?
A. Paging chia bộ nhớ thành các khối có kích thước cố định (trang), trong khi segmentation chia bộ nhớ thành các khối có kích thước thay đổi (segment).
B. Segmentation chia bộ nhớ thành các khối có kích thước cố định (trang), trong khi paging chia bộ nhớ thành các khối có kích thước thay đổi (segment).
C. Paging sử dụng địa chỉ logic, trong khi segmentation sử dụng địa chỉ vật lý.
D. Segmentation đơn giản hơn paging.
122. Thuật ngữ ‘deadlock’ (bế tắc) trong hệ điều hành mô tả tình huống nào?
A. Một tiến trình bị treo do lỗi lập trình.
B. Hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên, dẫn đến không tiến trình nào có thể tiếp tục.
C. Hệ thống bị quá tải do có quá nhiều tiến trình chạy đồng thời.
D. Bộ nhớ bị đầy, khiến hệ thống không thể tạo thêm tiến trình mới.
123. Trong hệ điều hành, ‘system call’ là gì?
A. Một hàm thư viện tiêu chuẩn.
B. Một yêu cầu từ một chương trình người dùng đến kernel để thực hiện một tác vụ đặc quyền.
C. Một lệnh gỡ lỗi.
D. Một chương trình hệ thống.
124. Trong hệ thống tệp, inode là gì?
A. Một khối dữ liệu chứa nội dung của tệp.
B. Một bảng chứa danh sách tất cả các tệp trong hệ thống.
C. Một cấu trúc dữ liệu chứa siêu dữ liệu (metadata) về một tệp, chẳng hạn như quyền truy cập, kích thước và vị trí các khối dữ liệu.
D. Một chương trình dùng để quản lý các tệp và thư mục.
125. Cơ chế nào trong hệ điều hành cho phép một tiến trình đang chạy tạm dừng để một tiến trình khác có độ ưu tiên cao hơn được thực thi?
A. Đa nhiệm (Multitasking).
B. Chia sẻ thời gian (Time-sharing).
C. Ngắt (Interrupt).
D. Định thời ưu tiên (Priority scheduling).
126. Trong hệ điều hành, mục đích của TLB (Translation Lookaside Buffer) là gì?
A. Lưu trữ các trang bộ nhớ thường xuyên được sử dụng để tăng tốc độ truy cập bộ nhớ.
B. Lưu trữ các địa chỉ logic đã được dịch sang địa chỉ vật lý để tăng tốc độ chuyển đổi địa chỉ.
C. Lưu trữ các lệnh thường xuyên được sử dụng để tăng tốc độ thực thi chương trình.
D. Lưu trữ các khóa mã hóa để bảo mật dữ liệu.
127. Trong hệ điều hành, ‘buffering’ được sử dụng để làm gì?
A. Tăng tốc độ truy cập bộ nhớ.
B. Điều chỉnh sự khác biệt về tốc độ giữa các thiết bị hoặc tiến trình khác nhau.
C. Mã hóa dữ liệu.
D. Nén dữ liệu.
128. Phương pháp nào thường được sử dụng để ngăn chặn deadlock?
A. Cho phép tất cả các tiến trình truy cập vào tất cả các tài nguyên.
B. Yêu cầu các tiến trình yêu cầu tất cả các tài nguyên cần thiết trước khi bắt đầu thực thi.
C. Sử dụng thuật toán phát hiện deadlock và giải quyết nó khi xảy ra.
D. Tăng dung lượng bộ nhớ.
129. Trong hệ điều hành, ‘memory leak’ là gì?
A. Một lỗi phần mềm khiến chương trình không giải phóng bộ nhớ đã cấp phát, dẫn đến lãng phí bộ nhớ.
B. Một lỗi phần cứng khiến bộ nhớ bị hỏng.
C. Một cuộc tấn công bảo mật nhằm vào bộ nhớ hệ thống.
D. Một tình trạng hệ thống bị thiếu bộ nhớ.
130. Trong ngữ cảnh hệ điều hành, ‘virtualization’ là gì?
A. Quá trình tạo ra các phiên bản ảo của phần cứng, cho phép chạy nhiều hệ điều hành trên cùng một máy vật lý.
B. Quá trình nén dữ liệu để tiết kiệm không gian lưu trữ.
C. Quá trình mã hóa dữ liệu để bảo mật thông tin.
D. Quá trình gỡ lỗi phần mềm.
131. Sự khác biệt chính giữa preemptive scheduling và non-preemptive scheduling là gì?
A. Preemptive scheduling cho phép một tiến trình bị ngắt giữa chừng để một tiến trình khác chạy, trong khi non-preemptive scheduling không cho phép điều này.
B. Non-preemptive scheduling cho phép một tiến trình bị ngắt giữa chừng để một tiến trình khác chạy, trong khi preemptive scheduling không cho phép điều này.
C. Preemptive scheduling đơn giản hơn non-preemptive scheduling.
D. Non-preemptive scheduling hiệu quả hơn preemptive scheduling.
132. Thuật toán nào được sử dụng để chuyển đổi địa chỉ logic thành địa chỉ vật lý trong hệ thống bộ nhớ ảo?
A. Phân trang (Paging).
B. Phân đoạn (Segmentation).
C. Hoán đổi (Swapping).
D. Định vị (Placement).
133. Sự khác biệt chính giữa microkernel và monolithic kernel là gì?
A. Microkernel nhỏ hơn monolithic kernel.
B. Microkernel chứa hầu hết các dịch vụ hệ điều hành trong không gian người dùng, trong khi monolithic kernel chứa hầu hết các dịch vụ trong không gian kernel.
C. Monolithic kernel an toàn hơn microkernel.
D. Microkernel nhanh hơn monolithic kernel.
134. Giải pháp nào thường được sử dụng để giải quyết race condition?
A. Tăng tốc độ CPU.
B. Sử dụng khóa (locks) hoặc semaphore để đồng bộ hóa truy cập vào dữ liệu chia sẻ.
C. Giảm số lượng tiến trình chạy đồng thời.
D. Sử dụng bộ nhớ ảo.
135. Sự khác biệt chính giữa semaphore nhị phân (binary semaphore) và semaphore đếm (counting semaphore) là gì?
A. Semaphore nhị phân chỉ có thể có giá trị 0 hoặc 1, trong khi semaphore đếm có thể có giá trị bất kỳ.
B. Semaphore đếm chỉ có thể có giá trị 0 hoặc 1, trong khi semaphore nhị phân có thể có giá trị bất kỳ.
C. Semaphore nhị phân chỉ được sử dụng cho đồng bộ hóa tiến trình, trong khi semaphore đếm chỉ được sử dụng cho loại trừ lẫn nhau.
D. Semaphore đếm nhanh hơn semaphore nhị phân.
136. Trong hệ điều hành, ‘kernel panic’ là gì?
A. Một thông báo lỗi nhỏ.
B. Một lỗi nghiêm trọng khiến hệ điều hành không thể tiếp tục hoạt động và phải khởi động lại.
C. Một cảnh báo về việc hệ thống sắp hết bộ nhớ.
D. Một công cụ để gỡ lỗi kernel.
137. Trong hệ điều hành, ‘race condition’ xảy ra khi nào?
A. Hai hoặc nhiều tiến trình cố gắng truy cập và sửa đổi cùng một dữ liệu chia sẻ đồng thời.
B. Một tiến trình chiếm giữ CPU quá lâu.
C. Hệ thống bị thiếu bộ nhớ.
D. Một tiến trình cố gắng truy cập vào một vùng nhớ không hợp lệ.
138. Trong ngữ cảnh hệ điều hành, thuật ngữ ‘thrashing’ đề cập đến hiện tượng gì?
A. CPU liên tục chuyển đổi giữa các tiến trình nhưng không có tiến trình nào thực sự hoàn thành công việc.
B. Hệ thống liên tục thực hiện các thao tác vào/ra đĩa do thiếu bộ nhớ vật lý, làm giảm hiệu năng tổng thể.
C. Một tiến trình chiếm giữ CPU quá lâu, ngăn cản các tiến trình khác thực thi.
D. Hệ thống bị tấn công từ chối dịch vụ (DoS).
139. Trong hệ điều hành, ‘zombie process’ là gì?
A. Một tiến trình đang chạy ngầm.
B. Một tiến trình đã hoàn thành việc thực thi nhưng vẫn còn một entry trong bảng tiến trình.
C. Một tiến trình bị treo.
D. Một tiến trình đang chờ tài nguyên.
140. Trong hệ điều hành, ‘context switching’ là gì?
A. Quá trình chuyển đổi giữa các chế độ người dùng và chế độ kernel.
B. Quá trình lưu và phục hồi trạng thái của một tiến trình để CPU có thể chuyển sang thực thi một tiến trình khác.
C. Quá trình phân bổ bộ nhớ cho một tiến trình mới.
D. Quá trình gỡ lỗi một chương trình.
141. Sự khác biệt chính giữa hard link và symbolic link trong hệ thống tệp Unix là gì?
A. Hard link tạo ra một bản sao của tệp, trong khi symbolic link tạo ra một con trỏ đến tệp gốc.
B. Symbolic link tạo ra một bản sao của tệp, trong khi hard link tạo ra một con trỏ đến tệp gốc.
C. Hard link có thể trỏ đến các tệp trên các phân vùng khác nhau, trong khi symbolic link thì không.
D. Symbolic link không thể trỏ đến các tệp trên các phân vùng khác nhau, trong khi hard link thì có thể.
142. Trong hệ điều hành, mục đích của ‘device driver’ là gì?
A. Điều khiển phần cứng máy tính trực tiếp.
B. Cung cấp một giao diện thống nhất cho hệ điều hành để giao tiếp với các thiết bị phần cứng khác nhau.
C. Quản lý bộ nhớ của hệ thống.
D. Lập lịch các tiến trình.
143. Trong các thuật toán quản lý bộ nhớ, thuật toán nào có xu hướng tạo ra nhiều phân mảnh ngoại nhất?
A. First-fit.
B. Best-fit.
C. Worst-fit.
D. Next-fit.
144. Trong ngữ cảnh bảo mật hệ điều hành, ‘principle of least privilege’ nghĩa là gì?
A. Mỗi người dùng nên có quyền truy cập tối thiểu cần thiết để thực hiện công việc của họ.
B. Tất cả người dùng nên có quyền truy cập như nhau vào hệ thống.
C. Chỉ quản trị viên hệ thống mới có quyền truy cập vào các tài nguyên quan trọng.
D. Tất cả các tiến trình nên chạy với quyền root.
145. Trong hệ điều hành, DMA (Direct Memory Access) là gì?
A. Một kỹ thuật cho phép CPU truy cập trực tiếp vào bộ nhớ của các thiết bị ngoại vi.
B. Một kỹ thuật cho phép các thiết bị ngoại vi truy cập trực tiếp vào bộ nhớ hệ thống mà không cần sự can thiệp của CPU.
C. Một kỹ thuật để tăng tốc độ truy cập bộ nhớ cache.
D. Một kỹ thuật để quản lý bộ nhớ ảo.
146. Sự khác biệt chính giữa process và thread là gì?
A. Process là một chương trình đang thực thi, trong khi thread là một đơn vị thực thi nhỏ hơn bên trong một process.
B. Thread là một chương trình đang thực thi, trong khi process là một đơn vị thực thi nhỏ hơn bên trong một thread.
C. Process nhanh hơn thread.
D. Thread an toàn hơn process.
147. Trong hệ điều hành, ‘scheduler’ có vai trò gì?
A. Quản lý bộ nhớ.
B. Chọn tiến trình nào sẽ được thực thi tiếp theo bởi CPU.
C. Quản lý các thiết bị ngoại vi.
D. Quản lý hệ thống tệp.
148. Trong hệ thống tệp, RAID (Redundant Array of Independent Disks) được sử dụng để làm gì?
A. Tăng tốc độ truy cập dữ liệu.
B. Cung cấp khả năng chịu lỗi và tăng độ tin cậy của lưu trữ dữ liệu.
C. Giảm phân mảnh tệp.
D. Mã hóa dữ liệu.
149. Trong hệ điều hành, ‘spooling’ được sử dụng để làm gì?
A. Quản lý các yêu cầu in ấn, cho phép nhiều người dùng chia sẻ một máy in.
B. Tăng tốc độ truy cập bộ nhớ.
C. Mã hóa dữ liệu.
D. Nén dữ liệu.
150. Mục đích chính của việc sử dụng bộ nhớ ảo (virtual memory) trong hệ điều hành 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ý hiện có.
C. Giảm thiểu phân mảnh bộ nhớ.
D. Tăng cường bảo mật hệ thống.