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.

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

Příspěvekod xstyler » 24. 1. 2008 11:03

Zjavne nie sme prví, ktorí sa potýkajú s menovaným problémom. Nech žije(ú) neznámy(i) autor(i) nasledujúceho diela!
Přílohy
Questions&Answers.zip
(170.75 KiB) 256 krát
Naposledy upravil xstyler dne 24. 1. 2008 12:28, celkově upraveno 3
Uživatelský avatar
xstyler
Matfyz(ák|ačka) level II
 
Příspěvky: 66
Registrován: 29. 1. 2005 12:27
Bydliště: EU

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

Příspěvekod gASK » 24. 1. 2008 14:10

Prošel jsem ty materiály a spojil všechny vědomosti v nich k letošním otázkám do jenoho HTML dokumentu.

Tady je seznam těch, které tam nejsou.

Zatím seznam otázek, které tam nejsou nebo se mi je tam nedaří dohledat.
Kód: Vybrat vše
89. Identify where the following function relies on the virtual address space to store executable code, static data, heap and stack.
void *SafeAlloc (size_t iSize)
{
void *pResult = malloc (iSize);
if (pResult == NULL)
{
printf ("Failed to allocate %z bytes.\n", iSize);
exit (ENOMEM);
}
return (pResult);
}


A seznam těch, které jsou neúplné / jiné:
Kód: Vybrat vše
7. Explain what the interface between processes and the operating system looks like, both for the case when the operating system code resides in the user space and for the case when the operating system code resides in the kernel space.

13. Using a step by step description of a context switch, show how an implementation of threads in the user space and an implementation of threads in the kernel space differ in the way the context is switched. Na popisu přepnutí kontextu krok po kroku ukažte, jak se implementace vláken v uživatelském prostoru a implementace vláken v prostoru jádra liší ve způsobu přepínání kontextu.


Bylo by fajn, kdyby se nám povedlo je nějak doplnit, případně učesat a doplnit to HTML (je to naplácaný za dvě hodiny, můžou tam bejt blbosti či duplicity).
When life gives you crap, make crap golems.
Uživatelský avatar
gASK
Admin(ka) level I
 
Příspěvky: 635
Registrován: 9. 6. 2005 11:33
Bydliště: Konečně Vinohrady:)
Typ studia: Informatika Mgr.
Login do SIS: BUREJ3BM

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

Příspěvekod xstyler » 24. 1. 2008 15:51

To bude super!!! Díky!
Uživatelský avatar
xstyler
Matfyz(ák|ačka) level II
 
Příspěvky: 66
Registrován: 29. 1. 2005 12:27
Bydliště: EU

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

Příspěvekod gASK » 24. 1. 2008 15:54

Je to tam. Není to žádný zázrak, jen jsem to vytřídil a překopíroval do jednoho HTML. Teď to trochu učešu.

Chybí tam 13 otázek a dvě jsou neúplné. Možná i další, nevím, nečetl jsem to dopodrobna. :wink:
When life gives you crap, make crap golems.
Uživatelský avatar
gASK
Admin(ka) level I
 
Příspěvky: 635
Registrován: 9. 6. 2005 11:33
Bydliště: Konečně Vinohrady:)
Typ studia: Informatika Mgr.
Login do SIS: BUREJ3BM

Zk. otazka z 3. 2: Where the following function relies on...

Příspěvekod David » 24. 1. 2008 20:26

Ahoj,

nevite nahodou nekdo odpoved na tuhle otazku?

Kód: Vybrat vše
Identify where the following function relies on the virtual address space to
store executable code, static data, heap and stack.

void *SafeAlloc (size_t iSize)
 {
    void *pResult = malloc (iSize);
    if (pResult == NULL)
    {
      printf ("Failed to allocate %z bytes.\n", iSize);
      exit (ENOMEM);
    }
    return (pResult);
 }


Napada me neco jako ze kod a static data na zacatku virtualni pameti, za tim heap. Na konci stack. Ale vubec si nejsem jisty, jestli je tohle odpoved na danou otazku... :)
David
Matfyz(ák|ačka) level II
 
Příspěvky: 80
Registrován: 7. 11. 2004 18:57

Zk. otazka (devices): Obvykly prubeh systemoveho volani

Příspěvekod David » 24. 1. 2008 20:36

Jeste jsem narazil na tuhle zaludnou otazku:

Kód: Vybrat vše
 Popište obvyklý prubeh systémového volání jako synchronního pozadavku na obsluhu software ovladacem zarizeni. Predpokládejte obvyklou architekturu ovladace, kde spolu asynchronnie a synchronne volané cásti ovladace komunikují pres sdílenou frontu požadavku. Prubeh popište od okamžiku volání do okamžiku ukoncení obsluhy. Každý krok popište tak, aby bylo zrejmé, kdo jsou jeho úcastníci a kde získají informace potrebné pro vykonání daného kroku.


