Bộ 4 - 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 hệ điều hành, thành phần nào chịu trách nhiệm lưu trữ các thông tin như trạng thái tiến trình, định danh tiến trình và các thanh ghi CPU khi tiến trình tạm dừng?
💡 Lời giải chi tiết:
Theo nguyên lý quản lý tiến trình, PCB là cấu trúc dữ liệu chứa toàn bộ thông tin cần thiết để hệ điều hành quản lý và phục hồi trạng thái hoạt động của một tiến trình. Kết luận Lý giải: Khối điều khiển tiến trình (PCB)
Câu 2:Điều kiện nào sau đây KHÔNG phải là một trong bốn điều kiện cần để xảy ra tình trạng bế tắc (Deadlock) theo lý thuyết của Coffman?
💡 Lời giải chi tiết:
Bế tắc chỉ xảy ra khi không có quyền trưng dụng (No Preemption), nghĩa là tài nguyên không thể bị thu hồi cưỡng ép từ tiến trình đang giữ chúng. Kết luận Lý giải: Có quyền trưng dụng tài nguyên (Preemption)
Câu 3:Hiện tượng phân mảnh nội (Internal Fragmentation) thường xảy ra trong cơ chế quản lý bộ nhớ nào sau đây?
💡 Lời giải chi tiết:
Trong cơ chế phân trang, tiến trình được cấp phát các trang có kích thước cố định nên nếu phần dữ liệu cuối cùng không lấp đầy trang sẽ tạo ra khoảng trống dư thừa. Kết luận Lý giải: Phân trang (Paging)
Câu 4:Thuật toán điều phối CPU nào có thể dẫn đến tình trạng 'đói dữ liệu' (Starvation) đối với các tiến trình có thời gian thực hiện dài?
💡 Lời giải chi tiết:
Thuật toán SJF ưu tiên các tiến trình ngắn, do đó các tiến trình dài có thể phải chờ đợi vô thời hạn nếu các tiến trình ngắn liên tục xuất hiện. Kết luận Lý giải: Công việc ngắn nhất thực hiện trước (SJF)
Câu 5:Nghịch lý Belady (Belady's Anomaly) khẳng định rằng trong một số trường hợp, việc tăng số lượng khung trang (frames) sẽ dẫn đến điều gì?
💡 Lời giải chi tiết:
Nghịch lý Belady xảy ra chủ yếu với thuật toán thay thế trang FIFO, khi việc thêm khung trang lại làm tăng số lần lỗi trang thay vì giảm đi. Kết luận Lý giải: Tăng số lượng lỗi trang (Page Faults)
Câu 6:Trong hệ thống tệp, phương pháp cấp phát nào sau đây cho phép truy cập ngẫu nhiên (Random Access) hiệu quả nhất và không gây phân mảnh ngoại?
💡 Lời giải chi tiết:
Cấp phát chỉ mục sử dụng một khối chỉ mục để lưu trữ địa chỉ các khối dữ liệu, giúp hỗ trợ truy cập trực tiếp nhanh chóng mà không cần vùng trống liên tục. Kết luận Lý giải: Cấp phát chỉ mục (Indexed Allocation)
Câu 7:Mục đích chính của kỹ thuật Spooling (Simultaneous Peripheral Operations On-Line) là gì?
💡 Lời giải chi tiết:
Spooling cho phép nhiều tiến trình gửi yêu cầu đến thiết bị (như máy in) bằng cách lưu dữ liệu vào đệm đĩa trước khi thiết bị sẵn sàng xử lý tuần tự. Kết luận Lý giải: Giải quyết tranh chấp khi nhiều tiến trình cùng truy cập một thiết bị không thể chia sẻ
Câu 8:Thuật toán lập lịch đĩa nào chọn yêu cầu có khoảng cách di chuyển đầu đọc ngắn nhất từ vị trí hiện tại?
💡 Lời giải chi tiết:
Thuật toán SSTF tối thiểu hóa thời gian tìm kiếm bằng cách luôn chọn yêu cầu nằm gần vị trí hiện tại của đầu đọc nhất. Kết luận Lý giải: SSTF (Shortest Seek Time First)
Câu 9:Khái niệm 'Đoạn găng' (Critical Section) trong bài toán đồng bộ hóa tiến trình dùng để chỉ phần nào của chương trình?
💡 Lời giải chi tiết:
Đoạn găng là phần mã nguồn mà tại đó tiến trình thực hiện thao tác trên các dữ liệu hoặc tài nguyên dùng chung có thể dẫn đến xung đột. Kết luận Lý giải: Đoạn mã truy cập vào tài nguyên dùng chung
Câu 10:Trong kiến trúc hệ điều hành, vai trò của 'Lời gọi hệ thống' (System Call) là gì?
💡 Lời giải chi tiết:
System Call đóng vai trò là giao diện trung gian cung cấp cách thức để chương trình ứng dụng tương tác với các tài nguyên do nhân hệ điều hành quản lý. Kết luận Lý giải: Cho phép các tiến trình người dùng yêu cầu các dịch vụ từ nhân (Kernel)
Câu 11:Cơ chế nào cho phép thiết bị I/O truyền dữ liệu trực tiếp đến bộ nhớ chính mà không cần sự can thiệp liên tục của CPU?
💡 Lời giải chi tiết:
DMA cho phép bộ điều khiển thiết bị tự quản lý việc truyền các khối dữ liệu lớn giữa thiết bị và bộ nhớ, giúp giảm tải đáng kể cho CPU. Kết luận Lý giải: Truy cập bộ nhớ trực tiếp (DMA)
Câu 12:Để giải quyết vấn đề Starvation trong lập lịch ưu tiên, kỹ thuật nào thường được sử dụng để tăng dần mức ưu tiên của các tiến trình chờ đợi lâu?
💡 Lời giải chi tiết:
Aging là kỹ thuật tăng mức ưu tiên của các tiến trình dựa trên thời gian chúng đã nằm trong hàng đợi để đảm bảo chúng cuối cùng sẽ được thực thi. Kết luận Lý giải: Lão hóa (Aging)
Câu 13:Cấu trúc dữ liệu nào được sử dụng để ánh xạ địa chỉ logic sang địa chỉ vật lý trong hệ thống phân trang?
💡 Lời giải chi tiết:
Bảng trang lưu trữ thông tin về các khung trang tương ứng với từng trang logic để đơn vị quản lý bộ nhớ (MMU) thực hiện chuyển đổi địa chỉ. Kết luận Lý giải: Bảng trang (Page Table)
Câu 14:Trong bài toán bế tắc, thuật toán Banker được sử dụng 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ó đưa hệ thống vào trạng thái không an toàn hay không để chủ động tránh bế tắc. Kết luận Lý giải: Tránh bế tắc (Deadlock Avoidance)
Câu 15:Sự khác biệt cơ bản nhất giữa Tiến trình (Process) và Luồng (Thread) là gì?
💡 Lời giải chi tiết:
Tiến trình là đơn vị sở hữu tài nguyên độc lập, trong khi các luồng là đơn vị thực thi nằm bên trong tiến trình và chia sẻ chung không gian địa chỉ. Kết luận Lý giải: Luồng không có không gian địa chỉ riêng mà dùng chung với các luồng khác trong cùng tiến trình
Câu 16:Trong hệ thống Unix, lệnh nào sau đây được sử dụng để tạo ra một tiến trình con mới bằng cách sao chép tiến trình cha?
💡 Lời giải chi tiết:
Hệ điều hành Unix sử dụng lời gọi hệ thống fork để tạo ra một bản sao gần như y hệt của tiến trình hiện tại làm tiến trình con. Kết luận Lý giải: fork()
Câu 17:Bộ nhớ ảo (Virtual Memory) cho phép thực hiện điều gì sau đây?
💡 Lời giải chi tiết:
Bộ nhớ ảo tách biệt bộ nhớ logic của người dùng khỏi bộ nhớ vật lý, cho phép hệ thống nạp từng phần của chương trình khi cần thiết. Kết luận Lý giải: Chạy các chương trình có kích thước lớn hơn bộ nhớ vật lý hiện có
Câu 18:Thuật toán thay thế trang LRU (Least Recently Used) hoạt động dựa trên nguyên tắc nào?
💡 Lời giải chi tiết:
LRU giả định rằng trang nào đã lâu không được sử dụng thì xác suất nó được dùng lại trong tương lai gần là thấp nhất. Kết luận Lý giải: Thay thế trang đã lâu nhất chưa được truy cập
Câu 19:Hiện tượng 'Trì trệ' (Thrashing) trong quản lý bộ nhớ xảy ra khi nào?
💡 Lời giải chi tiết:
Thrashing xảy ra khi hệ thống nạp quá nhiều tiến trình khiến số khung trang cho mỗi tiến trình quá ít, dẫn đến lỗi trang liên tục. Kết luận Lý giải: CPU dành phần lớn thời gian để hoán chuyển trang (paging) thay vì thực thi tiến trình
Câu 20:Thành phần TLB (Translation Lookaside Buffer) trong kiến trúc máy tính có vai trò gì?
💡 Lời giải chi tiết:
TLB là một bộ nhớ đệm đặc biệt giúp tăng tốc quá trình dịch địa chỉ ảo sang địa chỉ vật lý bằng cách tránh phải truy cập bảng trang trong RAM. Kết luận Lý giải: Bộ nhớ đệm tốc độ cao chứa các mục nhập của bảng trang thường dùng
Câu 21:Trong điều phối CPU, 'Thời gian quay vòng' (Turnaround Time) được định nghĩa như thế nào?
💡 Lời giải chi tiết:
Thời gian quay vòng bằng tổng thời gian chờ đợi trong hàng đợi, thời gian thực thi và thời gian thực hiện I/O của tiến trình đó. Kết luận Lý giải: Thời gian từ lúc tiến trình vào hệ thống đến khi kết thúc
Câu 22:Trong hệ điều hành, Semaphore là một công cụ được sử dụng chủ yếu để làm gì?
💡 Lời giải chi tiết:
Semaphore là một biến nguyên được sử dụng để điều khiển quyền truy cập của nhiều tiến trình vào tài nguyên chung trong môi trường đa nhiệm. Kết luận Lý giải: Giải quyết các bài toán đồng bộ hóa và loại trừ tương hỗ
Câu 23:Cơ chế 'Phân đoạn' (Segmentation) khác với 'Phân trang' (Paging) ở điểm cơ bản nào?
💡 Lời giải chi tiết:
Phân đoạn chia chương trình thành các đơn vị logic như hàm, mảng, ngăn xếp với kích thước khác nhau tùy theo mục đích sử dụng. Kết luận Lý giải: Phân đoạn phản ánh cách nhìn logic của lập trình viên về chương trình
Câu 24:Thuật toán lập lịch đĩa SCAN còn được gọi là thuật toán gì do cách thức di chuyển của nó?
💡 Lời giải chi tiết:
Thuật toán SCAN 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 giống như cách hoạt động của thang máy. Kết luận Lý giải: Thuật toán thang máy (Elevator algorithm)
Câu 25:Trong cấu trúc Inode của hệ thống tệp Unix, thông tin nào sau đây KHÔNG được lưu trữ trực tiếp?
💡 Lời giải chi tiết:
Inode chứa các siêu dữ liệu về tệp nhưng không chứa tên tệp; tên tệp được lưu trữ trong cấu trúc thư mục liên kết với số hiệu Inode. Kết luận Lý giải: Tên tệp