Vypracované otázky z Operačných systémov

Předmět poskytuje informace o architektuře operačních systémů a funkcích správy procesů, správy paměti, ovladačů periferií, systémů souborů, sítí, bezpečnosti. Všechny funkce jsou ilustrovány na současných operačních systémech, implementace vybraných funkcí je procvičována tvorbou výukového operačního systému.
gASK
Admin(ka) level I
Příspěvky: 635
Registrován: 9. 6. 2005 12:33
Typ studia: Informatika Mgr.
Bydliště: Konečně Vinohrady:)
Kontaktovat uživatele:

Re: Vypracované otázky z Operačných systémov

Příspěvek od gASK »

Díky, luku.
S dovolením jsem to mergnul do toho pamfletu co jsem stvořil. Je teď updatnutej. :wink:
When life gives you crap, make crap golems.
Návštěvník

Re: Vypracované otázky z Operačných systémov

Příspěvek od Návštěvník »

Solved:

Kód: Vybrat vše

1. Design a process scheduler that would support a coexistence of batch, realtime and interactive processes. Include information on how the processess communicate their scheduling requirements to the scheduler and what data structures the scheduler keeps. Describe the algorithm that uses these requirements and structures to decide what process to run and for how long and define the time complexity of the algorithm.

-	proces může mít info kam chce patřit, meze do kterých tato hodnota může patřit se může odvíjet od toho, kdo proces pustí (kernel, user), třídy priorit
-	nejkratší kvantum má realtime, interactive tak nějak normální, batch nejdelší
-	scheduler sám si hlídá, jak často je program plánován, snižováni nebo snižování podle toho, zda vykape kvantum nebo ne
-	scheduler potřebuje ready-to-run frontu, pro každou prioritu 
-	linux – pro každou prioritu jsou dvě fronty – ty které nemají spotřebované kvantum a ty, které mají. Nejprve se bere z fronty s nespotřebovaným kvantem, teprve když je prázdná, tak z té druhé, fronty se mohou jen prohodit, když je jedna prázdná
-	proces dostane kvantum 
-	na frontě funguje plánování round robin
-	časová složitost musí být O(1), nezávislá na počtu procesů
-	algoritmus: probíráme fronty scheduleru od těch s nejvyšší prioritou po nejnižší, hledá se první neprázdná, proces se spustí. Pokud skončí před časovým kvantem, je mu kvantum sníženo a procesu se zvýší priorita. Pokud skončí po časovém kvantu, je mu kvantum zvýšeno a priorita snížena. Časová složitost je O(1), procházíme pouze konstantní počet front dle priorit.

2. Design a process communication mechanism based on message passing suitable for a microkernel operating system. Describe the interface used by a process to communicate with other processes. Include specialized support for very short messages that would be communicated as quickly as possible, and specialized support for very long messages that would be communicated as efficiently as possible. Compare the overhead introduced by the process communication mechanism with the overhead of a local procedure call.

-	server bude mít fronty zpráv, tzv. porty
-	send_message(číslo portu, zpráva, délka zprávy, flags)
-	pokud budou komunikující na stejném uzlu v systému, mohou si pro posílání velkých zpráv vyhradit místo ve společné paměti a jako zpráva se nepošlou data samotná, nýbrž jen adresa do sdílené paměti (to je efektivní)
-	když nebudou komunikující na stejném uzlu v systému, neposílá se zpráva celá. Pošle se iniciální zpráva s informací o délce, počtu malých dílčích zpráv s flagem „říkej si mi o čísla zpráv, která chceš poslat“. Posílá se více jednoduchých zpráv. Příjemce mi krátkými rychlými zprávami odpovídá která čísla zpráv mají následovat, pokud se neozve do doby určené předem dohodnutým parametrem, považujeme komunikaci za skončenou
-	při lokálním doručováním na jednom uzlu není potvrzování třeba, pro komunikaci mezi uzly asi ano
-	krátké zprávy: ty jdou samy o sobě rychle
-	možné flagy: očekává se odpověď, enable timeout (pokud dlouho trvá odpověď, nebo pokud dlouho trvá odeslání atd.), očekávám doručenku, velikost zprávy
-	obyčejné volání – uložení argumentů na zásobník, uložení stack pointeru, návratová adresa
-	režie při komunikaci přes zprávy je obdobná RPC – je to složité

