Pamat Flashcards

(113 cards)

1
Q

Co je to monoprogramovanie?

A

V pamati je len jeden program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Co je to swapping?

A

Vymena obsahu na sekundarne medium

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Aky OS bol monoprogramovy?

A

MS DOS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Co je multiprogramovanie?

A

Pri starte OS sa pamat rozdeli na segmenty, novemu procesu sa prideli najmensi vyhody volny usek

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Co je segment?

A

Usek pevnej dlzky

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Co je interna fragmentacia?

A

Program nemusi vyuzit vsetku pridelenu pamat

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Pozri si priklad na slide 7

A

slide 7

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Aka je vyhoda pouzitia segmentov s premenlivou dlzkou?

A

odstranenie internej fragmentacie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Co je to relokacia?

A

Presunutie programu na ine miesto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Co je to externa fragmentacia?

A

Volna pamat je rozdrobena na male casti medzi obsadenymi usekmi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ako vieme riesit externu fragmentaciu?

A

Kompaktificia pamate - obsadene useku sa presunu vedla seba a volne miesto sa zluci do jedneho bloku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Aky program vieme vybrat na swap na disk?

A

Napr dlho necinny

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Pozri si priklad na slide 13

A

slide 13

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Ako vie OS vediet ktore casti pamate su volne a kotre obsadene?

A

Bitove mapy

Zoznamy segmentov

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Co je nevyhoda bitovych map?

A

Prehladavanie tabulky pre najdenie suvisleho useku 0 je drahe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Kedy je dobra bitova mapa?

A

Ak mame male bloky

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Co sa pri alokacii spravi so zoznamom segmentov?

A

Najde sa dostatocne velky a rozdeli sa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Ake pozname algoritmy alokacie blokov pamate?

A

First Fit
Next Fit
Best Fit
Worst Fit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Co je first fit?

A

prvy dostatocne velky segment sa pouzije - rychle a jednoduche

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Co je next fit?

A

“circular first fit” - nezacinam od zaciatku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Co je best fit?

A

najdem volny segment s najblizsou velkostou

nevyhoda - treba prejst celu pamat a vytvaram male a nepouzitelne volne bloky

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Co je worst fit?

A

Opak best fit

Nevyhoda je ze nemame potom kam dat velke ulohy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Co je to Quick Fit?

A

