Bộ 8 - Trắc nghiệm Nguyên lý hệ điều hành có đáp án
Thời gian còn lại: --:--
Kết quả của bạn:
Bạn đã đúng:
Bạn đã sai:
Tổng số câu:
Câu 1:Trong các thuật toán lập lịch CPU, thuật toán nào luôn tối thiểu hóa thời gian chờ đợi trung bình (average waiting time) cho một tập hợp các tiến trình cố định?
💡 Lời giải chi tiết:
Theo lý thuyết hệ điều hành, thuật toán Shortest Job First (SJF) được chứng minh là tối ưu vì nó mang lại thời gian chờ đợi trung bình nhỏ nhất cho một tập hợp các tiến trình nhất định. Kết luận Lý giải: Shortest Job First (SJF)
Câu 2:Điều kiện nào sau đây KHÔNG thuộc bốn điều kiện cần thiết để xảy ra tắc nghẽn (Deadlock) theo định nghĩa của Coffman?
💡 Lời giải chi tiết:
Tắc nghẽn chỉ xảy ra khi không có sự trưng dụng tài nguyên (No Preemption), do đó khả năng thu hồi tài nguyên sẽ ngăn chặn deadlock. Kết luận Lý giải: Có thể thu hồi tài nguyên từ tiến trình đang giữ (Preemption)
Câu 3:Trong quản lý bộ nhớ, hiện tượng 'Phân đoạn ngoại vi' (External Fragmentation) xảy ra khi nào?
💡 Lời giải chi tiết:
Phân đoạn ngoại vi xuất hiện khi có đủ tổng dung lượng trống nhưng nó bị chia cắt thành các mảnh nhỏ không liên tục nên không thể cấp phát cho tiến trình mới. Kết luận Lý giải: Tổng không gian nhớ trống đủ để đáp ứng yêu cầu nhưng các khối trống không nằm liên tiếp nhau
Câu 4:Lỗi trang (Page Fault) xảy ra trong trường hợp nào sau đây?
💡 Lời giải chi tiết:
Lỗi trang là một ngắt do phần cứng tạo ra khi một chương trình cố gắng truy cập một trang bộ nhớ chưa được nạp vào RAM. Kết luận Lý giải: Khi trang được yêu cầu hiện không có trong bộ nhớ vật lý (RAM)
Câu 5:Trong cơ chế Semaphore, thao tác 'Signal(S)' (hay V(S)) thực hiện công việc gì?
💡 Lời giải chi tiết:
Thao tác Signal (V) được sử dụng để giải phóng tài nguyên bằng cách tăng giá trị của semaphore và đánh thức các tiến trình đang đợi nếu có. Kết luận Lý giải: Tăng giá trị của biến semaphore S thêm 1 đơn vị
Câu 6:Thuật toán thay thế trang LRU (Least Recently Used) chọn trang nào để loại bỏ khỏi bộ nhớ?
💡 Lời giải chi tiết:
LRU hoạt động dựa trên nguyên lý quá khứ gần, loại bỏ trang đã lâu nhất không được CPU sờ tới. Kết luận Lý giải: Trang có thời gian kể từ lần truy cập cuối cùng là lớn nhất
Câu 7:Đặc điểm chính của mô hình lập lịch 'Preemptive Scheduling' (Lập lịch có trưng dụng) là gì?
💡 Lời giải chi tiết:
Lập lịch trưng dụng cho phép hệ điều hành thu hồi CPU từ một tiến trình đang chạy dựa trên độ ưu tiên hoặc hết thời gian định mức. Kết luận Lý giải: Hệ điều hành có thể ngắt một tiến trình đang chạy để cấp CPU cho tiến trình khác
Câu 8:Trong hệ thống file của UNIX/Linux, 'Inode' là gì?
💡 Lời giải chi tiết:
Inode chứa thông tin về kích thước, quyền hạn, chủ sở hữu và vị trí các khối dữ liệu trên đĩa của một file nhưng không chứa tên file. Kết luận Lý giải: Cấu trúc dữ liệu lưu trữ siêu dữ liệu (metadata) của file ngoại trừ tên file
Câu 9:Thuật toán Banker được sử dụng trong hệ điều hành nhằm mục đích gì?
💡 Lời giải chi tiết:
Thuật toán Banker kiểm tra xem việc cấp phát tài nguyên có duy trì hệ thống ở trạng thái an toàn hay không để tránh rơi vào tắc nghẽn. Kết luận Lý giải: Tránh tắc nghẽn (Deadlock Avoidance)
Câu 10:Trong kiến trúc hệ điều hành, 'Chuyển đổi ngữ cảnh' (Context Switch) là quá trình nào?
💡 Lời giải chi tiết:
Chuyển đổi ngữ cảnh cho phép CPU chuyển đổi giữa các tác vụ bằng cách lưu lại PCB của tiến trình hiện tại và phục hồi PCB của tiến trình tiếp theo. Kết luận Lý giải: Lưu trạng thái của tiến trình cũ và nạp trạng thái của tiến trình mới vào CPU
Câu 11:Hệ điều hành sử dụng cơ chế 'Trang hóa' (Paging) nhằm giải quyết vấn đề gì?
💡 Lời giải chi tiết:
Trang hóa chia bộ nhớ vật lý thành các khung trang cố định, cho phép cấp phát không liên tục và loại bỏ hoàn toàn phân đoạn ngoại vi. Kết luận Lý giải: Hiện tượng phân đoạn ngoại vi (External Fragmentation)
Câu 12:Lợi ích lớn nhất của việc sử dụng 'Luồng' (Thread) thay vì 'Tiến trình' (Process) là gì?
💡 Lời giải chi tiết:
Vì các luồng trong cùng một tiến trình chia sẻ tài nguyên và không gian địa chỉ, việc quản lý chúng nhanh hơn nhiều so với các tiến trình độc lập. Kết luận Lý giải: Việc tạo và chuyển đổi giữa các luồng tốn ít chi phí tài nguyên hơn
Câu 13:Trong quản lý ổ đĩa, thuật toán lập lịch SCAN (thuật toán thang máy) hoạt động như thế nào?
💡 Lời giải chi tiết:
Thuật toán SCAN di chuyển đầu đọc đĩa liên tục qua lại giữa hai đầu đĩa giống như cách hoạt động của một chiếc thang máy. Kết luận Lý giải: Di chuyển đầu đọc từ một đầu của đĩa sang đầu kia, phục vụ các yêu cầu trên đường đi
Câu 14:Khái niệm 'Vùng tranh chấp' (Critical Section) trong đồng bộ hóa tiến trình ám chỉ điều gì?
💡 Lời giải chi tiết:
Vùng tranh chấp là đoạn chương trình chứa các thao tác trên dữ liệu chung mà hệ thống phải đảm bảo tính loại trừ tương hỗ khi thực thi. Kết luận Lý giải: Đoạn mã mà tại đó tiến trình truy cập và thao tác trên tài nguyên dùng chung
Câu 15:Tại sao hệ điều hành cần có hai chế độ hoạt động: Chế độ người dùng (User Mode) và Chế độ đặc quyền (Kernel Mode)?
💡 Lời giải chi tiết:
Việc phân chia chế độ giúp ngăn chặn các ứng dụng người dùng thực hiện trực tiếp các lệnh can thiệp vào phần cứng hoặc cấu trúc lõi của hệ thống. Kết luận Lý giải: Để bảo vệ hệ thống khỏi các hành vi truy cập trái phép hoặc gây hại từ ứng dụng
Câu 16:Cơ chế DMA (Direct Memory Access) có ưu điểm chính là gì?
💡 Lời giải chi tiết:
DMA giải phóng CPU khỏi nhiệm vụ sao chép dữ liệu từng byte giữa thiết bị I/O và bộ nhớ, giúp CPU rảnh tay thực hiện các tác vụ khác. Kết luận Lý giải: Cho phép thiết bị ngoại vi trao đổi dữ liệu trực tiếp với RAM mà không cần CPU can thiệp liên tục
Câu 17:Trong hệ thống bộ nhớ ảo, hiện tượng 'Trì trệ' (Thrashing) xảy ra khi nào?
💡 Lời giải chi tiết:
Thrashing xảy ra khi tổng kích thước Working Set của các tiến trình vượt quá RAM thực, dẫn đến việc nạp và đẩy trang liên tục làm hiệu năng giảm mạnh. Kết luận Lý giải: Hệ thống dành nhiều thời gian cho việc tráo đổi trang (swapping) hơn là thực thi tiến trình
Câu 18:Hệ điều hành Windows sử dụng cấu trúc nhân nào là chủ yếu?
💡 Lời giải chi tiết:
Windows NT và các phiên bản sau này sử dụng kiến trúc Hybrid Kernel, kết hợp đặc điểm của Monolithic (hiệu năng) và Microkernel (tính mô-đun). Kết luận Lý giải: Nhân lai (Hybrid Kernel)
Câu 19:Một hệ thống có 3 tiến trình chia sẻ 4 đơn vị tài nguyên cùng loại. Mỗi tiến trình cần tối đa 2 đơn vị tài nguyên để hoàn thành. Hệ thống này có thể xảy ra deadlock không?
💡 Lời giải chi tiết:
Theo công thức tính, nếu tổng số tài nguyên (4) lớn hơn hoặc bằng tổng nhu cầu tối đa trừ số tiến trình (3*(2-1)+1=4), deadlock sẽ không xảy ra. Kết luận Lý giải: Không bao giờ xảy ra deadlock trong trường hợp này
Câu 20:Lời gọi hệ thống (System Call) đóng vai trò là giao diện giữa yếu tố nào?
💡 Lời giải chi tiết:
System call là cơ chế duy nhất để một chương trình ứng dụng yêu cầu các dịch vụ từ nhân của hệ điều hành. Kết luận Lý giải: Một chương trình đang chạy và hệ điều hành
Câu 21:Cấu trúc RAID 1 (Mirroring) được thiết kế chủ yếu để làm gì?
💡 Lời giải chi tiết:
RAID 1 thực hiện 'soi gương' dữ liệu, giúp hệ thống vẫn hoạt động bình thường nếu một trong hai đĩa bị hỏng. Kết luận Lý giải: Cung cấp tính dự phòng bằng cách sao chép dữ liệu giống hệt nhau lên hai đĩa
Câu 22:Khi một tiến trình đang chạy mà hết thời gian định mức (time slice), nó sẽ chuyển sang trạng thái nào?
💡 Lời giải chi tiết:
Khi hết thời gian chạy, tiến trình vẫn đủ điều kiện thực thi nhưng phải nhường CPU cho tiến trình khác và quay lại hàng đợi sẵn sàng. Kết luận Lý giải: Ready (Sẵn sàng)
Câu 23:Thuật toán cấp phát bộ nhớ 'Best-fit' có đặc điểm gì?
💡 Lời giải chi tiết:
Best-fit tìm kiếm toàn bộ danh sách để chọn khối có kích thước dư thừa ít nhất, nhằm tối ưu hóa việc sử dụng các khối lớn. Kết luận Lý giải: Chọn khối trống nhỏ nhất nhưng vẫn đủ lớn để chứa tiến trình
Câu 24:Bảng TLB (Translation Lookaside Buffer) được sử dụng để làm gì?
💡 Lời giải chi tiết:
TLB là một bộ nhớ đệm phần cứng lưu trữ các mục nhập bảng trang được sử dụng gần đây để tránh phải truy cập RAM nhiều lần khi dịch địa chỉ. Kết luận Lý giải: Tăng tốc độ chuyển đổi từ địa chỉ ảo sang địa chỉ vật lý
Câu 25:Trong hệ điều hành, 'Tiến trình con' (Child Process) được tạo ra bởi 'Tiến trình cha' (Parent Process) thông qua lời gọi hệ thống nào trong UNIX?
💡 Lời giải chi tiết:
Lời gọi fork() tạo ra một bản sao hoàn chỉnh của tiến trình gọi nó, trở thành tiến trình con mới trong hệ thống. Kết luận Lý giải: fork()