Pamat Flashcards
Co je to monoprogramovanie?
V pamati je len jeden program
Co je to swapping?
Vymena obsahu na sekundarne medium
Aky OS bol monoprogramovy?
MS DOS
Co je multiprogramovanie?
Pri starte OS sa pamat rozdeli na segmenty, novemu procesu sa prideli najmensi vyhody volny usek
Co je segment?
Usek pevnej dlzky
Co je interna fragmentacia?
Program nemusi vyuzit vsetku pridelenu pamat
Pozri si priklad na slide 7
slide 7
Aka je vyhoda pouzitia segmentov s premenlivou dlzkou?
odstranenie internej fragmentacie
Co je to relokacia?
Presunutie programu na ine miesto
Co je to externa fragmentacia?
Volna pamat je rozdrobena na male casti medzi obsadenymi usekmi
Ako vieme riesit externu fragmentaciu?
Kompaktificia pamate - obsadene useku sa presunu vedla seba a volne miesto sa zluci do jedneho bloku
Aky program vieme vybrat na swap na disk?
Napr dlho necinny
Pozri si priklad na slide 13
slide 13
Ako vie OS vediet ktore casti pamate su volne a kotre obsadene?
Bitove mapy
Zoznamy segmentov
Co je nevyhoda bitovych map?
Prehladavanie tabulky pre najdenie suvisleho useku 0 je drahe
Kedy je dobra bitova mapa?
Ak mame male bloky
Co sa pri alokacii spravi so zoznamom segmentov?
Najde sa dostatocne velky a rozdeli sa
Ake pozname algoritmy alokacie blokov pamate?
First Fit
Next Fit
Best Fit
Worst Fit
Co je first fit?
prvy dostatocne velky segment sa pouzije - rychle a jednoduche
Co je next fit?
“circular first fit” - nezacinam od zaciatku
Co je best fit?
najdem volny segment s najblizsou velkostou
nevyhoda - treba prejst celu pamat a vytvaram male a nepouzitelne volne bloky
Co je worst fit?
Opak best fit
Nevyhoda je ze nemame potom kam dat velke ulohy
Co je to Quick Fit?
Zoznamy pre casto pouzivane velkosti segmentov
Opis Buddy algoritmus
Udrzuju sa zoznamy volnych segmentov s velkostou mocnin dvojky
Bloky za sebou tvoria dvojice
Po prichode poziadavky sa velkost zaokruhli hore k mocnine 2 a pouzije sa prislusny zoznam, ak je plny tak sa najde vacsi a rozdeli sa na polovice
Po uvolneni sa skontroluje ci je dvojica volna, ak ano tak sa zlucia a presunu do vyssieho zoznamu
Co vyuziva Linux na buddy algoritmus?
bitovu mapu - na kazdu dvojicu blokov (1 ak je jeden obsadeny, 0 ak oba volne alebo obsadene)
aj zoznam volnych blokov
Co je obmedzujuce pri sprave pamate?
Program zabera vzdy suvisly usek fyzickej pamate, teda velkost programu je obmedzena dostupnou fyzickou pamatou
Co je virtualna pamat?
Proces pracuje so suvislym adresovym priestorom ktory je OS mapovany do fyz. pamate
Co je vyhoda virtualnej pamate?
Proces nemusi byt v suvislom useku fyz pamati a teda to eliminuje externu fragmentaciu
Kto robi preklad adries z virtualnej na fyzicku?
Memory Management Unit MMU
Co je strankovanie a preco ho vyuzivame?
Rozdelime virtualny adresny priestor na suvisle bloky rovnakej dlzky, lebo mapovat kazdu jednu adresu samostatne je narocne
V strankovani, na co je rozdelena fyzicka pamat?
Strankove ramy (page frame) - rovnako velke bloky
Co obsahuje virtualna adresa v strankovani?
Cislo stranky a offset od zaciatku stranky
Co robi mapovanie v strankovani?
Prideluje strankovym ramom stranky - pomocou tabulky stranok
Kolko je tabuliek stranok?
Jedna pre kazdy proces
Co je problemom strankovania?
Interna fragmentacia
Co je demand paging? (na poziadanie)
Proces sa moze vykonavat aj ked nie je cely v pamati, moze byt cas na disku
Co je nevyhoda demand pagingu?
zlozitejsi OS, OS moze pridelit viac pamate nez je dostupne
Aky typ spravy pamate sa najviac dnes pouziva?
demand paging
Kedy nastava vypadok stranky?
Ked present bit v PTE nie je nastaveny
Co sa stane ked nie je nastaveny valid bit?
nevieme prelozit adresu - SIGSEGV
Co sa stane ak je adresa platna ale stranka nie je v pamati?
Najde sa volny strankovy ram
Ako sa pokracuje po vyrieseni page fault?
aktualizuje sa PTE a OS a restartuje sa proces od instrukcie ktora vypadok sposobila
Pozri si priklad na slide 31
slide 31
Na co je tabulka stranok?
na preklad logickej adresy na fyzicku
Musia byt rovnako velke virtualna a fyzicka adresa?
Nie