Zoznamy pre casto pouzivane velkosti segmentov

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Opis Buddy algoritmus

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
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
26
Co je obmedzujuce pri sprave pamate?
Program zabera vzdy suvisly usek fyzickej pamate, teda velkost programu je obmedzena dostupnou fyzickou pamatou
27
Co je virtualna pamat?
Proces pracuje so suvislym adresovym priestorom ktory je OS mapovany do fyz. pamate
28
Co je vyhoda virtualnej pamate?
Proces nemusi byt v suvislom useku fyz pamati a teda to eliminuje externu fragmentaciu
29
Kto robi preklad adries z virtualnej na fyzicku?
Memory Management Unit MMU
30
Co je strankovanie a preco ho vyuzivame?
Rozdelime virtualny adresny priestor na suvisle bloky rovnakej dlzky, lebo mapovat kazdu jednu adresu samostatne je narocne
31
V strankovani, na co je rozdelena fyzicka pamat?
Strankove ramy (page frame) - rovnako velke bloky
32
Co obsahuje virtualna adresa v strankovani?
Cislo stranky a offset od zaciatku stranky
33
Co robi mapovanie v strankovani?
Prideluje strankovym ramom stranky - pomocou tabulky stranok
34
Kolko je tabuliek stranok?
Jedna pre kazdy proces
35
Co je problemom strankovania?
Interna fragmentacia
36
Co je demand paging? (na poziadanie)
Proces sa moze vykonavat aj ked nie je cely v pamati, moze byt cas na disku
37
Co je nevyhoda demand pagingu?
zlozitejsi OS, OS moze pridelit viac pamate nez je dostupne
38
Aky typ spravy pamate sa najviac dnes pouziva?
demand paging
39
Kedy nastava vypadok stranky?
Ked present bit v PTE nie je nastaveny
40
Co sa stane ked nie je nastaveny valid bit?
nevieme prelozit adresu - SIGSEGV
41
Co sa stane ak je adresa platna ale stranka nie je v pamati?
Najde sa volny strankovy ram
42
Ako sa pokracuje po vyrieseni page fault?
aktualizuje sa PTE a OS a restartuje sa proces od instrukcie ktora vypadok sposobila
43
Pozri si priklad na slide 31
slide 31
44
Na co je tabulka stranok?
na preklad logickej adresy na fyzicku
45
Musia byt rovnako velke virtualna a fyzicka adresa?
Nie
46
Preco potrebujeme viacurovnove tabulky stranok?
Aby tabulky nezaberali tolko miesta
47
Na co delime teda tabulky v dvojurovnovej tabulke stranok?
page directory, page table, offset
48
Kolko je page directory?
1
49
Co znamena bit 7 (page size bit)?
PDE neukazuje na tabulku stranok ale priamo na stranku
50
Pozri si priklad na slide 39
slide 39
51
Co je problem pri pouziti page table directory?
O jeden pristup navyse - rychlost klesa
52
Co je TLB?
polozky z PT v cache
53
Co je problem velkych stranok?
Interna fragmentacia
54
Pozri si priklad na slide 48
slide 48
55
Ako vieme riesit prilis velky pocet stranok na 64-bit architekture, kam sa nezmestia ani s pouzitim PTD?
Hierarchia tabuliek stranok Inverzne tabulky - stranka ktoreho procesu je v rame umiestnena Rozptylove tabulky
56
Aky je problem inverznych tabuliek?
Narocnejsi preklad virtualnej adresy na fyzicku, treba to prejst cele, ale vieme pouzit TLB
57
Ake flagy moze mat polozka tabulky stranok na x86?
``` G - global D - dirty A - accesed C - Cache disabled R - Read / Write U - User / Supervisor (privilegovany proces?) P - present / absent vo fyz. pamati ```
58
Ake su priciny vypadku stranky?
nema nastaveny bit U,P pri pristupe alebo zapisovanie do takej co nema bit R
59
Co sa spravi po vypadku stranky?
Spusti sa rutina co rozhodne co s tym, napriklad odosle signal procesu SIGSEGV Alebo sa najde novy strankovy ram ak nebol bit P nastaveny
60
Kto vie vynulovat Dirty a Accesed Bit?
OS
61
Ake 2 sposoby algoritmov hladania obete pozname?
Vybrat nahodnu stranku | Optimalny algoritmus
62
Naco su algoritmy hladania obete?
Vyber bloku pamate ktory uvolnime
63
Aky je algoritmus NRU?
Not recently used podla bitu R a D vyberie sa nahodne stranka z triedy nepouzite nezmenene, resp nepouzite zmenene ak prva je prazdna
64
Aky je algoritmus FIFO?
Odstranuje sa podla FIFO, moc sa ale nepouziva
65
Co je algoritmus second chance?
rovnako ako FIFO ale ak je pouzivana vybrana obet, tak sa prida na koniec a dostane druhu sancu. Rezia je tym dost velka
66
Co je zac alg Clock algorithm?
Rovnake ako second chance ale stranky su organizovane v kruhovom zozname a teda npresuvaju sa, presuva sa len pointer
67
Aky algoritmus je least recently used LRU?
Najdlhsie nepouzita stranka | treba zistit aka stranka bola kedy naposledy pouzita - mega rezia
68
Aky alg je NFU?
Not frequently used | Ako LRU, kazdy ma pocitadlo pristupov, obet je s najnizsou hodnotou pocitadla
69
Aky je aging algoritmus?
Algoritmus starnutia | Pocitadlo sa posunie o bit doprava a R bit sa pripocita na najvyssiu poziciu
70
Ktory z algoritmov je optimalny (teoreticky)?
Least recently used, ale prakticky moc nie
71
Co ukladame, aky zoznam stranok?
Zoznam aktivnych a neaktivnych stranok
72
Ako teda sa realne vybera obet?
Aging v zozname neaktivnych stranok
73
Aky algoritmus je Clock-pro?
Uklada sa recency - kolko pristupov k inym strankam sa urobilo od posledneho pristupu Reuse distance RD - pocet inych stranok ku ktorym sa pristupovalo medzi dvoma pristupmi k stranke Vybera sa obet na zaklade najvacsej RD
74
Aky algoritmus pouziva Linux?
Clock pro
75
Cim vyssia rychlost, tym ...
zlozitejsie/drahsie a teda mensia kapacita
76
Ake pozname typy pamate od najrychlejsich?
``` Registre Cache RAM SSD HDD Siet ```
77
Ake su 3 vlastnosti pamatovej hierarchie?
Inkluzivnost - blizsie k CPU je podmnozina dat z vzdialenejsej urovne Koherencia - instancie rovnakych dat v rovnakych urovniach musia byt rovnake Lokalita - pristup do pamate nie je rovnaky, ale vykazuje iste vzory
78
Co je sekvencna lokalita?
Ak procesor v case n pristupil na adresu a, tak pravdepodobne bude v n+1 pristupovat k a+1 Teda sa oplati pozriet nasledujuce bloky
79
Co je priestorova lokalita
Ak procesor v case n pristupil na adresu a, tak pravdepodobne bude v n+1 pristupovat k bloku blizkemu a.
80
Co je casova lokalita?
Ak procesor v case n pristupil na adresu a, tak pravdepodobne bude v blizkej dobe pristupovat k a znova.
81
Mozu procesy bezat rychlo aj ked je fyzickej pamate menej nez celkovy sucet pamate alokovanej procesmi? Preco?
Ano, lebo casto pouzivaju procesy malu cast priestoru a zmeny su pomale.
82
Co je pracovna mnozina stranok?
Stranky ktore proces prave vyuziva
83
Kedy sa proces vykonava bez vacsieho poctu vypadkov s ohladom na pracovnu mnozinu stranok?
pokial su stranky z tejto mnoziny v pamati
84
Co je trashing?
neustale odkladanie a nahravanie stranok
85
Pozri velkost pracovnej mnoziny na lide 84
slide 84
86
Co je predstrankovanie?
Ak nechceme vypadky, tak si zavedieme nejake stranky do pracovnej mnoziny
87
Aky je rozdiel medzi lokalnym a globalnym pristupom vyberu obete?
Lokalny - len z ramov procesu | Globalny - z ramov vsetkych procesov
88
Aky je predpoklad Page Fault Frequency?
S rastucim poctom pridelenych strankovych ramov klesa pocet vypadkov
89
Co robi Page Fault Frequency alg?
Sleduje frekvenciu vypadkov a pridava alebo odobera ramy aby ju udrzal v priajetlnom intervale
90
Co je vyhodnejsie swapovat? menej velkych blokov alebo vela malych?
menej velkych
91
Pozri slide 90 na optimalnu velkost stranky
slide 90
92
Ake su sposoby pristupu k segmentu?
rwx
93
Moze byt segment pouzivany viacerymi procesmi? Ak ano daj priklad
Ano, zdielane kniznice
94
Co je to segmentacia?
Rozdelenie logickeho adresneho priestoru na samostatne segmenty
95
Z coho sa sklada logicka adresa? Pri segmentacii
Z cisla segmentu a offsetu
96
Je transparentne pre programatora strankovanie alebo segmentacia?
strankovanie
97
Ako dostaneme fyzicku adresu z logickej v segmentacii?
bazova adresa vo fyz pamati segmentu + offset
98
Aka architektura umoznuje kombinaciu segmentacie so strankovanim?
Intel Pentium
99
Co su segmenty programu?
Suvisle bloky so samostatnym vyznamom - text, data, bss, heap, stack,...
100
V akom structe je opisana Virtual Memory Area?
vm_area_struct
101
Co su Virtual Memory Area VMA?
Suvisle oblasti virtualneho adresneho priestoru
102
kde je dostupny zoznam VMA pre program?
/proc//maps
103
Co robi volanie mmap?
Vytvara nove mapovanie vo virtualnom adresovom priestore procesu
104
Co robi malloc(size)?
Alokuje size bajtov a vrati pointer na alokovanu pamat, alebo NULL v pripade chyby.
105
Ako vieme uvolnit pamat alokovanu malloc?
free
106
Kde alokuje pamat malloc?
V casti heap
107
Kedy sa vykonava malloc so systemovym volanim brk?
Ak nie je miesto v heap a treba posunut hranicu datoveho segmentu
108
Ake systemove volanie pouziva free?
sbrk
109
Ak malloc vrati nenulovy pointer, znamena to ze bude pamat skutocne k dispozicii?
Nie
110
Aku pamat poskytuje jadro procesom?
V celych strankach
111
Co si uchovava jadro pre znizenie rezie s alokaciou?
prepripravene objekty roznej velkosti
112
Coho sa tyka SLOB/SLAB/SLUB alokator?
Alokacie v jadre
113
Pozri priklad od slide 107
slide 107