1. Trong ảo hóa, sự khác biệt chính giữa `hypervisor type 1` và `hypervisor type 2` là gì?
A. Hypervisor type 1 chạy trực tiếp trên phần cứng, trong khi hypervisor type 2 chạy trên một hệ điều hành chủ.
B. Hypervisor type 2 chạy trực tiếp trên phần cứng, trong khi hypervisor type 1 chạy trên một hệ điều hành chủ.
C. Hypervisor type 1 hỗ trợ nhiều máy ảo hơn hypervisor type 2.
D. Hypervisor type 2 an toàn hơn hypervisor type 1.
2. Trong ngữ cảnh bảo mật hệ điều hành, ASLR (Address Space Layout Randomization) là gì?
A. Một kỹ thuật mã hóa dữ liệu.
B. Một kỹ thuật ngẫu nhiên hóa vị trí của các vùng nhớ (ví dụ: stack, heap) để gây khó khăn cho các cuộc tấn công buffer overflow.
C. Một phương pháp kiểm soát truy cập.
D. Một công cụ giám sát hệ thống.
3. Mutex (loại trừ lẫn nhau) được sử dụng để làm gì trong hệ điều hành?
A. Tăng tốc độ truy cập bộ nhớ.
B. Đảm bảo chỉ một tiến trình có thể truy cập tài nguyên quan trọng tại một thời điểm.
C. Quản lý bộ nhớ ảo.
D. Lập lịch CPU.
4. Trong hệ thống quản lý bộ nhớ, TLB (Translation Lookaside Buffer) là gì?
A. Một loại bộ nhớ chỉ đọc.
B. Một cache chứa các ánh xạ địa chỉ ảo sang địa chỉ vật lý gần đây để tăng tốc độ dịch địa chỉ.
C. Một đơn vị quản lý bộ nhớ trong CPU.
D. Một cơ chế bảo vệ bộ nhớ.
5. Deadlock (bế tắc) xảy ra khi nào?
A. Khi một tiến trình bị lỗi và dừng hoạt động.
B. Khi hai hoặc nhiều tiến trình chờ đợi lẫn nhau để giải phóng tài nguyên mà chúng đang giữ.
C. Khi bộ nhớ bị đầy.
D. Khi CPU quá tải.
6. Trong hệ điều hành, tiến trình (process) được định nghĩa là gì?
A. Một chương trình đang được lưu trữ trên đĩa.
B. Một đơn vị thực thi độc lập, có tài nguyên riêng và được quản lý bởi hệ điều hành.
C. Một đoạn mã tĩnh được viết bằng ngôn ngữ lập trình.
D. Một tập hợp các lệnh được biên dịch thành mã máy.
7. Trong hệ thống phân tán, `CAP theorem` (định lý CAP) phát biểu điều gì?
A. Một hệ thống phân tán chỉ có thể đảm bảo tối đa hai trong ba thuộc tính: Tính nhất quán (Consistency), Tính khả dụng (Availability), và Tính chịu phân vùng (Partition tolerance).
B. Một hệ thống phân tán luôn phải đảm bảo cả ba thuộc tính: Tính nhất quán, Tính khả dụng, và Tính chịu phân vùng.
C. Tính nhất quán và tính khả dụng luôn mâu thuẫn với nhau.
D. Tính chịu phân vùng là không cần thiết trong một hệ thống phân tán.
8. Trong lập lịch CPU, thuật toán `First-Come, First-Served` (FCFS) có nhược điểm gì?
A. Ưu tiên các tiến trình ngắn.
B. Có thể gây ra hiệu ứng `convoy`, làm giảm hiệu suất.
C. Đảm bảo thời gian chờ đợi công bằng cho tất cả các tiến trình.
D. Khó triển khai.
9. Trong hệ điều hành, `system call` (lời gọi hệ thống) là gì?
A. Một hàm được sử dụng để tăng tốc độ hệ thống.
B. Một giao diện cho phép các chương trình người dùng yêu cầu dịch vụ từ kernel của hệ điều hành.
C. Một loại ngắt phần cứng.
D. Một chương trình gỡ lỗi hệ thống.
10. Trong ngữ cảnh lập trình đồng thời, `race condition` (điều kiện chạy đua) là gì?
A. Một cuộc thi giữa các lập trình viên.
B. Một tình huống khi kết quả của chương trình phụ thuộc vào thứ tự thực thi không xác định của các tiến trình hoặc luồng.
C. Một thuật toán sắp xếp dữ liệu.
D. Một lỗi cú pháp trong mã nguồn.
11. Trong hệ thống tệp, `journaling` là gì?
A. Một kỹ thuật nén tệp.
B. Một kỹ thuật ghi lại các thay đổi hệ thống tệp trước khi thực hiện chúng để đảm bảo tính nhất quán và khả năng phục hồi sau sự cố.
C. Một phương pháp mã hóa tệp.
D. Một công cụ tìm kiếm tệp.
12. Sự khác biệt chính giữa `hard link` và `symbolic link` (soft link) trong hệ thống tệp Linux là gì?
A. Hard link có thể trỏ đến thư mục, symbolic link thì không.
B. Hard link trỏ trực tiếp đến inode, symbolic link trỏ đến đường dẫn của tệp.
C. Hard link có thể trỏ đến tệp trên phân vùng khác, symbolic link thì không.
D. Hard link chiếm nhiều dung lượng đĩa hơn symbolic link.
13. Trong hệ thống tệp, mục đích của việc sử dụng `disk quotas` (hạn ngạch đĩa) là gì?
A. Tăng tốc độ truy cập đĩa.
B. Giới hạn lượng không gian đĩa mà một người dùng hoặc nhóm có thể sử dụng.
C. Mã hóa dữ liệu trên đĩa.
D. Chống phân mảnh đĩa.
14. Trong ngữ cảnh quản lý bộ nhớ, phân trang (paging) là gì?
A. Một kỹ thuật chia bộ nhớ thành các đoạn có kích thước khác nhau.
B. Một kỹ thuật chia bộ nhớ thành các trang có kích thước cố định.
C. Một kỹ thuật nén dữ liệu trong bộ nhớ.
D. Một kỹ thuật bảo vệ bộ nhớ khỏi bị truy cập trái phép.
15. Trong lập lịch CPU, thuật toán `Priority Scheduling` có thể gặp phải vấn đề gì?
A. Hiệu ứng convoy.
B. Starvation (đói tài nguyên).
C. Thời gian chờ đợi ngắn.
D. Độ trễ thấp.
16. RAID là viết tắt của cụm từ nào?
A. Random Access of Independent Disks.
B. Redundant Array of Inexpensive Disks.
C. Redundant Allocation of Integrated Devices.
D. Rotational Array of Input Devices.
17. Mục đích chính của việc sử dụng cache trong hệ thống là gì?
A. Tăng dung lượng bộ nhớ.
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.
C. Bảo vệ dữ liệu khỏi bị mất mát.
D. Giảm điện năng tiêu thụ.
18. Điều kiện nào sau đây *không* phải là một trong bốn điều kiện cần thiết để xảy ra deadlock (bế tắc) theo Coffman?
A. Loại trừ lẫn nhau (Mutual Exclusion).
B. Giữ và chờ (Hold and Wait).
C. Không trưng dụng (No Preemption).
D. Ưu tiên tiến trình (Process Priority).
19. Docker là một ví dụ của công nghệ nào?
A. Bộ nhớ ảo.
B. Ảo hóa cấp hệ điều hành (Operating System-level virtualization).
C. Ảo hóa phần cứng (Hardware virtualization).
D. Lập lịch CPU.
20. Trong bảo mật, `buffer overflow` (tràn bộ đệm) là gì?
A. Một lỗi phần cứng gây ra mất dữ liệu.
B. Một lỗ hổng bảo mật xảy ra khi dữ liệu được ghi vượt quá kích thước của bộ đệm, có thể dẫn đến thực thi mã độc.
C. Một tình trạng khi bộ nhớ bị phân mảnh quá mức.
D. Một lỗi trong trình biên dịch.
21. Trong bảo mật hệ thống, `principle of least privilege` (nguyên tắc đặc quyền tối thiểu) nghĩa là gì?
A. Mọi người dùng nên có quyền truy cập không giới hạn vào tất cả các tài nguyên.
B. Mọi 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 công việc của họ.
C. Quyền truy cập nên được cấp cho những người dùng có kinh nghiệm nhất.
D. Quyền truy cập nên được thay đổi thường xuyên để tăng cường bảo mật.
22. Điều gì xảy ra khi một tiến trình chuyển từ trạng thái `chờ` (waiting) sang trạng thái `sẵn sàng` (ready)?
A. Tiến trình bị hủy bỏ.
B. Tiến trình được cấp phát CPU ngay lập tức.
C. Tiến trình được đưa vào hàng đợi sẵn sàng để chờ được cấp phát CPU.
D. Tiến trình chuyển sang trạng thái `đang chạy` (running).
23. Điều gì là ưu điểm chính của việc sử dụng bộ nhớ ảo (virtual memory)?
A. Tăng tốc độ truy cập bộ nhớ.
B. Cho phép các tiến trình có kích thước lớn hơn bộ nhớ vật lý.
C. Giảm thiểu sự phân mảnh bộ nhớ.
D. Đơn giản hóa việc quản lý bộ nhớ.
24. Cơ chế nào được sử dụng để chuyển đổi địa chỉ logic thành địa chỉ vật lý trong hệ thống phân trang?
A. Bảng trang (page table).
B. Bộ nhớ cache.
C. Bộ nhớ ảo.
D. Đoạn mã hệ thống.
25. Phương pháp nào sau đây thường được sử dụng để giải quyết Deadlock?
A. Ngăn chặn (Prevention), Tránh né (Avoidance), Phát hiện và phục hồi (Detection and Recovery).
B. Chỉ Ngăn chặn (Prevention).
C. Chỉ Tránh né (Avoidance).
D. Chỉ Phát hiện và phục hồi (Detection and Recovery).
26. Trong hệ thống phân tán, `consensus algorithm` (thuật toán đồng thuận) được sử dụng để làm gì?
A. Tăng tốc độ truyền dữ liệu giữa các nút.
B. Đảm bảo rằng tất cả các nút trong hệ thống đồng ý về một trạng thái duy nhất, ngay cả khi có lỗi.
C. Quản lý bộ nhớ trên các nút khác nhau.
D. Cân bằng tải giữa các nút.
27. Điều gì là sự khác biệt chính giữa hệ điều hành thời gian thực (real-time operating system - RTOS) và hệ điều hành thông thường?
A. RTOS sử dụng ít bộ nhớ hơn.
B. RTOS đảm bảo thời gian phản hồi nhanh chóng và có thể dự đoán được cho các tác vụ quan trọng.
C. RTOS có giao diện người dùng đồ họa (GUI).
D. RTOS hỗ trợ nhiều người dùng hơn.
28. Hệ điều hành `microkernel` có đặc điểm gì?
A. Chứa tất cả các dịch vụ hệ thống trong kernel.
B. Chỉ chứa các dịch vụ cơ bản trong kernel, các dịch vụ khác chạy ở không gian người dùng.
C. Không hỗ trợ đa nhiệm.
D. Chỉ chạy trên các thiết bị di động.
29. 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. Round Robin.
B. Shortest Job First (SJF).
C. Priority Scheduling.
D. FCFS.
30. 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 cấu trúc dữ liệu chứa metadata (thông tin mô tả) về tệp.
C. Một danh sách các tệp trong một thư mục.
D. Một cơ chế bảo vệ tệp khỏi bị truy cập trái phép.