Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Nguyên Lý Hệ Điều Hành - Đề 02 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Xét hệ thống đa chương trình, phát biểu nào sau đây mô tả đúng nhất mục tiêu chính của việc sử dụng CPU scheduling?
- A. Đảm bảo mỗi tiến trình được cấp phát một lượng bộ nhớ chính xác.
- B. Ngăn chặn tình trạng deadlock xảy ra trong hệ thống.
- C. Tối đa hóa hiệu suất CPU và đáp ứng thời gian phản hồi của người dùng.
- D. Quản lý việc phân bổ tài nguyên đĩa cho các tiến trình.
Câu 2: Thuật toán lập lịch Round Robin (RR) thường được ưu tiên sử dụng trong các hệ thống nào?
- A. Hệ thống batch xử lý hàng loạt.
- B. Hệ thống thời gian thực và hệ thống chia sẻ thời gian (time-sharing).
- C. Hệ thống nhúng với tài nguyên hạn chế.
- D. Hệ thống đơn nhiệm (single-tasking).
Câu 3: Trong ngữ cảnh quản lý bộ nhớ ảo, "thrashing" xảy ra khi nào?
- A. Bộ nhớ vật lý đầy và hệ thống không thể cấp phát thêm bộ nhớ.
- B. CPU quá tải do số lượng tiến trình thực thi đồng thời quá lớn.
- C. Thuật toán thay thế trang (page replacement algorithm) hoạt động không hiệu quả.
- D. Hệ thống dành phần lớn thời gian cho việc swapping trang vào và ra khỏi bộ nhớ, làm giảm hiệu suất tổng thể.
Câu 4: Cơ chế "semaphore" được sử dụng để giải quyết vấn đề gì trong hệ điều hành?
- A. Đồng bộ hóa các tiến trình và quản lý truy cập vào tài nguyên dùng chung.
- B. Quản lý bộ nhớ ảo và phân trang.
- C. Lập lịch CPU và phân phối thời gian xử lý.
- D. Quản lý hệ thống tập tin và thao tác I/O.
Câu 5: Điều kiện "circular wait" là một trong bốn điều kiện cần thiết để deadlock xảy ra. "Circular wait" mô tả tình huống nào?
- A. Một tiến trình giữ nhiều tài nguyên và yêu cầu thêm một tài nguyên khác.
- B. Các tiến trình tranh giành quyền truy cập vào cùng một tài nguyên.
- C. Một tập hợp các tiến trình, mỗi tiến trình đang chờ một tài nguyên được giữ bởi một tiến trình khác trong tập hợp đó, tạo thành một vòng tròn.
- D. Thời gian chờ đợi của một tiến trình vượt quá một ngưỡng nhất định.
Câu 6: Trong hệ thống tập tin, inode (index node) có vai trò chính gì?
- A. Lưu trữ nội dung dữ liệu của tập tin.
- B. Lưu trữ metadata (thông tin mô tả) về tập tin, bao gồm quyền truy cập, kích thước và vị trí dữ liệu.
- C. Quản lý không gian đĩa trống và đã sử dụng.
- D. Định tuyến đường dẫn (path) đến tập tin.
Câu 7: "Context switching" là gì và tại sao nó cần thiết trong hệ điều hành đa nhiệm?
- A. Quá trình cấp phát bộ nhớ cho một tiến trình mới.
- B. Quá trình biên dịch mã nguồn chương trình thành mã máy.
- C. Quá trình lưu và phục hồi trạng thái của tiến trình để CPU chuyển đổi giữa các tiến trình.
- D. Quá trình xử lý ngắt phần cứng.
Câu 8: Sự khác biệt chính giữa "process" (tiến trình) và "thread" (luồng) là gì?
- A. Tiến trình là một chương trình đang chạy, còn luồng là một phần của hệ điều hành.
- B. Tiến trình là đơn vị cấp phát tài nguyên, luồng là đơn vị thực thi trong tiến trình và chia sẻ tài nguyên với các luồng khác cùng tiến trình.
- C. Luồng có không gian địa chỉ riêng, còn tiến trình thì chia sẻ không gian địa chỉ.
- D. Không có sự khác biệt đáng kể giữa tiến trình và luồng, chúng là các thuật ngữ tương đương.
Câu 9: Mục đích của "system call" (lời gọi hệ thống) là gì?
- A. Để chương trình người dùng trực tiếp truy cập phần cứng.
- B. Để tối ưu hóa hiệu suất thực thi của chương trình.
- C. Để quản lý bộ nhớ và không gian địa chỉ của tiến trình.
- D. Để cung cấp giao diện cho 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âu 10: Trong quản lý bộ nhớ, thuật toán "First-Fit", "Best-Fit" và "Worst-Fit" được sử dụng để làm gì?
- A. Thay thế trang trong bộ nhớ ảo.
- B. Lập lịch các tiến trình sử dụng bộ nhớ.
- C. Cấp phát các khối bộ nhớ trống cho tiến trình theo các chiến lược khác nhau.
- D. Giải phóng bộ nhớ khi tiến trình kết thúc.
Câu 11: "Busy waiting" là một vấn đề liên quan đến cơ chế đồng bộ hóa nào?
- A. Semaphore.
- B. Spinlock.
- C. Monitor.
- D. Message passing.
Câu 12: Trong ngữ cảnh 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 và tiến trình nên có quyền truy cập đầy đủ vào tất cả tài nguyên hệ thống.
- B. Quyền truy cập vào tài nguyên hệ thống nên được cấp phát dựa trên mức độ ưu tiên của tiến trình.
- C. Chỉ có quản trị viên hệ thống mới có quyền truy cập vào các tài nguyên quan trọng.
- D. Mỗi tiến trình hoặc người dùng chỉ nên được cấp quyền truy cập tối thiểu cần thiết để thực hiện nhiệm vụ của mình.
Câu 13: Phương pháp "paging" (phân trang) giúp giải quyết vấn đề gì trong quản lý bộ nhớ?
- A. Phân mảnh ngoại vi (external fragmentation) và cho phép tiến trình lớn hơn bộ nhớ vật lý.
- B. Phân mảnh nội vi (internal fragmentation).
- C. Tình trạng thrashing.
- D. Deadlock do tranh chấp bộ nhớ.
Câu 14: "Race condition" (điều kiện chủng tộc) xảy ra khi nào?
- A. Hai tiến trình cố gắng truy cập cùng một tài nguyên đồng thời, nhưng chỉ một tiến trình được phép truy cập.
- B. Một tiến trình chờ đợi một tài nguyên mà không bao giờ được cấp phát.
- C. Kết quả của một phép tính phụ thuộc vào thứ tự không xác định của các sự kiện, đặc biệt khi nhiều tiến trình truy cập dữ liệu dùng chung.
- D. Một lỗi lập trình dẫn đến việc chương trình thực thi không đúng logic.
Câu 15: Cơ chế "interrupt" (ngắt) được sử dụng để làm gì trong hệ điều hành?
- A. Để lập lịch các tiến trình trên CPU.
- B. Để báo hiệu cho CPU về một sự kiện cần được xử lý, thường từ phần cứng hoặc phần mềm.
- C. Để quản lý bộ nhớ ảo và phân trang.
- D. Để đồng bộ hóa các tiến trình.
Câu 16: Trong hệ thống file, "mount point" (điểm gắn kết) là gì?
- A. Vị trí lưu trữ metadata của hệ thống tập tin.
- B. Thư mục gốc của hệ thống tập tin.
- C. Một thư mục trong hệ thống tập tin hiện tại, nơi một hệ thống tập tin khác được gắn vào.
- D. Vị trí lưu trữ các tập tin cấu hình hệ thống.
Câu 17: Thuật toán lập lịch "Shortest Job First (SJF)" tối ưu hóa tiêu chí nào?
- A. Thời gian chờ đợi trung bình.
- B. Thời gian phản hồi trung bình.
- C. Throughput (số lượng công việc hoàn thành).
- D. Tính công bằng giữa các tiến trình.
Câu 18: "Virtual memory" (bộ nhớ ảo) cho phép hệ thống thực hiện điều gì mà không có bộ nhớ ảo thì khó thực hiện?
- A. Truy cập bộ nhớ nhanh hơn.
- B. Chạy các chương trình có kích thước lớn hơn bộ nhớ vật lý khả dụng.
- C. Tiết kiệm năng lượng tiêu thụ.
- D. Tăng cường bảo mật hệ thống.
Câu 19: "Monitor" là một công cụ đồng bộ hóa cấp cao, nó cung cấp cơ chế nào để bảo vệ dữ liệu dùng chung?
- A. Cơ chế khóa nhị phân (binary semaphore).
- B. Cơ chế kiểm tra và thiết lập (test-and-set).
- C. Cơ chế trao đổi thông điệp (message passing).
- D. Cơ chế loại trừ lẫn nhau và biến điều kiện (condition variables).
Câu 20: "Direct Memory Access (DMA)" cải thiện hiệu suất hệ thống I/O như thế nào?
- A. Tăng tốc độ xử lý ngắt.
- B. Giảm độ trễ của thiết bị I/O.
- C. Cho phép thiết bị I/O truyền dữ liệu trực tiếp đến bộ nhớ mà không cần CPU can thiệp liên tục sau khi khởi tạo.
- D. Tối ưu hóa việc sử dụng bộ nhớ cache.
Câu 21: Trong ngữ cảnh hệ thống phân tán, "message passing" (trao đổi thông điệp) được sử dụng cho mục đích gì?
- A. Quản lý bộ nhớ chia sẻ giữa các tiến trình trên cùng một máy.
- B. Cho phép các tiến trình trên các máy tính khác nhau giao tiếp và đồng bộ hóa thông qua mạng.
- C. Lập lịch các tiến trình trên nhiều CPU trong một hệ thống đa xử lý.
- D. Quản lý quyền truy cập vào hệ thống tập tin phân tán.
Câu 22: "Kernel mode" và "user mode" là gì và tại sao hệ điều hành cần phân biệt hai chế độ này?
- A. Hai loại bộ nhớ khác nhau được sử dụng bởi hệ điều hành.
- B. Hai loại ngôn ngữ lập trình khác nhau cho hệ điều hành và ứng dụng.
- C. Hai loại kiến trúc CPU khác nhau.
- D. Hai chế độ hoạt động của CPU, kernel mode cho phép truy cập đặc quyền, user mode hạn chế để bảo vệ hệ thống.
Câu 23: "Bootstrapping" (khởi động) là quá trình gì trong hệ điều hành?
- A. Quá trình khởi động máy tính từ trạng thái tắt nguồn và tải hệ điều hành vào bộ nhớ.
- B. Quá trình cài đặt phần mềm ứng dụng vào hệ thống.
- C. Quá trình cập nhật hệ điều hành lên phiên bản mới nhất.
- D. Quá trình sao lưu và phục hồi dữ liệu hệ thống.
Câu 24: Trong hệ thống file, "journaling" (ghi nhật ký) giúp cải thiện điều gì?
- A. Tốc độ truy cập file.
- B. Hiệu quả sử dụng không gian đĩa.
- C. Tính nhất quán dữ liệu và khả năng phục hồi hệ thống tập tin sau sự cố.
- D. Bảo mật dữ liệu trong hệ thống tập tin.
Câu 25: "Preemptive scheduling" (lập lịch độc quyền) khác biệt với "non-preemptive scheduling" (lập lịch không độc quyền) như thế nào?
- A. Preemptive scheduling luôn nhanh hơn non-preemptive scheduling.
- B. Preemptive scheduling cho phép hệ điều hành ngắt một tiến trình đang chạy, trong khi non-preemptive scheduling thì không.
- C. Non-preemptive scheduling công bằng hơn preemptive scheduling.
- D. Preemptive scheduling chỉ sử dụng cho hệ thống thời gian thực, non-preemptive scheduling cho hệ thống batch.
Câu 26: "Cache coherence" (tính nhất quán cache) là vấn đề quan trọng trong hệ thống đa xử lý nào?
- A. Hệ thống đơn xử lý.
- B. Hệ thống nhúng.
- C. Hệ thống thời gian thực.
- D. Hệ thống đa xử lý với bộ nhớ cache riêng cho mỗi CPU.
Câu 27: "Spooling" (đồng bộ hóa ngoại vi đồng thời) thường được sử dụng trong quản lý thiết bị nào?
- A. Ổ cứng.
- B. Bàn phím.
- C. Máy in.
- D. Màn hình.
Câu 28: "Aging" (lão hóa) là một kỹ thuật được sử dụng trong thuật toán lập lịch ưu tiên để giải quyết vấn đề gì?
- A. Deadlock.
- B. Starvation (đói tài nguyên).
- C. Thrashing.
- D. Race condition.
Câu 29: "Microkernel" architecture (kiến trúc microkernel) có ưu điểm chính nào so với "monolithic kernel" architecture (kiến trúc monolithic kernel)?
- A. Hiệu suất cao hơn do tất cả dịch vụ nằm trong kernel.
- B. Dễ dàng cài đặt và cấu hình hơn.
- C. Yêu cầu ít tài nguyên hệ thống hơn.
- D. Tính modularity cao hơn, dễ bảo trì và ổn định hơn do giảm thiểu chức năng trong kernel.
Câu 30: Giả sử một hệ thống sử dụng cơ chế phân trang với kích thước trang là 4KB. Một tiến trình muốn truy cập địa chỉ logic 8195 byte. Trang này nằm ở offset bao nhiêu trong trang?
- A. 9 bytes
- B. 3 bytes
- C. 4099 bytes
- D. 8195 bytes