1. Trong hệ thống quản lý bộ nhớ, TLB (Translation Lookaside Buffer) được sử dụng để làm gì?
A. Lưu trữ dữ liệu tạm thời.
B. Tăng tốc độ truy cập bộ nhớ bằng cách lưu trữ các ánh xạ trang gần đây.
C. Quản lý bộ nhớ cache.
D. Bảo vệ bộ nhớ khỏi truy cập trái phép.
2. Trong ngữ cảnh hệ thống phân tán, CAP theorem 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 sẵn sàng (Availability), và Khả năng chịu phân vùng (Partition tolerance).
B. Một hệ thống phân tán phải đảm bảo cả ba thuộc tính: Tính nhất quán, Tính sẵn sàng, và Khả năng chịu phân vùng.
C. Một hệ thống phân tán chỉ cần đảm bảo tính sẵn sàng.
D. Một hệ thống phân tán chỉ cần đảm bảo tính nhất quán.
3. Điều gì xảy ra khi một lỗi trang (page fault) xảy ra?
A. Hệ điều hành sẽ chấm dứt tiến trình gây ra lỗi.
B. Hệ điều hành sẽ tìm trang cần thiết trên đĩa và đưa nó vào bộ nhớ.
C. Hệ điều hành sẽ bỏ qua lỗi và tiếp tục thực thi.
D. Hệ điều hành sẽ khởi động lại máy tính.
4. Điều gì là vai trò của trình biên dịch (compiler) trong quá trình phát triển phần mềm?
A. Chạy chương trình.
B. Biên dịch mã nguồn thành mã máy để máy tính có thể hiểu và thực thi.
C. Gỡ lỗi chương trình.
D. Quản lý bộ nhớ.
5. Trong ngữ cảnh bảo mật hệ thống, tấn công buffer overflow là gì?
A. Một loại tấn công từ chối dịch vụ (DoS).
B. Một loại tấn công mà kẻ tấn công ghi đè lên bộ nhớ đệm (buffer) để thực thi mã độc.
C. Một loại tấn công đánh cắp thông tin.
D. Một loại tấn công thay đổi dữ liệu trên đĩa cứng.
6. 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ư kích thước, quyền truy cập, và vị trí các khối dữ liệu của tệp.
D. Một chương trình quản lý hệ thống tệp.
7. Trong bảo mật hệ thống, cơ chế nào sau đây được sử dụng để xác thực người dùng?
A. Firewall.
B. Mật khẩu (password) và các phương pháp xác thực khác.
C. Kiểm soát truy cập (access control).
D. Mã hóa dữ liệu (data encryption).
8. 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 thực thể thụ động, chứa các chỉ thị để thực hiện một tác vụ.
C. Một chương trình đang được thực thi cùng với các tài nguyên được cấp phát.
D. Một đoạn mã tĩnh không thể thay đổi trong quá trình hoạt động.
9. Trong hệ thống hàng đợi (queueing system), thuật ngữ `FIFO` đại diện cho điều gì?
A. Fast In, Fast Out.
B. First In, First Out.
C. File Input, File Output.
D. Frequent Input, Frequent Output.
10. Trong ngữ cảnh 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 đáp ứng (response time) có thể dự đoán được.
C. Giảm thiểu việc sử dụng bộ nhớ.
D. Đơn giản hóa giao diện người dùng.
11. Thuật toán lập lịch nào sau đây có thể dẫn đến tình trạng `đói tài nguyên` (starvation)?
A. First-Come, First-Served (FCFS).
B. Shortest Job First (SJF).
C. Round Robin.
D. Priority Scheduling.
12. Trong hệ thống đa xử lý (multiprocessing), mutex được sử dụng để làm gì?
A. Chia sẻ dữ liệu giữa các tiến trình.
B. Đồng bộ hóa truy cập vào các tài nguyên dùng chung để tránh tình trạng tranh chấp.
C. Tăng tốc độ xử lý của hệ thống.
D. Quản lý bộ nhớ.
13. Trong hệ điều hành, system call là gì?
A. Một hàm thư viện được sử dụng bởi các chương trình người dù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 chương trình hệ thống quản lý tài nguyên phần cứng.
D. Một trình điều khiển thiết bị.
14. Điều gì là lợi ích chính của việc sử dụng hệ thống tệp nhật ký (journaling file system)?
A. Tăng tốc độ truy cập tệp.
B. Giảm thiểu nguy cơ mất dữ liệu do sự cố hệ thống.
C. Tăng dung lượng lưu trữ.
D. Đơn giản hóa việc quản lý tệp.
15. Đâu là nhược điểm chính của việc sử dụng bộ nhớ cache?
A. Giá thành cao.
B. Dung lượng nhỏ.
C. Tính nhất quán dữ liệu (cache coherence) có thể trở thành vấn đề.
D. Tất cả các đáp án trên.
16. 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 là một đơn vị thực thi lớn hơn và chứa nhiều luồng, trong khi luồng là một đơn vị thực thi nhỏ hơn nằm trong một tiến trình.
B. Luồng có không gian địa chỉ riêng, trong khi tiến trình chia sẻ không gian địa chỉ.
C. Tiến trình có thể chia sẻ dữ liệu dễ dàng hơn luồng.
D. Luồng là một khái niệm chỉ tồn tại trong hệ điều hành đơn nhiệm.
17. Trong hệ thống phân tán (distributed system), consensus algorithm được sử dụng để làm gì?
A. Chia sẻ tài nguyên 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.
C. Tăng tốc độ truyền dữ liệu.
D. Bảo vệ hệ thống khỏi các cuộc tấn công mạng.
18. Trong ảo hóa (virtualization), hypervisor là gì?
A. Một hệ điều hành khách (guest OS).
B. Một ứng dụng chạy trên hệ điều hành.
C. Một phần mềm hoặc phần cứng cho phép nhiều hệ điều hành chạy đồng thời trên một máy chủ vật lý.
D. Một công cụ quản lý mạng.
19. Cơ chế nào sau đây được sử dụng để ngăn chặn deadlock?
A. Cho phép 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.
B. Yêu cầu các tiến trình giải phóng tài nguyên sau khi sử dụng xong.
C. Sử dụng thuật toán phát hiện deadlock và phục hồi.
D. Áp đặt một thứ tự tuyến tính trên tất cả các loại tài nguyên.
20. Trong hệ thống tệp, hard link và symbolic link khác nhau như thế nào?
A. Hard link có thể trỏ đến các tệp trên các hệ thống tệp khác nhau, trong khi symbolic link thì không.
B. Hard link tạo một bản sao của tệp, trong khi symbolic link chỉ tạo một con trỏ đến tệp gốc.
C. Hard link trỏ trực tiếp đến inode của tệp, trong khi symbolic link trỏ đến đường dẫn của tệp.
D. Hard link chỉ có thể được tạo bởi người dùng root, trong khi symbolic link có thể được tạo bởi bất kỳ người dùng nào.
21. 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 thay đổi.
B. Một phương pháp cấp phát bộ nhớ liên tục cho các tiến trình.
C. Một kỹ thuật chia bộ nhớ vật lý thành các khung trang (frame) có kích thước cố định và bộ nhớ logic thành các trang (page) tương ứng.
D. Một cơ chế bảo vệ bộ nhớ ngăn chặn các tiến trình truy cập vào vùng nhớ của nhau.
22. Trong kiến trúc microkernel, điều gì là ưu điểm chính so với kiến trúc monolithic kernel?
A. Hiệu suất cao hơn.
B. Kích thước kernel nhỏ hơn và khả năng mở rộng tốt hơn.
C. Dễ dàng phát triển và bảo trì hơn.
D. Tất cả các đáp án trên.
23. Đ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 được đưa vào hàng đợi để chờ CPU xử lý.
B. Tiến trình bị hủy bỏ và giải phóng tài nguyên.
C. Tiến trình bắt đầu thực thi ngay lập tức.
D. Tiến trình được chuyển đến bộ nhớ ngoài.
24. Trong hệ thống đa nhiệm (multitasking), 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 trữ trạng thái của một tiến trình và khôi phục trạng thái của một tiến trình khác để cho phép nhiều tiến trình chia sẻ CPU.
C. Quá trình cấp phát bộ nhớ cho các tiến trình.
D. Quá trình đồng bộ hóa các tiến trình.
25. 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 nhị phân được sử dụng để bảo vệ các vùng dữ liệu quan trọng, trong khi semaphore đếm được sử dụng để đồng bộ hóa tiến trình.
C. Semaphore nhị phân không hỗ trợ cơ chế chờ đợi, trong khi semaphore đếm có hỗ trợ.
D. Semaphore nhị phân nhanh hơn semaphore đếm.
26. 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 (fault tolerance).
C. Tăng dung lượng lưu trữ.
D. Tất cả các đáp án trên.
27. Điều gì là mục tiêu của việc sử dụng thuật toán thay thế trang (page replacement algorithm) trong quản lý bộ nhớ ảo?
A. Tăng tốc độ truy cập bộ nhớ.
B. Giảm số lượng lỗi trang (page fault).
C. Tăng dung lượng bộ nhớ ảo.
D. Đơn giản hóa việc quản lý bộ nhớ.
28. Điều gì là mục tiêu 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 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. Đơn giản hóa việc quản lý bộ nhớ.
29. Trong ngữ cảnh lập lịch CPU, thời gian chờ trung bình (average waiting time) được sử dụng để đánh giá điều gì?
A. Tổng thời gian CPU bận.
B. Hiệu suất của thuật toán lập lịch.
C. Thời gian một tiến trình thực thi.
D. Số lượng tiến trình hoàn thành trong một đơn vị thời gian.
30. Trong hệ thống bảo mật, MAC (Mandatory Access Control) là gì?
A. Một cơ chế kiểm soát truy cập dựa trên danh tính của người dùng.
B. Một cơ chế kiểm soát truy cập dựa trên chính sách bảo mật được xác định bởi hệ thống.
C. Một cơ chế kiểm soát truy cập dựa trên quyền sở hữu của tài nguyên.
D. Một cơ chế kiểm soát truy cập dựa trên mật khẩu.