Bài giảng Nguyên lý hệ điều hành - Chương 3: Quản lý bộ nhớ - Đỗ Văn Uy

•Bộ nhớ tác động nhiều lên độ phức tạp của giải thuật,

•Phải giải quyết 2 v/đ trái ngược nhau:

•Tiết kiệm bộ nhớ,

•Tận dụng tối đa bộ nhớ cho phép.

•Phần lớn các chương trình: viết trên ngôn ngữ lập trình: Assembler, VB, JAVA, VC++, . . .

•Với người lập trình: CT và thực hiên CT là ánh xạ từ tên sang giá trị.

pptx 50 trang xuanthi 30/12/2022 760
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nguyên lý hệ điều hành - Chương 3: Quản lý bộ nhớ - Đỗ Văn Uy", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pptxbai_giang_nguyen_ly_he_dieu_hanh_chuong_3_quan_ly_bo_nho_do.pptx

Nội dung text: Bài giảng Nguyên lý hệ điều hành - Chương 3: Quản lý bộ nhớ - Đỗ Văn Uy

  1. QUẢN LÝ BỘ NHỚ • Với hệ thống: Tên biến Giá trị Địa chỉ Quản lý bộ nhớ Quản lý tiến trình Quản lý Processor 2
  2. CÁC BƯỚC XỬ LÝ CT QL Quản lý bộ nhớ Tiến trình QL Processor Mô đun Mô đun CT Thực hiện KQ đích thực hiện thực hiện .COM .EXE Biên tập (Link) Nạp và định vị (Fetch) • Vai trò của Biên tập (Input/Output), • Khái niệm bộ nhớ lô gíc. 4
  3. $2 – CẤU TRÚC CHƯƠNG TRÌNH • Bộ nhớ lô gíc: – Không gắn với máy tính cụ thể, – Không giới hạn về kích thước, – Chỉ chứa 1 mô đun hoặc 1 CT, – Chỉ phục vụ lưu trữ, không thực hiện. • Quản lý bộ nhớ lô gíc ~ tổ chức chương trình, • Mỗi cách tổ chức CT cấu trúc CT, • Mọi cấu trúc: đều được sử dụng trong thực tế. 6
  4. CẤU TRÚC CHƯƠNG TRÌNH • A) Cấu trúc tuyến tính: CT biên tập tìm và lắp ráp các mô đun thành một mô đun duy nhất, chứa đầy đủ thông tin để thực hiện CT, m0 m1 m2 . . . . . . mn l 8
  5. B) CẤU TRÚC ĐỘNG • Trong CT nguồn: phải dùng các lệnh macro hệ thống để nạp, móc nối, xoá (Load, Attach, Delete) . . . các mô đun khi cần thiết, m0 m0 m2 m0 m2 m1 m0 m2 10 m0
  6. CẤU TRÚC ĐỘNG • Các mô đun nạp trong quá trình thực hiện  vào các files .DLL ( dynamic Link Library) m0 .DLL m0 m2 m0 m2 m1 m0 m2 m0 • WIDOWS 98, WINDOWS XP – thư mục SYSTEM, SYSTEM32, • Biên bản cài đặt, uninstall. • Winword, Excel, Vietkey . . . • Các ngôn ngữ lập trình:  công cụ tổ chức DLL. 12
  7. RAM 80 80 MỨC 0 KB KB 80 60 90 Moduls 100 100 KB KB KB mức 1 MỨC 1 KB KB 40 60 60 Moduls MỨC 2 KB KB KB mức 2 40 KB 70 110 110 Moduls MỨC 3 KB KB KB mức 3 Tổng cộng: 270 KB 730 KB .OVL 14
  8. E) CẤU TRÚC PHÂN TRANG • CT biên tập như cấu trúc tuyến tính, • Chia thành các phần bằng nhau – trang, • Tạo bảng quản lý trang. p0 p1 p2 p3 p4 p5 p6 p0 p2 RAM • Đặc điểm: • Tiết kiệm bộ nhớ, • Hiệu quả không phụ thuộc và cấu trúc ban đầu của CT nguồn. 16
  9. QUẢN LÝ BỘ NHỚ VẬT LÝ • Các chế độ quản lý bộ nhớ vật lý: – Chế độ phân vùng cố định, – Chế độ phân vùng động, – Chế độ mô đun, – Chế phân trang, • Chế độ kết hợp mô đun và phân trang. • Mọi chế độ: đều đang được sử dụng. 18
  10. Chế độ phân vùng cố định • Đặc điểm: – Mỗi vùng có một danh sách quản lý bộ nhớ tự do, – Mỗi vùng: thực hiện một CT ứng dụng, – Sơ đồ bảo vệ thông tin: theo toàn vùng. – Một số CT điều khiển phải dược copy vào từng vùng. • Phân lớp CT phục vụ để hạn chế lãng phí bộ nhớ, • Mô hình: Tổ chức đĩa cứng. 20
  11. b) CHẾ ĐỘ PHÂN VÙNG ĐỘNG • CT  Phân phối vùng bộ 1 nhớ liên tục đủ thực hiện 2 và quản lý như bộ nhớ 3 độc lập. •  một danh sách QL bộ 4 nhớ tự do duy nhất. 5 6 22
  12. 24 2 4 6 Bộ nhớ tự do CHẾ ĐỘ PHÂN VÙNG ĐỘNG VÙNG PHÂN CHẾ ĐỘ 4 6 2
  13. CHẾ ĐỘ QUẢN LÝ THEO MÔ ĐUN • Thực hiện CT: địa chỉ dữ liệu phải biểu diễn dưới dạng một cặp (s, d) № Mô đun offset • SCB  RAM, địa chỉ đầu của SCB  Rs- Segment Register. • Để đọc /ghi dữ liệu: cần 2 lần truy nhập tới bộ nhớ: * (Rs) + s  truy nhập tới phần tử thứ s SCB, Khi D = 1: A+d  truy nhập tới dữ liệu. 26
  14. CHẾ ĐỘ QUẢN LÝ THEO MÔ ĐUN • Đặc điểm: – Không cần phân phối bộ nhớ liên tục, – Không đòi hỏi công cụ đặc biệt  có thể áp dụng cho mọi MTĐT, – Dễ dàng sử dụng chung mô đun giữa các CT, – Hiệu quả phụ thuộc vào cấu trúc CT nguồn, – Tồn tại hiện tượng phân đoạn ngoài (External Fragmentation). • Thiếu bộ nhớ, phận đoạn ngoài  Swapping 28
  15. D) CHẾ ĐỘ PHÂN TRANG • Bộ nhớ được chia thành các phần bằng nhau – các trang (Pages), • Các trang – đánh số 0, 1, 2, . . . - địa chỉ trang. 1 3 5 7 0 2 4 6 Địa chỉ trang Kích thước trang: Page 256B 512B 1 KB 2 KB 4 KB 30
  16. CHẾ ĐỘ PHÂN TRANG • Thực hiện CT: địa chỉ dữ liệu phải biểu diễn dưới dạng một cặp (p, d) № trang offset • PCB  RAM, địa chỉ đầu của PCB  RP- Page Register. • Để đọc /ghi dữ liệu: cần 2 lần truy nhập tới bộ nhớ: * (RP) + p  truy nhập tới phần tử thứ p PCB, Khi Dp = 1: A  d  truy nhập tới dữ liệu. 32
  17. CHẾ ĐỘ PHÂN TRANG • Đặc điểm: – Không cần phân phối bộ nhớ liên tục, – Phải có công cụ kỹ thuật hõ trợ định vị trang, – Không sử dụng chung mô đun giữa các CT, – Hiệu quả không phụ thuộc vào cấu trúc CT nguồn, – Bảng PCB có thể rất lớn, – Không bị phân đoạn ngoài. • Thiếu bộ nhớ (mọi trang đều đã được sử dụng)  Swapping 34
  18. E) CHẾ ĐỘ KẾT HỢP MÔ ĐUN – PHÂN TRANG • Bộ nhớ vật lý – phân trang, • CT – cấu trúc mô đun, • Mỗi mô đun – phân trang: m0 PCB0 SCB – m1 PCB1 quản lý m2 PCB2 các PCB m3 PCB3 36
  19. CHẾ ĐỘ KẾT HỢP MÔ ĐUN – PHÂN TRANG • Thực hiện CT: địa chỉ dữ liệu phải biểu diễn dưới dạng một nhóm 3: (s, p,d) № Mô đun offset № trang • SCB  RAM, địa chỉ đầu của SCB  Rs- Segment Register. • Để đọc /ghi dữ liệu: cần 3 lần truy nhập tới bộ nhớ: * (Rs) + s  truy nhập tới phần tử thứ s SCB, Khi D = 1: A+d  truy nhập tới PCBs SCB, Khi Dp = 1: A  d  truy nhập tới dữ liệu. 38
  20. $4 - QUẢN LÝ BỘ NHỚ TRONG IBM PC T ứng • Bốn mức ưu tiên C dụng Phục vụ (Privilege Levels) H ệ L F th thực hiện CT: 0  3, cao Q iles ố v n à g nhất – 0, thấp nhất – 3. T h i Nhân ế • Nguyên tắc tuy nhập: t b một CT chỉ được quyền 0 ị truy nhập tới CT và dữ 1 n liệu của CT bằng hoặc iê t 2 u kém ưu tiên hơn. ư c ứ 3 M 40
  21. IBM PC F • 2 chế độ: Chế độ thực (XT) R E O và chế độ bảo vệ (AT). D M • Chế độ Real Mode: C B M A A B 9 Ộ N H Ớ C Ơ 64 KB 1 S 0 Ở 42
  22. Chế độ Protected Mode • Mỗi khối MCB (Memory Control Block) • Bộ nhớ chung {MCB}  GDT (Global Descriptor Table). • Bộ nhớ riêng {MCB}  LDT (Local Descriptor Table). • MCB: 8 Bytes/phần tử. • Thực hiện CT: GDT  RAM, GDTR LDT  RAM, LDTR Lệnh: LGDTR, SGDTR, LLDTR, SLDTR 44
  23. 80286 • Địa chỉ tuyến tính: 32 bits. 13 1 2 16 Index TI RPL d Table Requested Indicator Privilege level • Khả năng: – Vật lý: AR – 24 bits 24 – Vph= 2 – = 16MB 13 1 16 – Lô gic: Vlg=2 2 2 – =230 – =1 GB 46
  24. 80386 - PENTUM • G = 0 - Chế độ mô đun, đơn vị tính kích thước khối – Byte  L = 220 = 1 MB. • G = 1 - Chế độ phân trang, đơn vị tính kích thước khối – trang (4 KB)  L = 220 P = 220 212 = 232 = 4 GB. • D = 0 - Chế độ dữ liệu 16 bit, • D = 1 - Chế độ dữ liệu 32 bit. 48
  25. 80386 - PENTUM • Chế độ kết hợp mô đun – phân trang: 20 3 P P U R Page Index AVL 0 0 D A C W / / P D T S W 12 • Phân phối bộ nhớ: TLB 2 I 1 III RAM Page Page P P P P P Directory Tables . . . . . . . . . . II 50