1. Nguyên lý nào sau đây KHÔNG phải là mục tiêu chính của hệ điều hành?
A. Quản lý tài nguyên hệ thống một cách hiệu quả.
B. Cung cấp giao diện người dùng thân thiện và dễ sử dụng.
C. Đảm bảo tính ổn định và tin cậy của hệ thống.
D. Phát triển và kiểm thử phần mềm ứng dụng.
2. Trong kiến trúc hệ điều hành, thành phần nào đóng vai trò trung tâm, quản lý trực tiếp phần cứng và cung cấp các dịch vụ cơ bản cho các tiến trình?
A. Shell
B. Kernel
C. System Call
D. Thư viện hệ thống
3. Khi một tiến trình chuyển từ trạng thái "Đang chạy" sang trạng thái "Sẵn sàng", điều gì thường KHÔNG xảy ra?
A. Tiến trình bị ngắt quãng bởi bộ lập lịch.
B. Tiến trình đã sử dụng hết lượng thời gian CPU được cấp phát.
C. Tiến trình đang chờ một sự kiện I/O hoàn thành.
D. Trạng thái của tiến trình được lưu lại để có thể tiếp tục thực thi sau.
4. 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) cho các tiến trình có độ ưu tiên thấp?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Priority Scheduling
D. Round Robin
5. Cơ chế "bộ nhớ ảo" (Virtual Memory) giải quyết vấn đề gì chính yếu trong quản lý bộ nhớ?
A. Tăng tốc độ truy cập bộ nhớ.
B. Cho phép các tiến 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. Đơn giản hóa việc quản lý bộ nhớ cho lập trình viên.
6. Trong ngữ cảnh hệ điều hành, "System Call" được sử dụng để làm gì?
A. Thực hiện các phép toán số học phức tạp.
B. Yêu cầu dịch vụ từ kernel của hệ điều hành.
C. Truy cập trực tiếp vào phần cứng máy tính.
D. Quản lý bộ nhớ cache của CPU.
7. Phương pháp cấp phát bộ nhớ "phân trang" (Paging) chia bộ nhớ thành các khối có kích thước:
A. Không cố định, tùy theo kích thước tiến trình.
B. Cố định, bằng nhau.
C. Thay đổi linh hoạt theo nhu cầu sử dụng.
D. Phụ thuộc vào dung lượng RAM vật lý.
8. Trong quản lý tiến trình, "context switching" là quá trình:
A. Khởi tạo một tiến trình mới.
B. Chuyển đổi CPU từ tiến trình này sang tiến trình khác.
C. Giải phóng bộ nhớ đã cấp phát cho tiến trình.
D. Đồng bộ hóa dữ liệu giữa các tiến trình.
9. Hãy so sánh thuật toán lập lịch "Round Robin" với "First-Come, First-Served" (FCFS). Điểm khác biệt chính là gì?
A. Round Robin ưu tiên tiến trình đến trước, FCFS thì không.
B. Round Robin sử dụng lượng thời gian CPU cố định cho mỗi tiến trình, FCFS thì không.
C. FCFS phù hợp với hệ thống tương tác, Round Robin thì không.
D. Cả hai thuật toán đều không quan tâm đến thời gian chờ đợi trung bình.
10. Trong hệ thống quản lý tập tin, "inode" (index node) thường chứa thông tin gì?
A. Nội dung của tập tin.
B. Tên của tập tin.
C. 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.
D. Đường dẫn tuyệt đối đến tập tin.
11. Khi một chương trình bị lỗi và gây ra "lỗi phân đoạn" (segmentation fault), nguyên nhân phổ biến nhất là gì?
A. Thiếu bộ nhớ RAM vật lý.
B. Cố gắng truy cập vào vùng nhớ không được phép.
C. Lỗi trong thuật toán lập lịch của hệ điều hành.
D. Xung đột phần cứng giữa CPU và bộ nhớ.
12. Trong bối cảnh hệ điều hành hiện đại (ví dụ: Windows, Linux, macOS), loại kiến trúc kernel nào được sử dụng phổ biến nhất?
A. Monolithic Kernel (Kernel đơn khối)
B. Microkernel (Kernel vi mô)
C. Hybrid Kernel (Kernel lai)
D. Exokernel
13. Ứng dụng nào sau đây KHÔNG phải là một chức năng chính của hệ điều hành trong việc quản lý tài nguyên?
A. Quản lý bộ nhớ (Memory Management).
B. Quản lý tiến trình (Process Management).
C. Quản lý thiết bị ngoại vi (I/O Management).
D. Biên dịch mã nguồn chương trình (Source Code Compilation).
14. Giả sử bạn có một hệ thống thời gian thực (Real-time Operating System - RTOS). Thuật toán lập lịch nào sẽ phù hợp nhất để đảm bảo các tác vụ quan trọng được hoàn thành đúng thời hạn?
A. First-Come, First-Served (FCFS)
B. Round Robin
C. Priority Scheduling (ưu tiên tĩnh hoặc động)
D. Shortest Job First (SJF)
15. Trong ngữ cảnh bảo mật hệ điều hành, "quyền truy cập" (access rights) được sử dụng để làm gì?
A. Tăng tốc độ truy cập dữ liệu.
B. Kiểm soát và giới hạn các thao tác mà người dùng hoặc tiến trình có thể thực hiện trên tài nguyên hệ thống.
C. Mã hóa dữ liệu để bảo vệ khỏi truy cập trái phép.
D. Phát hiện và loại bỏ virus và phần mềm độc hại.
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 (CPU, bộ nhớ, thiết bị ngoại vi)
B. Chạy các ứng dụng phần mềm
C. Kết nối với mạng Internet
D. Bảo vệ máy tính khỏi virus
17. Thành phần nào của hệ điều hành chịu trách nhiệm giao tiếp trực tiếp với phần cứng máy tính?
A. Shell
B. Kernel
C. System Call
D. GUI (Giao diện đồ họa người dùng)
18. Tiến trình (Process) trong hệ điều hành là gì?
A. Một đoạn mã chương trình tĩnh được lưu trữ trên ổ cứng
B. Một chương trình đang được thực thi cùng với tài nguyên hệ thống được cấp phát
C. Một tập hợp các lệnh máy tính
D. Một thiết bị phần cứng của máy tính
19. Thuật ngữ "đa nhiệm" (Multitasking) trong hệ điều hành đề cập đến khả năng nào?
A. Khả năng chạy nhiều chương trình trên nhiều CPU cùng lúc
B. Khả năng chạy nhiều chương trình trên một CPU bằng cách chia sẻ thời gian
C. Khả năng chạy một chương trình duy nhất nhưng thực hiện nhiều công việc
D. Khả năng kết nối với nhiều thiết bị ngoại vi
20. Trong quản lý bộ nhớ, kỹ thuật "phân trang" (Paging) giúp giải quyết vấn đề gì?
A. Giảm thiểu tình trạng phân mảnh bộ nhớ ngoài
B. Cho phép tiến trình lớn hơn kích thước bộ nhớ vật lý được thực thi
C. Tăng tốc độ truy cập bộ nhớ
D. Bảo vệ bộ nhớ khỏi truy cập trái phép
21. Điều gì xảy ra khi một tiến trình thực hiện "system call"?
A. Tiến trình chuyển sang trạng thái chờ đợi người dùng nhập dữ liệu
B. Tiến trình yêu cầu hệ điều hành thực hiện một tác vụ đặc quyền
C. Tiến trình truy cập trực tiếp vào phần cứng máy tính
D. Tiến trình kết thúc quá trình thực thi
22. Trong các thuật toán lập lịch CPU, thuật toán nào có thể dẫn đến tình trạng "đói tài nguyên" (starvation) cho các tiến trình có độ ưu tiên thấp?
A. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Priority Scheduling (Lập lịch ưu tiên)
D. Round Robin
23. Ví dụ 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ý thiết bị ngoại vi?
A. Bạn có thể mở nhiều tab trình duyệt web cùng lúc
B. Bạn có thể in tài liệu từ máy tính đến máy in
C. Bạn có thể chơi game đồ họa cao trên máy tính
D. Bạn có thể soạn thảo văn bản bằng phần mềm Word
24. Tại sao hệ điều hành cần đến cơ chế "bộ nhớ ảo" (Virtual Memory)?
A. Để tăng tốc độ xử lý của CPU
B. Để chạy các ứng dụng lớn hơn dung lượng bộ nhớ RAM vật lý
C. Để bảo vệ dữ liệu khỏi bị mất khi mất điện
D. Để đơn giản hóa việc quản lý bộ nhớ
25. Trong quản lý file, cấu trúc thư mục hình cây (hierarchical directory structure) mang lại lợi ích chính nào?
A. Tăng tốc độ truy cập file
B. Giảm dung lượng lưu trữ file
C. Tổ chức file một cách logic và dễ quản lý
D. Bảo vệ file khỏi bị virus
26. Điểm khác biệt chính giữa hệ điều hành thời gian thực (Real-time OS) và hệ điều hành đa năng (General-purpose OS) là gì?
A. Hệ điều hành thời gian thực có giao diện đồ họa, hệ điều hành đa năng thì không
B. Hệ điều hành thời gian thực tập trung vào tính năng bảo mật, hệ điều hành đa năng thì không
C. Hệ điều hành thời gian thực ưu tiên tính đúng thời gian (deadlines), hệ điều hành đa năng ưu tiên hiệu suất trung bình
D. Hệ điều hành thời gian thực chỉ chạy trên máy chủ, hệ điều hành đa năng chạy trên máy tính cá nhân
27. 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 sử dụng quá nhiều CPU
B. Khi nhiều tiến trình tranh chấp tài nguyên và chờ đợi lẫn nhau một cách vô hạn
C. Khi bộ nhớ RAM bị đầy
D. Khi hệ thống bị nhiễm virus
28. Cơ chế nào của hệ điều hành giúp bảo vệ dữ liệu của một tiến trình khỏi bị truy cập trái phép bởi tiến trình khác?
A. Bộ nhớ ảo (Virtual Memory)
B. Phân chia bộ nhớ (Memory Segmentation)
C. Cơ chế bảo vệ bộ nhớ (Memory Protection)
D. Lập lịch CPU (CPU Scheduling)
29. Ứng dụng nào sau đây KHÔNG phải là một chức năng điển hình của hệ điều hành?
A. Quản lý file và thư mục
B. Biên dịch mã nguồn chương trình thành mã máy
C. Quản lý bộ nhớ và cấp phát tài nguyên
D. Cung cấp giao diện người dùng để tương tác với máy tính
30. Xét về hiệu năng, thuật toán lập lịch "Round Robin" thường phù hợp nhất với loại hệ thống nào?
A. Hệ thống xử lý hàng loạt (Batch processing)
B. Hệ thống thời gian thực cứng (Hard real-time)
C. Hệ thống chia sẻ thời gian (Time-sharing)
D. Hệ thống nhúng (Embedded systems)
31. Chức năng chính 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.
B. Chạy các ứng dụng văn phòng.
C. Kết nối internet.
D. Chỉnh sửa ảnh và video.
32. Tiến trình (Process) và luồng (Thread) khác nhau như thế nào?
A. Tiến trình là đơn vị thực thi nhỏ hơn luồng.
B. Luồng là đơn vị tài nguyên hệ thống lớn hơn tiến trình.
C. Tiến trình có không gian địa chỉ riêng, trong khi các luồng trong cùng một tiến trình chia sẻ không gian địa chỉ.
D. Tiến trình và luồng là hai khái niệm hoàn toàn giống nhau.
33. 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. First-Come, First-Served (FCFS)
B. Shortest Job First (SJF)
C. Round Robin (RR)
D. Priority Scheduling
34. Bộ nhớ ảo (Virtual Memory) được sử dụng để làm 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 RAM vật lý.
C. Thay thế hoàn toàn bộ nhớ chính.
D. Giảm tiêu thụ điện năng của hệ thống.
35. Trong quản lý bộ nhớ, "phân trang" (Paging) giúp giải quyết vấn đề gì?
A. Phân mảnh ngoại vi (External Fragmentation).
B. Phân mảnh nội vi (Internal Fragmentation).
C. Tăng tốc độ truy cập bộ nhớ.
D. Giảm dung lượng bộ nhớ cần thiết.
36. Hệ thống tập tin (File System) có vai trò chính là gì?
A. Quản lý và tổ chức dữ liệu trên thiết bị lưu trữ.
B. Tăng tốc độ xử lý dữ liệu.
C. Bảo vệ hệ thống khỏi virus.
D. Kết nối các thiết bị ngoại vi.
37. Nguyên tắc "Độc quyền tương hỗ" (Mutual Exclusion) trong đồng bộ hóa tiến trình nhằm mục đích gì?
A. Đảm bảo các tiến trình có thể chia sẻ tài nguyên cùng một lúc.
B. Ngăn chặn tình trạng deadlock.
C. Đảm bảo chỉ có một tiến trình được phép truy cập tài nguyên tại một thời điểm.
D. Tăng tốc độ thực thi của các tiến trình.
38. Trong ngữ cảnh hệ điều hành, "System call" là gì?
A. Một loại virus máy tính.
B. Một lệnh gọi hàm từ chương trình người dùng đến kernel của hệ điều hành.
C. Một thiết bị phần cứng đặc biệt.
D. Một ngôn ngữ lập trình hệ thống.
39. Ví dụ nào sau đây là ứng dụng của hệ điều hành thời gian thực (Real-time Operating System - RTOS)?
A. Máy tính cá nhân để bàn.
B. Điện thoại thông minh.
C. Hệ thống điều khiển máy bay.
D. Máy chủ web.
40. Cơ chế "đoán trước" (preemptive) trong lập lịch CPU có nghĩa là gì?
A. Tiến trình hiện tại sẽ tự nguyện nhường CPU cho tiến trình khác.
B. Tiến trình hiện tại có thể bị hệ điều hành tạm dừng để nhường CPU cho tiến trình khác.
C. Các tiến trình được thực thi lần lượt theo thứ tự đến.
D. CPU chỉ thực thi một tiến trình duy nhất cho đến khi hoàn thành.
41. Điều gì xảy ra khi một tiến trình bị "deadlock"?
A. Tiến trình thực thi nhanh hơn bình thường.
B. Tiến trình bị treo và không thể tiếp tục thực thi.
C. Tiến trình tự động khởi động lại.
D. Tiến trình chuyển sang trạng thái ngủ.
42. Mục đích chính của việc sử dụng bộ nhớ cache trong hệ thống máy tính là gì?
A. Tăng dung lượng bộ nhớ chính.
B. Giảm giá thành bộ nhớ.
C. Tăng tốc độ truy cập dữ liệu thường xuyên sử dụng.
D. Bảo vệ dữ liệu khỏi bị mất khi mất điện.
43. Trong bảo mật hệ thống, "Access control" (Kiểm soát truy cập) dùng để làm gì?
A. Ngăn chặn virus xâm nhập hệ thống.
B. Quản lý quyền truy cập của người dùng và tiến trình đến tài nguyên hệ thống.
C. Tăng tốc độ truyền dữ liệu mạng.
D. Sao lưu dữ liệu định kỳ.
44. Loại hệ điều hành nào thường được sử dụng trong các hệ thống nhúng (Embedded systems) như thiết bị IoT?
A. Hệ điều hành desktop (ví dụ: Windows, macOS).
B. Hệ điều hành máy chủ (ví dụ: Linux Server).
C. Hệ điều hành thời gian thực (RTOS) hoặc hệ điều hành nhúng chuyên biệt.
D. Hệ điều hành mã nguồn mở duy nhất.
45. "Kernel" của hệ điều hành có vai trò gì?
A. Giao diện người dùng đồ họa.
B. Trình quản lý cơ sở dữ liệu.
C. Lõi trung tâm, quản lý tài nguyên và cung cấp dịch vụ cơ bản cho hệ thống.
D. Trình duyệt web mặc định.
46. Vai trò chính yếu của hệ điều hành (Operating System - OS) trong hệ thống máy tính là gì?
A. Cung cấp giao diện đồ họa người dùng (GUI) đẹp mắt và dễ sử dụng.
B. Quản lý tài nguyên phần cứng (CPU, bộ nhớ, thiết bị ngoại vi) và cung cấp môi trường để các ứng dụng chạy.
C. Tăng tốc độ xử lý dữ liệu của bộ vi xử lý trung tâm (CPU) lên mức tối đa.
D. Bảo vệ hệ thống khỏi các phần mềm độc hại và virus xâm nhập.
47. Xét tình huống một tiến trình đang thực hiện thao tác đọc dữ liệu từ ổ cứng. Trong quá trình này, tiến trình sẽ chuyển sang trạng thái nào và tại sao?
A. Trạng thái "Sẵn sàng" (Ready), vì tiến trình vẫn sẵn sàng sử dụng CPU khi dữ liệu được đọc xong.
B. Trạng thái "Thực thi" (Running), vì thao tác đọc dữ liệu vẫn cần CPU để điều khiển.
C. Trạng thái "Chờ" (Waiting/Blocked), vì tiến trình phải tạm dừng thực thi và chờ ổ cứng hoàn thành thao tác đọc dữ liệu.
D. Trạng thái "Kết thúc" (Terminated), vì thao tác đọc dữ liệu là thao tác cuối cùng của tiến trình.
48. Trong thực tế, khi bạn mở nhiều ứng dụng (ví dụ: trình duyệt web, trình soạn thảo văn bản, trình nghe nhạc) trên máy tính cá nhân, hệ điều hành đang áp dụng nguyên lý quản lý bộ nhớ nào để các ứng dụng này có thể chạy đồng thời một cách hiệu quả?
A. Quản lý bộ nhớ đơn vùng (Single Contiguous Allocation).
B. Phân vùng cố định (Fixed Partitioning).
C. Phân trang (Paging) hoặc Phân đoạn (Segmentation).
D. Không gian địa chỉ tuyến tính (Linear Address Space) duy nhất cho tất cả ứng dụng.
49. So sánh giữa hệ thống tệp tin FAT32 và NTFS, điểm khác biệt nổi bật nào liên quan đến khả năng phục hồi dữ liệu và bảo toàn tính toàn vẹn của hệ thống khi xảy ra sự cố (ví dụ: mất điện đột ngột)?
A. FAT32 có khả năng journaling tốt hơn NTFS, giúp phục hồi dữ liệu nhanh chóng hơn.
B. NTFS tích hợp cơ chế journaling, ghi lại nhật ký các thay đổi trước khi thực hiện, giúp phục hồi dữ liệu và đảm bảo tính toàn vẹn tốt hơn FAT32.
C. Cả FAT32 và NTFS đều có cơ chế journaling tương đương nhau, đảm bảo khả năng phục hồi dữ liệu như nhau.
D. Không hệ thống tệp tin nào có khả năng journaling, việc phục hồi dữ liệu phụ thuộc vào phần mềm bên thứ ba.
50. Trong mô hình kiến trúc nhân hệ điều hành, "system call" (lời gọi hệ thống) đóng vai trò là gì?
A. Một loại virus máy tính có thể xâm nhập vào nhân hệ điều hành.
B. Cơ chế để ứng dụng người dùng yêu cầu các dịch vụ từ nhân hệ điều hành, ví dụ như truy cập phần cứng hoặc quản lý tiến trình.
C. Một hàm thư viện chuẩn được sử dụng bởi các nhà phát triển ứng dụng để tối ưu hóa hiệu suất.
D. Một loại ngắt phần cứng được sử dụng để báo hiệu sự kiện từ các thiết bị ngoại vi.