Worksheets21-22 IT007
Total questions: 80
Worksheet time: 40mins
Kiến trúc Monolithic là:
Mọi thành phần chạy ở user mode
Tất cả gộp trong một khối nhân đặc quyền
Chỉ giữ chức năng tối thiểu trong nhân
Chia thành nhiều lớp độc lập
Vi nhân (Microkernel) giữ lại chủ yếu:
Hệ thống tập tin và driver
Lập lịch CPU, quản lý tiến trình, bộ nhớ, I/O tối thiểu
Giao diện người dùng và network stack
Tất cả dịch vụ ở kernel space
Cấu trúc phân lớp:
Mỗi lớp giao tiếp trực tiếp với mọi lớp
Chỉ tương tác với lớp ngay trên và dưới
Không có ranh giới lớp
Chỉ có 2 lớp
Cấu trúc modules nhấn mạnh:
Ghép cứng tất cả thành 1 khối
Hướng đối tượng, các core tách biệt
Toàn bộ dịch vụ ở user mode
Không hỗ trợ mở rộng
Chức năng nào sau đây là của hệ thống quản lý I/O?
Quản lý các thiết bị nhập/xuất
Tăng tốc độ xử lý CPU
Bảo vệ dữ liệu khỏi virus
Tối ưu hóa bộ nhớ RAM
Quản lý tiến trình bao gồm:
Tạo, thực thi, đóng bộ, huỷ tiến trình
Nén dữ liệu
Sắp xếp tập tin
Cấp phát đĩa
Quản lý lưu trữ thứ cấp:
Chỉ RAM
Tổ chức/ truy xuất dữ liệu trên HDD/SSD
Điều phối CPU
Điều khiển GPU
Quản lý bộ nhớ chính:
Chỉ cấp phát tĩnh
Điều phối cấp phát/thu hồi vùng nhớ hiệu quả
Chỉ quản lý cache
Chỉ quản lý thanh ghi
System call dùng để:
Giao tiếp giữa tiến trình và HĐH
Trao đổi giữa hai tiến trình
Vẽ giao diện
Biên dịch mã nguồn
fork() là:
Lệnh shell
Tạo tiến trình con
Lệnh biên dịch
Lệnh xuất dữ liệu
Khi nạp tiến trình: biến toàn cục nằm ở:
Stack
Heap
Data section
Code section
Khi nạp tiến trình: biến automatic nằm ở:
Data
Stack
Heap
BSS
Cấp phát động (malloc/new) nằm ở:
Code
Stack
Heap
Data
Trạng thái new nghĩa là:
Đã đủ tài nguyên, chờ CPU
Đang thực thi
Vừa tạo, chưa có đủ tài nguyên
Đã kết thúc
Trạng thái ready là:
Đang chạy
Đã có đủ tài nguyên, chờ cấp CPU
Đang thực thi
Đã kết thúc
Trạng thái running là:
Đã giải phóng tài nguyên
Lệnh đang thực thi trên CPU
Chờ I/O
Chờ cấp phát bộ nhớ
Trạng thái terminated là:
Đã kết thúc
Đang đợi
Đang chạy
Mới tạo
Tiến trình có thể:
Chỉ tự kết thúc
Chỉ bị tiến trình khác kết thúc
Tự kết thúc hoặc bị tiến trình khác kết thúc
Không thể kết thúc
Quan hệ cha–con:
Luôn chia sẻ mọi tài nguyên
Không bao giờ chia sẻ tài nguyên
Không nhất thiết chia sẻ mọi tài nguyên
Luôn copy-on-write
Tạo tiến trình mới:
create-process (Windows), fork/exec (Linux)
malloc/free
read/write
Distributed system:
Chia sẻ bộ nhớ chung
Giao tiếp qua mạng
Một khối nhân duy nhất
Đáp ứng đúng hạn
Real-time system ưu tiên:
Thông lượng
Đáp ứng đúng hạn
Công bằng tuyệt đối
Tối thiểu hoá bộ nhớ
Tightly-coupled system:
Kết nối lỏng qua mạng
Chia sẻ bộ nhớ chung
Hoàn toàn độc lập
Không đồng bộ
Parallel system chủ yếu:
Xử lý tuần tự
Xử lý song song
Chỉ một CPU
Chỉ một tiến trình
SJF chọn:
Tiến trình đến trước
Tiến trình ưu tiên cao nhất theo người dùng
Tiến trình có burst time ngắn nhất
Tiến trình I/O-bound trước
SRTF là:
Dạng không ưu tiên của SJF
Dạng ưu tiên dựa trên thời gian còn lại ngắn nhất
Giống FCFS
Giống RR
FCFS là:
Shortest Remaining Time First
First Come First Served
Foreground Control Fast Switch
Fixed Core Fast Schedule
Round Robin:
Quantum ngắn → nhiều context switch
Quantum ngắn → ít context switch
Quantum dài → tăng overhead
Quantum dài → không ảnh hưởng overhead
Nếu quantum quá lớn, RR trở thành:
SJF
Priority
FCFS
SRTF
Multilevel Queue (MQ):
Một hàng đợi duy nhất
Nhiều hàng đợi, mỗi hàng có thuật toán riêng
Không cho phân loại tiến trình
Luôn SRTF ở mọi hàng
Which of the following is true about process movement between queues?
Tiến trình không di chuyển giữa hàng đợi
Di chuyển linh hoạt giữa các hàng
Chỉ một mức hàng
Chỉ chạy FCFS
Chế độ quyết định – “Tín dụng” (preemptive) nghĩa là:
Không thể ngắt
Có thể bị tiến trình ưu tiên hơn chiếm quyền ngay
Chỉ đổi khi xong tiến trình
Chỉ áp dụng cho I/O
Không tín dụng (non-preemptive) nghĩa là:
Có thể ngắt bất kỳ lúc nào
Chạy đến khi xong, không bị chiếm
Luôn theo RR
Chỉ cho SRTF
Chức năng định thời (scheduler) phải:
Chọn thời điểm gọi hàm chọn lựa
Chỉ quản lý I/O
Chỉ quản lý bộ nhớ
Chỉ quản lý file
Chế độ quyết định dùng để:
Chọn tiến trình trong ready queue
Xem có ngắt thực thi hay không
Gán ưu tiên tĩnh
Tính quantum
Long-term scheduler:
Chọn tiến trình để đưa vào ready queue
Chọn tiến trình để đưa vào waiting queue
Chọn tiến trình để đưa vào running queue
Chọn tiến trình để đưa vào I/O queue
SRTF thuộc nhóm:
Không ưu tiên
Ưu tiên (preemptive)
Không phải định thời
Dành cho I/O duy nhất
RR thích hợp nhất cho:
Batch thuần
Tương tác/đa nhiệm
Thời gian thực cứng
Tính toán dài không tương tác
Trong microkernel, dịch vụ như file system, network thường:
Chạy ở kernel mode
Chạy ở user mode như tiến trình riêng
Nằm trong BIOS
Trong firmware
Module hoá giúp:
Khó bảo trì
Dễ mở rộng, thay thế thành phần
Không hỗ trợ driver mới
Cấm tách biệt chức năng
Hệ điều hành là nơi:
Người dùng cài và chạy ứng dụng
Lưu cấu hình phần cứng duy nhất
Giao tiếp qua thanh ghi/vùng nhớ/stack là:
Cách tiến trình gọi hàm thư viện
Ba phương pháp thực hiện system call
Cách DMA hoạt động
Cách swap bộ nhớ
Tiến trình con được tạo bằng:
printf
fork
free
scanf
exec thường dùng để:
Thay thế ảnh tiến trình hiện tại bằng chương trình mới
Tạo tiến trình mới song song
Kết thúc tiến trình
Tạo pipe
Data section chứa:
Mã máy
Biến toàn cục/khởi tạo
Ngăn xếp lời gọi
Khối cấp phát động
Stack section chứa:
Biến automatic, khung hàm
Biến toàn cục
Đối tượng cấp phát động
Heap section:
Dùng cho biến static
Dùng cho cấp phát động
Chứa vector lệnh
Chứa bảng trang
Distributed vs Parallel:
A. Distributed: chung bộ nhớ; Parallel: qua mạng
B. Distributed: qua mạng; Parallel: song song, có thể chung hoặc riêng bộ nhớ
C. Cả hai luôn chung bộ nhớ
D. Cả hai luôn tách rời phần cứng
FCFS tối ưu:
Thời gian chờ trung bình
Công bằng tuyệt đối
Đơn giản cài đặt, nhưng có convoy effect
Deadline
SJF nhược điểm:
Luôn đói I/O
Cần ước lượng burst, có thể gây starvation tiến trình dài
Không giảm thời gian chờ trung bình
Không áp dụng cho batch
Monolithic: mọi thành phần kernel chạy ở chế độ đặc quyền cao nhất.
Đúng
Sai
Vi nhân: đưa hầu hết dịch vụ (FS, driver, network) ra user space.
Đúng
Sai
Phân lớp: mỗi lớp chỉ tương tác với lớp kế cận trên/dưới.
Đúng
Sai
Modules: nhấn mạnh tách rời, hướng đối tượng.
Đúng
Sai
HĐH không cung cấp nơi cài ứng dụng.
Đúng
Sai
HĐH điều khiển/phối hợp I/O thiết bị.
Đúng
Sai
Biến toàn cục nằm ở Stack section.
Đúng
Sai
Biến automatic nằm ở Stack section.
Đúng
Sai
Cấp phát động nằm ở Heap section.
Đúng
Sai
Trạng thái ready: đã đủ tài nguyên, chờ CPU.
Đúng
Sai
Một tiến trình chỉ có thể tự kết thúc, không bị tiến trình khác kết thúc.
Đúng
Sai
Cha và con luôn luôn chia sẻ mọi tài nguyên.
Đúng
Sai
create-process (Windows) và fork/exec (Linux) là cơ chế tạo/khởi chạy tiến trình.
Đúng
Sai
System call là cơ chế giao tiếp giữa tiến trình và HĐH.
Đúng
Sai
Có 3 cách thực hiện system call: qua thanh ghi, vùng nhớ, và stack.
Đúng
Sai
SJF chọn công việc có burst time ngắn nhất trước.
Đúng
Sai
FCFS là viết tắt của Shortest Remaining Time First.
Đúng
Sai
Round Robin dùng quantum time; quantum quá lớn → giống FCFS.
Đúng
Sai
Quantum ngắn → tăng số lần chuyển ngữ cảnh.
Đúng
Sai
Multilevel Queue: nhiều hàng đợi, mỗi hàng có thuật toán riêng.
True
False
Multilevel Feedback Queue: không cho tiến trình di chuyển giữa các hàng.
True
False
Chế độ quyết định “tín dụng” là không ưu tiên.
True
False
Chế độ quyết định “không tín dụng” là preemptive.
True
False
Chế độ quyết định dùng để xét có ngắt thực thi hay không, không phải để chọn tiến trình nào trong ready queue.
True
False
Long-term scheduler chỉ chọn tiến trình để đưa vào hệ thống/ready queue.
True
False
Distributed system: giao tiếp qua mạng.
True
False
Tightly-coupled system: chia sẻ bộ nhớ.
True
False
Real-time system: mục tiêu chính là đáp ứng đúng hạn.
True
False
Parallel system: xử lý song song.
Đúng
Sai
SRTF là dạng không ưu tiên của SJF.
Đúng
Sai
