hệ điều hành05 quản lý bộ nhớ sinhvienzone com

75 31 0
hệ điều hành05 quản lý bộ nhớ sinhvienzone com

Đ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

Chương – Quản lý nhớ SinhVienZone.com https://fb.com/sinhvienzonevn Nội dung n Tổng quan n n n Chuyển đổi đòa n n n Các công đoạn Các mô hình chuyển đổi đòa Vai trò Quản lý nhớ HĐH n n Nhu cầu nhớ tiến trình Các vấn đề nhớ Các yêu cầu Các mô hình tổ chức nhớ n n Mô hình Liên tục Mô hình Không liên tục SinhVienZone.com https://fb.com/sinhvienzonevn Tổng quan n Chương trình cần nạp vào Bộ nhớ để thi hành n n n n CPU truy xuất trực tiếp Main Memory Chương trình nạp vaò BNC tổ chức theo cấu trúc tiến trình tương ứng Ai cấp phát BNC cho tiến trình ? Chương trình nguồn sử dụng đòa symbolic n n Tiến trình thực thi truy cập điạ thực BNC Ai chuyển đổi đòa ? HĐH Bộ phận Quản lý Bộ nhớ Mô hình tổ chức ? SinhVienZone.com Cơ chế hỗ trợ Chiến lược thực https://fb.com/sinhvienzonevn Tổng quan : Các vấn đề Bộ nhớ n Cấp phát Bộ nhớ : n Uniprogramming : Không khó n Multiprogramming : n n BNC giới hạn, N tiến trình ? Bảo vệ ? Chia sẻ ? Tiến trình thay đổi kích thước ? n Tiến trình lớn BNC ? Chuyển đổi đòa tiến trình n Thời điểm chuyển đổi đòa ? n Công thức chuyển đổi ? n n n n n Phụ thuộc vào Mô hình tổ chức BNC ? Cần hỗ trợ phần cứng ? Tiến trình thay đổi vò trí BNC ? SinhVienZone.com https://fb.com/sinhvienzonevn Ví dụ OS Môi trường đa nhieäm gcc nachos emacs n n n n 0x9000 0x7000 0x4000 0x3000 0x0000 Nếu nachos cần thêm không gian ? Nếu nachos có lỗi thực thao tác ghi vào đòa 0x7100? Khi gcc biết thường trú 0x4000? Nếu emacs cần nhiều nhớ dung lượng vật lý có? SinhVienZone.com https://fb.com/sinhvienzonevn Các bước chuyển đổi chương trình C program: test.c Compiler Object:test.o Linker lib.o Executable: test.exe Loader Memory SinhVienZone.com https://fb.com/sinhvienzonevn Các bước huyển đổi source program -> exe SinhVienZone.com https://fb.com/sinhvienzonevn A.C B.C int x; int y; x = 12; y = 5; F(); F() { printf(“Hi”); } B.O A.O // x // y // [0] = 12; // [2] = 5; // jmp F //external // object -2 // F() … // // // // // // F() x y [3] = 12; [5] = 5; jmp OS ? ? ? ? ? ? // // // // // // F() x y [?] = 12; [?] = 5; jmp ? Test.exe SinhVienZone.com https://fb.com/sinhvienzonevn Thuaät ngữ n n n n Đòa logic – gọi đòa ảo , tất đòa xử lý tạo Đòa physic - đòa thực tế mà trình quản lý nhớ nhìn thấy thao tác Không gian đòa – tập hợp tất đòa ảo phát sinh chương trình Không gian vật lý – tập hợp tất đòa vật lý tương ứng với đòa ảo SinhVienZone.com https://fb.com/sinhvienzonevn Nhu cầu nhớ tiến trình low address Tiến trình gồm có: n code segment n n n n read from program file by exec usually read-only can be shared data segment n n n initialized global variables (0 / NULL) uninitialized global variables heap n n n n stack segment n n n n n n n … 8048314 : segment pointers pid program and stack pointers … code segment 8048314: 8048315: push mov %ebp %esp,%ebp 8048317: 804831a: mov add 0xc(%ebp),%eax 0x8(%ebp),%eax 804831d: 804831e: pop ret %ebp initialized variables 804831f : 804831f: push %ebp 8048320: 8048322: 8048325: mov sub and %esp,%ebp $0x18,%esp $0xfffffff0,%esp 8048328: mov $0x0,%eax 804832d: sub %eax,%esp 804832f: 8048336: movl movl $0x0,0xfffffffc(%ebp) $0x2,0x4(%esp,1) movl call $0x4,(%esp,1) 8048314 mov leave %eax,0xfffffffc(%ebp) 804834d: 804834e: 804834f: ret nop variables in a function 804833e: 8048345: stored register states (e.g calling function EIP) 804834a: grows against lower addresses system data segment (PCB) n n dynamic memory e.g., allocated using malloc grows against higher addresses system data segment (PCB) uninitialized variables data segment process A heap … … Stack cho thread stack possible stacks for more threads high address SinhVienZone.com data segment n https://fb.com/sinhvienzonevn 10 Baûng trang đa cấp 100 0 1 2 Page Table caáp 32 3 Page Table caáp SinhVienZone.com Page Table caáp 82 10 11 12 Page Table caáp 14 15 Page Table caáp 216 13 https://fb.com/sinhvienzonevn 17 61 Bảng trang nghòch đảo (Inverted Page Table) n n 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 mô tả frame, có cấu trúc n n n n : số hiệu page mà frame chứa đựng : id tiến trình sỡ hữu trang Mỗi đòa ảo ba Khi tham khảo đến nhớ phát sinh, phần đòa ảo đư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ý phát sinh SinhVienZone.com https://fb.com/sinhvienzonevn 62 Kiến trúc bảng trang nghòch đảo SinhVienZone.com https://fb.com/sinhvienzonevn 63 Lưu trữ Page table : Tiết kiệm thời gian n Mỗi truy cập BNC cần truy xuất BNC lần : n n n Tra cứu Page Table để chuyển đổi đòa Tra cưu thân data Làm để cải thiện : n Tìm cách lưu PT cache n n Cho phép tìm kiếm nhanh PT lớn, cache nhỏ : lưu đủ ? n n Lưu phần PT Phần ? n Các số hiệu trang truy cập gần SinhVienZone.com https://fb.com/sinhvienzonevn 64 Translation Lookaside Buffer (TLB) n Vùng nhớ Cache CPU sử dụng để lưu tạm thời phần PT gọi Translation Lookaside Buffer (TLB) n n Cho phép tìm kiếm tốc độ cao Kích thước giới hạn (thường không 64 phần tử) Mỗi entry TLB chứa số hiệu page frame tương ứng chứa page n Khi chuyển đổi đòa chỉ, truy xuất TLB trước, không tìm thấy số hiệu page cần thiết, truy xuất vào PT để lấy thông tin frame n SinhVienZone.com https://fb.com/sinhvienzonevn 65 Translation Lookaside Buffer SinhVienZone.com https://fb.com/sinhvienzonevn 66 Chuyển đổi đòa với Paging virtual address p CPU d f physical address f d d TLB p f Memory f f PT SinhVienZone.com https://fb.com/sinhvienzonevn 67 Sử dụng TBL SinhVienZone.com https://fb.com/sinhvienzonevn 68 Bảo vệ chia sẻ Segmentation Paging n Bảo vệ n Segmentation : phần tử ST gắn thêm bit bảo vệ n n Paging : phần tử PT gắn thêm bit bảo vệ n n Mỗi segment bảo vệ tùy theo ngữ nghóa đối tượng bên segment Mỗi page không nhận thức ngữ nghóa đối tượng bên page, nên bảo vệ áp dụng cho toàn trang, không phân biệt Chia sẻ: Cho nhiều phần tự KGĐC trỏ đến vò trí KGVL n n Segmentation : chia sẻ mức module chương trình Paging : chia sẻ trang SinhVienZone.com https://fb.com/sinhvienzonevn 69 Sharing Pages: A Text Editor SinhVienZone.com https://fb.com/sinhvienzonevn 70 Sharing Pages: A Text Editor ed + data ed + data ed + data Chia seû Page = Chia sẻ code v SinhVienZone.com https://fb.com/sinhvienzonevn 71 Đánh giá mô hình chuyển đổi đòa n Giả sử có: n tm : thời gian truy xuất BNC tc : thời gian truy xuất cache n hit-ration : tỉ lệ tìm thấy số hiệu trang p TLB n n Công thức tính thời gian truy cập thực tế (Time Effective Acess) đến đối tượng BNC n n bao gồm thời gian chuyển đổi đòa thời gian truy xuất liệu TEA = (time biding add + time acces memory) SinhVienZone.com https://fb.com/sinhvienzonevn 72 n Linker-Loader n n TEA = tm (data) Base + Bound n TEA = (tc + tc) + (Base & Bound) n Segmentation n n TEA = Paging n tc tm (data) + (ST cache) Không sử dụng TLB : n TEA = tm tm (data) + tm (PT mem) n Có sử dụng TLB : n TEA = hit-ratio ( tc tc + tm + tm ) SinhVienZone.com + (data) tm ) + (1- hit-ratio)( (TLB) (data) https://fb.com/sinhvienzonevn 73 n n n n n n Giả sử: Có lỗi xảy tốn 8ms để thay trang Nếu trang thay đổi nội dung tốn 20ms Giả sử 70% trang có thay nội dung Truy cập nhớ tớn 100ns Hỏi tỉ lệ lỗi trang để đảm bảo EMAT không vượt 200ns SinhVienZone.com https://fb.com/sinhvienzonevn 74 n EAT = (1 – p) x memory access + p (page fault overhead + [swap page out ] + swap page in + restart overhead) SinhVienZone.com https://fb.com/sinhvienzonevn 75 ... đổi đòa ? HĐH Bộ phận Quản lý Bộ nhớ Mô hình tổ chức ? SinhVienZone. com Cơ chế hỗ trợ Chiến lược thực https://fb .com/ sinhvienzonevn Tổng quan : Các vấn đề Bộ nhớ n Cấp phát Bộ nhớ : n Uniprogramming... fragmentation SinhVienZone. com https://fb .com/ sinhvienzonevn 29 Ví dụ Dynamic Partitioning SinhVienZone. com https://fb .com/ sinhvienzonevn 30 Ví dụ Dynamic Partitioning SinhVienZone. com https://fb .com/ sinhvienzonevn... đòa Vai trò Quản lý nhớ HĐH n n Nhu cầu nhớ tiến trình Các vấn đề nhớ Các yêu cầu Các mô hình tổ chức nhớ n n Mô hình Liên tục Mô hình Không liên tục SinhVienZone. com https://fb .com/ sinhvienzonevn

Ngày đăng: 28/01/2020, 22:08

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

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

Tài liệu liên quan