Trắc nghiệm Hệ điều hành Bài 13: Liên lạc giữa các tiến trình và vấn đề đồ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
Tại sao các tiến trình cần phải liên lạc (communicate) với nhau?
Đáp án và lời giải
Đáp án: C
Câu 2
Cơ chế nào cho phép các tiến trình trao đổi dữ liệu và phối hợp hoạt động?
Đáp án và lời giải
Đáp án: C
Câu 3
Đâu là hai mô hình cơ bản để thực hiện Giao tiếp liên tiến trình (IPC)?
Đáp án và lời giải
Đáp án: D
Câu 4
Trong mô hình Bộ nhớ chia sẻ (Shared Memory), các tiến trình giao tiếp bằng cách nào?
Đáp án và lời giải
Đáp án: C
Câu 5
Ưu điểm chính của mô hình Bộ nhớ chia sẻ là gì?
Đáp án và lời giải
Đáp án: C
Câu 6
Nhược điểm chính của mô hình Bộ nhớ chia sẻ là gì?
Đáp án và lời giải
Đáp án: C
Câu 7
Trong mô hình Truyền thông điệp (Message Passing), các tiến trình giao tiếp bằng cách nào?
Đáp án và lời giải
Đáp án: B
Câu 8
Ưu điểm của mô hình Truyền thông điệp là gì?
Đáp án và lời giải
Đáp án: C
Câu 9
Nhược điểm của mô hình Truyền thông điệp là gì?
Đáp án và lời giải
Đáp án: C
Câu 10
Trong truyền thông điệp trực tiếp (Direct Communication), các lời gọi `send()` và `receive()` thường yêu cầu chỉ định thông tin gì?
Đáp án và lời giải
Đáp án: D
Câu 11
Trong truyền thông điệp gián tiếp (Indirect Communication), các tiến trình giao tiếp thông qua một thực thể trung gian nào?
Đáp án và lời giải
Đáp án: C
Câu 12
Vấn đề gì xảy ra khi nhiều tiến trình hoặc tiểu trình cùng truy cập và thao tác trên cùng một dữ liệu chia sẻ mà kết quả phụ thuộc vào thứ tự thực thi cụ thể?
Đáp án và lời giải
Đáp án: C
Câu 13
Để giải quyết Race Condition, chúng ta cần đảm bảo chỉ có tối đa một tiến trình/tiểu trình được thực thi trong một vùng mã cụ thể tại một thời điểm. Vùng mã này được gọi là gì?
Đáp án và lời giải
Đáp án: D
Câu 14
Ba yêu cầu cơ bản để giải pháp cho bài toán Miền găng là gì?
Đáp án và lời giải
Đáp án: D
Câu 15
Yêu cầu “Mutual Exclusion” (Loại trừ lẫn nhau) trong giải pháp Miền găng có nghĩa là gì?
Đáp án và lời giải
Đáp án: C
Câu 16
Yêu cầu “Progress” (Tiến bộ) trong giải pháp Miền găng có nghĩa là gì?
Đáp án và lời giải
Đáp án: D
Câu 17
Yêu cầu “Bounded Waiting” (Chờ đợi giới hạn) trong giải pháp Miền găng có nghĩa là gì?
Đáp án và lời giải
Đáp án: C
Câu 18
Lệnh đặc quyền nào được CPU cung cấp có thể được sử dụng để xây dựng các cơ chế đồng bộ hóa phần cứng?
Đáp án và lời giải
Đáp án: D
Câu 19
Một Semaphore là gì?
Đáp án và lời giải
Đáp án: B
Câu 20
Thao tác `wait()` (hoặc `P()`) trên Semaphore `S` hoạt động như thế nào?
Đáp án và lời giải
Đáp án: D
Câu 21
Thao tác `signal()` (hoặc `V()`) trên Semaphore `S` hoạt động như thế nào?
Đáp án và lời giải
Đáp án: A
Câu 22
Semaphore nhị phân (Binary Semaphore) là trường hợp đặc biệt của Semaphore tổng quát (Counting Semaphore) mà giá trị của nó chỉ có thể là bao nhiêu?
Đáp án và lời giải
Đáp án: D
Câu 23
Mutex (Mutual Exclusion) là gì?
Đáp án và lời giải
Đáp án: C
Câu 24
Mục đích của việc sử dụng Mutex hoặc Semaphore trong lập trình đồng hành là gì?
Đáp án và lời giải
Đáp án: D
Câu 25
Các vấn đề cổ điển của đồng bộ hóa (ví dụ: Bài toán Nhà sản xuất-Người tiêu dùng, Bài toán Các triết gia ăn tối, Bài toán Đọc giả-Nhà văn) thường được sử dụng để minh họa và kiểm tra tính hiệu quả của các cơ chế đồng bộ hóa nào?