1 / 23

Managementul memoriei

Managementul memoriei. Curs 8. 1 Probleme de proiectare a sistemelor cu paginare 2 Segmentarea. 1. Probleme de proiectare a sistemelor cu paginare Politici de alocare globale versus locale (1). Configurația inițială Algoritm de înlocuire locală a paginii (Fig. b)

licia
Download Presentation

Managementul memoriei

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Managementul memoriei Curs 8 1 Probleme de proiectare a sistemelor cu paginare 2Segmentarea 1

  2. Probleme de proiectare a sistemelor cu paginarePolitici de alocare globale versus locale (1) Configurația inițială Algoritm de înlocuire locală a paginii (Fig. b) Algoritm de înlocuire globală a paginii (Fig. c)

  3. Politici de alocare globale versus locale(2)

  4. Controlul încărcării memoriei În pofida existenței unor modele bune sistemul se poate supraîncărca când algoritmul PFF indică Existența unor procese care au nevoie de mai multe pagini și nici un proces nu poate dezaloca pagini Soluția este reducerea numărului de procese care au nevoie de spațiu de memorie Prin transferarea pe disc a unor procese Reconsiderarea gradului de multiprogramare

  5. Dimensiunea paginii Pagină de dimensiune mică Avantaje Fragmentare internă mică Adaptare mai bună la diferite structuri de date sau secțiuni de cod Dezavantaje Pentru anumite procese sunt necesare pagini mai multe sau sunt necesare pagini mai mari

  6. Spații de adresare separate pentru date și cod Un singur spațiu de adresare Spații de adresare separate

  7. Pagini partajate Două procese care partajează același program care partajează tabela sa de pagini

  8. Politica de curățare Este necesar un proces care să ruleze în fundal,numit paging daemon(demon de paginare) care inspectează periodic starea memoriei: Când două cadre sunt libere acesta va selecta și evacua pagini utilizând un algoritm de înlocuire Sau poate utiliza o listă circulară ca algoritm de înlocuire

  9. Implicarea SO în paginare SO se implică de 4 ori în paginare: Crearea proceselor Determină dimensiunea programului Creează tabela de pagini Execuția proceselor Resetarea MMU(Memory Management Unit) pentru noi procese Golirea TLB(Translation Lookaside Buffer) La generarea unui defect de pagină Determinarea adresei virtuale care a generat eroarea Alocarea și dezalocarea paginilor Finalizarea execuției unui proces Eliberarea tabelei de pagini și a paginilor

  10. Segmentarea Într-un spațiu de adresare unidimensional cu tabele de pagini în creștere există posibilitatea ca la un moment dat acestea să se suprapună. Din acest motiv au apărut segmentele care permit fiecărei tabele de pagini să-și modifice dimensiunea în mod independent. Segmentele sunt spații de adresare independente. Segmentarea permite partajarea de date sau cod între mai multe programe.

  11. Comparație între paginare și segmentare

  12. Implementarea segmentării (a)-(d) Apariția fragmentării externe (e) Dispariția fragmentării externe prin compactare

  13. Segmentare cu paginare: Pentium (1) Un selector specific Pentium

  14. Segmentare cu paginare: Pentium (2) Descriptor de segment de cod pentru Pentium Diferențe minore pentru descriptorii segmentului de date

  15. Segmentare cu paginare: Pentium (3) Translatarea unei perechi(selector,deplasament) în adresă fizică

  16. Segmentare cu paginare: Pentium (4) Maparea unei adrese liniare în adresă fizică

  17. De știut... Probleme de proiectare a sistemelor cu paginare. Segmentarea. Diferențe dintre paginare și segmentare. Translatarea unei perechi (selector,deplasament) în adresă fizică în cazul segmentării pure. Translatarea unei perechi (selector,deplasament) în adresă fizică în cazul segmentării paginate. Ce reprezintă fragmentarea externă? Ce reprezintă un selector? Ce reprezintă un descriptor? Ce reprezintă algoritmul PFF? Cum se calculează rata de defecte de pagină? 17

  18. De știut... • O pagină se poate regăsi în două seturi de lucru simultan? • Explicați diferențele dintre fragmentarea internă și fragmentarea externă. • Scrieți un program care simulează un sistem de paginare.Utilizatorul va selecta algoritmul de paginare (FIFO,LRU și cel puțin un altul la alegere). • Dacă o pagină este partajată între două procese este posibil ca o pagină să fie read-only pentru un proces și read-write pentru celălalt proces? Presupuneți 2 cazuri: existența segmentării și lipsa acesteia.

  19. De știut... • Algoritmul FIFO poate lucra cu: • Algoritmi de alocare locală • Algoritmi de alocare globală • Algoritmi de alocare locală și globală • Nici una din variante

  20. De știut... • Algoritmul LRU poate lucra cu: • Algoritmi de alocare locală • Algoritmi de alocare globală • Algoritmi de alocare locală și globală • Nici una din variante

  21. De știut... • Algoritmul WSclock poate lucra cu: • Algoritmi de alocare locală • Algoritmi de alocare globală • Algoritmi de alocare locală și globală • Nici una din variante

  22. De știut... • Algoritmul setului de lucru poate lucra cu: • Algoritmi de alocare locală • Algoritmi de alocare globală • Algoritmi de alocare locală și globală • Nici una din variante

  23. Bibliografie A. Silberschatz, P. Galvin, Operating System Concepts, John Wiley and Sons Inc., 2005, pag 297-312, capitolul 9. A. Tanembaum, Modern Operating Systems, Prentice Hall, 2007, pag 216-254. Gh. Dodescu, Sisteme de operare, Ed. Economică, 2003, pag 129-195. 23

More Related