3. Implement a spin lock and then a recursive lock using the spin lock and the Sleep and Wake functions, as well as suitable functions of your choice for managing lists and other details, all without any guarantees as to parallelism. Explain how this implementation works on a multiprocessor hardware.

-	potřebujeme TSL instrukci, tedy atomické zkontrolování podmínky a zapsání
-	zamknutí:
void spinlock_lock (lock_state) {
while (test_and_set(lock_state)); 
}
-	toto bude způsobovat cache ping-pong: každý CPU bude chtít při čekání přečíst a zapsat proměnnou, tedy každý bude požadovat právo zápisu, tedy bude ostatním z cache vytahovat
-	lepší zamknutí:
void spinlock_lock_better(lock_state){
while (1) {
while (lock_state); 
	if (test_and_set(lock_state)==0) break;
}
-	toto je lepší řešení, CPU se o paměť perou jenom když někdo proměnnou odemkne
-	odemknutí:
void spinlock_unlock (lock_state) {
lock_state = NULL;
}
-	recursive lock bude mutex, který si počítá u vlastníka, kolikrát jej zamknul
-	sleep uspí volající proces, wake probudí proces
-	spinlock se pak použije pro ošetření přístupu do fronty uspaných procesů
-	implementace bude vyuzivat nasledujici rozhrani:

class queue {
	void push_back(int item);
int pop_front(void);
bool empty();
      };

      get_current_thread() – vrati ciselnou identifikaci aktualne beziciho vlakna

-	samotna implementace:

struct rlock_state {
	int lock_state;
	int owner;
	int counter;	// citac pristupu vlastnika, 0 pokud je zamek odemknuty
	queue wait_queue;
};

void recursive_lock(struct rlock_state rlock) 
{
	spinlock_lock(lock_state); 

	if((rlock.owner == get_current_thread() && rlock.counter > 0)|| rlock.counter == 0) {
		// bud vlastnik znovu zamyka nebo byl zamek odemknuty
		rlock.counter++;
		rlock.owner = get_current_thread();
		spinlock_unlock(lock_state);
		return ;
}

// zamek je zamknuty a zkousi se ho zamknout nekdo jiny nez vlastnik
// zaradime ho do fronty a uspime

rlock.wait_queue.push_back(get_current_thread());
spinlock_unlock();

Sleep();
}

void recursivelock_unlock(struct rlock_state rlock) 
{
	spinlock_lock(rlock.lock_state);
	if(rlock.counter > 0  && rlock.owner == get_current_thread()) {
 		if(rlock.counter == 1) {
if(!rlock.wait_queue.empty()) {
	// nekdo ceka na zamek
	// vezmeme prvniho z fronty a dame mu zamek
rlock.owner = rlock.wait_queue.pop_front();
Wake(rlock.owner);
} else {
	// na zamek nikdo neceka
rlock.counter--;
rlock.owner = NULL; // nikdo uz neni vlastnikem zamku
}
		} else {
			// vlastnik si odemyka svuj zamek, ale zamek 
			// jeste nebude volny, protoze rlock.counter > 1
			rlock.counter--;
		}
	}
	spinlock_unlock(rlock.lock_state);
}

7. Navrhněte rozhraní mezi ovladačem disku nabízejícím funkce pro čtení a zápis
bloku sektorů, schopné zpracovávat více požadavků současně, a vyššími vrstvami
operačního systému. Pro vámi navržené rozhraní popište architekturu
ovladače disku, která je schopna obsluhovat přerušení a volání z vyšších vrstev
operačního systému, včetně algoritmu ošetření přerušení a algoritmů funkcí
pro čtení a zápis bloku sektorů.

Mejme HDD, který ma registry LogicalBlockAddress, LogicalBlockCount, BufferAddress, Command, Status, RequestId. Command muze byt bud READ nebo WRITE. Pro jednoduchost predpokladejme, ze disk vystup poskytuje vľdy pomoci DMA. Pozadavek na disk spociva ve vyplneni adresovych registru a naslednem nastaveni Command registru. Nasleduje cteni Status registru, pokud není ERROR, tak disk nastavi ACCEPTED, a do RequestId registru da cislo requestu, které pridelil zadanemu pozadavku. Pote disk zahaji operaci. V prubehu zpracovani operace je mozne zadavat pozadavky na daląí operace. V okamziku, kdy je operace dokoncena, nastavi disk Command=D ONE, ReuqestId na cislo dokonceneho reuestu a vyvola preruseni.
Ovladac ma bottom half a top half. Bottom half reaguje na preruseni od disku, typicky tedy precte Command=D ONE a do top half odesle pomoci fronty zpravu, ze prislusny ReuestId byl zpracovan.
Top half zpracovava synchronni pozadavky systemu, které transformuje na prikazy pro bottom half, který je predava disku. Atomicitu pristupu k registrum disku zajistuje bottom half. Jakmile je pozadavek odeslan disku, top half ceka blokujicim zpusobem, az prijde z bottom half informace o precteni.

Neni tam napsane, ze pri tom zadavani pozadavku do disku je aktivni cekani na Command registru.

no nakodis si prv ten algoritmus na riesenie preruseni, co je samotne dost easy, proste mas tam nejaky handler na prerusenia, ktory ti do nejakej pamate uklada pointer do user space na parametre poziadavky, alebo to riesis tak ze mas nejaku frontu poziadavkov a do kernel space si ukladas tieto poziadavky
v principe jedno kde si to drzis. Spravis bottom half ako handler toho disku, top half toho volania bude ze kernel najebe niekam do kernel space nas poziadavok. Bottom half handler jednoducho zobere poziadavky zmakne ich, usorti, jebne ich postupne disku a na pozadovanu adresu v userspace zapise data.

cize top half bude robit kopiu poziadavkov z userspace do kernel space
aby si mal "viac poziadavkov paralalene"

ten bottom half to potom vyzere z tej fronty, pripadne si tam spravis kernel vlakno co sa bude zobudzat na poziadavok, to je vec navrhu
on tu frontu zamkne zosorti aby mohol na to aplikovat nejaku politiku skopiruje, vyprazdni vykona
top halfami proste do tej fronty nasypes, to musis aj tak zamykat
na disk i/o take bezne ti myslim jedna fronta bohate staci alebo to mozes cez tie servlety co je vlastne to iste v blede modrom
write a read je user space iface
v kerneli budes mat nieco na odchytavanie interuptu(pomocou taskletov by to bolo lepsie). proste kernel ten BH alebo tasklet zaradi do fronty a casom ho vykona
preto sa to vola dereferred work.

nacitas bordel z disku, nasypes to procesom a mas v pici
a v tom BH bude ta samotna praca s tym bufferom, locknutie, nakopcenie z userspacu a nakopcenie na disk

a TH bude riesit komunikaciu medzi kernel a user spacom

Not solved (help needed):

Kód: Vybrat vše

4. Consider a system using 32 bit virtual and 32 bit physical addresses. Choose
and describe a way the processor in this system should translate virtual addresses
to physical. Choose a page size and explain what kind of operation is
the page size well suited for.
Design a data structure for mapping virtual addresses to physical and describe
in detail all the records used in the structure. When designing the data structure,
take into account the choice of the address translation mechanism and
explain, why is the resulting data structure well suited for the system.
Describe the involvement of the operating system in the process of translating
a virtual address to physical (if any), and provide a sketch of the algorithms
for handling a page fault and selecting a page for eviction.

5. Consider the previous example except the system is using 32 bit virtual and 36
bit physical addresses.

6. Consider the previous example except the system is using 54 bit virtual and 44
bit physical addresses.

8. Popište strukturu systému souborů FAT na disku. Ilustrujte použití této struktury
v operacích čtení dat ze souboru při zadané cestˇe a jménu souboru a pozici
a délce dat v souboru a zápisu dat do nově vytvořeného souboru při zadané
cestˇe a jménu souboru a délce dat. Uveďte přednosti a nedostatky tohoto systému
souborů.

9. Popište strukturu systému souborů EXT2 na disku. Ilustrujte použití této
struktury v operacích čtení dat ze souboru při zadané cestě a jménu souboru a
pozici a délce dat v souboru a zápisu dat do nově vytvořeného souboru při
zadané cestě a jménu souboru a délce dat. Uveďte přednosti a nedostatky
tohoto systému souborů.

10. Navrhněte systém souborů, který je schopen efektivně podporovat neomezeně
dlouhá jména souborů a linky. Popište strukturu dat ukládaných na disk a
algoritmy přečtení a zapsání dat z a do souboru daného jménem včetně cesty
a pozicí v rámci souboru. Vysvětlete přednosti vašeho návrhu.

11. Navrhněte systém souborů, který je schopen efektivně podporovat velmi
krátké i velmi dlouhé soubory. Popište strukturu dat ukládaných na disk a
algoritmy přečtení a zapsání dat z a do souboru daného jménem včetně cesty
a pozicí v rámci souboru. Vysvětlete přednosti vašeho návrhu.
Návštěvník

Re: Vypracované otázky z Operačných systémov

Příspěvek od Návštěvník »

Jo a zdroj je studnice, za korektnost nerucim.
Uživatelský avatar
luk
Matfyz(ák|ačka) level II
Příspěvky: 74
Registrován: 6. 6. 2005 18:32
Typ studia: Informatika Mgr.
Bydliště: Praha

Re: Vypracované otázky z Operačných systémov

Příspěvek od luk »

gASK píše:Díky, luku.
S dovolením jsem to mergnul do toho pamfletu co jsem stvořil. Je teď updatnutej. :wink:
No jasně :)
Zkusím přidat další díl...

Kód: Vybrat vše

70. Procesy nepracují přímo s fyzickou pamětí počítače. Místo toho se jejich virtuální adresní prostor mapuje na fyzický. Pro tyto účely jsou jak virtuální tak fyzický prostor rozděleny do bloků relativně malé pevné velikosti (stránek). Fyzické i virtuální stránky jsou stejně velké. Když proces přistupuje na nějakou adresu, tak ta se nejprve přeloží na fyzickou a s tou se teprve pracuje. Problém je právě v tom překladu a na to je potřeba podpora HW a OS. HW musí vědět, že adresy jsou virtuální a musí mít nějakou jednotku, která se stará o překlady. OS musí dát HW k dispozici data k překladu (stránkovací tabulky). Musí tyto tabulky vyplňovat a udržovat, přepínat je při přepnutí paměťového kontextu a případně taky stránky swapovat.
71. Při překladu adresy se vezme počáteční úsek bitů adresy a zkusí se vyhledat v TLB. Délka tohoto úseku závisí na velikosti stránky a samozřejmě na délce adresy (při 32bit adresách, 4kB stránkách je to 20 bitů). Pokud se mapování v TLB najde, tak se k číslu rámce z TLB přičte zbytek bitů adresy, které tvoří offset do stránky a to dá výslednou fyzickou adresu.
Bity, které typicky ještě ovlivňují vyhledávání: 
Global bit - mapování je globální, platí ve všech adresních prostorech
ASID - Address Space Identifier, pokud není nastaven global bit, při hledání mapování se porovnává ještě identifikátor aktuálního adresního prostoru
Valid bit - Indikuje, zda je mapování platné
Present bit - Indikuje, zda je stránka v paměti, nebo je odswapovaná
Role operačního systému je udržovat TLB platnou a naplňovat jí, pokud v TLB není nalezeno mapování. 
72. Při n úrovňových stránkovacích tabulkách se virtuální adresa rozdělí na n+1 úseků, z nichž prvních n (od nejvyšších řádů) slouží jako indexy do stránkovacích tabulek příslušné úrovně a poslední úsek je opět offset do stránky. První úsek slouží jako index do adresáře stránkovacích tabulek, který jediný musí být vždy namapovaný. Flagy jsou podobné jako u TLB. Role systému je vyplňování a udržování stránkovacích tabulek a taky přepnutí adresáře stránek při přepínání paměťového kontextu. 
89. Tady už někdo odpovídal
96. Od heap alokátoru se typicky očekává rychlost a volá se často, proto by bylo neefektivní na každé jeho zavolání ještě přikládat celou režii kolem syscallů. To je podle mne hlavní důvod.
109. Nejsem si úplně jistý, co tu chce všechno mít, ale tak nástřel:
Uživ. vlákno vyvolá obslužnou funkci přes rozhraní systémových volání (syscall, int 80h, ...). Tím vstoupí do režimu jádra a zde zavolá potřebnou rutinu na ovladači zařízení.Ta vloží požadavek do fronty požadavků (což případně může znamenat nějaké čekání na zámku, protože o frontu se perou jak další procesy, které něco chtějí, tak asynchronní obsluha zařízení, která z ní tahá požadavky po vyřízení předchozích). Poté se volající vlákno uspí a čeká na vyřízení svého požadavku. Po vyřízení ho asynchronní obsluha přerušení vzbudí, vlákno případně ještě někam přeuloží získaná data, vrátí se z rutiny ovladače a opustí režim jádra. 
120. Hm, asi odešli data někam, scatter-gather, nějaké kontrolní součty
152. SFQ se používá v situaci, kdy se spousta datových toků pere o jednu šířku pásma. Funguje to tak, že algoritmus se navenek (pro datové toky tváří), že každý má svou frontu, do které cpe data, a ty se round-robin procházejí a odesílají se z nich data. Ve skutečnosti má ale relativně málo front a identifikace jednotlivých toků na ně hašuje. Protože takhle samozřejmě může docházet ke kolizím, tak čas od času mění hašovací funkci, aby žádné dva toky příliš dlouho nepadaly do stejné fronty. 
Toliko moje nástřely k nezodpovězeným otázkám, snad to bude co platné. Hodně štěstí ke zkoušce! :)
Luk
df
Matfyz(ák|ačka) level III
Příspěvky: 194
Registrován: 5. 6. 2006 11:55

