1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ điều hành: Chương 6

91 7 0

Đ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

Nội dung

Chương 6 Quản lý bộ nhớ thuộc bài giảng hệ điều hành. Tìm hiểu về các cơ chế quản lý bộ nhớ trong của hệ điều hành thông qua các nội dung cần nghiên cứu sau: Các khái niệm, yêu cầu về chức năng quản lý bộ nhớ, các mô hình quản lý bộ nhớ (Dạng đơn giản, quản lý bộ nhớ ảo).

Chương 6:Quản lý nhớ Tìm hiểu chế quản lý nhớ Hệ điều hành 4-Jun-14 TT QTM Nội dung    Các khái niệm Yêu cầu chức quản lý nhớ Các mơ hình quản lý nhớ   4-Jun-14 Dạng đơn giản Quản lý nhớ ảo TT QTM Khái niệm(1): Kết nối địa  Kết nối địa chỉ:  Chương trình:     4-Jun-14 Bao gồm liệu & mã lệnh Phải đưa từ đĩa vào nhớ đặt vào tiến trình để chạy Input queue – tập hợp tiến trình đĩa chờ để đưa vào nhớ để chạy chương trình Chương trình người sử dụng phải qua số bước trước chạy TT QTM Khái niệm(2): Kết nối địa  Các bước thực chương trình người dùng: System System Library Library static linking nhớ dynamic linking 4-Jun-14 TT QTM System System Library Library Khái niệm(3): Kết nối địa  Kết nối lệnh, liệu tới địa nhớ: trình gắn địa lệnh liệu tới địa nhớ xảy giai đoạn khác nhau: Compile time: Nếu vị trí nhớ biết trước, mã xác (absolute code) sinh ra; phải biên dịch lại mã vị trí bắt đầu thay đổi Load time: Phải sinh mã tái định vị (relocatable code) khơng biết vị trí nhớ giai đoạn biên dịch Execution time: Sự liên kết bị hoãn lại đến giai đoạn chạy trình thực hiện, tiến trình bị chuyển từ đoạn nhớ đến đoạn khác Cần có hỗ trợ phần cứng để ánh xạ địa (ví dụ, base limit registers) 4-Jun-14 TT QTM Khái niệm(3): Liên kết địa  Minh họa: Symbolic address int x, y; goto p1; p1 Relocatable address Absolute address (physical memory) 2000 if (…) … 2250 250 source code 4-Jun-14 Relocatable Object Modules TT QTM process binary image Khái niệm(3): Liên kết địa  Compile time: Absolute addresses (physical memory addresses) Symbolic addresses PROGRAM 1024 JUMP i i Absolute addresses (physical memory addresses) 1024 JUMP 1424 JUMP 1424 1424 LOAD j DATA j 1424 LOAD 2224 Compile Link/Load 2224 Source Code 4-Jun-14 LOAD 2224 2224 Absolute load module TT QTM Process image Khái niệm(3): Liên kết địa  Load time: Relative (relocatable) addresses Symbolic addresses PROGRAM JUMP i 1024 JUMP 400 i 400 LOAD j Absolute addresses (physical memory addresses) 1424 LOAD 1200 Compile JUMP 1424 LOAD 2224 Link/Load DATA j 1200 Source Code 4-Jun-14 2224 Relative Load Module TT QTM Process Image Khái niệm(3): Liên kết địa  Execution time: Relative (relocatable) addresses JMP 400 400 LOAD 1200 1200 MAX=2000 4-Jun-14 TT QTM Khái niệm(4): Địa lôgic & Địa vật lý  Khái niệm không gian địa logic (logical address space) tách riêng với không gian địa vật lý (physical address space) để quản lý nhớ thích hợp    Logical address – tạo CPU, gọi địa ảo (virtual address) Physical address – địa nhận biết đơn vị nhớ (memory unit) Các địa logic (ảo) vật lý giai đoạn gắn kết địa compile-time load-time; chúng khác execution-time 4-Jun-14 TT QTM 10 3.2.4 Thay trang(3): Các giải thuật thay trang    Mục đích: tỷ lệ page-fault thấp Đánh giá giải thuật cách chạy chuỗi riêng biệt tham chiếu nhớ tính số page faults chuỗi Một số giải thuật:    4-Jun-14 FIFO(First In First Out) LRU(Least Recently Used) Giải thuật tương tự LRU TT QTM 77 3.2.4.Thay trang(5): Giải thuật FIFO   Ý tưởng: trang đưa vào nhớ sớm giải phóng để nạp trang khác Ví dụ: chuỗi tham chiếu trang nạp vào nhớ có frame 4-Jun-14 TT QTM 78 3.2.4 Thay trang(6): Least Recently Used (LRU) Algorithm   Ý tưởng: Thay trang có khoảng thời gian không dùng lâu Sự thực Bộ đếm (Counter)   4-Jun-14 Mọi phần tử bảng có đếm, thời điểm trang tham chiếu qua phần tử bảng này, copy clock vào đếm Khi trang cần hốn đổi, tìm đếm để xác định trang làm nạn nhân TT QTM 79 3.2.4 Thay trang(7): LRU Page Replacement 4-Jun-14 TT QTM 80 3.2.4 Thay trang(8): LRU Page Replacement  Sự thực Stack   Dành stack số trang danh sách liên kết kép Khi trang tham chiếu:    Chuyển lên đỉnh có nhớ; chưa, chuyển lên đỉnh loại bỏ trang đáy stack Cần trỏ để đổi trang Không cần tìm kiếm để thay 4-Jun-14 TT QTM 81 3.2.4 Thay trang(9): Các giải thuật tương tự LRU  Giải thuật dùng thêm bit tham chiếu     Gắn bit vào trang, khởi tạo = Khi trang tham chiếu, bit thiết lập = Thay trang có bit tham chiếu = 0, có tồn nhớ Giải thuật hội thứ hai (Second chance)  Cần có bit tham chiếu Nếu bit tham chiếu = thay trang Trái lại cho trang hội thứ hai chuyển đến trang tiếp sau     4-Jun-14 Thiết lập bit tham chiếu = Để trang lại nhớ Thay trang (theo FIFO) với luật tương tự Một cách thực giải thuật sử dụng queue vòng tròn TT QTM 82 3.2.4 Thay trang(12): Giải thuật thay trang "cơ hội thứ hai" 4-Jun-14 TT QTM 83 3.2.4 Thay trang(13): Các giải thuật dựa số liệu thống kê    Dành đếm số tham chiếu đến trang Least Frequently Used (LFU) Algorithm: thay trang đếm (có tần số truy nhập nhỏ nhất) Most Frequently Used (MFU) Algorithm: thay trang đếm nhiều (có tần số truy nhập cao nhất), dựa lý luận trang đếm vừa đưa vào nhớ chưa kịp sử dụng 4-Jun-14 TT QTM 84 3.2.5 Phân phối Frames(1)   Mỗi tiến trình cần số lượng trang tối thiểu để thực Ví dụ: IBM 370 – cần trang để thực lệnh SS MOVE:     lệnh độ dài bytes, chứa trang trang để thực from trang để thực to Hai cách phân phối chính:   4-Jun-14 phân phối cố định (fixed allocation) phân phối có ưu tiên (priority allocation) TT QTM 85 3.2.5 Phân phối Frames(2): Phân phối cố định   Phân phối cơng – vd có 100 frames tiến trình, cho tiến trình 20 trang Phân phối theo kích thước tiến trình 4-Jun-14 TT QTM 86 3.2.5 Phân phối Frames(3): Phân phối có ưu tiên  Phân phối theo mức ưu tiên   4-Jun-14 Nếu tiến trình Pi phát sinh page fault, chọn thay số frame Frame thay vào chọn từ tiến trình có mức ưu tiên thấp TT QTM 87 3.2.5 Phân phối Frames(4): Global vs Local Allocation   Global replacement – tiến trình chọn frame thay từ tập tất frame; tiến trình lấy frame từ tiến trình khác Local replacement – tiến trình chọn frame thay từ tập frame phân phối cho 4-Jun-14 TT QTM 88 3.2.6 Thrashing  Nếu tiến trình khơng có frame, tỷ lệ page fault cao Điều dẫn đến:      Sử dụng CPU thấp HĐH cho cần phải tăng mức đa chương trình Một tiến trình khác thêm vào hệ thống Thrashing ≡ tiến trình gọi Thrashing dành nhiều thời gian (bận rộn) với việc hoán đổi trang vào thời gian thực Tại thrashing xuất hiện?  4-Jun-14 Σ kích thước vùng > tổng kích thước nhớ TT QTM 89 3.2.7 Demand SegmentationPhân đoạn theo yêu cầu    Được sử dụng thiếu phần cứng thực demand paging OS/2 phân phối nhớ theo đoạn ln theo dõi qua trình quản lý đoạn (segment descriptors) Segment descriptor chứa valid bit biết đoạn có nhớ hay không   4-Jun-14 Nếu đoạn nhớ -> tiếp tục truy nhập, Nếu đoạn không nhớ -> segment fault TT QTM 90 Q&A  List câu hỏi 4-Jun-14 TT QTM 91 ... 4-Jun-14 J 6K Cây chương trình gốc B cần: 24+12=36K Cây chương trình gốc C cần: 10+8 +6= 24K B, C độc lập khơng có mặt đồng thời => cần 36K(lấy module lớn) Cả chương trình cần: 30 (cho A)+ 36= 66K Khơng... I(6KB), J(6KB) 4-Jun-14 A 30KB B 24KB D 12KB TT QTM C 10KB E 10K G 12K H 8KB I 6KB J 6K 16 Khái niệm(10): chế Overlays(tt)  A 30KB Overlay:   B 24KB D 12KB C 10KB E 10K G 12K   H 8KB  I 6KB... chia thành partition (phân vùng or miền or chương ) cố định; tên partition, địa chỉ, dung lượng gán trình khởi tạo hệ điều hành Partition dành cho nhân hệ điều hành Mỗi tiến trình tải vào partition

Ngày đăng: 08/05/2021, 12:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN