Tạo Trắc Nghiệm

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?

Đáp án và lời giải

Đáp án: D