Trắc nghiệm Hệ điều hành Bài 15: Nhu cầu đồng bộ hóa(synchronisation)

Làm bài thi

Mục Lục

Trắc nghiệm Hệ điều hành Bài 15: Nhu cầu đồng bộ hóa(synchronisation) là một trong những đề thi thuộc Chương 2: Quản lý Tiến trình và Đồng bộ hóa trong học phần Hệ điều hành chuyên ngành Công Nghệ Thông Tin cấp độ Đại học. Đây là phần mở đầu quan trọng giúp sinh viên hình thành cái nhìn tổng quan về vai trò, chức năng và tầm quan trọng của hệ điều hành trong một hệ thống máy tính hiện đại.

Trong bài học này, người học cần nắm được các nội dung cốt lõi như: định nghĩa hệ điều hành, chức năng chính của hệ điều hành (quản lý tiến trình, bộ nhớ, thiết bị và hệ thống tệp), phân loại hệ điều hành, cũng như mối quan hệ giữa phần cứng, phần mềm và người dùng thông qua hệ điều hành. Việc hiểu rõ các kiến thức nền tảng này sẽ tạo tiền đề vững chắc cho sinh viên khi tiếp cận các khái niệm chuyên sâu hơn như quản lý tiến trình, xử lý đồng thời, và bảo mật hệ thống.

Hãy cùng Dethitracnghiem.vn tìm hiểu về đề thi này và tham gia làm kiểm tra ngay lập tức!

Trắc nghiệm Hệ điều hành Bài 15: Nhu cầu đồng bộ hóa(synchronisation)

Câu 1.Tại sao vấn đề đồng bộ hóa lại phát sinh trong các hệ thống có xử lý đồng hành?
A. Vì các tiến trình/tiểu trình chạy quá nhanh.
B. Vì mỗi tiến trình có không gian bộ nhớ riêng.
C. Vì Hệ điều hành không đủ mạnh.
D. Vì các tiến trình/tiểu trình chia sẻ và cùng truy cập các tài nguyên dùng chung (dữ liệu, thiết bị, v.v.).

Câu 2.Vấn đề gì xảy ra khi kết quả thực thi của một tập hợp các tiến trình/tiểu trình phụ thuộc vào thứ tự cụ thể mà chúng truy cập vào tài nguyên dùng chung?
A. Deadlock (Tắc nghẽn).
B. Starvation (Đói).
C. Context Switching (Chuyển ngữ cảnh).
D. Race Condition (Điều kiện tranh chấp).

Câu 3.Để tránh Race Condition khi nhiều tiến trình cùng truy cập tài nguyên dùng chung, cần phải đảm bảo điều gì?
A. Chỉ cho phép một tiến trình chạy tại một thời điểm trong toàn bộ hệ thống.
B. Các tiến trình phải chạy tuần tự theo một thứ tự cố định.
C. Chỉ cho phép tối đa một tiến trình/tiểu trình thực thi trong miền găng (Critical Section) tại một thời điểm.
D. Mỗi tiến trình phải có một bản sao riêng của tài nguyên.

Câu 4.Miền găng (Critical Section) là gì?
A. Vùng bộ nhớ riêng của tiến trình.
B. Toàn bộ mã nguồn của chương trình.
C. Đoạn mã nơi tiến trình truy cập và thao tác trên các tài nguyên dùng chung.
D. Vùng kernel của hệ điều hành.

Câu 5.Yêu cầu cơ bản nhất cho một giải pháp giải quyết bài toán Miền găng là gì?
A. Progress (Tiến bộ).
B. Bounded Waiting (Chờ đợi giới hạn).
C. Hiệu suất cao.
D. Mutual Exclusion (Loại trừ lẫn nhau).

Câu 6.Yêu cầu “Mutual Exclusion” có nghĩa là:
A. Tất cả các tiến trình phải chờ đợi lẫn nhau.
B. Các tiến trình không được phép truy cập bất kỳ tài nguyên nào.
C. Nếu tiến trình \(P_i\) đang thực thi trong miền găng của nó, thì không có tiến trình nào khác được phép thực thi trong miền găng của chúng.
D. Chỉ một tiến trình được phép chạy trong toàn bộ hệ thống.

Câu 7.Yêu cầu “Progress” đảm bảo điều gì?
A. Mọi tiến trình đều phải vào được miền găng.
B. Quyết định vào miền găng phải diễn ra ngay lập tức.
C. Các tiến trình chỉ có thể tham gia vào quyết định vào miền găng nếu chúng đang chờ đợi.
D. Nếu không có tiến trình nào trong miền găng và một số tiến trình muốn vào, quyết định tiến trình nào sẽ vào không bị trì hoãn vô thời hạn và chỉ những tiến trình không ở phần còn lại mới tham gia quyết định.

