Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

128 9 0
Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

(NB)Giáo trình Hệ điều hành: Phần 1 gồm có 8 chương, cung cấp cho người học những kiến thức như: Tổng quan về hệ điều hành; Các mô hình xử lý đồng hành; Quản lý tiến trình; Điều phối tiến trình; Liên lạc giữa các tiến trình và vấn đề đồng bộ hóa; Các giải pháp đồng bộ hóa;.... Mời các bạn cùng tham khảo!

TRƯỜNG ĐẠI HỌC PHAN THIẾT KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH HỆ ĐIỀU HÀNH LƯU HÀNH NỘI BỘ MỤC LỤC Chƣơng Tổng quan hệ điều hành .11 1.1 Khái niệm hệ điều hành .11 1.2 Phân loại hệ điều hành 12 1.2.1 Hệ thống xử lý theo lô .12 1.2.2 Hệ thống xử lý theo lô đa chƣơng 13 1.2.3 Hệ thống chia sẻ thời gian .13 1.2.4 Hệ thống song song 14 1.2.5 Hệ thống phân tán 14 1.2.6 Hệ thống xử lý thời gian thực 15 1.3 Cấu trúc hệ điều hành .16 1.3.1 Các thành phần hệ thống 16 1.4 Các dịch vụ hệ điều hành 20 1.5 Lời gọi hệ thống .20 1.6 Cấu trúc hệ thống 21 1.6.1 Cấu trúc đơn giản 21 1.6.2 Cấu trúc theo lớp .23 1.6.3 Mô hình Client-Server 26 1.7 Lịch sử phát triển hệ điều hành 28 1.7.1 Thế hệ (1945 – 1955) 28 1.7.2 Thế hệ (1955 – 1965) 28 1.7.3 Thế hệ (1965 – 1980) 29 1.7.4 Thế hệ (1980 - ) 29 1.7.5 Câu hỏi củng cố học 29 1.7.6 Bài tập .30 Chƣơng Các mơ hình xử lý đồng hành 31 2.1 NHU CẦU XỬ LÝ ĐỒNG HÀNH .31 2.1.1 Tăng hiệu suất sử dụng CPU 31 2.1.2 Tăng tốc độ xử lý 32 2.2 Khái niệm tiến trình(thread) mơ hình đa tiến trình(multithread) 33 2.2.1 Nguyên lý chung : 33 2.2.2 Kernel thread user thread 34 2.3 Tóm tắt tập 35 2.3.1 Củng cố học .36 2.3.2 Bài tập .36 Chƣơng Quản lý tiến trình 37 3.1 Tổ chức quản lý tiến trình 37 3.1.1 Các trạng thái tiến trình 37 3.1.2 Tiến trình tạo đƣợc đƣa vào hệ thống 38 3.2 Chế độ xử lý tiến trình .38 3.2.1 Thao tác tiến trình 40 3.2.2 Cấp phát tài nguyên cho tiến trình 42 3.2.3 Định danh tài nguyên 42 3.2.4 Các mục tiêu kỹ thuật cấp phát : 43 Chƣơng Điều phối tiến trình 43 4.1 Giới thiệu 44 4.1.1 Mục tiêu điều phối 44 4.1.2 Các đặc điểm tiến trình .44 4.2 Điều phối không độc quyền điều phối độc quyền (preemptive/nopreemptive) 46 4.3 Tổ chức điều phối 47 4.3.1 Các danh sách sử dụng trình điều phối 47 4.3.2 Các cấp độ điều phối .49 4.3.3 Chiến lƣợc FIFO .50 4.3.4 Chiến lƣợc phân phối xoay vòng (Round Robin) 51 4.4 Điều phối với độ ƣu tiên 52 4.4.1 Chiến lƣợc công việc ngắn (Shortest-job-first SJF) 54 4.5 Quản lý tiến trình-Tóm tắt 55 4.5.1 Câu hỏi cố học 55 4.5.2 Bài tập .55 Chƣơng Liên lạc tiến trình vấn đề đồng hóa 59 5.1 LIÊN LẠC GIỮA CÁC TIẾN TRÌNH 59 5.1.1 Nhu cầu liên lạc tiến trình 59 5.1.2 Các vấn đề nảy sinh việc liên lạc tiến trình .59 5.2 Cơ chế thơng tin liên lạc 60 5.2.1 Tín hiệu (Signal) .60 5.2.2 Pipe 62 5.2.3 Vùng nhớ chia sẻ .63 5.3 Trao đổi thông điệp (Message) 64 5.4 Sockets 65 5.5 Nhu cầu đồng hóa(synchronisation) 67 5.5.1 Yêu cầu độc quyền truy xuất (Mutual exclusion) 67 5.5.2 Yêu cầu phối hợp (Synchronization) 67 5.6 Bài toán đồng hoá 67 5.6.1 Vấn đề tranh đoạt điều khiển (race condition) 67 5.6.2 Miền găng (critical section) 68 5.7 Tóm tắt 69 5.7.1 Củng cố học .69 5.7.2 Bài tập .70 Chƣơng Các giải pháp đồng hóa 74 6.1 Giải pháp « busy waiting » 74 6.1.1 Các giải pháp phần mềm 74 6.1.2 Sử dụng việc kiểm tra luân phiên : 75 6.2 Giải pháp Peterson 76 6.3 Các giải pháp phần cứng 77 6.3.1 Cấm ngắt: 77 6.3.2 Chỉ thị TSL (Test-and-Set): 77 6.3.3 Các giải pháp “Sleep and wakeup” 78 6.4 Semaphore 79 6.4.1 Tổ chức truy xuất độc quyền với Semaphores: .81 6.4.2 Tổ chức đồng hóa với Semaphores: 81 6.5 Monitors 82 6.6 Trao đổi thông điệp 85 6.7 Các vấn đề cổ điển đồng hoá 86 6.7.1 Vấn đề Ngƣời sản xuất – Ngƣời tiêu thụ (Producer-Consumer) 86 6.7.2 Monitor 88 6.7.3 Trao đổi thông điệp 90 6.8 Mơ hình Readers-Writers .91 6.8.1 Trao đổi thông điệp 94 Chƣơng Tắc nghẽn (Deadlock) .96 7.1 Định nghĩa: .96 7.2 Điều kiện xuất tắc nghẽn 97 7.3 Đồ thị cấp phát tài nguyên .97 7.4 Các phƣơng pháp xử lý tắc nghẽn 98 7.5 Ngăn chặn tắc nghẽn 98 7.6 Tránh tắc nghẽn 99 7.6.1 Một số khái niệm sở 99 7.7 Phát tắc nghẽn 103 7.7.1 Giải thuật phát tắc nghẽn .103 7.8 Hiệu chỉnh tắc nghẽn 103 Chƣơng Quản lý nhớ 105 8.1 Mơ hình Linker_Loader .107 8.2 Mơ hình Base &Bound .107 8.3 Phân mảnh ngoại vi 109 8.4 Cấp phát không liên tục 110 8.4.1 Phân đoạn (Segmentation) 110 8.4.2 Cơ chế MMU kỹ thuật phân đoạn: 111 8.4.3 Chuyển đổi địa chỉ: .111 8.4.4 Cài đặt bảng phân đoạn: 112 8.5 Phân trang ( Paging) .115 8.5.1 Cơ chế MMU kỹ thuật phân trang: 116 8.5.2 Chuyển đổi địa chỉ: .116 8.5.3 Cài đặt bảng trang 117 8.6 Tổ chức bảng trang: 119 8.6.1 Bảo vệ: 120 8.6.2 Chia sẻ nhớ chế phân trang: .121 8.7 Phân đoạn kết hợp phân trang (Paged segmentation) 122 8.7.1 Cơ chế MMU kỹ thuật phân đoạn kết hợp phân trang: .123 8.7.2 Chuyển đổi địa chỉ: .123 8.8 Quản lý nhớ-Tóm tắt .124 8.8.1 Một số cách tiếp cận tổ chức nhớ 124 8.8.2 Củng cố học .125 8.8.3 Bài Tập 125 Chƣơng Bộ nhớ ảo 128 9.1 Dẫn nhập 128 9.2 Định nghĩa 128 9.3 Cài đặt nhớ ảo 129 9.4 Phân trang theo yêu cầu ( demand paging) 129 9.5 Cơ chế phần cứng : .130 9.6 Thay trang 132 9.7 Sự thi hành phân trang theo yêu cầu 133 9.8 Các thuật toán thay trang 133 9.8.1 Thuật toán FIFO 134 9.8.2 Thuật toán tối ƣu 135 9.8.3 Thuật tốn « Lâu chƣa sử dụng » ( Least-recently-used LRU) 136 9.9 Các thuật toán xấp xỉ LRU 137 9.9.1 Thuật toán với bit reference phụ trợ .137 9.9.2 Thuật tốn « hội thứ hai » .138 9.9.3 Thuật tốn « hội thứ hai » nâng cao (Not Recently Used - NRU) 139 9.10 Các thuật toán thống kê 140 9.11 Cấp phát khung trang 140 9.11.1 Số khung trang tối thiểu: .140 9.12 Trì trệ toàn hệ thống (Thrashing) 141 9.13 Mơ hình « tập làm việc » (working set) .142 9.14 Tần suất xảy lỗi trang .144 9.15 Bộ nhớ ảo-Tóm tắt .144 9.15.1 Củng cố học 145 9.15.2 Bài Tập 145 Chƣơng 10 Hệ thống quản lý tập tin 149 10.1 CÁC KHÁI NIỆM CƠ BẢN .149 10.1.1 Bộ nhớ .149 10.1.2 Tập tin thƣ mục 149 10.2 Hệ thống quản lý tập tin .150 10.3 Mơ hình tổ chức quản lý tập tin 150 10.3.1 Tập tin : .150 10.3.2 Thƣ mục : 155 10.4 Các chức 157 10.4.1 Tập tin : .157 10.4.2 Thƣ mục : 158 10.5 Câu hỏi kiểm tra kiến thức 158 Chƣơng 11 Các phƣơng pháp cài đặt hệ thống quản lý tập tin 159 11.1 BẢNG QUẢN LÝ THƢ MỤC, TẬP TIN 159 11.1.1 Khái niệm 159 11.2 Bảng phân phối vùng nhớ 160 11.2.1 Khái niệm 160 11.2.2 Các phƣơng pháp 160 11.2.3 Danh sách liên kết sử dụng index : .162 11.2.4 I-nodes : .162 11.3 Tập tin chia sẻ 163 11.4 Quản lý đĩa 164 11.5 Kích thƣớc khối 165 11.6 Lƣu khối trống .165 11.7 Độ an toàn hệ thống tập tin 166 11.7.1 Quản lý khối bị hỏng 166 11.8 Backup 166 11.9 Tính khơng đổi hệ thống tập tin 167 11.10 Câu hỏi kiểm tra kiến thức .168 11.11 Bài tập 168 Chƣơng 12 Giới thiệu số hệ thống tập tin .170 12.1 MS-DOS .170 12.1.1 Đặc điểm .170 12.1.2 Cài đặt 170 12.2 Windows95 173 12.2.1 Bộ quản lý cài đặt hệ thống tập tin (IFS) 173 12.2.2 Bộ điều khiển mô tả kiểu (TSD) 175 12.2.3 Hỗ trợ tên tập tin dài :(LFN) .178 12.2.4 Đặc điểm NTFS 179 12.2.5 Cấu trúc tập tin volume NTFS 179 12.3 Hệ thống tập tin Unix : 181 12.3.1 Cài đặt hệ thống tập tin Unix 183 12.4 Bài tập 184 Chƣơng 13 Hệ thống quản lý nhập-xuất 186 13.1 KHÁI NIỆM VỀ HỆ THỐNG QUẢN LÝ NHẬP/XUẤT 186 13.2 Phần cứng nhập-xuất 187 13.2.1 Thiết bị I/O 187 13.2.2 Tổ chức chức I/O 188 13.2.3 DMA (Direct Memory Access) 191 13.3 Phần mềm nhập xuất 191 13.3.1 Kiểm soát ngắt 192 13.3.2 Điều khiển thiết bị (device drivers) 192 13.4 Phần mềm nhập/xuất độc lập thiết bị 193 13.5 Phần mềm nhập/xuất phạm vi ngƣời sử dụng 194 Chƣơng 14 Giới thiệu số hệ thống I-O 195 14.1 HỆ THỐNG I/O ĐĨA 195 14.1.1 Các thuật toán đọc đĩa 196 14.1.2 Lựa chọn thuật toán lập lịch : 199 14.2 Hệ thống I-O chuẩn (terminals) 201 14.2.1 Phần cứng terminal .201 14.2.2 Terminal ánh xạ nhớ 203 14.2.3 Phần mềm nhập 205 14.2.4 Phần mềm xuất 206 14.3 Cài đặt đồng hồ 207 14.3.1 Phần cứng đồng hồ 207 14.3.2 Phần mềm đồng hồ 208 14.4 Câu hỏi kiểm tra kiến thức 209 14.5 Bài tập 210 Chƣơng 15 Bảo vệ an toàn hệ thống 211 15.1 Mục tiêu bảo vệ hệ thống (Protection) .211 15.2 Miền bảo vệ (Domain of Protection ) 212 15.2.1 Khái niệm 212 15.2.2 Cấu trúc miền bảo vệ 212 15.2.3 Mối liên kết tiến trình miền bảo vệ tĩnh hay động : .213 15.3 Ma trận quyền truy xuất ( Access matrix) 213 15.4 Bảng toàn cục .217 15.4.1 Danh sách quyền truy xuất ( Access control list _ ACL) 217 15.4.2 Danh sách tiềm miền bảo vệ (Capability list – C_List) .218 15.5 Cơ chế khóa chìa 219 15.6 An toàn hệ thống (Security) .220 15.6.1 Các vấn đề an toàn hệ thống 220 15.6.2 Mối đe dọa từ chƣơng trình 221 Chƣơng 16 Hệ điều hành windowns NT 222 16.1 LỊCH SỬ 222 16.2 MỤC TIÊU THIẾT KẾ 222 16.3 CÁC THÀNH PHẦN HỆ THỐNG 223 16.4 KIẾN TRÚC HỆ ĐIỀU HÀNH WindowsNT 224 16.5 CÁC MODULE QUẢN LÝ CỦA WindowsNT .224 16.6 Hệ thống tập tin 226 16.7 Quản lý nhập xuất 227 Chƣơng 17 Hệ điều hành Linux -Giới thiệu 228 17.1 GIỚI THIỆU 228 Hình 4.20 Sử dụng STBR, STLR bảng phân đoạn Bảo vệ: Một ƣu điểm đặc biệt chế phân đoạn khả đặc tả thuộc tính bảo vệ cho phân đoạn Vì phân đoạn biễu diễn cho phần chƣơng trình với ngữ nghĩa đƣợc ngƣời dùng xác định, ngƣời sử dụng biết đƣợc phân đoạn chứa đựng bên trong, họ đặc tả thuộc tính bảo vệ thích hợp cho phân đoạn Cơ chế phần cứng phụ trách chuyển đổi địa nhớ kiểm tra bit bảo vệ đƣợc gán với phần tử bảng phân đoạn để ngăn chặn thao tác truy xuất bất hợp lệ đến phân đoạn tƣơng ứng Chia sẻ phân đoạn: Một ƣu điểm khác kỹ thuật phân đoạn khả chia sẻ mức độ phân đoạn Nhờ khả này, tiến trình chia sẻ với phần chƣơng trình ( ví dụ thủ tục, hàm), khơng thiết phải chia sẻ tồn chƣơng trình nhƣ trƣờng hợp phân trang Mỗi tiến trình có bảng phân đoạn riêng, phân đoạn đƣợc chia sẻ phần tử bảng phân đoạn hai tiến trình khác đến vị trí vật lý 113 Hình 4.21 Chia sẻ code hệ phân đoạn Thảo luận: Phải giải vấn đề cấp phát động: làm để thỏa mãn yêu cầu vùng nhớ kích thƣớc N ? Cần phải chọn vùng nhớ danh sách vùng nhớ tự để cấp phát ? Nhƣ cần phải ghi nhớ trạng nhớ để cấp phát Có hai phƣơng pháp quản lý chủ yếu : Quảnlýbằngmộtbảngcácbit : nhớ đƣợc chia thành đơn vị cấp phát, đơn vị đƣợc phản ánh bit bảng bit, bit nhận giá trị đơn vị nhớ tƣơng ứng tự do, nhận giá trị đơn vị tƣơng ứng đƣợc cấp phát cho tiến trình Khi cần nạp tiến trình có kích thƣớc k đơn vị, cần phải tìm bảng bit dãy k bit nhận giá trị Đây giải pháp đơn giản, nhƣng thực chậm nên đƣợc sử dụng 114 Hình 4.5 Quản lý nhớ bảng bit Quảnlýbằngdanhsách: Tổ chức danh sách phân đoạn cấp phát phân đoạn tự do, phân đoạn tiến trình (P) hay vùng nhớ trống hai tiến trình (H) Hình 4.6 Quản lý nhớ danh sách Các thuật toán thông dụng để chọn phân đoạn tự danh sách để cấp phát cho tiến trình : First-fit: cấp phát phân đoạn tự đủ lớn Best-fit: cấp phát phân đoạn tự nhỏ nhƣng đủ lớn để thõa mãn nhu cầu Worst-fit : cấp phát phân đoạn tự lớn Trong hệ thống sử dụng kỹ thuật phân đoạn , tƣợng phân mảnh ngoại vi lại xuất khối nhớ tự nhỏ, không đủ để chứa phân đoạn 8.5 Phân trang ( Paging) Ý tƣởng: Phân nhớ vật lý thành khối (block) có kích thƣớc cố định nhau, gọi khung trang (page frame) Không gian địa đƣợc chia thành khối có kích thƣớc với khung trang, đƣợc gọi trang (page) Khi cần nạp tiến trình để xử lý, trang tiến trình đƣợc nạp vào khung trang trống Một tiến trình kích thƣớc N trang u cầu N khung trang tự 115 Hình 4.8 Mơ hình nhớ phân trang 8.5.1 Cơ chế MMU kỹ thuật phân trang: Cơ chế phần cứng hỗ trợ thực chuyển đổi địa chế phân trang bảng trang (pages table) Mỗi phần tử bảng trang cho biết địa bắt đầu vị trí lƣu trữ trang tƣơng ứng nhớ vật lý ( số hiệu khung trang nhớ vật lý chứa trang ) 8.5.2 Chuyển đổi địa chỉ: Mỗi địa phát sinh CPU đƣợc chia thành hai phần: số hiệu trang (p): sử dụng nhƣ mục đến phần tử tƣơng ứng bảng trang địa tương đối trang (d): kết hợp với địa bắt đầu trang để tạo địa vật lý mà trình quản lý nhớ sử dụng Kích thƣớc trang phần cứng qui định Để dễ phân tích địa ảo thành số hiệu trang địa tƣơng đối, kích thƣớc trang thơng thƣờng lũy thừa (biến đổi phạm vi 512 bytes 8192 bytes) Nếu kích thƣớc khơng gian địa 2m kích thƣớc trang n, m-n bits cao địa ảo biễu diễn số hiệu trang, n bits thấp cho biết địa tƣơng đối trang 116 8.5.3 Cài đặt bảng trang Trong trƣờng hợp đơn giản nhất, bảng trang tập ghi đƣợc sử dụng để cài đặt bảng trang Tuy nhiên việc sử dụng ghi phù hợp với bảng trang có kích thƣớc nhỏ, bảng trang có kích thƣớc lớn, phải đƣợc lƣu trữ nhớ chính, sử dụng ghi để lƣu địa bắt đầu lƣu trữ bảng trang (PTBR) Theo cách tổ chức này, truy xuất đến liệu hay thị đòi hỏi hai lần truy xuất nhớ : cho truy xuất đến bảng trang cho thân liệu! 117 Hình 4.10 Mơ hình nhớ phân trang Hình 4.11 Sử dụng ghi trỏ đến bảng trang Có thể né tránh bớt việc truy xuất nhớ hai lần cách sử dụng thêm vùng nhớ đặc biệt , với tốc độ truy xuất nhanh cho phép tìm kiếm song song, vùng nhớ cache nhỏ thƣờng đƣợc gọi nhớ kết hợp (TLBs) Mỗi ghi nhớ kết hợp gồm từ khóa giá trị, đƣa đến nhớ kết hợp đối tƣợng cần tìm, đối tƣợng đƣợc so sánh lúc với từ khóa nhớ kết hợp để tìm phần tử tƣơng ứng Nhờ đặc tính mà việc tìm kiếm nhớ kết hợp đƣợc thực nhanh, nhƣng chi phí phần cứng lại cao Trong kỹ thuật phân trang, TLBs đƣợc sử dụng để lƣu trữ trang nhớ đƣợc truy cập gần Khi CPU phát sinh địa chỉ, số hiệu trang địa đƣợc so sánh với phần tử TLBs, có trang tƣơng ứng TLBs, xác định đƣợc số hiệu khung trang tƣơng ứng, khơng cần thực thao tác tìm kiếm bảng trang 118 8.6 Tổ chức bảng trang: Mỗi hệ điều hành có phƣơng pháp riêng để tổ chức lƣu trữ bảng trang Đa số hệ điều hành cấp cho tiến trình bảng trang Tuy nhiên phƣơng pháp chấp nhận đƣợc hệ điều hành cho phép quản lý không gian địa có dung lƣợng (232, 264): hệ thống nhƣ thế, thân bảng trang đòi hỏi vùng nhớ qúa lớn! Có hai giải pháp cho vấn đề này: Phân trang đa cấp: phân chia bảng trang thành phần nhỏ, thân bảng trang đƣợc phân trang 119 Bảng trang nghịch đảo: sử dụng bảng trang nghịch đảo cho tất tiến trình Mỗi phần tử bảng trang nghịch đảo phản ánh khung trang nhớ bao gồm địa logic trang đƣợc lƣu trữ nhớ vật lý khung trang này, với thơng tin tiến trình đƣợc sỡ hữu trang Mỗi địa ảo ba Trong : idp định danh tiến trình p số hiệu trang d địa tƣơng đối trang Mỗi phần tử bảng trang nghịch đảo cặp Khi tham khảo đến nhớ đƣợc phát sinh, phần địa ảo đƣợc đƣa đến cho trình quản lý nhớ để tìm phần tử tƣơng ứng bảng trang nghịch đảo, tìm thấy, địa vật lý đƣợc phát sinh Trong trƣờng hợp khác, xem nhƣ tham khảo nhớ truy xuất địa bất hợp lệ 8.6.1 Bảo vệ: Cơ chế bảo vệ hệ thống phân trang đƣợc thực với bit bảo vệ đƣợc gắn với khung trang Thông thƣờng , bit đƣợc lƣu bảng trang , truy xuất đến nhớ phải tham khảo đến bảng trang để phát sinh địa vật lý, đó, hệ thống kiểm tra thao tác truy xuất khung trang tƣơng ứng có hợp lệ với thuộc tính bảo vệ khơng 120 Ngồi ra, bit phụ trội đƣợc thêm vào cấu trúc phần tử bảng trang : bit hợp lệ-bất hợp lệ (valid-invalid) Hợp lệ : trang tƣơng ứng thuộc không gian địa tiến trình Bất hợp lệ : trang tƣơng ứng không nằm không gian địa tiến trình, điều có nghĩa tiến trình truy xuất đến địa khơng đƣợc phép Hình 4.15 Cấu trúc phần tử bảng trang 8.6.2 Chia sẻ nhớ chế phân trang: Một ƣu điểm chế phân trang cho phép chia sẻ trang tiến trình.Trong trƣờng hợp này, chia sẻ đƣợc thực cách ánh xạ nhiều địa logic vào địa vật lý Có thể áp dụng kỹ thuật phép có tiến trình chia sẻ vùng code chung: có nhiều tiến trình chƣơng trình, cần lƣu trữ đoạn code chƣơng trình nhớ, tiến trình truy xuất đến trang chứa code chung Lƣu ý để chia sẻ đoạncode, đoạn code phải có thuộc tính reenterable (cho phép chƣơng trình đƣợc sử dụng đồng thời nhiều tác vụ) 121 Thảo luận: Kỹ thuật phân trang loại bỏ đƣợc tƣợng phân mảnh ngoại vi : khung trang đƣợc cấp phát cho tiến trình có u cầu Tuy nhiên tƣợng phân mảnh nội vi xảy kích thƣớc tiến trình khơng bội số kích thƣớc trang, đó, trang cuối không đƣợc sử dụng hết Một khiá cạnh tích cực quan trọng khác kỹ thuật phân trang phân biệt rạch rịi góc nhìn ngƣời dùng phận quản lý nhớ vật lý: Góc nhìn người sử dụng: tiến trình ngƣời dùng nhìn thấy nhớ nhƣ không gian liên tục, đồng chứa thân tiến trình Góc nhìn nhớ vật lý: tiến trình ngƣời sử dụng đƣợc lƣu trữ phân tán khắp nhớ vật lý, nhớ vật lý đồng thời chứa tiến trình khác Phần cứng đảm nhiệm việc chuyển đổi địa logic thành địa vật lý Sự chuyển đổi suốt ngƣời sử dụng Để lƣu trữ thông tin chi tiết trình cấp phát nhớ, hệ điều hành sử dụng bảng khung trang, mà phần tử mơ tả tình trạng khung trang vật lý : tự hay đƣợc cấp phát cho tiến trình Lƣu ý phân trang không phản ánh cách thức ngƣời sử dụng cảm nhận nhớ Ngƣời sử dụng nhìn thấy nhớ nhƣ tập đối tƣợng chƣơng trình (segments, thƣ viện ) tập đối tƣợng liệu (biến toàn cục, stack, vùng nhớ chia sẻ ) Vấn đề đặt cần tìm cách thức biễu diễn nhớ cho cung cấp cho ngƣời dùng cách nhìn gần với quan điểm logic họ kỹ thuật phân đoạn Kỹ thuật phân đoạn thõa mãn đƣợc nhu cầu thể cấu trúc logic chƣơng trình nhƣng dẫn đến tình phải cấp phát khối nhớ có kích thƣớc khác cho phân đoạn nhớ vật lý Điều làm rắc rối vấn đề nhiều so với việc cấp phát trang có kích thƣớc tĩnh.Một giải pháp dung hoà kết hợp hai kỹ thuật phân trang phân đoạn : tiến hành phân trang phân đoạn 8.7 Phân đoạn kết hợp phân trang (Paged segmentation) Ý tƣởng: 122 Không gian địa tập phân đoạn, phân đoạn đƣợc chia thành nhiều trang Khi tiến trình đƣợc đƣa vào hệ thống, hệ điều hành cấp phát cho tiến trình trang cần thiết để chứa đủ phân đoạn tiến trình 8.7.1 Cơ chế MMU kỹ thuật phân đoạn kết hợp phân trang: Để hỗ trợ kỹ thuật phân đoạn, cần có bảng phân đoạn, nhƣng phân đoạn cần có bảng trang phân biệt 8.7.2 Chuyển đổi địa chỉ: Mỗi địa logic ba: số hiệu phân đoạn (s): sử dụng nhƣ mục đến phần tử tƣơng ứng bảng phân đoạn số hiệu trang (p): sử dụng nhƣ mục đến phần tử tƣơng ứng bảng trang phân đoạn địa tƣơng đối trang (d): kết hợp với địa bắt đầu trang để tạo địa vật lý mà trình quản lý nhớ sử dụng Hình 4.22 Mơ hình phân đoạn kế hợp phân trang 123 Tất mơ hình tổ chức nhớ có khuynh hƣớng cấp phát cho tiến trình tồn trang yêu cầu trƣớc thật xử lý Vì nhớ vật lý có kích thƣớc giới hạn, điều dẫn đến hai điểm bất tiện sau : Kích thƣớc tiến trình bị giới hạn kích thƣớc nhớ vật lý.Khó bảo trì nhiều tiến trình lúc nhớ, nhƣ khó nâng cao mức độ đa chƣơng hệ thống 8.8 Quản lý nhớ-Tóm tắt Có nhiều cách tiếp cận khác để tổ chức quãn lý nhớ, nhƣng tựu chung mong đạt đến mục tiêu sau : Có thể đáp ứng đƣợc đầy đủ nhu cầu nhớ chƣơng trình với nhớ vật lý giới hạn Quá trình chuyển đổi địa chỉ, tổ chức cấp phát nhớ suốt với ngƣời dùng, có khả tái định vị Tận dụng hiệu nhớ ( có vùng nhớ không sử dụng đƣợc) Bộ nhớ đƣợc bảo vệ tốt Có khả chia sẻ nhớ tiến trình 8.8.1 Một số cách tiếp cận tổ chức nhớ 124 Cấp phát liên tục : cấp phát vùng nhớ liên tục cho tiến trình phân vùng có kích thƣớc cố định hay biến động Điểm yếu cách tiếp cận kích thƣớc chƣơng trình dƣợc xử lý bị giới hạn kích thƣớc khối nhớ liên tục sử dụng Các tƣợng phân mảnh ngoại vi, nội vi xuất Cấp phát khơng liên tục : cấp phát vùng nhớ không liên tục cho tiến trình Hai kỹ thuật thƣờng đƣợc áp dụng phân trang phân đoạn Kỹ thuật phân trang cho phép loại bõ tƣợng phân mảnh ngoại vi, kỹ thuật phân đoạn loại bỏ tƣợng phân mảnh nội vi, nhƣng phải giải vấn đề cấp phát động 8.8.2 Củng cố học Các câu hỏi cần trả lời đƣợc sau học : Nhiệm vụ quản lý nhớ bao gồm công việc ? Giai đoạn hệ điều hành thực , giai đoạn cần trợ giúp phần cứng? Các khái niệm : phân mảnh nội vi, phân mảnh ngoại vi, toán cấp phát động, điạ logic, điạ physic Phân tích ƣu khuyết mơ hình tổ chức nhớ 8.8.3 Bài Tập Bài Giải thích khác biệt địa logic địa physic? Bài Giải thích khác biệt tƣợng phân mảnh nội vi ngoại vi? Bài Giả sử nhớ đƣợc phân thành phân vùng có kích thƣớc 600K, 500K, 200K, 300K ( theo thứ tự ), cho biết tiến trình có kích thƣớc 212K, 417K, 112K 426K ( theo thứ tự ) đƣợc cấp phát nhớ nhƣ nào, sử dụng : a) Thuật toán First fit b) Thuật toán Best fit c) Thuật toán Worst fit Thuật toán cho phép sử dụng nhớ hiệu qủa trƣờng hợp ? Bài Xét hệ thống chƣơng trình đƣợc nạp vào nhớ phân biệt hoàn toàn phân đoạn code phân đoạn data Giả sử CPU xác định 125 đƣợc cần truy xuất lệnh hay liệu , phải truy xuất đâu Khi chƣơng trình đƣợc cung cấp ghi base-limit : cho phân đoạn code, cho phân đoạn data Bộ ghi base-limit phân đoạn code tự động đƣợc đặt thuộc tính readonly Thảo luận ƣu khuyết điểm hệ thống Bài Tại kích thƣớc trang ln lũy thừa ? Bài Xét không gian địa có trang, trang có kích thƣớc 1K ánh xạ vào nhớ vật lý có 32 khung trang a) Địa logic gồm bit ? b) Địa physic gồm bit ? Bài Tại hệ thống sử dụng kỹ thuật phân trang, tiến trình khơng thể truy xuất đến vùng nhớ khơng đƣợc cấp cho ? Làm cách hệ điều hành cho phép truy xuất xảy ? Hệ điều hành có nên cho phép điều khơng ? Tại ? Bài Xét hệ thống sử dụng kỹ thuật phân trang, với bảng trang đƣợc lƣu trữ nhớ a) Nếu thời gian cho lần truy xuất nhớ bình thƣờng 200nanoseconds, thời gian cho thao tác truy xuất nhớ hệ thống ?b) Nếu sử dụng TLBs với hit-ratio ( tỉ lệ tìm thấy) 75%, thời gian để tìm TLBs xem nhƣ 0, tính thời gian truy xuất nhớ hệ thống ( effective memory reference time) Bài Nếu cho phép hai phần tử bảng trang lƣu trữ số hiệu khung trang nhớ có hiệu qủa ? Giải thích làm cách hiệu qủa đƣợc sử dụng để giảm thời gian cần chép khối lƣợng lớn vùng nhớ từ vị trí sang vị trí khác Khi sửa nội dung trang tác động đến trang cịn lại nào? Bài 10 Vì đơi lúc ngƣời ta kết hợp hai kỹ thuật phân trang phân đoạn ? Bài 11 Mô tả chế cho phép phân đoạn thuộc khơng gian điạ hai tiến trình Bài 12 Giải thích chia sẻ module kỹ thuật phân đoạn lại dễ kỹ thuật phân trang? Bài 13 Xét bảng phân đoạn sau : 126 Cho biết địa vật lý tƣơng ứng với địa logique sau : a 0,430 b 1,10 c 2,500 d 3,400 e 4,112 127 ... 16 7 11 .10 Câu hỏi kiểm tra kiến thức .16 8 11 .11 Bài tập 16 8 Chƣơng 12 Giới thiệu số hệ thống tập tin .17 0 12 .1 MS-DOS .17 0 12 .1. 1 Đặc điểm .17 0... 15 9 11 .1 BẢNG QUẢN LÝ THƢ MỤC, TẬP TIN 15 9 11 .1. 1 Khái niệm 15 9 11 .2 Bảng phân phối vùng nhớ 16 0 11 .2 .1 Khái niệm 16 0 11 .2.2 Các phƣơng pháp 16 0... LỤC Chƣơng Tổng quan hệ điều hành .11 1. 1 Khái niệm hệ điều hành .11 1. 2 Phân loại hệ điều hành 12 1. 2 .1 Hệ thống xử lý theo lô .12 1. 2.2 Hệ thống xử lý theo