Re: Vypracované otázky z Operačných systémov

Příspěvek od df »

macbeth píše:Ahojte, trochu sa mi pletu pojmy blocking/synchronous a non-blocking/asynchronous volania. Nema niekto pekny priklad, na ktorom by to ozrejmil? :oops:

Bo mne sa zda ako nemozne, aby napriklad existovalo neblokujuce synchronne volanie, kedze (podla skript)
a) the procedure is non blocking when they do not wait before returning
b) the procedure that sends a message can not return until the message is received

Ako mozem zaroven (1) necakat pred navratom a (2) nevratit sa, kym je sprava dorucena...?

Na prednaske bol na toto priklad vyuzitia call-back fcie...

blokovaci recv + je zprava = vem si zpravu
blokovaci recv + neni zprava = cekej na zpravu
neblokovaci recv + je zprava = vem si zpravu
neblokovaci recv + neni zprava = zahlas chybu

synchronni send + jsou prostredky = posli zpravu
synchronni send + nejsou prostredky = pockej az muzes protlacit celou zpravu
asynchronni send + jsou prostredky = posli zpravu a je ohlasen success
asynchronni send + nejsou prostredky = posli zpravu o level niz, dej tam callback nebo notifikacni event, hned vylez a zahlas pending

takze neblokujuce synchronne volanie je v poradku, pokud jsou prostredky na odbaveni
Uživatelský avatar
Trupik
Matfyz(ák|ačka) level III
Příspěvky: 251
Registrován: 3. 1. 2005 14:45
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: Vypracované otázky z Operačných systémov

