Academia.eduAcademia.edu

HỆ DIỀU HANH

Câu 1: a) Năm chức năng chính của hệ điều hành đối với quản lý quá trình  Tạo và huỷ các tiến trình của người sử dụng và của hệ thống  Ngưng và thực hiện lại một tiến trình  Cung cấp cơ chế đồng bộ tiến trình  Cung cấp cách thông tin giữa các tiến trình  Cung cấp cơ chế kiểm soát deadlock b) Ba chức năng chính đối với quản lý bộ nhớ  Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng  Quyết định tiến trình nào được nạp vào bộ nhớ chính khi bộ nhớ đã có thể dùng được  Cấp phát và thu hồi bộ nhớ khi cần thiết Câu 2: Chức năng chính của liên kết động (dynamic linking) trong quản lý bộ nhớ của hệ điều hành hoạt động như thế nào? Và có những ưu điểm nào ?

HỆ ĐIỀU HÀNH Câu 1: Năm chức năng chính của hệ điều hành đối với quản lý quá trình Tạo và huỷ các tiến trình của người sử dụng và của hệ thống Ngưng và thực hiện lại một tiến trình Cung cấp cơ chế đồng bộ tiến trình Cung cấp cách thông tin giữa các tiến trình Cung cấp cơ chế kiểm soát deadlock Ba chức năng chính đối với quản lý bộ nhớ Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng Quyết định tiến trình nào được nạp vào bộ nhớ chính khi bộ nhớ đã có thể dùng được Cấp phát và thu hồi bộ nhớ khi cần thiết Câu 2: Chức năng chính của liên kết động (dynamic linking) trong quản lý bộ nhớ của hệ điều hành hoạt động như thế nào? Và có những ưu điểm nào ? Quá trình link một số module ngoài (external module) được thực hiện sai khi đã tạo xong load module(i.e.file có thể thực thi) Load module chỉ chứa các tham chiếu (reference) đến các external module. Các tham chiếu này có thể được chuyển đổi vào hai thời điểm sau : Loading time (load time dynamic linking) Run time: khi có một lời gọi đến thủ tục được định nghĩa trong external module (run-time dynamic linking) Hệ điều hành chịu trách nhiệm tìm các external module và kết nối vào load module ( kiểm tra xem external module đã nạp vào bộ nhớ chưa ) Ưu điểm : Thông thường, external module là một thư viện cung cấp các tiện ích của OS. Các chương trình thực thi có thể dùng các phiên bản khác nhau của external module mà không cần sửa đổi, biên dịch lại. Chia sẻ mã (code sharing): một external module chỉ cần nạp vào bộ nhớ một lần. Các process cần dùng external module này thì cùng chia sẻ đoạn mã cùa external module tiết kiệm không gian nhớ và đĩa. Dynamic linking cần sự hỗ trợ của OS trong việc kiểm tra xem một thủ tục nào đó có thể được chia sẻ giữa các process hay là phần mã của riêng một process ( bỏi vì chỉ có OS mới có quyền thực hiện việc kiểm tra này) Câu 4 : Những tài nguyên (resource) nào được sử dụng khi một tiến trình (thread) được tạo ra? Chúng khác với những tài nguyên được sử dụng khi một quá trình (process) được tạo ra như thế nào? Bởi vì thread nhỏ hơn một quá trình, tạo thread sử dụng ít tài nguyên hơn tạo một quá trình. Tạo một quá trình yêu cầu phải phân bổ một khối điều khiển quá trình có cấu trúc dữ liệu lớn hơn (PCB). PCB đòi hỏi một bản đồ bộ nhớ, danh sách các file mở, và các biến môi trường. Phân bổ và quản lý bản đồ bộ nhớ là loại tốn nhiều thơi gian hoạt động nhất. Tạo một người dùng hay kiến trúc kernel liên quan để việc phân có cấu trúc dữ liệu nhỏ hơn để giữ bộ đăng kí, stack, quyền ưu tiên.