Ngày đăng: 30/11/2021, 09:18

Hình ảnh liên quan

Hình 1.1. Cấu trúc của MS-DOS - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 1.1..

Cấu trúc của MS-DOS Xem tại trang 23 của tài liệu.
1.6.3. Mô hình Client-Server - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

1.6.3..

Mô hình Client-Server Xem tại trang 27 của tài liệu.
2.2. Khái niệm tiến trình(thread) và mô hình đa tiến trình(multithread) - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

2.2..

Khái niệm tiến trình(thread) và mô hình đa tiến trình(multithread) Xem tại trang 34 của tài liệu.
cho công việc đánh giá tình hình hệ thống và dự đoán các tình huống tƣơng lai. - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

cho.

công việc đánh giá tình hình hệ thống và dự đoán các tình huống tƣơng lai Xem tại trang 41 của tài liệu.
Hình vẽ 2.5 Một cây tiếntrình trong hệ thống UNIX - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình v.

ẽ 2.5 Một cây tiếntrình trong hệ thống UNIX Xem tại trang 42 của tài liệu.
Hình 2.6 Khối quản lý tàinguyên - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 2.6.

Khối quản lý tàinguyên Xem tại trang 44 của tài liệu.
Hình 2.9 Các danhsách điều phối - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 2.9.