Câu 8.Yêu cầu “Bounded Waiting” đảm bảo điều gì?
A. Thời gian chờ đợi của mỗi tiến trình là như nhau.
B. Tổng thời gian chờ của tất cả các tiến trình là nhỏ nhất.
C. Có một giới hạn về số lần các tiến trình khác được phép vào miền găng sau khi một tiến trình yêu cầu vào và trước khi yêu cầu đó được chấp nhận.
D. Mỗi tiến trình chỉ được phép chờ một số lượng tài nguyên nhất định.

Câu 9.Việc không thỏa mãn yêu cầu “Bounded Waiting” có thể dẫn đến vấn đề gì?
A. Race Condition.
B. Deadlock.
C. Cache Miss.
D. Starvation.

Câu 10.Vấn đề “Starvation” (Đói) trong bối cảnh đồng bộ hóa là gì?
A. Khi một tiến trình nhận được quá nhiều tài nguyên.
B. Khi một tiến trình thực thi quá nhanh.
C. Khi một tiến trình bị ngăn chặn vô thời hạn việc truy cập vào một tài nguyên mà nó cần.
D. Khi Hệ điều hành không thể tạo thêm tiến trình.

Câu 11.Đồng bộ hóa là cần thiết cho loại tiến trình nào?
A. Chỉ các tiến trình hệ thống.
B. Chỉ các tiến trình người dùng.
C. Chỉ các tiến trình độc lập (Independent Processes).
D. Các tiến trình hợp tác (Cooperating Processes) có chia sẻ tài nguyên.

Câu 12.Nếu các tiến trình hoàn toàn độc lập (không chia sẻ tài nguyên hoặc không cần phối hợp), có cần đồng bộ hóa không?
A. Không (ít nhất là không cần đồng bộ hóa giữa chúng cho mục đích truy cập tài nguyên chung).
B. Có, luôn cần đồng bộ hóa.
C. Tùy thuộc vào số lượng CPU.
D. Chỉ khi chúng chạy trên hệ thống phân tán.

Câu 13.Bài toán Nhà sản xuất-Người tiêu dùng (Producer-Consumer Problem) là ví dụ điển hình về nhu cầu đồng bộ hóa khi các tiến trình chia sẻ gì?
A. CPU.
B. Bộ nhớ RAM (toàn bộ).
C. Các tệp trên đĩa.
D. Một vùng đệm (buffer) dùng chung.

Câu 14.Trong bài toán Nhà sản xuất-Người tiêu dùng, vấn đề gì xảy ra nếu không có đồng bộ hóa?
A. Deadlock giữa nhà sản xuất và người tiêu dùng.
B. Starvation của một trong hai bên.
C. Tăng tốc độ sản xuất và tiêu thụ.
D. Nhà sản xuất có thể cố gắng thêm dữ liệu vào bộ đệm đầy, hoặc người tiêu dùng cố gắng lấy dữ liệu từ bộ đệm rỗng (Buffer Overflow/Underflow). Race Condition khi truy cập biến đếm.

Câu 15.Trong bài toán Các triết gia ăn tối (Dining Philosophers Problem), vấn đề gì có thể xảy ra nếu không có cơ chế đồng bộ hóa phù hợp khi họ cùng cố gắng nhấc dĩa?
A. Starvation.
B. Race Condition.
C. Deadlock (tất cả cùng nhấc dĩa bên trái và chờ dĩa bên phải).
D. Buffer Overflow.

Câu 16.Vấn đề “Reader-Writer Problem” (Bài toán Đọc giả-Nhà văn) minh họa nhu cầu đồng bộ hóa khi nhiều tiến trình cùng truy cập một cơ sở dữ liệu chia sẻ. Yêu cầu cơ bản là gì?
A. Nhiều nhà văn có thể ghi cùng lúc.
B. Chỉ một đọc giả được đọc tại một thời điểm.
C. Nhà văn và đọc giả có thể truy cập đồng thời.
D. Nhiều đọc giả có thể đọc đồng thời, nhưng chỉ một nhà văn được ghi tại một thời điểm (và khi nhà văn đang ghi, không có đọc giả nào được đọc).