Příspěvek od Trupik »

Teda kdyby se našla dobrá duše, která by věděla, jak na ty zbylé exercises...
Já nemůžu, já mám z kernelů panickou hrůzu :roll:
Domovská stránka: http://www.jakubmaly.cz/, blog: http://blog.jakubmaly.cz/
Petice proti olympiádě http://olympiada.nazory.cz

Come on you target for faraway laughter,
Come on you stranger, you legend, you martyr, and shine!
df
Matfyz(ák|ačka) level III
Příspěvky: 194
Registrován: 5. 6. 2006 11:55

Re: Vypracované otázky z Operačných systémov

Příspěvek od df »

me spis nez excercises desi kvalita odpovedi u normalnich otazek
namatkou treba

40. Explain what is a race condition.

ale je toho moc :(
Uživatelský avatar
macbeth
Matfyz(ák|ačka) level III
Příspěvky: 201
Registrován: 11. 2. 2005 14:48
Typ studia: Informatika Mgr.
Bydliště: PPraha
Kontaktovat uživatele:

Re: Vypracované otázky z Operačných systémov

Příspěvek od macbeth »

Tie cvicenia 4., 5. a 6. sa daju urobit podla prikladov v tom dokumente, ktory je na tumovych strankach. V 4. staci urobit nejake klasicke mapovanie 32 virt -> 32 bitov fyzickej addr, pri 5. -- staci si spomenut na PAE pri Pentiu pro, tam je presne 32bit virtual -> 36 bit physical a 6. zasa podla IA64, tam je zasa presne 54bit virtual -> 44bit physical addr...

A este by som chcel upozornit, ze podla mna v ulohe 51. je prezentovany chybny algoritmus na zamky, taky, ktory postrada vlastnost 'safe', pricom v zadani je iba ze moze postradat liveness a fairness... ja by som tam namiesto neho asi dal

Kód: Vybrat vše

while (AtomicSwap (bCriticalSectionBusy, true))
 {
   // Active waiting cycle until the
   // value of the bCriticalSectionBusy
   // variable has changed from false to true
 }
 // Code of critical section comes here
 ...
 bCriticalSectionBusy = false;
a co sa tyka kvality odpovedi, napriklad je fakt, ze pri race condition toho ani v skriptach nie je ovela viac, konkretne asi toto:
When concurrently executing processes communicate among themselves or use shared resources, they can obviously influence each other. This influence can lead to errors that only exhibit themselves in certain scenarios of concurrent execution. Such errors are called race conditions.
Nieco, co by nejavilo ziadne znamky bytia, teda by sa nijak neprejavovalo ako sucno, by nebolo niecim, ale prave nicim...
gASK
Admin(ka) level I
Příspěvky: 635
Registrován: 9. 6. 2005 12:33
Typ studia: Informatika Mgr.
Bydliště: Konečně Vinohrady:)
Kontaktovat uživatele:

Re: Vypracované otázky z Operačných systémov

Příspěvek od gASK »

Ok, updatnul jsem to trochu, jsou tam i mírné změny ode mne, pročítám si to zároveň se skripty a sem tam něco umažu či doplním (moc toho ale není).

Díky všem za cokoliv, co výše vypracovali :wink:
When life gives you crap, make crap golems.
Návštěvník

Re: Vypracované otázky z Operačných systémov

Příspěvek od Návštěvník »

macbeth píše: pri 5. -- staci si spomenut na PAE pri Pentiu pro, tam je presne 32bit virtual -> 36 bit physical a 6. zasa podla IA64, tam je zasa presne 54bit virtual -> 44bit physical addr...

Mozes nejak upresnit ako sa z 32 bitovej vyrobi 36bitova PA? a takisto z 54 PA 44 VA z tych poznamok niesom velmi mudry...
Uživatelský avatar
macbeth
Matfyz(ák|ačka) level III
Příspěvky: 201
Registrován: 11. 2. 2005 14:48
Typ studia: Informatika Mgr.
Bydliště: PPraha
Kontaktovat uživatele:

Re: Vypracované otázky z Operačných systémov

Příspěvek od macbeth »

Nieco, co by nejavilo ziadne znamky bytia, teda by sa nijak neprejavovalo ako sucno, by nebolo niecim, ale prave nicim...
Uživatelský avatar
xstyler
Matfyz(ák|ačka) level II
Příspěvky: 66
Registrován: 29. 1. 2005 12:27
Typ studia: Informatika Bc.
Bydliště: EU