Các danhsách điều phối Xem tại trang 49 của tài liệu.
Hình 2.11 Cấp độ điều phối trung gianCác chiến lƣợc điều phối - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 2.11.

Cấp độ điều phối trung gianCác chiến lƣợc điều phối Xem tại trang 51 của tài liệu.
Mỗi tiếntrình sỡ hữu mộtbảng biễu diễn các tín hiệu khác nhau. Với mỗi tín hiệu sẽ có tƣơng ứng một trình xử lý tín hiệu (signal handler) qui định các xử lý của tiến  trình khi nhận đƣợc tín hiệu tƣơng ứng - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

i.

tiếntrình sỡ hữu mộtbảng biễu diễn các tín hiệu khác nhau. Với mỗi tín hiệu sẽ có tƣơng ứng một trình xử lý tín hiệu (signal handler) qui định các xử lý của tiến trình khi nhận đƣợc tín hiệu tƣơng ứng Xem tại trang 62 của tài liệu.
Hình 3.1 Liên lạc bằng tín hiệu - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 3.1.

Liên lạc bằng tín hiệu Xem tại trang 63 của tài liệu.
Hình 3.10 Semaphores - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 3.10.

Semaphores Xem tại trang 81 của tài liệu.
Hình 3.13 Monitor và các biến điều kiện - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 3.13.