Tady me teda nenapada nic moc, co bych tam napsal. Proste uzivatelsky program / vlakno zavola nejakou synchronni funkci, pokud zpracovani pozadavku bude nejakou dobu trvat, uspi se, pozadavek se da do fronty, bottom half cast ovladace vyzvedne pozadavek a preda ho zarizeni. Az bude mit zarizeni hotovo, posle interrupt. Ten se zpracuje, bottom half cast preda vysledek. Ale asi by to melo byt podrobneji...
David
Matfyz(ák|ačka) level II
 
Příspěvky: 80
Registrován: 7. 11. 2004 18:57

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

Příspěvekod gASK » 24. 1. 2008 21:27

Mergnul jsem to sem. Pokud bysme pro každou z těch 163 otázek zakládali vlastní téma ....

Tady se stejně budou muset nějak vyřešit. :wink:
When life gives you crap, make crap golems.
Uživatelský avatar
gASK
Admin(ka) level I
 
Příspěvky: 635
Registrován: 9. 6. 2005 11:33
Bydliště: Konečně Vinohrady:)
Typ studia: Informatika Mgr.
Login do SIS: BUREJ3BM

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

Příspěvekod jaruch » 24. 1. 2008 22:13

to gask>
Ako si to mergoval to co mas na strankach? Aj si kontroloval, ako sa zmenili od minuleho roku a doplnil nove/ zmenene znenia, ci si len spojil tie subory, co su na studnici? Bo ja som sa o to snazil dnes poobede, ale od devices tam bolo sa mi zda akosi vela rozdielov a ked som videl, ze uz si cosi spravil, tak som to nechal tak...
Inak asi by bolo dobre, keby sme tie vacsie otazky a hlavne exercises co chybaju nejako... dali dokopy, mozno si rozdelili co kto spravi a tak.
Shit shit, who the fuck is shooting us?
I've got a universe to master...
Uživatelský avatar
jaruch
Supermatfyz(ák|ačka)
 
Příspěvky: 380
Registrován: 5. 2. 2005 14:06
Typ studia: Informatika Mgr.

Re: Zk. otazka z 3. 2: Where the following function relies on...

Příspěvekod rastik » 24. 1. 2008 22:32

David píše:Ahoj,

nevite nahodou nekdo odpoved na tuhle otazku?

Kód: Vybrat vše
Identify where the following function relies on the virtual address space to
store executable code, static data, heap and stack.

void *SafeAlloc (size_t iSize)
 {
    void *pResult = malloc (iSize);
    if (pResult == NULL)
    {
      printf ("Failed to allocate %z bytes.\n", iSize);
      exit (ENOMEM);
    }
    return (pResult);
 }


Napada me neco jako ze kod a static data na zacatku virtualni pameti, za tim heap. Na konci stack. Ale vubec si nejsem jisty, jestli je tohle odpoved na danou otazku... :)

Ja som u jednotlivých vecí označil o čo ide. Teda u parametrov funkcie, lokálnych premenných a volaní ďalších funkcií ide o zásobník, ten reťazec sú statické dáta, volanie funkcií je kód (vlastne celé je to kód) a pri práci s pResult ide o haldu.
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
 
Příspěvky: 661
Registrován: 19. 10. 2005 20:45
Bydliště: Praha
Typ studia: Informatika Mgr.
Login do SIS: wartr3am

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

Příspěvekod gASK » 24. 1. 2008 23:33

jaruch píše:to gask>
Ako si to mergoval to co mas na strankach? Aj si kontroloval, ako sa zmenili od minuleho roku a doplnil nove/ zmenene znenia, ci si len spojil tie subory, co su na studnici? Bo ja som sa o to snazil dnes poobede, ale od devices tam bolo sa mi zda akosi vela rozdielov a ked som videl, ze uz si cosi spravil, tak som to nechal tak...
Inak asi by bolo dobre, keby sme tie vacsie otazky a hlavne exercises co chybaju nejako... dali dokopy, mozno si rozdelili co kto spravi a tak.


Krok 1 - sepsal jsem všechny otázky ze současných skript.
Krok 2 - otázku po otázce jsem prošel ty materiály a byla-li tam na přesně tu samou otázku odpověď, dal jsem ji tam (když jich bylo více, dal jsem je tam za sebou). Otázky jsem nepřepisoval, nechal jsem ty co byly, takže znení otázek jsou aktuální.
Krok 3 - U otázek, co tam nebyly, jsem zkusil najít něco, co by jim odpovídalo. (Povedlo se jen u jedné)

Ty otázky byly hlavně dost promíchané loni. Jinak se jich tam většina objevila ve stejném znění.
When life gives you crap, make crap golems.
Uživatelský avatar
gASK
Admin(ka) level I
 
