Trắc nghiệm Hệ điều hành Bài 16: Các giải pháp đồng bộ hóa 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 hỏi 30 phút Hệ điều hànhBẮT ĐẦU LÀM BÀITrắc nghiệm Hệ điều hành Bài 16: Các giải pháp đồng bộ hóa 25 câu hỏi 30 phút Hệ điều hànhPHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn.Câu 1Nhận biếtGiả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?A.Semaphore.B.Mutex.C.CD.Spinlock. Lát kiểm tra lại Câu 2Nhận biếtNhượ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ì?A.Dễ gây ra Starvation.B.Không thể giải quyết Race Condition.C.Chỉ hoạt động cho 2 tiến trình.D.D Lát kiểm tra lại Câu 3Nhận biếtLệ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)?A.Load/Store.B.Add/Subtract.C.Jump/Call.D.D Lát kiểm tra lại Câu 4Nhận biếtKhi sử dụng lệnh `TestAndSet()`, giá trị trả về và giá trị mới của biến thường là gì?A.Trả về giá trị mới, đặt giá trị cũ.B.Trả về true, đặt giá trị false.C.CD.Trả về false, đặt giá trị true. Lát kiểm tra lại Câu 5Nhận biếtGiả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()?A.Mutex.B.Monitor.C.Message Queue.D.D Lát kiểm tra lại Câu 6Nhận biếtThao tác `wait()` trên Semaphore `S` hoạt động như thế nào?A.Tăng S lên 1.B.Cho phép tiến trình vào miền găng.C.CD.Kiểm tra S, nếu S > 0 thì tiếp tục, ngược lại chờ. Lát kiểm tra lại Câu 7Nhận biếtThao tác `signal()` trên Semaphore `S` hoạt động như thế nào?A.Giảm S đi 1.B.Chặn tiến trình gọi.C.CD.Cho phép tất cả các tiến trình bị chặn chạy. Lát kiểm tra lại Câu 8Nhận biếtSemaphore tổng quát (Counting Semaphore) với giá trị ban đầu là N có thể được sử dụng để làm gì?A.Đảm bảo loại trừ lẫn nhau cho miền găng.B.Giao tiếp giữa các tiến trình.C.CD.Đồng bộ hóa giữa nhà sản xuất và người tiêu dùng với buffer không giới hạn. Lát kiểm tra lại Câu 9Nhận biếtSemaphore 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ì?A.Quản lý hàng đợi tin nhắn.B.Kiểm soát tài nguyên số lượng lớn.C.CD.Báo hiệu sự kiện giữa các tiến trình. Lát kiểm tra lại Câu 10Nhận biếtMutex (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ì?A.Trao đổi dữ liệu giữa các tiến trình.B.Đồng bộ hóa các tác vụ trong hệ thống phân tán.C.Kiểm soát truy cập vào nhiều tài nguyên giống hệt nhau.D.D Lát kiểm tra lại Câu 11Nhận biếtSự khác biệt giữa Mutex và Binary Semaphore là gì?A.Mutex chỉ có 2 trạng thái, Semaphore có nhiều.B.Mutex phức tạp hơn Semaphore.C.Mutex được sử dụng cho giao tiếp, Semaphore cho đồng bộ hóa.D.D Lát kiểm tra lại Câu 12Nhận biếtMonitor 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ì?A.Sử dụng ít bộ nhớ hơn Semaphore.B.Dễ dàng gây ra Deadlock.C.CD.Chỉ hoạt động trong kernel. Lát kiểm tra lại Câu 13Nhận biếtBê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?A.Không giới hạn.B.Tùy thuộc vào số lượng CPU.C.Tùy thuộc vào số lượng điều kiện (Condition Variables).D.D Lát kiểm tra lại Câu 14Nhận biếtCondition Variable (Biến điều kiện) bên trong Monitor được sử dụng để làm gì?A.Lưu trữ dữ liệu chia sẻ.B.Đảm bảo loại trừ lẫn nhau.C.Báo hiệu lỗi.D.D Lát kiểm tra lại Câu 15Nhận biếtThao tác `wait()` trên Condition Variable `c` trong Monitor hoạt động như thế nào?A.Tiến trình tiếp tục chạy.B.Tiến trình rời khỏi Monitor và tiếp tục ở ngoài.C.Tiến trình bị chặn và giữ khóa Monitor.D.D Lát kiểm tra lại Câu 16Nhận biếtThao tác `signal()` trên Condition Variable `c` trong Monitor hoạt động như thế nào?A.Đánh thức tất cả các tiến trình đang chờ trên `c`.B.Khóa Monitor.C.Tiến trình gọi bị chặn.D.D Lát kiểm tra lại Câu 17Nhận biếtThao tác `broadcast()` trên Condition Variable `c` trong Monitor hoạt động như thế nào?A.Đánh thức MỘT tiến trình đang chờ trên `c`.B.Chỉ báo hiệu cho kernel.C.Khóa Monitor.D.D Lát kiểm tra lại Câu 18Nhận biếtĐâu là nhược điểm chính của việc sử dụng Monitor so với Semaphore?A.Khó cài đặt.B.Dễ gây ra Race Condition.C.Gây lãng phí CPU.D.D Lát kiểm tra lại Câu 19Nhận biếtPeterson'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?A.Bất kỳ số lượng tiến trình nào.B.Chỉ các tiến trình không liên quan.C.CD.Ba tiến trình trở lên. Lát kiểm tra lại Câu 20Nhận biếtPeterson's Solution đảm bảo các yêu cầu nào của giải pháp Miền găng?A.Chỉ Mutual Exclusion.B.Chỉ Progress.C.Chỉ Bounded Waiting.D.D Lát kiểm tra lại Câu 21Nhận biếtViệ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ì?A.Lưu trữ dữ liệu lớn.B.Tạo ra các tiến trình mới.C.Thiết lập kênh truyền thông.D.D Lát kiểm tra lại Câu 22Nhận biếtTá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?A.Tăng giá trị của một biến toàn cục.B.Thêm một phần tử vào danh sách liên kết dùng chung.C.Cập nhật một bản ghi trong cơ sở dữ liệu chia sẻ.D.D Lát kiểm tra lại Câu 23Nhận biếtMô 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?A.Spinlock.B.Lệnh phần cứng nguyên tố.C.CD.Tắt/Bật ngắt. Lát kiểm tra lại Câu 24Nhận biếtTrong 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?A.Peterson's Solution.B.Tắt/Bật ngắt.C.CD.Monitor (trừ khi ngôn ngữ lập trình hỗ trợ). Lát kiểm tra lại Câu 25Nhận biếtKhi 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?A.Chỉ tốc độ và bộ nhớ.B.Chỉ tính đơn giản và giá thành.C.Chỉ khả năng tương thích ngược.D.D Lát kiểm tra lại Số câu đã làm0/25|Thời gian còn lại--:--NỘP BÀI