Monitor và các biến điều kiện Xem tại trang 84 của tài liệu.
Hình 3.16 Cấu trúc tiếntrình yêucầu tàinguyên trong giải pháp message - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 3.16.

Cấu trúc tiếntrình yêucầu tàinguyên trong giải pháp message Xem tại trang 87 của tài liệu.
Hình 3.18 Bữa ăn tối của các triết gia - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 3.18.

Bữa ăn tối của các triết gia Xem tại trang 97 của tài liệu.
Hình 3.19 Đồ thị cấp phát tàinguyên - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 3.19.

Đồ thị cấp phát tàinguyên Xem tại trang 99 của tài liệu.
8.1. Mô hình Linker_Loader - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

8.1..

Mô hình Linker_Loader Xem tại trang 108 của tài liệu.
Hình 4.17 Mô hình phân đoạn bộ nhớ - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 4.17.

Mô hình phân đoạn bộ nhớ Xem tại trang 111 của tài liệu.
Hình 4.19 Hệ thống phân đoạn - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 4.19.

Hệ thống phân đoạn Xem tại trang 113 của tài liệu.
Hình 4.20 Sửdụng STBR, STLR và bảng phân đoạn - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 4.20.

Sửdụng STBR, STLR và bảng phân đoạn Xem tại trang 114 của tài liệu.
Hình 4.21 Chia sẻ code trong hệ phân đoạn - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 4.21.