Re: Vypracované otázky z Operačných systémov

Příspěvek od xstyler »

Zdravím všetkých. Zajtra ráno o 9.30 bude v menze na koleji Trója stretnutie na tému OS. Veľké príklady, prípadne malé príklady. Kto chcete dojdite. Zatiaľ nás je 4-6.
Uživatelský avatar
Trupik
Matfyz(ák|ačka) level III
Příspěvky: 251
Registrován: 3. 1. 2005 14:45
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: Vypracované otázky z Operačných systémov

Příspěvek od Trupik »

xstyler píše:Zdravím všetkých. Zajtra ráno o 9.30 bude v menze na koleji Trója stretnutie na tému OS. Veľké príklady, prípadne malé príklady. Kto chcete dojdite. Zatiaľ nás je 4-6.
Já přijdu, ale moc ode mne nečekejte:(
Domovská stránka: http://www.jakubmaly.cz/, blog: http://blog.jakubmaly.cz/
Petice proti olympiádě http://olympiada.nazory.cz

Come on you target for faraway laughter,
Come on you stranger, you legend, you martyr, and shine!
Uživatelský avatar
macbeth
Matfyz(ák|ačka) level III
Příspěvky: 201
Registrován: 11. 2. 2005 14:48
Typ studia: Informatika Mgr.
Bydliště: PPraha
Kontaktovat uživatele:

Re: Vypracované otázky z Operačných systémov

Příspěvek od macbeth »

Ak by ste to stihli, mohli by ste, prosim, potom aspon resume z tych veci, na ktore pridete, dat na forum? Bol by som vam vdacny, lebo troja je daleko :)
Nieco, co by nejavilo ziadne znamky bytia, teda by sa nijak neprejavovalo ako sucno, by nebolo niecim, ale prave nicim...
Keleen
Matfyz(ák|ačka) level II
Příspěvky: 90
Registrován: 19. 1. 2005 22:20

Re: Vypracované otázky z Operačných systémov

Příspěvek od Keleen »

Mno ja nevim, ale prochazel jsem si ten I64 co pracuje s 54->44 prekladem a moc se mi to nezda...resp. to co je v tech materialech je sice bezva, ale ohledne "describe in detail all the records used in the structure" mi celkem prijde, ze je to uplne na nic, nebo mi jen neco nedochazi?
Pokud to chapu tak oni pekne vyzdvihujou ty keye a ochranu pameti a jak je to chytre vymysleno, ale z hlediska struktur page tables to pocita s tim ze to si nekde vedle resi OS sam? Tohle proste jen resi, ze pokud preklad neni v TLB tak se mrknu do VHPT a kdyz neni ve VHPT tak generuju page fault a OS "mi to naplni".
Ja nevim, asi mi neco nedocvakava a nebo mi prijde, ze pointa, ktera ma byt naplni odpovedi na otazku vubec v tech materialech o ia64 pro tenhle preklad neni.Kdyztak me nekdo kopnete spravnym smerem, diky:).
Odpovědět

Zpět na „SWI004 Operační systémy“