1. Hệ điều hành (Operating System - OS) được định nghĩa chính xác nhất là gì?
A. Một tập hợp các chương trình ứng dụng giúp người dùng thực hiện các tác vụ.
B. Một phần cứng máy tính quản lý tài nguyên và điều khiển các thiết bị ngoại vi.
C. Một phần mềm hệ thống quản lý tài nguyên phần cứng và phần mềm của máy tính, cung cấp môi trường để chạy các ứng dụng.
D. Một ngôn ngữ lập trình bậc cao được sử dụng để phát triển phần mềm hệ thống.
2. Tiến trình (Process) và luồng (Thread) khác nhau cơ bản ở điểm nào?
A. Tiến trình là đơn vị thực thi nhỏ hơn luồng và chia sẻ không gian địa chỉ.
B. Luồng là đơn vị thực thi nhỏ hơn tiến trình và chia sẻ không gian địa chỉ của tiến trình chứa nó.
C. Tiến trình và luồng là hai khái niệm đồng nhất, không có sự khác biệt.
D. Luồng có không gian địa chỉ riêng biệt, trong khi tiến trình chia sẻ không gian địa chỉ chung.
3. Khi một tiến trình chuyển từ trạng thái "đang chạy" (running) sang trạng thái "sẵn sàng" (ready), điều gì đã xảy ra?
A. Tiến trình đã hoàn thành việc thực thi.
B. Tiến trình đã bị lỗi và kết thúc.
C. Tiến trình đã bị ngắt bởi bộ lập lịch để nhường CPU cho tiến trình khác.
D. Tiến trình đang chờ một sự kiện I/O hoàn thành.
4. Điều kiện cần và đủ để xảy ra "bế tắc" (deadlock) trong hệ thống là gì?
A. Loại trừ lẫn nhau, giữ và chờ, không chiếm đoạt, chờ đợi vòng tròn.
B. Loại trừ lẫn nhau, chiếm đoạt, chờ đợi vòng tròn.
C. Giữ và chờ, không chiếm đoạt, chờ đợi vòng tròn.
D. Loại trừ lẫn nhau, giữ và chờ, chiếm đoạt, chờ đợi vòng tròn.
5. Bộ nhớ ảo (Virtual memory) giải quyết vấn đề gì chính trong quản lý bộ nhớ?
A. Tăng tốc độ truy cập bộ nhớ chính (RAM).
B. Cho phép các tiến trình có kích thước lớn hơn bộ nhớ vật lý khả dụng.
C. Giảm thiểu hiện tượng phân mảnh bộ nhớ ngoài.
D. Bảo vệ bộ nhớ của các tiến trình khác nhau.
6. 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 có thời gian thực thi ngắn.
B. Dễ dẫn đến tình trạng "convoy effect" (hiệu ứng đoàn tùy tùng), làm giảm hiệu suất.
C. Khó cài đặt và quản lý.
D. Không công bằng với các tiến trình có độ ưu tiên thấp.
7. Trong hệ thống tệp tin, inode được sử dụng để làm gì?
A. Lưu trữ dữ liệu của tệp tin.
B. Lưu trữ tên tệp tin và đường dẫn thư mục.
C. Lưu trữ siêu dữ liệu (metadata) về tệp tin như quyền truy cập, kích thước, thời gian tạo, vị trí dữ liệu trên đĩa.
D. Quản lý không gian đĩa trống.
8. Cơ chế "ngắt" (interrupt) trong hệ điều hành có vai trò gì?
A. Tăng tốc độ xử lý của CPU.
B. Cho phép các tiến trình chia sẻ CPU một cách công bằng.
C. Cho phép thiết bị ngoại vi hoặc phần mềm thông báo cho CPU về một sự kiện cần xử lý ngay lập tức.
D. Bảo vệ hệ thống khỏi các lỗi phần mềm.
9. Trong quản lý bộ nhớ phân trang (paging), "page fault" xảy ra khi nào?
A. Khi một trang (page) được ghi vào bộ nhớ chính.
B. Khi một trang (page) không tồn tại trong bảng trang (page table).
C. Khi CPU cố gắng truy cập một trang (page) không có trong bộ nhớ chính (RAM).
D. Khi bộ nhớ chính đã đầy và không còn chỗ trống để nạp trang mới.
10. Hãy chọn phát biểu đúng về hệ điều hành thời gian thực (Real-time Operating System - RTOS).
A. RTOS ưu tiên tối đa hiệu suất tính toá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 sự kiện.
C. RTOS thường được sử dụng cho các ứng dụng văn phòng và giải trí.
D. RTOS có yêu cầu tài nguyên phần cứng rất lớn.
11. Ví dụ nào sau đây thể hiện rõ nhất ứng dụng của cơ chế "chia sẻ thời gian" (time-sharing) trong hệ điều hành?
A. Một máy chủ web phục vụ đồng thời nhiều yêu cầu từ người dùng khác nhau.
B. Một hệ thống nhúng điều khiển động cơ trong robot.
C. Một hệ thống xử lý giao dịch ngân hàng hàng loạt vào cuối ngày.
D. Một hệ thống điều khiển lò phản ứng hạt nhân với độ chính xác cao.
12. Chức năng chính của "system call" (lời gọi hệ thống) trong hệ điều hành là gì?
A. Tăng tốc độ thực thi chương trình ứng dụng.
B. Cung cấp giao diện cho chương trình ứng dụng truy cập các dịch vụ của hệ điều hành và phần cứng.
C. Quản lý bộ nhớ và phân phối tài nguyên cho các tiến trình.
D. Kiểm soát quyền truy cập và bảo mật hệ thống.
13. Trong mô hình "client-server", hệ điều hành đóng vai trò gì chính trong phía server?
A. Đảm bảo giao diện người dùng thân thiện.
B. Quản lý tài nguyên phần cứng và cung cấp dịch vụ cho các client.
C. Thực hiện các tính toán phức tạp cho client.
D. Hiển thị kết quả cho người dùng cuối.
14. Phương pháp nào sau đây thường được sử dụng để giải quyết vấn đề "phân mảnh bộ nhớ ngoài" (external fragmentation)?
A. Sử dụng bộ nhớ ảo.
B. Sử dụng thuật toán lập lịch CPU Round Robin.
C. Sử dụng kỹ thuật "nén bộ nhớ" (compaction).
D. Sử dụng bộ nhớ đệm (cache).
15. Mục tiêu chính của việc thiết kế hệ điều hành là gì?
A. Tối đa hóa số lượng chương trình ứng dụng có thể chạy đồng thời.
B. Cung cấp một môi trường hiệu quả, tiện lợi và an toàn để người dùng và ứng dụng sử dụng tài nguyên máy tính.
C. Đảm bảo hệ thống hoạt động liên tục 24/7 mà không cần bảo trì.
D. Giảm thiểu chi phí phần cứng cần thiết để chạy hệ thống.
16. Chức năng cốt lõi của hệ điều hành là gì?
A. Quản lý phần cứng và cung cấp giao diện cho người dùng tương tác với phần cứng.
B. Chạy các ứng dụng phần mềm và đảm bảo chúng hoạt động trơn tru.
C. Kết nối máy tính với mạng Internet và quản lý lưu lượng mạng.
D. Bảo vệ máy tính khỏi virus và phần mềm độc hại.
17. Thành phần nào của hệ điều hành chịu trách nhiệm quản lý tài nguyên hệ thống và tương tác trực tiếp với phần cứng?
A. Shell
B. Kernel
C. Thư viện hệ thống (System Libraries)
D. Trình biên dịch (Compiler)
18. Tiến trình đang ở trạng thái "Chờ" (Waiting/Blocked) khi nào?
A. Khi tiến trình đang thực hiện các lệnh của chương trình.
B. Khi tiến trình đang chờ CPU để được thực thi.
C. Khi tiến trình đang chờ một sự kiện bên ngoài xảy ra, ví dụ như hoàn thành thao tác I/O.
D. Khi tiến trình vừa mới được tạo và sẵn sàng thực thi.
19. Kỹ thuật quản lý bộ nhớ ảo (Virtual Memory) giúp giải quyết vấn đề gì?
A. Tăng tốc độ truy cập bộ nhớ chính (RAM).
B. Cho phép chạy các chương trình lớn hơn dung lượng bộ nhớ vật lý (RAM).
C. Giảm thiểu tình trạng phân mảnh bộ nhớ ngoài.
D. Bảo vệ bộ nhớ khỏi bị truy cập trái phép.
20. Trong hệ thống quản lý tập tin, thao tác nào sau đây KHÔNG phải là thao tác cơ bản trên tập tin?
A. Tạo tập tin (Create)
B. Sao chép tập tin (Copy)
C. Biên dịch tập tin (Compile)
D. Xóa tập tin (Delete)
21. 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 có thời gian thực thi ngắn.
B. Có thể gây ra hiệu ứng "convoy", làm giảm hiệu suất hệ thống.
C. Đảm bảo thời gian phản hồi nhanh cho các tiến trình tương tác.
D. Khó cài đặt và triển khai trong thực tế.
22. Điều kiện "loại trừ lẫn nhau" (Mutual Exclusion) trong deadlock nghĩa là gì?
A. Các tiến trình phải chia sẻ tài nguyên để tránh deadlock.
B. Ít nhất một tài nguyên phải được giữ ở chế độ không chia sẻ.
C. Tiến trình phải yêu cầu tất cả tài nguyên cần thiết trước khi thực thi.
D. Các tiến trình phải nhường tài nguyên cho nhau để tránh deadlock.
23. Cơ chế "ống dẫn" (Pipe) trong hệ điều hành Unix/Linux được sử dụng cho mục đích gì?
A. Chia sẻ bộ nhớ giữa các tiến trình.
B. Đồng bộ hóa hoạt động của các tiến trình.
C. Truyền dữ liệu một chiều giữa các tiến trình có quan hệ cha-con hoặc anh em.
D. Quản lý quyền truy cập vào tài nguyên hệ thống.
24. Khi một ứng dụng muốn đọc dữ liệu từ ổ cứng, nó cần sử dụng cơ chế nào của hệ điều hành?
A. Ngắt (Interrupt)
B. Gọi hệ thống (System Call)
C. Hàm thư viện (Library Function)
D. Biên dịch (Compilation)
25. Hệ điều hành thời gian thực (Real-time OS) được thiết kế chủ yếu cho các ứng dụng nào?
A. Ứng dụng văn phòng và duyệt web.
B. Ứng dụng chơi game và đồ họa.
C. Ứng dụng điều khiển công nghiệp và hệ thống nhúng.
D. Ứng dụng quản lý cơ sở dữ liệu lớn.
26. Cơ chế kiểm soát truy cập (Access Control) trong hệ điều hành nhằm mục đích gì?
A. Ngăn chặn virus và phần mềm độc hại xâm nhập vào hệ thống.
B. Đảm bảo dữ liệu được mã hóa an toàn khi truyền qua mạng.
C. Hạn chế quyền truy cập của người dùng và tiến trình vào tài nguyên hệ thống (tập tin, thư mục, thiết bị).
D. Giám sát hoạt động của người dùng và phát hiện xâm nhập trái phép.
27. Ảo hóa (Virtualization) mang lại lợi ích chính nào trong việc quản lý máy chủ?
A. Tăng tốc độ xử lý của CPU vật lý.
B. Giảm chi phí phần cứng bằng cách chạy nhiều hệ điều hành trên một máy chủ vật lý.
C. Nâng cao tuổi thọ của phần cứng máy chủ.
D. Đơn giản hóa việc cài đặt và cấu hình hệ điều hành.
28. Điểm khác biệt chính giữa hệ điều hành di động (ví dụ Android, iOS) và hệ điều hành máy tính để bàn (ví dụ Windows, macOS) là gì?
A. Hệ điều hành di động có giao diện dòng lệnh, còn hệ điều hành máy tính để bàn có giao diện đồ họa.
B. Hệ điều hành di động tập trung vào quản lý năng lượng và cảm ứng, còn hệ điều hành máy tính để bàn tập trung vào hiệu năng và đa nhiệm.
C. Hệ điều hành di động không có kernel, còn hệ điều hành máy tính để bàn có kernel.
D. Hệ điều hành di động chỉ hỗ trợ ứng dụng web, còn hệ điều hành máy tính để bàn hỗ trợ ứng dụng desktop.
29. Trong quá trình khởi động máy tính (Boot Process), BIOS (Basic Input/Output System) thực hiện chức năng gì đầu tiên?
A. Tải hệ điều hành từ ổ cứng vào bộ nhớ RAM.
B. Kiểm tra phần cứng hệ thống (POST - Power-On Self Test).
C. Hiển thị màn hình desktop và cho phép người dùng đăng nhập.
D. Kết nối máy tính với mạng Internet.
30. Ứng dụng thực tế nào sau đây thể hiện rõ nhất vai trò của hệ điều hành trong việc quản lý tài nguyên?
A. Soạn thảo văn bản bằng Microsoft Word.
B. Chơi game đồ họa 3D.
C. Duyệt web bằng Google Chrome.
D. Tất cả các ứng dụng trên.
31. Chức năng chính của Hệ điều hành (Operating System - OS) là gì?
A. Quản lý phần cứng máy tính và cung cấp môi trường để chạy ứng dụng.
B. Biên dịch mã nguồn chương trình thành mã máy.
C. Kết nối máy tính với mạng Internet.
D. Tạo ra giao diện đồ họa người dùng.
32. Tiến trình (Process) trong hệ điều hành được hiểu là gì?
A. Một đoạn mã chương trình được viết bằng ngôn ngữ lập trình bậc cao.
B. Một chương trình đang được thực thi cùng với các tài nguyên hệ thống được cấp phát.
C. Một tập tin chứa các lệnh để khởi động hệ điều hành.
D. Một thiết bị phần cứng như CPU hoặc bộ nhớ.
33. Trong quản lý bộ nhớ, kỹ thuật phân trang (Paging) giúp giải quyết vấn đề gì?
A. Tăng tốc độ truy xuất bộ nhớ cache.
B. Cho phép tiến trình sử dụng bộ nhớ không liên tục và lớn hơn bộ nhớ vật lý.
C. Giảm thiểu tình trạng phân mảnh bộ nhớ ngoài.
D. Bảo vệ bộ nhớ của các tiến trình khác nhau.
34. Thuật toán lập lịch CPU "Round Robin" hoạt động dựa trên nguyên tắc nào?
A. Ưu tiên tiến trình có thời gian thực thi ngắn nhất.
B. Mỗi tiến trình được cấp một lượng thời gian CPU cố định (time slice) theo vòng tròn.
C. Ưu tiên tiến trình có độ ưu tiên cao nhất.
D. Tiến trình nào đến trước được phục vụ trước (FIFO).
35. Điều gì xảy ra khi một tiến trình thực hiện lệnh gọi hệ thống (System call)?
A. Tiến trình chuyển sang trạng thái chờ để nhận dữ liệu từ người dùng.
B. Tiến trình yêu cầu kernel thực hiện một dịch vụ đặc quyền.
C. Tiến trình tự động kết thúc và giải phóng tài nguyên.
D. Tiến trình truy cập trực tiếp vào phần cứng máy tính.
36. Trong ngữ cảnh 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 bộ nhớ đã được giải phóng.
B. Khi hai hay 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 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 CPU vượt quá thời gian quy định.
37. Hãy chọn phát biểu đúng về sự khác biệt giữa "Process" (Tiến trình) và "Thread" (Luồng)?
A. Process là đơn vị thực thi nhỏ hơn Thread.
B. Các Thread trong cùng một Process chia sẻ chung không gian bộ nhớ, Process thì không.
C. Process nhẹ hơn và tạo ra nhanh hơn Thread.
D. Thread là đơn vị quản lý tài nguyên của hệ điều hành, Process là đơn vị thực thi.
38. Trong quản lý bộ nhớ ảo, "Thrashing" (tráo trang liên tục) là hiện tượng gì và gây ra hậu quả gì?
A. Hiện tượng bộ nhớ vật lý bị đầy, gây ra lỗi tràn bộ nhớ.
B. Hiện tượng hệ thống liên tục thực hiện việc tráo đổi trang (swap page) giữa bộ nhớ chính và bộ nhớ phụ, làm giảm hiệu năng hệ thống.
C. Hiện tượng CPU quá tải do phải xử lý quá nhiều yêu cầu từ người dùng.
D. Hiện tượng hệ thống bị treo do lỗi phần mềm.
39. Ví dụ nào sau đây thể hiện ứng dụng của hệ điều hành thời gian thực (Real-time Operating System - RTOS)?
A. Hệ điều hành Windows trên máy tính cá nhân.
B. Hệ điều hành Android trên điện thoại thông minh.
C. Hệ thống điều khiển phanh ABS trên ô tô.
D. Hệ điều hành Linux trên máy chủ web.
40. Cơ chế "Semaphore" được sử dụng trong hệ điều hành để giải quyết vấn đề gì?
A. Quản lý bộ nhớ ảo.
B. Đồng bộ hóa và loại trừ lẫn nhau giữa các tiến trình/luồng.
C. Lập lịch CPU.
D. Quản lý hệ thống tập tin.
41. Trong mô hình kiến trúc hệ điều hành, "Kernel" (nhân) đóng vai trò gì?
A. Giao diện đồ họa người dùng.
B. Trình biên dịch ngôn ngữ lập trình.
C. Phần cốt lõi của hệ điều hành, quản lý tài nguyên và cung cấp dịch vụ cơ bản.
D. Ứng dụng quản lý tập tin.
42. Tại sao hệ điều hành hiện đại thường sử dụng bộ nhớ ảo (Virtual Memory)?
A. Để tăng tốc độ truy xuất dữ liệu từ ổ cứng.
B. Để cho phép tiến trình sử dụng bộ nhớ lớn hơn bộ nhớ vật lý và tăng hiệu quả sử dụng bộ nhớ.
C. Để bảo vệ dữ liệu khỏi virus và phần mềm độc hại.
D. Để đơn giản hóa việc quản lý bộ nhớ cache.
43. Trong hệ thống tập tin, "inode" (index node) chứa thông tin gì quan trọng về một tập tin?
A. Nội dung của tập tin.
B. Tên tập tin và đường dẫn thư mục.
C. Metadata của tập tin như quyền truy cập, kích thước, thời gian tạo/sửa đổi, và địa chỉ các khối dữ liệu trên đĩa.
D. Loại tập tin (ví dụ: tập tin văn bản, tập tin thực thi).
44. Phương pháp lập lịch "Shortest Job First (SJF)" có ưu điểm gì nhưng cũng tồn tại nhược điểm nào?
A. Ưu điểm: Công bằng cho mọi tiến trình; Nhược điểm: Khó dự đoán thời gian thực thi của tiến trình.
B. Ưu điểm: Giảm thời gian chờ trung bình; Nhược điểm: Có thể gây "đói" (starvation) cho các tiến trình dài.
C. Ưu điểm: Dễ cài đặt và triển khai; Nhược điểm: Hiệu suất thấp khi có nhiều tiến trình ưu tiên cao.
D. Ưu điểm: Ưu tiên tiến trình quan trọng; Nhược điểm: Tăng thời gian phản hồi cho tiến trình ít quan trọng.
45. Giả sử bạn đang sử dụng máy tính và mở nhiều ứng dụng cùng lúc (trình duyệt web, soạn thảo văn bản, nghe nhạc). Hệ điều hành sử dụng cơ chế nào để quản lý và chia sẻ tài nguyên CPU cho các ứng dụng này?
A. Cơ chế biên dịch đa nhiệm.
B. Cơ chế lập lịch tiến trình (Process Scheduling).
C. Cơ chế quản lý bộ nhớ cache.
D. Cơ chế bảo mật hệ thống.
46. Chức năng chính của hệ điều hành là gì?
A. Cung cấp giao diện người dùng đồ họa đẹp mắt.
B. Quản lý và phân phối tài nguyên hệ thống một cách hiệu quả.
C. Phát triển các ứng dụng phần mềm phức tạp.
D. Kết nối máy tính với mạng Internet.
47. Thuật toán lập lịch CPU nào thường được sử dụng để tối ưu hóa thời gian phản hồi cho người dùng trong hệ thống tương tác?
A. First-Come, First-Served (FCFS)
B. Shortest Job Next (SJN)
C. Round Robin (RR)
D. Priority Scheduling
48. Trong một hệ thống quản lý bộ nhớ ảo, khi một trang (page) cần thiết không có trong RAM, hiện tượng gì xảy ra?
A. Hệ thống sẽ tự động tắt chương trình đang chạy.
B. Hệ thống sẽ truy xuất trang từ bộ nhớ thứ cấp (ví dụ: ổ cứng) vào RAM.
C. Hệ thống sẽ thông báo lỗi "hết bộ nhớ" cho người dùng.
D. Hệ thống sẽ sử dụng bộ nhớ cache để thay thế trang bị thiếu.
49. So sánh hệ thống tệp tin FAT32 và NTFS, điểm khác biệt chính nào ảnh hưởng đến khả năng bảo mật của hệ thống?
A. Kích thước cluster tối đa mà mỗi hệ thống hỗ trợ.
B. Khả năng hỗ trợ tên tệp tin dài và Unicode.
C. Cơ chế quản lý quyền truy cập và mã hóa tệp tin.
D. Tốc độ đọc/ghi dữ liệu trung bình.
50. Tại sao hệ điều hành cần phân biệt giữa chế độ kernel (kernel mode) và chế độ người dùng (user mode)?
A. Để tăng tốc độ xử lý của CPU.
B. Để đơn giản hóa việc lập trình ứng dụng.
C. Để bảo vệ hệ thống khỏi các hoạt động gây hại từ người dùng hoặc ứng dụng.
D. Để tiết kiệm năng lượng tiêu thụ của máy tính.