Chia sẻ code trong hệ phân đoạn Xem tại trang 115 của tài liệu.
Hình 4.5 Quảnlý bộ nhớ bằng bảngcácbit - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 4.5.

Quảnlý bộ nhớ bằng bảngcácbit Xem tại trang 116 của tài liệu.
Hình 4.8 Mô hình bộ nhớ phân trang - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 4.8.

Mô hình bộ nhớ phân trang Xem tại trang 117 của tài liệu.
8.5.3. Cài đặt bảng trang - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

8.5.3..

Cài đặt bảng trang Xem tại trang 118 của tài liệu.
Hình 4.10 Mô hình bộ nhớ phân trang - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Hình 4.10.

Mô hình bộ nhớ phân trang Xem tại trang 119 của tài liệu.
8.6. Tổ chức bảng trang: - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

8.6..

Tổ chức bảng trang: Xem tại trang 120 của tài liệu.
Bảng trang nghịch đảo: sử dụng duy nhất mộtbảng trang nghịch đảo cho tất cả các tiến  trình   - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

Bảng trang.

nghịch đảo: sử dụng duy nhất mộtbảng trang nghịch đảo cho tất cả các tiến trình Xem tại trang 121 của tài liệu.
Ngoài ra, một bit phụ trội đƣợc thêm vào trong cấu trúc một phần tử của bảng trang: bit hợp lệ-bất hợp lệ (valid-invalid) - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

go.

ài ra, một bit phụ trội đƣợc thêm vào trong cấu trúc một phần tử của bảng trang: bit hợp lệ-bất hợp lệ (valid-invalid) Xem tại trang 122 của tài liệu.
Để hỗ trợ kỹ thuật phân đoạn, cần có mộtbảng phân đoạn, nhƣng giờ đây mỗi phân đoạn cần có một bảng trang phân biệt - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

h.

ỗ trợ kỹ thuật phân đoạn, cần có mộtbảng phân đoạn, nhƣng giờ đây mỗi phân đoạn cần có một bảng trang phân biệt Xem tại trang 124 của tài liệu.
Tất cả các mô hình tổ chức bộ nhớ trên đây đều có khuynh hƣớng cấp phát chotiến trình  toàn  bộ  các  trang  yêu  cầu  trƣớc  khi  thật  sự  xử  lý - Giáo trình Hệ điều hành: Phần 1 - Trường ĐH Phan Thiết

t.

cả các mô hình tổ chức bộ nhớ trên đây đều có khuynh hƣớng cấp phát chotiến trình toàn bộ các trang yêu cầu trƣớc khi thật sự xử lý Xem tại trang 125 của tài liệu.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan