logo

PHẦN 2: HỆ ĐIỀU HÀNH (OPERATING SYSTEM)


PHẦN 2: HỆ ĐIỀU HÀNH (OPERATING SYSTEM) Chương 1: Tổng quan Hệ điều hành 1 Câu hỏi Tóm tắt chức năng của hệ điều hành ? 1 điểm Đáp án 1. Tổ chức, quản lý và phân phối tài nguyên 2. Giả lập máy tính mở rộng Cung cấp các dịch vụ Cung cấp giao tiếp logic cho user sử dụng các dịch vụ Che giấu hoạt động và data hệ thống Biến đổi các yêu cầu của user thành các tín hiệu đk phần cứng 2 Câu hỏi Tóm tắt các thành phần của hệ điều hành ? 1 điểm Đáp án 1. Quản lý tiến trình (Process). 2. Quản lý bộ nhớ (Main Memory). 3. Quản lý hệ thống tập tin (File System). 4. Quản lý nhập xuất (I/O). 5. Quản lý thiết bị lưu trữ (Secondary-storage). 6. Quản lý mạng (Networking). 7. Hệ thống bảo vệ (Protection System). 8. Hệ thông dịch lệnh (Commander-Intpreter System) 3 Câu hỏi Tóm tắt các dịch vụ của hệ điều hành ? 1 điểm Đáp án 1. Giao tiếp với người sử dụng (User Interface – UI). 2. Thực thi chương trình (Program execution). 3. Tổ chức và quản lý xuất nhập (I/O operations). 4. Quản lý hệ thống File (File-system manipulation). 5. Truyền tin (Communications). 6. Xác định và xử lý lỗi (Error detection). 7. Các dịch vụ hệ thống 4 Câu hỏi Mô tả tổ chức bộ nhớ của hệ điều hành MS DOS. 2 điểm Đáp án Tổ chức bộ nhớ của MS-DOS (theo địa chỉ) F000:0000 – FFFF:FFFF ROM(thường trú) – BIOS hệ thống C000:000 – EFFF:FFFF ROM thiết bị - BIOS của thiết bị A000:0000 – BFFF:FFFF Bộ nhớ quản lý màn hình CT USER COMMAND.COM (thường trú) 0000:0600 – 9FFF:FFFF … 0000:0400 – 0000:05FF Tham số ROM BIOS-thông tin về thiết bị hiện ccó trong máy tính 0000:0000 – 0000:03FF INTERRUPT VECTOR, 256 Interrupt 5 Câu hỏi Trình bày dịch vụ giao tiếp với người sử dụng trong hệ điều hành Windows98 1 điểm Đáp án Dịch vụ giao tiếp với người sử dụng cung cấp 2 mode giao tiếp : - MS-DOS mode : điều khiển bởi COMMAND.COM – giao diện dòng lệnh. - GUI (giao diện đồ họa) mode. - Người sử dụng có thể tùy ý chon lựa các mode này trong Windows 98. 6 Câu hỏi Mô tả cấu trúc, cơ chế hoạt động của chương trình ứng dụng trong Hệ điều 2 điểm hành MS DOS? Đáp án Cấu trúc -1- CT ứng dụng CT thường trú hệ thống (COMMAND.COM) Dịch vụ MS-DOS Dịch vụ ROM BIOS Phầncứng Cơ chế hoạt động : - Chương trình ứng dụng gửi yêu cầu đến chương trình thường trú hệ thống (COMMAND.COM). Chương trình thường trú hệ thống gọi đến dịch vụ do MS-DOS cung cấp. Dịch vụ MS-DOS gọi đến dịch vụ do ROM BIOS cung cấp. Dịch vụ ROM BIOS thực hiện các điều khiển phần cứng (lệnh COPY). - Chương trình ứng dụng gọi các dịch vụ do MS-DOS cung cấp. Dịch vụ MS- DOS gọi đến dịch vụ do ROM BIOS cung cấp. Dịch vụ ROM BIOS thực hiện các điều khiển phần cứng (Int 25h). - Chương trình ứng dụng gọi các dịch vụ do ROM BIOS cung cấp. Dịch vụ ROM BIOS thực hiện các điều khiển phần cứng (Int 13h). 7 Câu hỏi Trình bày khái niệm, phương pháp chuyển tham số và dạng của lời gọi hệ 2 điểm thống. Đáp án Kn: Khi tiến trình sử dụng các dịch vụ do OS cung cấp. Lời gọi hệ thống được thực hiện thông qua các phương pháp chuyển tham số Phương pháp chuyển tham số : 3 phương pháp phổ biến Tham số được đặt vào trong thanh ghi Tham lưu trong bộ nhớ và địa chỉ của vùng bộ nhớ đặt trong thanh ghi Tham số lưu trong Stack Dạng của lời gọi hệ thống. Điều khiển tiến trình Quản lý File Quản lý thiết bị Thông tin Truyền tin Chương 2: Quản lý tiến trình 8 Câu hỏi Tiến trình là gì ? Các trạng thái và mối quan hệ giữa các trạng thái của 1 tiến 2 điểm trình ? Đáp án Tiến trình : chương trình thực thi tạo ra tiến trình. Tiến trình bao gồm : Mã lệnh Con trỏ lệnh Stack Các thanh ghi Data ... Các trạng thái của 1 tiến trình : -2- New : mới tạo ra. Ready : sẳn sàng để hoạt động. Running : hoạt động. Watting (Blocked) : bị khóa. Terminated : kết thúc. Mối quan hệ giữa các trạng thái : 5 1 6 2 4 3 1 : Lập lịch. 2 : Cấp CPU và tài nguyên 3 : Đợi I/O hoặc sự kiện của tiến trình. 4 : Đáp ứng I/O hoặc sự kiện của tiến trình. 5 : Interrupt hoặc sự kiện của hệ thống. 6 : Hoàn tất hoạt động. 9 Câu hỏi Sơ đồ cài đặt tiến trình trong hệ điều hành ? Lý do của việc đặt tiến trình 3 điểm NULL vào cuối Ready list ? Đáp án Version ... Danh sách TT Ready List CPU 1 (hoạt động) PCB 1 CPU 2 PCB 2 ... H.động KhôngH.động H.động Null PCB1 PCB2 PCB3 PCB NULL -3- Việc cài đặt tiến trình Null (vòng lặp rỗng, có độ ưu tiên thấp nhất) vào cuối Ready list là để duy trì sự tồn tại của nó trong suốt thời gian hoạt động của hệ thống vì nếu không có tiến trình này, ready list sẽ bị hủy khi trong hệ thống không có tiến trình và tạo lại khi có tiến trình. 10 Câu hỏi Mô hình điều phối tiến trình và cơ chế họat động ? 2 điểm Đáp án Mô hình điều phối tiến trình Cơ chế hoạt đông : Tiến trình ở trạng thái ready (trong ready queue-ready list) được cấp CPU và tài nguyên để hoạt động. Có thể xảy ra các trường hợp sau: - Hoàn tất công việc. - Đợi I/O. Tiến trình sẽ chuyển sang trạng thái waitting và đưa vào hàng đợi I/O cho đến khi yêu cầu I/O được đáp ứng tiến trình sẽ chuyển sang trạng thái ready. - Hết thời gian sử dụng CPU sẽ chuyển sang trạng thái ready. - Tạo tiến trình con. Sau khi tạo xong tiến trình con. Tiến trình và tiến trình con sẽ chuyển sang trạng thái ready. - Đợi Interrupt. Sau khi hoàn tất Interrupt, tiến trình sẽ chuyển sang trạng thái ready. 11 Câu hỏi Đánh giá thời gian chờ trung bình của các tiến trình sau theo thuật toán FCFS: 2 điểm Tiến trình Thời gian xử lý P1 24 P2 3 P3 4 Đáp án CPU P1 P2 P3 0 24 27 Thời gian chờ của P1 : 0 Thời gian chờ của P2 : 24 Thời gian chờ của P3 : 27 -4- TGTB=(0+24+27)/3 12 Câu hỏi Đánh giá thời gian chờ trung bình của các tiến trình sau theo thuật toán SJF 3 điểm (độ ưu tiên tỉ lệ với thời gian xử lý) đặc quyền (chỉ trả lại CPU khi tiến trình thi hành xong) : Tiến trình Thời gian xử lý Thời gian đến P1 6 0 P2 8 2 P3 7 4 P4 3 5 Đáp án CPU P1 P4 P3 P2 0 6 9 16 Thời gian chờ của P1 : 0 Thời gian chờ của P2 : 14 Thời gian chờ của P3 : 5 Thời gian chờ của P4 : 1 TGTB=(0+14+5+1)/4 13 Câu hỏi Đánh giá thời gian chờ trung bình của các tiến trình sau theo thuật toán SJF 3 điểm (độ ưu tiên tỉ lệ với thời gian xử lý) không đặc quyền (có thể bị thu hồi CPU khi hết quyền ưu tiên): Tiến trình Thời gian xử lý Thời gian đến P1 8 0 P2 5 2 P3 1 4 P4 4 5 Đáp án CPU P1 P2 P3 P2 P4 P1 0 2 4 5 8 12 Thời gian chờ của P1 : 0+12 Thời gian chờ của P2 : 0+3 Thời gian chờ của P3 : 0 Thời gian chờ của P4 : 3 TGTB=(12+3+0+3)/4 14 Câu hỏi Đánh giá thời gian chờ trung bình của các tiến trình sau theo thuật toán Round 2 điểm Robin với quantum=4 : Tiến trình Thời gian xử lý P1 13 P2 8 P3 3 P4 5 Đáp án CPU P1 P2 P3 P4 P1 P2 P4 P1 0 4 8 11 15 19 23 24 -5- Thời gian chờ của P1 : 0+11+9 Thời gian chờ của P2 : 4+11 Thời gian chờ của P3 : 8 Thời gian chờ của P4 : 11+12 TGTB=(20+15+8+23)/4 15 Câu hỏi Trình bày cơ chế liên lạc giữa 2 tiến trình bằng bảng tín hiệu. 2 điểm Đáp án Mỗi tiến trình sở hữu 1 bảng tính hiệu. Mỗi tín hiệu trong bảng tín hiệu tương ứng với 1 đoạn mã xử lý tín hiệu. Cách xử lý tín hiệu có thể là theo mặc định (hệ thống), theo cách riêng hoặc bỏ qua (theo mô tả ở bảng sau). Nguyên nhân Bảng Tín hiệu của P PP xử lý TH P.cứng P.cứng A Mã Xử lý TH A Mặc định A CT Xử lý TH A HĐH HĐH B Mã Xử lý TH B Cách riêng P BC Mã Xử lý TH C B CT Xử lý TH TT khác TT Bỏ qua C... … Xử lý TH C CT khác User Cách riêng ... … User Bỏ qua Khi tiến trình nhận được yêu cầu (từ phần cứng, HĐH, TT khác, User, …). Tiến trình chỉ xử lý nếu yêu cầu nhận được trùng với 1 trong các tín hiệu mà nó sở hữu (ví dụ khi bấm tổ hợp phím CTRL+BREAK để kết thúc hoạt động của chương trình). 16 Câu hỏi Trình bày cơ chế liên lạc giữa 2 tiến trình bằng IPC (tổng quát). 2 điểm Đáp án Tiến trình truyền tin và đồng bộ hoạt động Hệ thống thông báo (message) giúp cho TT truyền tin với nhau không cần đến biến dùng chung. Cung cấp 2 hoạt động : Send(message). Receive(message). Điều kiện để 2 TT truyền thông điệp. Thiết lập 1 liên kết (bộ nhớ dùng chung, bus, thuộc tính logic, ...) Trao đổi thông báo trên cơ sở Send() và Receive() Tiến trình sử dụng Send(message) để gửi và Receive(message) để nhận thông điệp. Các hình thức truyền thông điệp Trực tiếp Gián tiếp Đồng bộ Bất đồng bộ Buffering 17 Câu hỏi Cho ví dụ và giải thích về tranh đoạt điều khiển giữa 2 tiến trình. 3 điểm Đáp án Cho P1, P2 cùng sở hữu biến TaiKhoan, TienRut và đoạn CT sau … If (TaiKhoan-TienRut>=0) TaiKhoan=TaiKhoan-TienRut Else -6- error(); … Khởi đầu : Taikhoan=1000 P1 TienRut=600 P2 TienRut=500 Hoạt động Già sử P1 được cấp CPU trước P1 → Kiểm tra điều kiện : TaiKhoan-TienRut=1000-600=400>0 Bị thu hồi CPU P2 → Kiểm tra điều kiện : TaiKhoan-TienRut=1000-500=500>0 Cập nhật biến TaiKhoan=500 Bị thu hồi CPU P1 → Cập nhật biến TaiKhoan=500-600=-100 (lỗi) … 18 Câu hỏi Định nghĩa Semaphore. Thiết kế hàm Signal() và Wait(). Tái cấu trúc lại miền 3 điểm Găng bằng Semaphore. Đáp án ĐN : Semaphore S là 1 số nguyên không âm S chỉ có thể bị thay đổi bởi 2 hàm Signal(S)=S+1 S-1; S>0 Wait(S)= Chờ ; S=0 Trong thời gian thay đổi S, không có sự tham gia của bất kỳ TT Thiết kế hàm Signal() và Wait() Signal() : signal (S) { S=S+1; } Wait() : wait (S) { while S 19 Câu hỏi Cho ví dụ và giải thích ứng dụng của Semaphore trong truy xuất độc quyền. 3 điểm Trả lời P1, P2 cùng truy xuất Buffer P1 đặt data vào Buffer P2 lấy data từ Buffer Vấn đề : P1, P2 không thể cùng truy xuất Buffer Miền Găng P1 : đoạn CT đặt data vào Buffer Miền Găng P2 : đoạn CT lấy data từ Buffer S Semaphore truy xuất Buffer (S=1) Cấu trúc lại miền Găng trong P1, P2 P1 P2 … … Wait(S); Wait(S); đoạn CT đặt data vào Buffer; đoạn CT lấy data từ Buffer; Signal(S); Signal(S); … … Với cách cấu trúc lại như trên, P1 và P2 không thể truy xuất đồng thời Buffer. Già sử P1 được cấp CPU trước P1 → Thực hiện Wait(S) {S=0} Bị thu hồi CPU P2 → Thực hiện Wait(S) {đợi vì S=0} Bị thu hồi CPU P1 → Đặt data vào Buffer Thực hiện Signal(S) {S=1} Bị thu hồi CPU P2 → Thực hiện Wait(S) {S=0} Đặt data vào Buffer Bị thu hồi CPU P1 → Thực hiện Wait(S) {đợi vì S=0} Bị thu hồi CPU P2 → Thực hiện Signal(S) {S=1} Bị thu hồi CPU … 20 Câu hỏi Cho ví dụ và giải thích ứng dụng của Semaphore trong hoạt động phối hợp. 3 điểm Đáp án Cho tác vụ X = tác vụ X1+tác vụ X2 (tác vụ X1 thực hiện trước tác vụ X2 và kết thúc tác vụ X) P1 thực hiện tác vụ X1 P2 thực hiện tác vụ X2 Vấn đề : tác vụ X1 thực hiện trước cho đến khi hoàn thành thì mới thực hiện tác vụ X2 và khi thực hiện xong tác vụ X2 thì kết thúc tác vụ X (không thực hiện lại tác vụ -8- X1). Miền Găng : đoạn CT trong P1 thực hiện tác vụ X1, đoạn CT trong P2 thực hiện tác vụ X2. S Semaphore kiểm soát truy xuất đồng thời P1, P2 (S=1) Cấu trúc lại miền Găng P1, P2 P1 P2 … … Wait(S); Wait(S); Đoạn CT P1; Đoạn CT P2; Signal(S); … … Với cách cấu trúc lại như trên, P1 thực hiện trước (tác vụ X1) và P2 thực hiện sau (tác vụ X2) và không quay lại thực hiện P1. Già sử P1 được cấp CPU trước P1 → Thực hiện Wait(S) {S=0} Bị thu hồi CPU P2 → Thực hiện Wait(S) {đợi vì S=0} Bị thu hồi CPU P1 → Thực hiện đoạn CT P1 Thực hiện Signal(S) {S=1} Bị thu hồi CPU P2 → Thực hiện Wait(S) {S=0} Bị thu hồi CPU P1 → Thực hiện Wait(S) {đợi vì S=0} Bị thu hồi CPU P2 → Thực hiện đoạn CT P2 Bị thu hồi CPU … 21 Câu hỏi Phát biểu vấn đề cổ điển của đồng bộ. Các giải quyết vấn đề này bằng 3 điểm Semaphore ? Đáp án Bài toán : P1, P2 cùng truy xuất Buffer hữu hạn. P1 đặt data vào vào Buffer, P2 lấy data từ Buffer. Vấn đề : P1, P2 không truy xuất đồng thời. P1 không đặt data vào Buffer đầy. P2 không lấy data khi Buffer rỗng. -9- Miền Găng P1 : đoạn CT đặt data vào Buffer Miền Găng P2 : đoạn CT lấy data từ Buffer Giải pháp : sử dụng 3 Semaphore Mutex : KT truy xuất đồng thời P1, P2 (mutex=1). full : số phần tử có data trong Buffer (full=0). empty : số phần tử còn trống trong Buffer (empty=0). Cấu trúc lại miền Găng P1, P2 P1 P2 … … Tạo data; Wait(full); Wait(empty); Wait(mutex); Wait(mutex); đoạn CT lấy data từ Buffer; đoạn CT đặt data vào Buffer; Signal(mutex); Signal(mutex); Signal(empty); Signal(full) Xử lý data; … … Với cách cấu trúc như trên ta có : Semaphore mutex kiểm soát truy xuất đồng thời P1, P2. Với Buffer đầy : full = n; empty = 0. P1 không thể đặt data vào Buffer vì phải đợi khi thực hiện Wait(emty). Với Buffer rỗng : full = 0; empty = n. P2 không thể lấy data từ Buffer vì phải đợi khi thực hiện Wait(full). 22 Câu hỏi Định nghĩa Deadlock. Cho ví dụ và giải thích về việc sử dụng Semaphore gây 2 điểm ra Deadlock. Đáp án Định nghĩa Deadlock : Tập hợp các tiến trình ở trạng thái Waiting(Blocked) mà mỗi tiến trình đang giữ tài nguyên và yêu cầu thêm tài nguyên đang đang bị chiếm giữ bởi tiến trình khác cũng ở trong tập hợp này . Ví dụ sử dụng Semaphore gây ra Deadlock semaphores A và B khởi đầu bằng 1. Tiến trình P1 và P2 sử dụng các Semaphore như sau : P1 P2 wait (A); wait(B); … … wait (B); wait(A); … … P1, P2 ở trạng thái Deadlock vì P1 đang giữ tài nguyên A và yêu cầu thêm tài nguyên B. Trong khi đó P2 đang giữ tài nguyên B và yêu cầu thên tài nguyên A. Tiến trình P1, P2 cùng đợi tiến trình còn lại trả tài nguyên 23 Câu hỏi Cho 1 ví dụ về đồ thị cấp phát tài nguyên có Deadlock. 2 điểm - 10 - Đáp án Đồ thị cấp phát tài nguyên trên có Deadlock vì các tiến trình và các phần tài nguyên có liên quan hình thành các chu trình. 24 Câu 24 Đồ thị cấp phát tài nguyên sau đây có thể có Deadlock hay không ? Tại sao ? 2 điểm Đáp án Đồ thị cấp phát tài nguyên này không có Deadlock vì các tiến trình và một số phần tài nguyên có liên quan không hình thành chu trình (R2,P1,R1,P2). Tuy P1 đang giữ 1 phần tài nguyên R2 và yêu cầu thêm 1 phần tài nguyên R1 trong khi đó P3 đang giữ 1 phần tài nguyên R1 và yêu cầu thêm 1 phần tài nguyên R2. Tình trạng này sẽ được giải quyết vì đến một lúc nào đó P2 hoặc P4 hoặc cả 2 sẽ trả lại tài nguyên. Chương 3: Quản lý bộ nhớ (Memory Management) 25 Câu hỏi Trình bày kỹ thuật Swapping. 2 điểm Đáp án Mô phỏng 1 phần đĩa cứng như là bộ nhớ - bộ nhớ phụ. Tiến trình ở bộ nhớ không thực thi (Waiting) → bộ nhớ phụ (swap out) Tiến trình bộ nhớ phụ → bộ nhớ (swap in) để tiếp tục thực thi - 11 - Vùng bộ nhớ cấp phát cho tiến trình Swap in P1 Swap out P2 OS Bộ nhớ Thiết bị lưu trữ 26 Câu hỏi Tạo ra bảng quản lý cấp phát tương ứng với hình vẽ sau đây: 2 điểm Đáp án K.Thước Đ/c Quyền truy Tình Partition Partition xuất trạng 100K 200K P3 Busy 300K 300K P2 Busy 500K 600K Free 100K 1100K P1 Busy 27 Câu hỏi Trong cấp phát bộ nhớ với kỹ thuật phân vùng động. Cho các tiến trình 2 điểm Tiến trình Số đơn vị bộ nhớ yêu cầu A 3 B 5 C 2 D 2 E 3 Vẽ hình minh họa chuỗi cấp phát sau : A→B→C→thu hồi B→D→thu hồi A→E - 12 - Đáp án C C C C C 8 8 8 8 8 B B D D D 3 3 3 3 3 A A A A A E 0 0 0 0 0 0 0 A → B → C → th B → D → th A → E 28 Câu hỏi Cho hiện trạng của bộ nhớ như sau (mỗi ô là 1 đơn vị cấp phát) : A (3 đơn vị 2 điểm cấp phát), B (4 đơn vị cấp phát), C (3 đơn vị cấp phát). A B C 0 3 5 9 12 15 a. Xây dựng bảng bitmap quản lý bộ nhớ. b. Xây dựng danh sách liên kết quản lý bộ nhớ. Đáp án a. Bảng Bitmap : 1 → đã cấp; 0 → chưa cấp. Thứ tự của các phần tử trong bảng Bitmap tương ứng với thứ tự của các đơn vị cấp phát trong bộ nhớ. A B C 0 3 5 9 12 15 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 - 13 - b. Danh sách (liên kết) quản lý cấp phát. A B C 0 3 5 9 12 15 A 0 3 H 3 2 B 5 4 H 9 3 C 12 3 H 15 5 29 Câu hỏi Cho hiện trạng của bộ nhớ như sau (mỗi ô là 1 đơn vị cấp phát) : A (3 đơn vị 2 điểm cấp phát), B (4 đơn vị cấp phát), C (3 đơn vị cấp phát). A B C 0 3 6 10 12 15 Giả sử cần cấp phát bộ nhớ cho tiến trình D (yêu cầu 2 đơn vị cấp phát). a. Xây dựng danh sách liên kết quản lý bộ nhớ sau khi cấp phát bộ nhớ cho D theo giải thuật First-Fit. b. Xây dựng danh sách liên kết quản lý bộ nhớ sau khi cấp phát bộ nhớ cho D theo giải thuật Best-Fit. Đáp án a. Hiện trạng bộ nhớ sau khi cấp phát cho D theo giải thuật First-Fit A D B C 0 3 5 6 10 12 15 A 0 3 D 3 2 H 5 1 B 6 4 H 10 2 C 12 3 H 15 5 - 14 - b. Hiện trạng bộ nhớ sau khi cấp phát cho D theo giải thuật Best-Fit A B D C 0 3 5 6 10 12 15 A 0 3 H 3 3 B 6 4 D 10 2 C 12 3 H 15 5 30 Câu hỏi Cho kích thước trang và kích thước khung trang là 100K và địa chỉ bắt đầu 3 điểm cấp phát là 0K. Tiến trình P1 có 3 trang, P2 có 4 trang, P3 có 5 trang. Xây dựng các bảng quản lý cấp phát. Biết rằng hệ thống cấp đủ theo yêu cầu của tiến trình. Đáp án JT 300K 37000 (địa chỉ PMT) 400K 42000 500K 45000 P1 PMT P1 MMT 0 0 4 P1/1 0 0K B 1 1 0 1 100K F 2 2 9 P2/0 2 200K B P2 PMT P2 P3/2 3 … … 0 0 2 P1/0 4 1 1 5 P2/1 5 2 2 12 6 3 3 13 P3/3 7 P3/1 8 P3 PMT P3 P1/2 9 0 0 10 P3/0 10 1 1 8 11 2 2 3 P2/2 12 3 3 7 P2/3 13 4 4 14 P3/4 14 Không gian địa chỉ Bộ nhớ 31 Câu hỏi Vẽ sơ đồ biến đổi địa chỉ logic thành địa chỉ vật lý trong kỹ thuật phân trang. 3 điểm Cho kích thước trang và kích thước khung trang là 100K, địa chỉ bắt đầu cấp - 15 - phát trong bộ nhớ là 0K. Cho bảng trang (PMT) của P như sau : p f 0 7 1 2 2 5 3 4 Tính địa chỉ vật lý tương ứng với các địa chỉ logic sau : 0 30K 2 70K 3 25K Đáp án Địa chỉ logic có dạng p d p : số hiệu trang; d: độ dời trong trang Sơ đồ biến đổi địa chỉ. CPU p d f d d f PMT P p f Địa chỉ vật lý tương ứng : 0 30K p = 0 → f = 7 , d = 30K → đ/c vật lý = 7*100K + 30K = 730K 2 70K p = 2 → f = 5 , d = 70K → đ/c vật lý = 5*100K + 70K = 570K 3 25K p = 3 → f = 4 , d = 25K → đ/c vật lý = 4*100K + 25K = 425K 32 Câu hỏi Trình bày cách tổ chức bảng trang 2 cấp trong hệ điều hành Windows 32 bit. 2 điểm Ý nghĩa của việc làm này ? Đáp án Trong HĐH windows 32 bit. Địa chỉ logic 32 bit được tổ chức như sau 10 bit 10 bit 12 bit Thư mục trang Bảng trang Kích thước trang (=1024 mục) (=1024 bảng) (=4096 Byte=4 KB) - 16 - Thư mục trang 0 … 1023 Bảng trang 0 … 1023 0 … 1023 Trang 4 KB 4 KB 4 KB 4 KB 4 KB Cách tổ chức này giúp tiết kiệm thời gian tìm kiếm 1 trang trong 1048576 (= 220). Chỉ mất 1024 + 1024 lần tìm kiếm. 33 Câu hỏi Cho các tiến trình : 3 điểm P1 có các phân đoạn S0 (200K), S1(300K), S2 (400K). P2 có các phân đoạn S0 (100K), S1(400K), S2 (200K), S3 (300K). Xây dựng các bảng quản lý cấp phát khi hệ thống cấp phát bộ nhớ đủ theo yêu cầu cho P1 và P2. Biết rằng hệ thống bắt đầu cấp phát tại địa chỉ 0K. Đáp án JT 0K P2/S2 900K 37000 (địa chỉ SMT) 1000K 42000 200K P1/S1 P1 SMT P1 S0 200K 0 200K 700K 500K 1 300K 200K S1 300K 2 400K 1900K 700K P1/S0 P2/S0 900K S2 400K 1000K 1100K P2/S3 P2 SMT P2 1400K S0 100K 0 100K 900K S1 400K 1 400K 1400K P2/S1 2 200K 0K 3 300K 1100K 1800K 1900K S2 200K P1/S2 S3 300K Bộ nhớ Không gian địa chỉ - 17 - Bảng MMT tương tự như trong cấp phát bộ nhớ với kỹ thuật phân vùng động. 34 Câu hỏi Vẽ sơ đồ biến đổi địa chỉ logic thành địa chỉ vật lý trong kỹ thuật phân đoạn. 3 điểm Cho địa chỉ bắt đầu cấp phát trong bộ nhớ là 200K. Cho bảng phân đoạn (SMT) của P như sau : S Kích thước Địa chỉ 0 300K 200K 1 200K 1300K 2 500K 700K 3 400K 1500K Tính địa chỉ vật lý tương ứng với các địa chỉ logic sau : s0 130K s2 270K s3 125K Đáp án Địa chỉ logic có dạng s d s : số hiệu phân đoạn; d: độ dời trong phân đoạn Sơ đồ biến đổi địa chỉ. CPU s d S >= Đ đ/c d d đ/c SMT P s kt đ/c Địa chỉ vật lý tương ứng : s0 130K s0 → đ/c = 200K , kt = 300K>d =130K → đ/c vật lý = 200K + 130K = 330K s2 270K s2 → đ/c = 700K , kt = 500K>d =270K → đ/c vật lý = 700K + 270K = 970K s3 125K s0 → đ/c = 1500K , kt=400K>d=25K → đ/c vật lý = 1500K + 125K = 1625K - 18 - 35 Câu hỏi Cho các tiến trình : 3 điểm P1 có các phân đoạn S0 (250K), S1(370K), S2 (420K). P2 có các phân đoạn S0 (180K), S1(470K). Xây dựng các bảng quản lý cấp phát khi hệ thống cấp phát bộ nhớ đủ theo yêu cầu cho P1 và P2 với kỹ thuật phân đoạn kết hợp. Biết rằng kích thước trang, khung trang là 100K và địa chỉ bắt đầu cấp phát là 0K. Đáp án P1 : S0(250K) → 3 trang; S1(370K) → 4 trang; S2(420K) → 5 trang P2 : S0(180K) → 2 trang; S1(470K) → 5 trang JT 1200K (12 trang) 37000 (địa chỉ SMT) 700K (7 trang) 42000 P1 S0 0 SMT P1 MMT 1 0 300K (0) (0) PMT S0 P1/s0/0 0 0K B 2 1 400K (1) 0 0 1 100K F S1 0 2 500K (2) 1 3 P1/s2/1 2 200K B 1 2 8 P1/s0/1 3 … … 2 (1) PMT S1 P2/s0/0 4 3 0 7 5 1 6 P1/s1/1 6 S2 0 2 13 P1/s1/0 7 1 3 17 P1/s0/2 8 2 9 (2) PMT S2 P2/s1/4 3 10 0 10 P1/s2/0 4 P2/s1/0 11 1 2 2 20 P2/s0/1 12 3 15 P1/s1/2 13 4 22 14 P1/s2/3 15 P2/s1/1 16 SMT P2 (0) PMT S0 P2 0 4 P1/s1/3 17 0 200K (0) S0 0 1 12 P2/s1/2 18 1 500K (1) 1 (1) PMT S1 P2/s1/3 19 S1 0 0 11 P1/s2/2 20 1 16 21 1 2 18 P1/s2/4 22 2 3 19 Bộ nhớ 3 4 9 4 Không gian địa chỉ 36 Câu hỏi Vẽ sơ đồ biến đổi địa chỉ logic thành địa chỉ vật lý trong kỹ thuật phân đoạn 3 điểm kết hợp. Cho địa chỉ bắt đầu cấp phát trong bộ nhớ là 0K, kích thước trang và khung trang là 100K. Cho bảng phân đoạn (SMT) và các bảng trang (PMT) - 19 - của P như sau : SMT S Kích Địa (0)PMT của S0 (2)PMT của S2 thước chỉ 0 5 0 8 0 300K (0) 1 4 1 2 1 400K (1) 2 1 2 6 2 500K (2) (1)PMT của S1 3 15 0 3 4 12 1 7 2 10 3 9 Tính địa chỉ vật lý tương ứng với các địa chỉ logic sau : s1 330K s2 230K Đáp án Địa chỉ logic có dạng s d s : số hiệu phân đoạn; d: độ dời trong phân đoạn Sơ đồ biến đổi địa chỉ. CPU s d S >= Đ p d’ SMT P f d’ s kt (*) (*) PMT s p f d’ f Địa chỉ vật lý tương ứng : s1 330K s1 → (1) PMT s1; kt = 400K > d = 330K; d(330K) mod 100K = 30K = d’ d(330K) div 100K = 3 = p từ (1) PMT s1 và p = 3 → f = 9 địa chỉ vật lý = 9*100K + d’(30K) = 930K. - 20 -
DMCA.com Protection Status Copyright by webtailieu.net