1. 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 và phần mềm, cung cấp giao diện người dùng
B. Chỉ quản lý phần mềm ứng dụng
C. Chỉ quản lý phần cứng máy tính
D. Biên dịch mã nguồn chương trình
2. Tiến trình (Process) ở trạng thái "Chờ" (Waiting) khi nào?
A. Khi tiến trình đang thực hiện lệnh trên CPU
B. Khi tiến trình đang chờ một sự kiện xảy ra (ví dụ: hoàn thành I/O)
C. Khi tiến trình đã hoàn thành thực thi
D. Khi tiến trình bị tạm dừng bởi người dùng
3. 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 effect" (đoàn hộ tố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. Thực hiện chuyển đổi ngữ cảnh thường xuyên
4. Bộ nhớ ảo (Virtual Memory) giải quyết vấn đề gì chính?
A. Tăng tốc độ truy cập bộ nhớ
B. Cho phép thực thi các chương trình lớn hơn dung lượng bộ nhớ vật lý
C. Giảm thiểu phân mảnh bộ nhớ ngoài
D. Bảo vệ dữ liệu trong bộ nhớ khỏi truy cập trái phép
5. Nguyên tắc "Locality of Reference" (Tính cục bộ tham chiếu) được ứng dụng trong kỹ thuật quản lý bộ nhớ nào?
A. Phân trang (Paging)
B. Phân đoạn (Segmentation)
C. Bộ nhớ đệm (Cache Memory)
D. Tất cả các đáp án trên
6. Hệ thống tập tin (File System) có vai trò gì trong hệ điều hành?
A. Quản lý và tổ chức dữ liệu trên thiết bị lưu trữ
B. Điều khiển các thiết bị ngoại vi
C. Thực hiện lập lịch CPU
D. Cung cấp giao diện dòng lệnh cho người dùng
7. Loại hệ điều hành nào phù hợp nhất cho các hệ thống nhúng (Embedded System) như lò vi sóng, máy giặt thông minh?
A. Hệ điều hành thời gian thực (Real-time OS)
B. Hệ điều hành phân chia thời gian (Time-sharing OS)
C. Hệ điều hành đa người dùng (Multi-user OS)
D. Hệ điều hành theo lô (Batch OS)
8. Mutex và Semaphore là cơ chế đồng bộ hóa tiến trình, sự khác biệt chính giữa chúng là gì?
A. Mutex chỉ cho phép một tiến trình truy cập tài nguyên, Semaphore cho phép nhiều tiến trình
B. Mutex chỉ dùng cho đa luồng, Semaphore dùng cho đa tiến trình
C. Mutex là biến đếm, Semaphore là biến nhị phân
D. Mutex nhanh hơn Semaphore
9. 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 bị treo do lỗi lập trình
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ớ không đủ để cấp phát cho tiến trình
D. Khi hệ thống quá tải và không thể xử lý thêm yêu cầu
10. Ví dụ nào sau đây là ứng dụng của cơ chế "Context Switching" (Chuyển đổi ngữ cảnh) trong hệ điều hành?
A. Tải một trang web trên trình duyệt
B. Chạy đồng thời nhiều ứng dụng trên máy tính cá nhân
C. In một tài liệu từ máy tính
D. Khởi động lại hệ điều hành
11. Cơ chế "System Call" (Lời gọi hệ thống) được sử dụng để làm gì?
A. Để người dùng trực tiếp truy cập phần cứng
B. Để chương trình ứng dụng yêu cầu dịch vụ từ hệ điều hành
C. Để hệ điều hành quản lý bộ nhớ ảo
D. Để lập lịch các tiến trình
12. Trong quản lý bộ nhớ phân trang, "Page Fault" (Lỗi trang) xảy ra khi nào?
A. Khi một trang bộ nhớ bị ghi đè dữ liệu
B. Khi tiến trình cố gắng truy cập một trang không có trong bộ nhớ vật lý
C. Khi bộ nhớ vật lý đầy
D. Khi một trang bộ nhớ bị lỗi phần cứng
13. So sánh hệ điều hành "Time-sharing" (Phân chia thời gian) và "Real-time" (Thời gian thực), điểm khác biệt chính là gì?
A. Time-sharing tập trung vào hiệu năng tổng thể, Real-time tập trung vào thời gian đáp ứng
B. Time-sharing chỉ dành cho máy chủ, Real-time chỉ dành cho hệ thống nhúng
C. Time-sharing sử dụng bộ nhớ ảo, Real-time không sử dụng
D. Time-sharing có giao diện người dùng đồ họa, Real-time không có
14. 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 tiến trình hoặc 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. Hệ thống nên có ít đặc quyền nhất có thể để giảm độ phức tạp
D. Các đặc quyền nên được phân chia đều cho tất cả người dùng
15. Khi bạn mở một ứng dụng trên điện thoại thông minh, hệ điều hành sẽ thực hiện công việc gì đầu tiên liên quan đến quản lý tiến trình?
A. Chuyển đổi ngữ cảnh sang ứng dụng đó
B. Cấp phát bộ nhớ cho tiến trình mới của ứng dụng
C. Lập lịch CPU cho ứng dụng
D. Kiểm tra quyền truy cập của ứng dụng
16. Chức năng chính của hệ điều hành là gì?
A. Quản lý và phân phối tài nguyên hệ thống (phần cứng và phần mềm)
B. Biên dịch mã nguồn thành mã máy
C. Kết nối mạng Internet
D. Chạy các ứng dụng văn phòng
17. Thành phần nào của hệ điều hành đóng vai trò trung gian giao tiếp giữa người dùng và phần cứng máy tính?
A. Trình biên dịch (Compiler)
B. Hạt nhân (Kernel)
C. Trình thông dịch (Interpreter)
D. Ứng dụng hệ thống (System application)
18. Trong quản lý tiến trình, trạng thái "Đang chờ" (Waiting) thường xảy ra khi nào?
A. Tiến trình đang được CPU thực thi lệnh
B. Tiến trình đã hoàn thành việc thực thi
C. Tiến trình đang đợi một sự kiện nào đó xảy ra (ví dụ: hoàn thành thao tác I/O)
D. Tiến trình mới được tạo và sẵn sàng thực thi
19. Thuật toán lập lịch nào ưu tiên các tiến trình có thời gian thực thi ngắn nhất và có thể dẫn đến tình trạng "đói tài nguyên" cho các tiến trình dài?
A. FIFO (First-In, First-Out)
B. Round Robin
C. SJF (Shortest Job First)
D. Priority Scheduling
20. Mục đích chính của bộ nhớ ảo (Virtual Memory) trong hệ điều hành là gì?
A. Tăng tốc độ truy cập bộ nhớ chính
B. Cho phép các tiến trình sử dụng bộ nhớ lớn hơn bộ nhớ vật lý hiện có
C. Bảo vệ dữ liệu trong bộ nhớ khỏi bị truy cập trái phép
D. Giảm điện năng tiêu thụ của bộ nhớ
21. Phương pháp quản lý bộ nhớ nào chia bộ nhớ thành các khối có kích thước cố định, gọi là "trang" (page), và có thể dẫn đến phân mảnh nội bộ?
A. Phân đoạn (Segmentation)
B. Phân trang (Paging)
C. Phân vùng động (Dynamic Partitioning)
D. Phân vùng tĩnh (Static Partitioning)
22. Cấu trúc thư mục dạng cây (hierarchical directory structure) mang lại lợi ích gì trong quản lý tập tin?
A. Giảm dung lượng lưu trữ tập tin
B. Tăng tốc độ truy cập tập tin
C. Tổ chức tập tin một cách logic và dễ quản lý hơn
D. Bảo vệ tập tin khỏi virus
23. Trong hệ thống tập tin, "inode" thường được sử dụng để lưu trữ thông tin gì về tập tin?
A. Nội dung của tập tin
B. Tên của tập tin
C. Metadata của tập tin (ví dụ: quyền truy cập, kích thước, thời gian tạo)
D. Đường dẫn đến tập tin
24. Kỹ thuật DMA (Direct Memory Access) trong quản lý I/O có ưu điểm gì so với việc CPU trực tiếp điều khiển truyền dữ liệu?
A. Tăng tốc độ xử lý của CPU
B. Giảm tải cho CPU, cho phép CPU thực hiện các tác vụ khác song song với việc truyền dữ liệu
C. Giảm dung lượng bộ nhớ cần thiết
D. Đơn giản hóa việc lập trình I/O
25. Cơ chế ngắt (Interrupt) trong quản lý I/O được sử dụng để làm gì?
A. Tăng tốc độ truyền dữ liệu
B. Thông báo cho CPU khi một thiết bị ngoại vi cần được phục vụ
C. Kiểm soát lỗi trong quá trình truyền dữ liệu
D. Cấp phát tài nguyên cho thiết bị ngoại vi
26. Trong ngữ cảnh bảo mật hệ điều hành, "xác thực" (Authentication) có nghĩa là gì?
A. Xác định quyền truy cập của người dùng vào tài nguyên
B. Xác minh danh tính của người dùng
C. Mã hóa dữ liệu để bảo vệ tính riêng tư
D. Phát hiện và loại bỏ phần mềm độc hại
27. Loại hệ điều hành nào được thiết kế để phản hồi các sự kiện trong thời gian thực, thường được sử dụng trong các hệ thống điều khiển công nghiệp hoặc thiết bị y tế?
A. Hệ điều hành đa nhiệm (Multitasking OS)
B. Hệ điều hành thời gian thực (Real-time OS)
C. Hệ điều hành phân tán (Distributed OS)
D. Hệ điều hành nhúng (Embedded OS)
28. Kiến trúc hệ điều hành microkernel có ưu điểm chính nào so với kiến trúc monolithic kernel?
A. Hiệu suất cao hơn do tất cả các thành phần nằm trong không gian kernel
B. Dễ dàng mở rộng và bảo trì hơn do các dịch vụ hệ thống được module hóa
C. Tiêu thụ ít tài nguyên hệ thống hơn
D. Khả năng tương thích phần cứng tốt hơn
29. Trong ngữ cảnh tiến trình và bộ nhớ, "context switching" là gì?
A. Quá trình tạo ra một tiến trình mới
B. Quá trình chuyển đổi trạng thái của tiến trình từ "Đang chạy" sang "Đang chờ"
C. Quá trình lưu và khôi phục trạng thái của tiến trình để CPU có thể chuyển sang thực thi tiến trình khác
D. Quá trình giải phóng bộ nhớ đã cấp phát cho tiến trình
30. Ví dụ nào sau đây thể hiện rõ nhất việc sử dụng "system call" trong hệ điều hành?
A. Người dùng mở một trình duyệt web
B. Ứng dụng soạn thảo văn bản lưu tập tin xuống ổ cứng
C. Hệ điều hành tự động cập nhật phiên bản mới
D. Máy tính khởi động sau khi tắt nguồn
31. Hệ điều hành (Operating System - OS) đóng vai trò chính yếu nào trong hệ thống máy tính?
A. Cung cấp các ứng dụng phần mềm cho người dùng cuối.
B. Quản lý và điều phối các tài nguyên phần cứng và phần mềm của máy tính.
C. Thực hiện các phép tính toán phức tạp cho các ứng dụng.
D. Kết nối máy tính với mạng Internet.
32. Tiến trình (Process) ở trạng thái "Đang chờ" (Waiting) khi nào?
A. Khi tiến trình đang được CPU thực thi các lệnh.
B. Khi tiến trình đã hoàn thành việc thực thi và chuẩn bị kết thúc.
C. Khi 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 nhập/xuất (I/O).
D. Khi tiến trình được hệ điều hành cấp phát CPU để thực thi.
33. 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ể dẫn đến hiệu ứng "convoy", làm giảm hiệu suất hệ thống.
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ó cài đặt và quản lý trong hệ điều hành.
34. Bộ nhớ ảo (Virtual Memory) được sử dụng chủ yếu để giải quyết vấn đề gì?
A. Tăng tốc độ truy cập bộ nhớ chính (RAM).
B. Cho phép các chương trình có kích thước lớn hơn bộ nhớ vật lý khả dụng.
C. Giảm mức tiêu thụ điện năng của hệ thống.
D. Bảo vệ dữ liệu trong bộ nhớ khỏi bị truy cập trái phép.
35. Trong hệ thống tập tin phân cấp (hierarchical file system), cấu trúc thư mục được tổ chức theo mô hình nào?
A. Mô hình mạng (Network model).
B. Mô hình cây (Tree model).
C. Mô hình quan hệ (Relational model).
D. Mô hình phẳng (Flat model).
36. Ngắt (Interrupt) trong hệ điều hành được sử dụng để làm gì?
A. Tăng tốc độ xử lý của CPU.
B. Cho phép các thiết bị ngoại vi yêu cầu sự chú ý của CPU.
C. Bảo vệ hệ thống khỏi các lỗi phần cứng.
D. Quản lý bộ nhớ ảo hiệu quả hơn.
37. Điểm khác biệt chính giữa tiến trình (Process) và luồng (Thread) là gì?
A. Tiến trình chia sẻ không gian bộ nhớ, luồng thì không.
B. Tiến trình là đơn vị thực thi nhỏ hơn luồng.
C. Tiến trình có không gian bộ nhớ riêng, luồng chia sẻ không gian bộ nhớ của tiến trình chứa nó.
D. Luồng có thể chạy độc lập trên nhiều CPU, tiến trình thì không.
38. Khái niệm "Deadlock" (bế tắc) trong hệ điều hành xảy ra khi nào?
A. Khi một tiến trình sử dụng quá nhiều tài nguyên CPU.
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 hệ thống bộ nhớ ảo bị đầy.
D. Khi một tiến trình cố gắng truy cập vào vùng bộ nhớ không được phép.
39. Trong ngữ cảnh bảo mật hệ điều hành, "Authentication" (xác thực) có nghĩa là gì?
A. Kiểm soát quyền truy cập vào tài nguyên hệ thống.
B. Xác minh danh tính của người dùng hoặc tiến trình.
C. Mã hóa dữ liệu để bảo vệ tính bí mật.
D. Phát hiện và ngăn chặn phần mềm độc hại.
40. Hệ điều hành thời gian thực (Real-time Operating System - RTOS) được sử dụng chủ yếu trong các ứng dụng nào?
A. Máy tính cá nhân và máy chủ web.
B. Hệ thống nhúng, điều khiển công nghiệp và thiết bị IoT.
C. Điện thoại thông minh và máy tính bảng.
D. Siêu máy tính và hệ thống tính toán hiệu năng cao.
41. Lời gọi hệ thống (System call) đóng vai trò gì trong tương tác giữa chương trình người dùng và hệ điều hành?
A. Tăng tốc độ thực thi của chương trình người dùng.
B. Cho phép chương trình người dùng yêu cầu các dịch vụ từ kernel của hệ điều hành.
C. Quản lý bộ nhớ cho chương trình người dùng.
D. Kiểm soát quyền truy cập mạng cho chương trình người dùng.
42. Kiến trúc "Microkernel" của hệ điều hành có ưu điểm chính nào so với kiến trúc "Monolithic kernel"?
A. Hiệu suất thực thi cao hơn.
B. Dễ dàng mở rộng và bảo trì hơn, tăng tính ổn định.
C. Sử dụng bộ nhớ hiệu quả hơn.
D. Tương thích tốt hơn với nhiều loại phần cứng.
43. Trong quá trình khởi động máy tính (Booting process), chương trình đầu tiên thường được tải vào bộ nhớ và thực thi là gì?
A. Ứng dụng phần mềm đầu tiên (ví dụ: trình duyệt web).
B. Kernel của hệ điều hành.
C. BIOS (Basic Input/Output System) hoặc UEFI (Unified Extensible Firmware Interface).
D. Trình quản lý bộ nạp khởi động (Bootloader).
44. Quản lý CPU (CPU scheduling) trong hệ điều hành nhằm mục đích chính là gì?
A. Tăng dung lượng bộ nhớ RAM khả dụng.
B. Đảm bảo rằng các tiến trình sử dụng CPU một cách hiệu quả và công bằng.
C. Giảm mức tiêu thụ điện năng của CPU.
D. Bảo vệ CPU khỏi bị quá nhiệt.
45. Giao diện dòng lệnh (Command-Line Interface - CLI) có ưu điểm chính nào so với giao diện đồ họa (Graphical User Interface - GUI) trong một số trường hợp?
A. Dễ sử dụng và trực quan hơn cho người dùng mới.
B. Tiêu thụ ít tài nguyên hệ thống hơn (CPU, bộ nhớ).
C. Cung cấp nhiều tính năng và khả năng tùy biến hơn.
D. Thích hợp hơn cho các tác vụ đa phương tiện và đồ họa.
46. Đâu là vai trò **chính yếu** của hệ điều hành trong một hệ thống máy tính?
A. Quản lý và điều phối các tài nguyên phần cứng, cung cấp môi trường hoạt động cho các ứng dụng.
B. Chạy các phần mềm diệt virus và tường lửa để bảo vệ hệ thống.
C. Kết nối máy tính với mạng Internet và quản lý các kết nối mạng.
D. Chỉ quản lý tài khoản người dùng và phân quyền truy cập hệ thống.
47. Trong tình huống hệ thống có **dung lượng RAM hạn chế**, thuật toán lập lịch tiến trình nào sau đây được xem là phù hợp **nhất** để đảm bảo thời gian phản hồi nhanh cho các ứng dụng tương tác (ví dụ: trình duyệt web) đồng thời vẫn cho phép các tiến trình nền (ví dụ: tải file) được thực thi?
A. First-Come, First-Served (FCFS) - Đến trước phục vụ trước.
B. Shortest Job First (SJF) - Ưu tiên công việc ngắn nhất.
C. Round Robin (RR) - Vòng tròn thời gian.
D. Priority Scheduling (Non-preemptive) - Lập lịch ưu tiên (không độc quyền).
48. Bạn đang sử dụng một máy tính cá nhân để **chỉnh sửa video độ phân giải cao** và **đồng thời mở nhiều tab trình duyệt web**. Hệ điều hành sử dụng cơ chế bộ nhớ ảo (Virtual Memory) giúp ích như thế nào trong trường hợp này?
A. Tăng tốc độ xử lý của CPU một cách trực tiếp.
B. Cho phép các ứng dụng sử dụng lượng bộ nhớ lớn hơn dung lượng RAM vật lý có sẵn.
C. Giảm thiểu nguy cơ xảy ra lỗi phần cứng.
D. Đơn giản hóa việc quản lý tập tin trên ổ cứng.
49. Điểm khác biệt **quan trọng nhất** giữa hệ thống tập tin FAT32 và NTFS là gì?
A. FAT32 hỗ trợ nén tập tin, trong khi NTFS thì không.
B. NTFS cung cấp các tính năng bảo mật tốt hơn và giới hạn kích thước tập tin lớn hơn so với FAT32.
C. FAT32 chủ yếu được sử dụng trong môi trường máy chủ, còn NTFS dành cho máy tính cá nhân.
D. NTFS tương thích với tất cả các hệ điều hành, còn FAT32 chỉ giới hạn ở Windows.
50. Mục đích **chính** của việc xác thực người dùng (user authentication) trong hệ điều hành là gì?
A. Để cải thiện hiệu suất hoạt động của hệ thống.
B. Để ngăn chặn truy cập trái phép vào tài nguyên và dữ liệu hệ thống.
C. Để quản lý các trình điều khiển phần cứng (driver).
D. Để tự động cập nhật phần mềm hệ thống.