Trắc nghiệm Hệ điều hành Bài 16: Các giải pháp đồng bộ hóa
25 câu · Đề ôn tập tổng hợp
Xem trước: đọc nhanh mọi câu dạng chữ, chưa tính giờ, chưa hiện đáp án. Luyện tập: chọn đáp án là biết đúng sai ngay, kèm lời giải. Thi thử: nộp bài mới chấm điểm và hiện lời giải.
Câu 1
Giải pháp đồng bộ hóa nào dựa trên việc cho phép hoặc ngăn chặn các ngắt (Interrupt) để đảm bảo tính nguyên tố của các thao tác?
Đáp án và lời giải
Đáp án: C
Câu 2
Nhược điểm chính của việc tắt/bật ngắt để đồng bộ hóa trong hệ thống đa xử lý là gì?
Đáp án và lời giải
Đáp án: D
Câu 3
Lệnh phần cứng đặc biệt nào (ví dụ: TestAndSet, Swap) được thiết kế để thực hiện thao tác đọc và ghi (hoặc trao đổi) một cách nguyên tố (atomic)?
Đáp án và lời giải
Đáp án: D
Câu 4
Khi sử dụng lệnh `TestAndSet()`, giá trị trả về và giá trị mới của biến thường là gì?
Đáp án và lời giải
Đáp án: C
Câu 5
Giải pháp đồng bộ hóa nào là một biến nguyên (integer variable) được truy cập chỉ thông qua hai thao tác nguyên tố wait() và signal()?
Đáp án và lời giải
Đáp án: D
Câu 6
Thao tác `wait()` trên Semaphore `S` hoạt động như thế nào?
Đáp án và lời giải
Đáp án: C
Câu 7
Thao tác `signal()` trên Semaphore `S` hoạt động như thế nào?
Đáp án và lời giải
Đáp án: C
Câu 8
Semaphore tổng quát (Counting Semaphore) với giá trị ban đầu là N có thể được sử dụng để làm gì?
Đáp án và lời giải
Đáp án: C
Câu 9
Semaphore nhị phân (Binary Semaphore) có giá trị chỉ có thể là 0 hoặc 1. Nó thường được sử dụng để làm gì?
Đáp án và lời giải
Đáp án: C
Câu 10
Mutex (Mutual Exclusion Lock) là một công cụ đồng bộ hóa đơn giản hơn Semaphore, thường được dùng để làm gì?
Đáp án và lời giải
Đáp án: D
Câu 11
Sự khác biệt giữa Mutex và Binary Semaphore là gì?
Đáp án và lời giải
Đáp án: D
Câu 12
Monitor là một công cụ đồng bộ hóa mức cao hơn, được tích hợp trong các ngôn ngữ lập trình (ví dụ: Java, C#). Ưu điểm của Monitor là gì?
Đáp án và lời giải
Đáp án: C
Câu 13
Bên trong một Monitor, chỉ có tối đa bao nhiêu tiến trình/tiểu trình được phép hoạt động tại một thời điểm?
Đáp án và lời giải
Đáp án: D
Câu 14
Condition Variable (Biến điều kiện) bên trong Monitor được sử dụng để làm gì?
Đáp án và lời giải
Đáp án: D
Câu 15
Thao tác `wait()` trên Condition Variable `c` trong Monitor hoạt động như thế nào?
Đáp án và lời giải
Đáp án: D
Câu 16
Thao tác `signal()` trên Condition Variable `c` trong Monitor hoạt động như thế nào?
Đáp án và lời giải
Đáp án: D
Câu 17
Thao tác `broadcast()` trên Condition Variable `c` trong Monitor hoạt động như thế nào?
Đáp án và lời giải
Đáp án: D
Câu 18
Đâu là nhược điểm chính của việc sử dụng Monitor so với Semaphore?
Đáp án và lời giải
Đáp án: D
Câu 19
Peterson’s Solution là một giải pháp phần mềm cổ điển cho bài toán Miền găng cho bao nhiêu tiến trình?
Đáp án và lời giải
Đáp án: C
Câu 20
Peterson’s Solution đảm bảo các yêu cầu nào của giải pháp Miền găng?
Đáp án và lời giải
Đáp án: D
Câu 21
Việc sử dụng `atomic variables` (biến nguyên tố) trong lập trình đồng hành nhằm mục đích gì?
Đáp án và lời giải
Đáp án: D
Câu 22
Tác vụ nào sau đây KHÔNG đòi hỏi cơ chế đồng bộ hóa khi thực hiện bởi nhiều tiến trình/tiểu trình?
Đáp án và lời giải
Đáp án: D
Câu 23
Mô hình nào cung cấp một mức độ trừu tượng cao hơn Semaphore và Mutex, thường được coi là an toàn hơn khi sử dụng?
Đáp án và lời giải
Đáp án: C
Câu 24
Trong các hệ điều hành hiện đại, cơ chế đồng bộ hóa nào thường được cung cấp ở mức kernel để lập trình viên sử dụng?
Đáp án và lời giải
Đáp án: C
Câu 25
Khi thiết kế giải pháp đồng bộ hóa cho một bài toán cụ thể, điều quan trọng là phải cân nhắc giữa các yếu tố nào?