Příspěvky: 635
Registrován: 9. 6. 2005 11:33
Bydliště: Konečně Vinohrady:)
Typ studia: Informatika Mgr.
Login do SIS: BUREJ3BM

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

Příspěvekod jaruch » 24. 1. 2008 23:42

good work :wink:
Shit shit, who the fuck is shooting us?
I've got a universe to master...
Uživatelský avatar
jaruch
Supermatfyz(ák|ačka)
 
Příspěvky: 380
Registrován: 5. 2. 2005 14:06
Typ studia: Informatika Mgr.

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

Příspěvekod macbeth » 26. 1. 2008 19:08

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...
Nieco, co by nejavilo ziadne znamky bytia, teda by sa nijak neprejavovalo ako sucno, by nebolo niecim, ale prave nicim...
Uživatelský avatar
macbeth
Matfyz(ák|ačka) level III
 
Příspěvky: 201
Registrován: 11. 2. 2005 14:48
Bydliště: PPraha
Typ studia: Informatika Mgr.

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

Příspěvekod David » 26. 1. 2008 19:40

macbeth píše:Bo mne sa zda ako nemozne, aby napriklad existovalo neblokujuce synchronne volanie, kedze (podla skript)


A co kdyz by na nic necekalo? Kdyz by dana operace byla rychla? To by se pak volajici vlakno nemuselo uspavat - volani by bylo neblokujici. A zaroven by byla akce provedena pred navratem z volani - tedy bylo by to synchronni. Jinak si to predstavit neumim.
David
Matfyz(ák|ačka) level II
 
Příspěvky: 80
Registrován: 7. 11. 2004 18:57

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

Příspěvekod luk » 27. 1. 2008 01:16

Zdravím, zkusil bych doplnit odpovědi, k některým z těch otázek na seznamu nezodpovězených :) Nejsou to tedy asi přímo odpovědi, které by člověk měl napsat do písemky, ale spíš takové hinty, aby ho to postrčilo dál. Snad se budou někomu hodit:
Kód: Vybrat vše
14. Interaktivní procesy většinu času čekají na vstup a nic nedělají, ale pokud se něco stane, na co mají reagovat, musí se ke slovu dostat rychle. Naproti tomu, akce, kterou musí provést je typicky nenáročná a stačí jim kratší kvanta.
Dávkové procesy to mají přesně naopak. Většinu času něco počítají a, aby pracovaly trochu efektivně (měly data v cache apod.), potřebují, aby je chvilku nikdo nepřerušoval -> vyžadují delší kvanta. Na druhou stranu nepotřebují být plánovány rychle.
43. Vynechání volatile by mohlo vadit například u stavové proměnné zámku. Pokud by se překladač, nedej Bože, rozhodl práci s ní vyoptimalizovat a nechat její hodnotu jen v registru, protože se stejně za chvíli zase bude měnit, tak zámky přestanou fungovat. Volatile tenhle druh optimalizace zakáže.
57. Wait-free algoritmus zaručuje, že všechny zúčastněné procesy skončí v konečném počtu kroků
68. Interní fragmentace nastává, pokud uživatel dostane větší blok paměti, než si objednal / využívá. To se stává například u heap alokátorů, které umí přidělovat bloky jen o velikostech v násobcích nějaké konstanty. Například buddy systém, který umí jen mocniny dvojky může docílit toho, že proces chce 17B paměti, ale dostane 32B, tedy skoro 50% interní fragmentace. Řešení zas tak moc asi není, jenom přidělovat bloky co nejbližších velikostí jako požadované. Uživatel typicky neví, že má víc paměti, než chtěl, tak s tím moc neudělá.
69. Externí fragmentace spočívá v tom, že v paměti jsou mezi velkými bloky roztroušeny malé, které jsou ale tak malé, že je nikdo nechce. V součtu má tedy systém stále hafo volné paměti, ta je ale rozdrobena do nepoužitelných kousků. Stává se to například zase u těch heap alokátorů, když se hodně alokuje / uvolňuje. Řešení je například bloky setřepat a tím volné místo spojit, to ale jde jenom tehdy, pokud v kódu nejsou absolutní adresy.


No, to je dnešní první díl. Už na to nevidím, tak půjdu spát, ale zkusím sem ještě něco připsat.
Luk
Uživatelský avatar
luk
Matfyz(ák|ačka) level II
 
Příspěvky: 74
Registrován: 6. 6. 2005 17:32
Bydliště: Praha
Typ studia: Informatika Mgr.

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

Příspěvekod xstyler » 27. 1. 2008 09:06

Diky, Luku! Chcel som sa spýtať, či si náhodou niekto z vás nerieši i tie Exercises. Že by sem potom hodil riešenia. Dík!
Uživatelský avatar
xstyler
Matfyz(ák|ačka) level II
 
Příspěvky: 66
Registrován: 29. 1. 2005 12:27
Bydliště: EU

Další

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

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník

cron