Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Nguyên Lý Hệ Điều Hành bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Xét hệ thống máy tính với bộ nhớ ảo và cơ chế phân trang. Khi một tiến trình truy cập một địa chỉ logic, đơn vị quản lý bộ nhớ (MMU) thực hiện ánh xạ địa chỉ này sang địa chỉ vật lý. Điều gì xảy ra nếu trang tương ứng với địa chỉ logic này không nằm trong bộ nhớ vật lý?
- A. MMU tự động tìm và nạp trang từ bộ nhớ thứ cấp vào bộ nhớ vật lý mà không cần sự can thiệp của hệ điều hành.
- B. Tiến trình bị tạm dừng và hệ điều hành hủy bỏ tiến trình do lỗi truy cập bộ nhớ.
- C. MMU trả về lỗi truy cập bộ nhớ, nhưng hệ điều hành bỏ qua lỗi và tiếp tục thực thi tiến trình.
- D. Một lỗi trang (page fault) xảy ra, hệ điều hành được kích hoạt để tìm và nạp trang cần thiết từ bộ nhớ thứ cấp vào bộ nhớ vật lý.
Câu 2: Trong các thuật toán lập lịch CPU, thuật toán nào có thể dẫn đến tình trạng "đói tài nguyên" (starvation) cho các tiến trình có độ ưu tiên thấp?
- A. First-Come, First-Served (FCFS)
- B. Priority Scheduling (Lập lịch ưu tiên)
- C. Shortest-Job-First (SJF)
- D. Round Robin
Câu 3: Xét tình huống deadlock với 4 tiến trình (P1, P2, P3, P4) và 3 loại tài nguyên (R1, R2, R3). Giả sử có các trạng thái cấp phát tài nguyên như sau:
* P1 giữ R1 và yêu cầu R2.
* P2 giữ R2 và yêu cầu R3.
* P3 giữ R3 và yêu cầu R1.
* P4 yêu cầu R1, R2, R3.
Hệ thống có rơi vào trạng thái deadlock không? Nếu có, tiến trình nào tham gia vào deadlock?
- A. Không deadlock.
- B. Deadlock, chỉ có P4 tham gia.
- C. Deadlock, P1, P2, và P3 tham gia vào deadlock.
- D. Deadlock, tất cả P1, P2, P3, P4 đều tham gia.
Câu 4: Cơ chế semaphore được sử dụng để giải quyết bài toán đồng bộ hóa giữa các tiến trình. Trong ngữ cảnh của critical section, thao tác "wait" (P) và "signal" (V) trên semaphore nhị phân (binary semaphore) có vai trò gì?
- A. "wait" được dùng để yêu cầu quyền truy cập vào critical section, và "signal" được dùng để giải phóng quyền truy cập khi tiến trình rời khỏi critical section.
- B. "wait" được dùng để đánh thức một tiến trình đang chờ, và "signal" được dùng để tạm dừng tiến trình hiện tại.
- C. Cả "wait" và "signal" đều dùng để kiểm tra xem critical section có đang được sử dụng hay không.
- D. "wait" dùng để tăng số lượng tài nguyên có sẵn, và "signal" dùng để giảm số lượng tài nguyên có sẵn.
Câu 5: Thuật toán thay thế trang Least Recently Used (LRU) hoạt động dựa trên nguyên tắc nào để chọn trang bị loại bỏ khỏi bộ nhớ vật lý khi xảy ra lỗi trang?
- A. Loại bỏ trang được nạp vào bộ nhớ vật lý đầu tiên (FIFO).
- B. Loại bỏ trang được nạp vào bộ nhớ vật lý cuối cùng (LIFO).
- C. Loại bỏ trang ít được sử dụng nhất trong khoảng thời gian gần đây.
- D. Loại bỏ trang được sử dụng nhiều nhất trong khoảng thời gian gần đây.
Câu 6: Trong hệ thống file, inode (index node) là cấu trúc dữ liệu quan trọng. Chức năng chính của inode là gì?
- A. Chứa toàn bộ nội dung dữ liệu của file.
- B. Lưu trữ metadata (siêu dữ liệu) về file, bao gồm quyền truy cập, kích thước, và vị trí các khối dữ liệu của file trên đĩa.
- C. Lưu trữ tên file và đường dẫn thư mục.
- D. Quản lý danh sách các file đang mở trong hệ thống.
Câu 7: Xét một hệ thống sử dụng bộ nhớ phân đoạn (segmentation). Một địa chỉ logic được biểu diễn bởi cặp (số đoạn, offset). Để chuyển địa chỉ logic này thành địa chỉ vật lý, hệ điều hành cần sử dụng bảng đoạn (segment table). Bảng đoạn chứa thông tin gì quan trọng cho quá trình dịch địa chỉ?
- A. Địa chỉ logic của đoạn và kích thước đoạn.
- B. Tên đoạn và quyền truy cập đoạn.
- C. Offset trong đoạn và số trang của đoạn.
- D. Địa chỉ vật lý cơ sở của đoạn và giới hạn đoạn.
Câu 8: Trong các cơ chế bảo vệ hệ thống, nguyên tắc "least privilege" (đặc quyền tối thiểu) có ý nghĩa gì?
- A. Mọi người dùng và tiến trình đều có quyền truy cập đầy đủ vào tất cả tài nguyên hệ thống để đảm bảo hiệu suất.
- B. Hệ thống tự động cấp phát đặc quyền cho người dùng và tiến trình dựa trên mức độ tin cậy.
- C. Mỗi người dùng và tiến trình chỉ nên được cấp quyền truy cập tối thiểu cần thiết để thực hiện nhiệm vụ của mình.
- D. Đặc quyền nên được phân bổ đồng đều cho tất cả các thành phần của hệ thống.
Câu 9: Hệ điều hành đóng vai trò trung gian giữa người dùng và phần cứng máy tính. Trong vai trò này, hệ điều hành cung cấp "system calls" (lời gọi hệ thống). Mục đích chính của system calls là gì?
- A. Cung cấp giao diện cho các chương trình ứng dụng để yêu cầu dịch vụ từ kernel của hệ điều hành, như truy cập file, quản lý tiến trình, và giao tiếp với thiết bị ngoại vi.
- B. Tối ưu hóa hiệu suất của CPU và bộ nhớ.
- C. Thực hiện trực tiếp các lệnh của người dùng mà không cần thông qua kernel.
- D. Quản lý việc phân phối điện năng cho các thành phần phần cứng.
Câu 10: Trong mô hình tiến trình (process model), một tiến trình có thể trải qua nhiều trạng thái khác nhau (ví dụ: Running, Ready, Blocked). Sự chuyển đổi trạng thái nào xảy ra khi một tiến trình thực hiện một yêu cầu nhập/xuất (I/O)?
- A. Running -> Ready
- B. Running -> Blocked
- C. Ready -> Running
- D. Blocked -> Ready
Câu 11: So sánh giữa thread (luồng) và process (tiến trình). Ưu điểm chính của việc sử dụng thread so với process trong việc phát triển ứng dụng đa nhiệm là gì?
- A. Thread có không gian địa chỉ riêng biệt, tăng tính bảo mật so với process.
- B. Thread có thể hoạt động độc lập trên các bộ xử lý khác nhau mà không cần chia sẻ tài nguyên.
- C. Tạo và chuyển đổi ngữ cảnh giữa các thread thường nhanh hơn và ít tốn kém tài nguyên hơn so với process.
- D. Thread có khả năng chịu lỗi tốt hơn process; nếu một thread gặp lỗi, các thread khác trong cùng process không bị ảnh hưởng.
Câu 12: Xét thuật toán lập lịch Round Robin. Tham số quan trọng nhất ảnh hưởng đến hiệu suất của thuật toán Round Robin là gì?
- A. Độ ưu tiên của tiến trình.
- B. Thời gian burst trung bình của các tiến trình.
- C. Số lượng tiến trình trong hàng đợi Ready.
- D. Thời lượng lượng tử (time quantum).
Câu 13: Trong quản lý bộ nhớ ảo, "thrashing" là hiện tượng hiệu suất hệ thống giảm đáng kể do điều gì gây ra?
- A. CPU quá tải do số lượng tiến trình thực thi đồng thời quá lớn.
- B. Hệ thống liên tục thực hiện swapping (hoán đổi trang) với tần suất cao do thiếu bộ nhớ vật lý.
- C. Đĩa cứng bị phân mảnh, làm chậm quá trình đọc/ghi dữ liệu.
- D. Lỗi phần mềm trong trình quản lý bộ nhớ gây ra rò rỉ bộ nhớ.
Câu 14: Cơ chế "context switching" (chuyển đổi ngữ cảnh) là cần thiết trong hệ điều hành đa nhiệm. Mục đích chính của context switching là gì?
- A. Tăng tốc độ xử lý của CPU bằng cách loại bỏ các tiến trình không cần thiết.
- B. Giảm mức tiêu thụ điện năng của hệ thống.
- C. Cho phép CPU chuyển đổi nhanh chóng giữa các tiến trình khác nhau, tạo ảo giác về thực thi đồng thời và tăng tính đa nhiệm.
- D. Bảo vệ bộ nhớ của các tiến trình khác nhau khỏi bị truy cập trái phép.
Câu 15: Xét bài toán "dining philosophers" (triết gia ăn tối). Vấn đề deadlock có thể xảy ra trong bài toán này nếu các triết gia đồng thời thực hiện hành động nào?
- A. Tất cả các triết gia cùng lúc cầm đũa bên trái.
- B. Tất cả các triết gia cùng lúc đặt đũa xuống.
- C. Một triết gia ăn xong và nhường đũa cho người khác.
- D. Các triết gia ăn lần lượt theo thứ tự.
Câu 16: Trong hệ thống file, cơ chế "mounting" (gắn kết) được sử dụng để làm gì?
- A. Sao lưu dữ liệu từ hệ thống file này sang hệ thống file khác.
- B. Mã hóa dữ liệu trong hệ thống file để bảo vệ thông tin.
- C. Tối ưu hóa hiệu suất đọc/ghi dữ liệu của hệ thống file.
- D. Tích hợp một hệ thống file từ thiết bị lưu trữ vào một điểm gắn kết (mount point) trong cây thư mục của hệ thống hiện tại.
Câu 17: Khi một tiến trình được tạo ra, hệ điều hành cấp phát một Process Control Block (PCB). PCB chứa thông tin gì quan trọng để quản lý tiến trình?
- A. Chỉ chứa mã lệnh và dữ liệu của tiến trình.
- B. Chứa thông tin về trạng thái tiến trình, bộ đếm chương trình, các thanh ghi, thông tin quản lý bộ nhớ, và thông tin I/O.
- C. Chỉ chứa thông tin về quyền truy cập và độ ưu tiên của tiến trình.
- D. Chỉ chứa tên tiến trình và ID tiến trình.
Câu 18: Trong các thuật toán lập lịch đĩa, thuật toán nào có xu hướng giảm thiểu tổng quãng đường di chuyển đầu đọc đĩa, nhưng có thể dẫn đến tình trạng "đói tài nguyên" cho các yêu cầu ở rìa đĩa?
- A. First-Come, First-Served (FCFS)
- B. Shortest Seek Time First (SSTF)
- C. SCAN (Elevator)
- D. Circular SCAN (C-SCAN)
Câu 19: Cơ chế "buffering" (đệm) trong quản lý I/O được sử dụng để giải quyết vấn đề gì?
- A. Xử lý sự khác biệt về tốc độ truyền dữ liệu giữa CPU và thiết bị I/O, hoặc giữa các thiết bị I/O khác nhau.
- B. Bảo vệ dữ liệu khỏi bị mất khi có sự cố phần cứng.
- C. Giảm mức tiêu thụ điện năng của thiết bị I/O.
- D. Đơn giản hóa giao diện lập trình cho các thao tác I/O.
Câu 20: Trong ngữ cảnh bảo mật hệ thống, "firewall" (tường lửa) có chức năng chính là gì?
- A. Mã hóa dữ liệu truyền trên mạng.
- B. Kiểm soát và lọc lưu lượng mạng dựa trên các quy tắc bảo mật để ngăn chặn truy cập trái phép.
- C. Phát hiện và loại bỏ virus và phần mềm độc hại trên hệ thống.
- D. Quản lý và phân phối địa chỉ IP trong mạng.
Câu 21: Giả sử một hệ thống sử dụng cơ chế cấp phát bộ nhớ liên tục "first-fit". Khi một tiến trình yêu cầu một vùng nhớ kích thước K, thuật toán "first-fit" sẽ tìm kiếm vị trí nào trong danh sách các vùng nhớ trống để cấp phát?
- A. Vùng nhớ trống có kích thước nhỏ nhất đủ để chứa tiến trình.
- B. Vùng nhớ trống có kích thước lớn nhất.
- C. Vùng nhớ trống đầu tiên trong danh sách có kích thước đủ để chứa tiến trình.
- D. Vùng nhớ trống cuối cùng trong danh sách có kích thước đủ để chứa tiến trình.
Câu 22: Trong hệ thống file, "journaling" (nhật ký) là kỹ thuật được sử dụng để đảm bảo tính nhất quán dữ liệu sau sự cố hệ thống (ví dụ: mất điện đột ngột). Cơ chế journaling hoạt động như thế nào?
- A. Sao lưu toàn bộ hệ thống file định kỳ để phục hồi dữ liệu khi cần.
- B. Tự động sửa chữa lỗi file hệ thống khi phát hiện sự cố.
- C. Nén dữ liệu hệ thống file để tiết kiệm không gian lưu trữ.
- D. Ghi lại các thay đổi dự định đối với hệ thống file vào một nhật ký trước khi thực sự áp dụng chúng, và sử dụng nhật ký này để phục hồi tính nhất quán sau sự cố.
Câu 23: Xét cơ chế Inter-Process Communication (IPC) "message passing" (truyền thông điệp). Ưu điểm chính của message passing so với "shared memory" (bộ nhớ dùng chung) là gì?
- A. Message passing cho phép truyền dữ liệu lớn hiệu quả hơn so với shared memory.
- B. Message passing cung cấp cơ chế bảo vệ tốt hơn, tránh xung đột truy cập dữ liệu vì các tiến trình không chia sẻ trực tiếp bộ nhớ.
- C. Message passing dễ dàng cài đặt và sử dụng hơn shared memory trong hầu hết các hệ điều hành.
- D. Message passing có hiệu suất cao hơn shared memory trong các ứng dụng đa nhiệm.
Câu 24: Trong hệ thống phân tán, khái niệm "consistency" (tính nhất quán) đề cập đến điều gì?
- A. Đảm bảo hệ thống luôn hoạt động ổn định và không bị treo.
- B. Đảm bảo dữ liệu được truyền tải an toàn và bảo mật giữa các nút trong hệ thống.
- C. Đảm bảo rằng dữ liệu trên nhiều bản sao hoặc nút trong hệ thống phân tán là đồng bộ và phản ánh cùng một trạng thái.
- D. Đảm bảo thời gian phản hồi của hệ thống luôn nhanh và ổn định.
Câu 25: Trong kiến trúc microkernel, chức năng nào sau đây thường được đặt bên ngoài kernel (trong user space) thay vì bên trong kernel (kernel space)?
- A. Lập lịch tiến trình (Process scheduling).
- B. Quản lý bộ nhớ (Memory management).
- C. Giao tiếp giữa các tiến trình (Inter-Process Communication - IPC).
- D. Hệ thống file (File system).
Câu 26: Trong bảo mật hệ thống, "principle of fail-safe defaults" (nguyên tắc mặc định an toàn) có nghĩa là gì?
- A. Khi hệ thống gặp lỗi hoặc không chắc chắn về quyền truy cập, mặc định nên từ chối truy cập.
- B. Hệ thống nên tự động khôi phục về trạng thái an toàn nhất khi phát hiện nguy cơ bảo mật.
- C. Các thiết lập bảo mật nên được cấu hình mặc định ở mức cao nhất có thể.
- D. Người dùng nên được thông báo về các rủi ro bảo mật tiềm ẩn và tự quyết định mức độ an toàn.
Câu 27: Xét thuật toán lập lịch CPU "Shortest Remaining Time First" (SRTF). SRTF là phiên bản "ưu tiên trước" (preemptive) của thuật toán nào?
- A. First-Come, First-Served (FCFS)
- B. Shortest-Job-First (SJF)
- C. Priority Scheduling
- D. Round Robin
Câu 28: Trong quản lý bộ nhớ, "internal fragmentation" (phân mảnh nội bộ) xảy ra trong cơ chế phân vùng bộ nhớ nào?
- A. Phân trang (Paging).
- B. Phân đoạn (Segmentation).
- C. Cấp phát bộ nhớ động (Dynamic memory allocation).
- D. Phân vùng cố định (Fixed partitioning).
Câu 29: "Busy waiting" là một kỹ thuật đồng bộ hóa tiến trình. Nhược điểm chính của busy waiting là gì?
- A. Dễ dẫn đến deadlock nếu không được triển khai cẩn thận.
- B. Khó cài đặt và kiểm soát trong các hệ thống phức tạp.
- C. Lãng phí chu kỳ CPU vì tiến trình liên tục kiểm tra điều kiện trong khi chờ đợi thay vì nhường CPU cho tiến trình khác.
- D. Không hiệu quả trong hệ thống đa xử lý.
Câu 30: Để giải quyết vấn đề deadlock, có bốn điều kiện cần và đủ để deadlock xảy ra (Mutual Exclusion, Hold and Wait, No Preemption, Circular Wait). Biện pháp "prevention" (phòng ngừa) deadlock thường tập trung vào việc loại bỏ hoặc hạn chế ít nhất một trong các điều kiện này. Biện pháp nào sau đây thuộc nhóm "deadlock prevention"?
- A. Cho phép hệ thống rơi vào trạng thái deadlock và sau đó phát hiện và phục hồi.
- B. Yêu cầu tiến trình phải yêu cầu tất cả các tài nguyên cần thiết trước khi bắt đầu thực thi.
- C. Sử dụng thuật toán Banker"s Algorithm để cấp phát tài nguyên một cách an toàn.
- D. Định kỳ kiểm tra hệ thống để phát hiện chu trình chờ đợi và giải phóng tài nguyên.