Câu 17.Trong các giải pháp cho bài toán Miền găng, “Spinlock” là gì?
A. Một loại Semaphore.
B. Một cơ chế truyền thông điệp.
C. Một kỹ thuật lập lịch CPU.
D. Một khóa (lock) khiến tiến trình chờ đợi (spin) trong một vòng lặp bận (busy-waiting) thay vì bị chặn hoàn toàn.

Câu 18.Nhược điểm của Spinlock là gì?
A. Dễ gây ra Deadlock.
B. Khó cài đặt.
C. Chỉ hoạt động trên hệ thống đơn CPU.
D. Gây lãng phí chu kỳ CPU trong vòng lặp bận, đặc biệt trên hệ thống đơn CPU.

Câu 19.Semaphore tổng quát (Counting Semaphore) có thể được sử dụng để kiểm soát quyền truy cập vào bao nhiêu tài nguyên giống hệt nhau?
A. Chỉ 1 tài nguyên.
B. Chỉ 2 tài nguyên.
C. Bất kỳ số lượng tài nguyên nào nhỏ hơn 0.
D. Một số lượng tài nguyên giới hạn (giá trị ban đầu của semaphore).

Câu 20.Semaphore nhị phân (Binary Semaphore) thường được sử dụng như một công cụ để hiện thực cơ chế đồng bộ hóa nào?
A. Pipe.
B. Message Queue.
C. Mutex (Mutual Exclusion).
D. Shared Memory.

Câu 21.Khi sử dụng bộ nhớ chia sẻ giữa các tiến trình, cơ chế đồng bộ hóa (như Mutex hoặc Semaphore) là cần thiết để làm gì?
A. Chỉ để thiết lập vùng nhớ chia sẻ.
B. Chỉ để hủy vùng nhớ chia sẻ.
C. Tăng kích thước vùng nhớ chia sẻ.
D. Kiểm soát việc đọc và ghi dữ liệu trong vùng nhớ chia sẻ để tránh Race Condition.

Câu 22.Nhu cầu đồng bộ hóa xuất hiện KHÔNG phải do vấn đề nào sau đây?
A. Nhiều tiến trình cùng truy cập biến toàn cục.
B. Nhiều tiểu trình cùng sửa đổi một cấu trúc dữ liệu chung.
C. Hai tiến trình cùng cố gắng sử dụng cùng một thiết bị ngoại vi tại một thời điểm.
D. Hai tiến trình đọc từ hai tệp hoàn toàn riêng biệt trên đĩa.

Câu 23.Trong lập trình đa tiểu trình, việc đồng bộ hóa truy cập vào biến cục bộ (được khai báo bên trong một hàm và chỉ tồn tại trong phạm vi hàm đó) có cần thiết không?
A. Có, luôn luôn cần thiết.
B. Có, nếu hàm được gọi nhiều lần.
C. Có, nếu biến được truyền cho tiểu trình khác.
D. Không, vì biến cục bộ thường nằm trên ngăn xếp (stack) riêng của mỗi tiểu trình và không được chia sẻ.

Câu 24.Nhu cầu đồng bộ hóa thể hiện rõ nhất trong mô hình xử lý đồng hành nào khi các đơn vị thực thi chia sẻ không gian địa chỉ?
A. Xử lý hàng loạt.
B. Hệ thống mạng.
C. Hệ thống phân tán.
D. Đa tiểu trình (Multithreading).

Câu 25.Để giải quyết nhu cầu đồng bộ hóa, Hệ điều hành cung cấp các công cụ và cơ chế hỗ trợ. Mục tiêu cuối cùng của việc này là gì?
A. Tăng độ phức tạp của Hệ điều hành.
B. Buộc các lập trình viên sử dụng các kỹ thuật phức tạp.
C. Đảm bảo tính đúng đắn (correctness) và tính nhất quán (consistency) của hệ thống khi nhiều đơn vị thực thi hoạt động đồng thời.
D. Giảm bớt số lượng tiến trình trong hệ thống.

×

Bạn ơi!!! Để xem được kết quả
bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

LƯU Ý: Không sử dụng VPN hoặc 1.1.1.1 khi vượt link

Bước 1: Mở tab mới, truy cập Google.com

Bước 2: Tìm kiếm từ khóa: Từ khóa

Bước 3: Trong kết quả tìm kiếm Google, hãy tìm website giống dưới hình:

(Nếu trang 1 không có hãy tìm ở trang 2, 3, 4... nhé )

Bước 4: Cuộn xuống cuối bài viết rồi bấm vào nút GIỐNG HÌNH DƯỚI và chờ 1 lát để lấy mã: