1. Điều gì xảy ra khi một tiến trình chuyển từ trạng thái 'Running' sang trạng thái 'Waiting'?
A. Tiến trình đã hoàn thành thực thi.
B. Tiến trình đang chờ một sự kiện nào đó xảy ra, ví dụ như hoàn thành thao tác I/O.
C. Tiến trình được chuyển sang hàng đợi sẵn sàng để chờ CPU.
D. Tiến trình bị hệ điều hành tạm dừng do lỗi.
2. Page replacement algorithms (thuật toán thay thế trang) được sử dụng khi nào trong quản lý bộ nhớ ảo?
A. Khi bộ nhớ RAM còn trống chỗ.
B. Khi một trang mới cần được đưa vào bộ nhớ RAM nhưng bộ nhớ RAM đã đầy, cần phải thay thế một trang hiện có.
C. Khi hệ thống khởi động.
D. Khi một tiến trình kết thúc.
3. Swap space (vùng trao đổi) trên ổ cứng được sử dụng cho mục đích gì trong quản lý bộ nhớ ảo?
A. Lưu trữ các chương trình và dữ liệu không sử dụng thường xuyên để giải phóng bộ nhớ RAM.
B. Làm bộ nhớ cache cho ổ cứng.
C. Sao lưu dữ liệu quan trọng.
D. Tăng tốc độ khởi động hệ thống.
4. Thành phần nào của hệ điều hành chịu trách nhiệm quản lý và cấp phát tài nguyên hệ thống cho các chương trình đang chạy?
A. Trình biên dịch
B. Nhân hệ điều hành (Kernel)
C. Giao diện người dùng
D. Thư viện hệ thống
5. Trong hệ thống file, inode là gì?
A. Tên của file.
B. Dữ liệu của file.
C. Cấu trúc dữ liệu chứa metadata (siêu dữ liệu) về file, như quyền truy cập, kích thước, vị trí dữ liệu.
D. Đường dẫn tuyệt đối đến file.
6. Cơ chế 'Context Switching' dùng để làm gì trong hệ điều hành?
A. Tăng tốc độ khởi động hệ thống.
B. Cho phép CPU chuyển đổi nhanh chóng giữa các tiến trình, tạo cảm giác đa nhiệm (multitasking).
C. Quản lý bộ nhớ cache của CPU.
D. Bảo vệ hệ thống khỏi sự cố treo máy.
7. Bộ nhớ ảo (Virtual Memory) được sử dụng để làm gì?
A. Tăng tốc độ truy cập bộ nhớ vật lý.
B. Cho phép các chương trình lớn hơn kích thước bộ nhớ vật lý được chạy.
C. Bảo vệ bộ nhớ khỏi virus và phần mềm độc hại.
D. Giảm mức tiêu thụ điện năng của hệ thống.
8. Mutex và Semaphore là các cơ chế đồng bộ hóa được sử dụng để giải quyết vấn đề gì trong hệ điều hành?
A. Lập lịch tiến trình.
B. Tránh tình trạng deadlock.
C. Tránh tình trạng race condition và đảm bảo tính toàn vẹn dữ liệu khi truy cập tài nguyên dùng chung.
D. Quản lý bộ nhớ ảo.
9. Thuật toán lập lịch CPU 'First-Come, First-Served (FCFS)' có nhược điểm chính nào?
A. Ưu tiên các tiến trình ngắn.
B. Có thể gây ra hiệu ứng 'convoy effect', làm giảm hiệu suất hệ thống.
C. Khó cài đặt và triển khai.
D. Đảm bảo thời gian đáp ứng nhanh cho tất cả các tiến trình.
10. Cơ chế 'paging' và 'segmentation' khác nhau cơ bản ở điểm nào trong quản lý bộ nhớ?
A. Paging chia bộ nhớ thành các khối có kích thước thay đổi, segmentation chia thành khối cố định.
B. Paging chia bộ nhớ thành các khối cố định (trang), segmentation chia thành các khối logic có kích thước thay đổi (segment) theo chương trình.
C. Paging chỉ sử dụng bộ nhớ vật lý, segmentation sử dụng cả bộ nhớ vật lý và bộ nhớ ảo.
D. Paging bảo vệ bộ nhớ tốt hơn segmentation.
11. Trong hệ thống file phân cấp (hierarchical file system), thư mục gốc (root directory) là gì?
A. Thư mục chứa hệ điều hành.
B. Thư mục đầu tiên và cao nhất trong cấu trúc cây thư mục, chứa tất cả các thư mục và file khác.
C. Thư mục chứa các file hệ thống quan trọng nhất.
D. Thư mục hiện tại mà người dùng đang làm việc.
12. Trong quản lý bộ nhớ, kỹ thuật 'phân trang' (paging) giúp giải quyết vấn đề nào?
A. Phân mảnh ngoại vi (external fragmentation).
B. Phân mảnh nội vi (internal fragmentation).
C. Tất cả các loại phân mảnh bộ nhớ.
D. Không loại phân mảnh nào cả.
13. 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. Mỗi người dùng nên có quyền truy cập tối đa vào hệ thống.
B. Mỗi chương 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 công việc của họ.
C. Tất cả các tài khoản người dùng nên sử dụng cùng một mật khẩu.
D. Hệ thống nên cấp đặc quyền cao nhất cho tất cả các tiến trình.
14. Deadlock (bế tắc) có thể xảy ra khi nào?
A. Chỉ khi có một tiến trình duy nhất trong hệ thống.
B. Khi nhiều tiến trình tranh giành tài nguyên và mỗi tiến trình giữ một tài nguyên mà nó cần và chờ đợi một tài nguyên khác đang bị giữ bởi tiến trình khác.
C. Khi hệ thống có đủ tài nguyên cho tất cả các tiến trình.
D. Khi hệ điều hành sử dụng thuật toán lập lịch preemptive.
15. Tiến trình (Process) khác với chương trình (Program) ở điểm nào?
A. Tiến trình là mã nguồn, chương trình là mã máy.
B. Tiến trình là một thực thể thụ động, chương trình là một thực thể chủ động.
C. Tiến trình là một phiên bản đang chạy của chương trình, chương trình là tập hợp các lệnh.
D. Tiến trình chỉ tồn tại trên ổ cứng, chương trình tồn tại trong bộ nhớ chính.
16. Bộ nhớ cache (Cache memory) hoạt động dựa trên nguyên tắc locality (tính cục bộ). Nguyên tắc này bao gồm loại locality nào?
A. Chỉ có locality về thời gian (temporal locality).
B. Chỉ có locality về không gian (spatial locality).
C. Cả locality về thời gian (temporal locality) và locality về không gian (spatial locality).
D. Không liên quan đến locality.
17. Cơ chế 'Virtual File System' (VFS) trong hệ điều hành Linux có vai trò gì?
A. Tăng tốc độ truy cập file trên ổ cứng SSD.
B. Cung cấp một giao diện thống nhất cho các hệ thống file khác nhau (ví dụ: ext4, NTFS, FAT32) để các ứng dụng có thể truy cập file một cách nhất quán mà không cần quan tâm đến loại hệ thống file bên dưới.
C. Mã hóa toàn bộ hệ thống file.
D. Quản lý bộ nhớ ảo cho hệ thống file.
18. Công nghệ DMA (Direct Memory Access) giúp cải thiện hiệu suất I/O như thế nào?
A. Tăng tốc độ CPU xử lý I/O.
B. Cho phép thiết bị I/O truyền dữ liệu trực tiếp đến hoặc từ bộ nhớ chính mà không cần sự can thiệp của CPU trong quá trình truyền dữ liệu.
C. Giảm dung lượng bộ nhớ cache cần thiết cho I/O.
D. Tăng cường bảo mật cho các thao tác I/O.
19. Mục đích chính của việc sử dụng 'system call' trong hệ điều hành là gì?
A. Tăng tốc độ xử lý của CPU.
B. 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. Quản lý bộ nhớ cache hiệu quả hơn.
D. Bảo vệ hệ thống khỏi lỗi phần cứng.
20. Trong bảo mật hệ thống, 'buffer overflow' (tràn bộ đệm) là loại tấn công khai thác lỗ hổng nào?
A. Tấn công từ chối dịch vụ (DoS).
B. Tấn công leo thang đặc quyền (privilege escalation).
C. Lỗ hổng trong việc quản lý bộ nhớ, khi dữ liệu vượt quá kích thước bộ đệm được cấp phát, ghi đè lên vùng nhớ lân cận, có thể dẫn đến thực thi mã độc.
D. Tấn công giả mạo (spoofing).
21. Sự khác biệt giữa 'process' và 'thread' là gì?
A. Process là đơn vị cấp phát CPU, thread là đơn vị cấp phát bộ nhớ.
B. Process chia sẻ không gian bộ nhớ, thread có không gian bộ nhớ riêng.
C. Process là đơn vị cấp phát tài nguyên (bộ nhớ, file, I/O), thread là đơn vị thực thi trong process và chia sẻ tài nguyên của process đó.
D. Process nhanh hơn thread.
22. RAID (Redundant Array of Independent Disks) là công nghệ đượ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 hệ thống lưu trữ dữ liệu bằng cách kết hợp nhiều ổ đĩa vật lý thành một đơn vị logic.
D. Bảo vệ máy tính khỏi virus.
23. Điều gì là nhược điểm của thuật toán lập lịch 'Round Robin'?
A. Có thể gây ra starvation cho các tiến trình dài.
B. Hiệu suất kém khi quantum thời gian quá lớn.
C. Hiệu suất kém khi quantum thời gian quá nhỏ do overhead context switching tăng.
D. Không công bằng với các tiến trình có độ ưu tiên khác nhau.
24. Ưu điểm chính của việc sử dụng microkernel so với monolithic kernel là gì về mặt bảo trì và mở rộng?
A. Microkernel khó bảo trì và mở rộng hơn.
B. Microkernel dễ bảo trì và mở rộng hơn do các dịch vụ chạy ở không gian người dùng, giảm thiểu ảnh hưởng khi có lỗi hoặc cần thay đổi.
C. Cả hai loại kernel đều có độ phức tạp bảo trì và mở rộng tương đương.
D. Monolithic kernel dễ bảo trì và mở rộng hơn.
25. Thuật toán lập lịch 'Shortest Job Next (SJN)' (hoặc Shortest Remaining Time First - SRTF) tối ưu hóa tiêu chí nào?
A. Thời gian phản hồi (response time).
B. Thời gian hoàn thành trung bình (average turnaround time).
C. Thời gian chờ trung bình (average waiting time).
D. Thông lượng (throughput).
26. Boot process (quá trình khởi động) của hệ điều hành thường bắt đầu từ đâu?
A. Từ nhân hệ điều hành (kernel).
B. Từ chương trình ứng dụng đầu tiên.
C. Từ BIOS/UEFI (firmware) trên bo mạch chủ.
D. Từ hệ thống file.
27. Trong hệ thống file, 'journaling' (ghi nhật ký) được sử dụng để làm gì?
A. Tăng tốc độ truy cập file.
B. Ghi lại mọi thao tác thay đổi metadata của hệ thống file vào một nhật ký trước khi thực hiện thay đổi thực sự, giúp hệ thống khôi phục trạng thái nhất quán sau sự cố.
C. Mã hóa dữ liệu file.
D. Nén dữ liệu file để tiết kiệm không gian lưu trữ.
28. Trong ngữ cảnh hệ điều hành, 'thrashing' (bội thực trang) là gì và nó gây ra vấn đề gì?
A. Một thuật toán lập lịch CPU hiệu quả.
B. Tình trạng hệ thống liên tục thực hiện thay thế trang với tần suất rất cao, dẫn đến CPU hầu như chỉ dành thời gian cho việc swap trang thay vì thực hiện công việc hữu ích, làm giảm hiệu suất hệ thống nghiêm trọng.
C. Một kỹ thuật nén dữ liệu bộ nhớ.
D. Một cơ chế bảo mật bộ nhớ.
29. Sự khác biệt chính giữa hệ điều hành 'Monolithic Kernel' và 'Microkernel' là gì?
A. Monolithic kernel có hiệu suất cao hơn, microkernel dễ bảo trì hơn.
B. Monolithic kernel có kích thước nhỏ hơn, microkernel có kích thước lớn hơn.
C. Monolithic kernel miễn phí, microkernel có phí bản quyền.
D. Không có sự khác biệt đáng kể.
30. Spinlock là loại lock nào và thường được sử dụng khi nào?
A. Loại lock ngủ (sleeping lock), sử dụng khi thời gian chờ khóa dự kiến dài.
B. Loại lock bận chờ (busy-waiting lock), sử dụng khi thời gian chờ khóa dự kiến rất ngắn.
C. Loại lock độc quyền (exclusive lock), sử dụng cho các tài nguyên quan trọng.
D. Loại lock chia sẻ (shared lock), sử dụng cho các tài nguyên chỉ đọc.