# 9. 2. Bulej

<{ForumPost(poster="mathemage", timestamp=2011-02-09 22:13:53)}>
Pokud jste si dneska nesedli do sudych lavic kvuli rozestupu, tak mate automaticky minus 10 bodu, tak bacha na to ;) :-D  
  
Quiz:  
-algoritmus ma v programu vliv na... (pocet vstupne/vystupnich operaci)  
-bankeruv algoritmus (dynamicke vyhybani se splneni vsech Coffmanovych podminek najednou)  
-Mooruv zakon (~exponencialni rust integrace tranzistoru v case) - to znamena neco jako " #tranzistoru se kazdym rokem zdvojnasobi"  
-pagefault = (~neexistence mapovani z virt. do fyz. adresy)  
-jak lze snizit compulsory/cold miss (nelze pomoci strukturalnich uprav cache)  
  
-monitor = (datova struktura s internim zamkem pro vzajemne vylouceni a operaci wait, ktera volajici proces uspi a uvolni zamek, ktery drzel)  
-starvation, cesky vyhladoveni = (~proces ceka prilis dlouho na prostredek)  
-datovy hazard = (~instrukce vyzaduje k vypoctu data, ktera jeste nejsou k dispozici)  
-TLB = (asociativni cache pro urychleni prekladu z virtualni adresy na fyzickou)  
-Programmed I/O prenos... (vykazuje nizsi latenci (oproti DMA) pri malych prenosech (radove Byty) )  
  
Melo by to byt spravne (mel jsem 10 z 10 bodu, tak by tam nemela byt zadna chybka ;)
<{/ForumPost}>

<{ForumPost(poster="mathemage", timestamp=2011-02-09 22:46:07)}>
2. cast:  
  
1) superskalarni procesor s dynamickym planovanim? Motivace, princip funkce, z ceho se sklada? Jaky muze mit problemy a jak resit?  
  
2) K cemu, proc a jak se pouziva strankovani? K cemu a jak se pouziva TLB? Jak souvisi s context switch?  
+nejaky to pocitanicko, abychom nemeli nahodou moc volnyho casu ;)  
52 b VA, 32 KiB stranka, asi 48 b FA -> popsat (s obr.) jak tam bude strankovani...mne vyslo (nerucim za to), 4-urovn. str. (1+12+12+12=VPN), offset 15 b  
dale (asi k vyse nalezenemu strankovani, nebylo to tam vyslovne napsany) #pagefaultu u 4B instrukce presunu 131200 KiB dat - ted jsem si uvedomil, ze jsem tam udelal hroznou ptakovinu : 131200:32 = 400 :( zapomnel jsem dopsat 1 uprostred :(  
  
3) rozdil mezi procesy a vlakny z pohledu OS, jak s tim souvisi context switching, co musi pro to podporovat OS a HW  
  
4) co je to sbernice, obecny prubeh, vymyslet si priklad nejakeho konkr. prubehu, synchronni a asynchronni (rozdil), co a k cemu je arbitrace - jak uskutecneno (popsat konkr. mechanismus)  
  
Je to hodne jen nacrtek, co bylo za otazky - jsem furt vyrizenej z ty 2ky, co jsem z toho dostal (skoda, ze tu misto smiley nejde dat buley) - ale az dostanu nascanovanou opravenou pisemku, tak to zadani vic "zkraslim" ;)
<{/ForumPost}>

<{ForumPost(poster="kralik", timestamp=2011-02-10 00:00:03)}>

 > -algoritmus ovlivnuje v programu... (pocet vstupne/vystupnich operaci)

Jseš si jistej, že toto je dobře?  
Taky tam totiž byla možnost "*počet instrukcí k vykonání*" (nebo tak nějak), kterou jsem dal já a přijde mi správná. Co má algoritmus společnýho s I/O operacemi?  
  
Mimochodem, zadání "*algoritmus ovlivnuje v programu ...*" je dvouznačné: není jasný, co je větný podmět a co předmět :D
<{/ForumPost}>

<{ForumPost(poster="mathemage", timestamp=2011-02-10 00:10:53)}>

 > kralik wrote:
 >  > -algoritmus ovlivnuje v programu... (pocet vstupne/vystupnich operaci)
 > 
 > Jseš si jistej, že toto je dobře?  
 > Taky tam totiž byla možnost "*počet instrukcí k vykonání*" (nebo tak nějak), kterou jsem dal já a přijde mi správná. Co má algoritmus společnýho s I/O operacemi?

No, ono totiz jsou ruzny verze otazek s ruznymi moznostmi a ruznymi spravnymi moznostmi. Bulej ma ve slidech   

 > Algoritmus -> Počet příkazů ve zdrojovém textu a počet V/V operací

viz [http://d3s.mff.cuni.cz/teaching/princip ... 2-uvod.pdf](http://d3s.mff.cuni.cz/teaching/principles_of_computers/02-uvod.pdf) slide #7  
  
Takze spravne jsou obe moznosti, jenom ja jsem mel v moznostech jen 1 z nich ;)
<{/ForumPost}>

<{ForumPost(poster="mathemage", timestamp=2011-02-10 00:29:21)}>
Jo, a takovej prikladek, kde tahle zavislost je krasne videt:  
  
SelectSort = ${\cal O}(N^2)$ cteni/zapisu  
QuickSort = ${\cal O}(N \log N)$ cteni/zapisu
<{/ForumPost}>

<{ForumPost(poster="kralik", timestamp=2011-02-10 01:00:44)}>

 > mathemage wrote:Jo, a takovej prikladek, kde tahle zavislost je krasne videt:  
 >   
 > SelectSort = ${\cal O}(N^2)$ cteni/zapisu  
 > QuickSort = ${\cal O}(N \log N)$ cteni/zapisu

To jsou ale přístupy do paměti. Ne I/O.  
Ale jako jinak jo, chápu co se tím myslí.
<{/ForumPost}>

<{ForumPost(poster="mathemage", timestamp=2011-02-12 00:05:37)}>

 > kralik wrote:
 >  > mathemage wrote:Jo, a takovej prikladek, kde tahle zavislost je krasne videt:  
 >  >   
 >  > SelectSort = ${\cal O}(N^2)$ cteni/zapisu  
 >  > QuickSort = ${\cal O}(N \log N)$ cteni/zapisu
 > 
 > To jsou ale přístupy do paměti. Ne I/O.  
 > Ale jako jinak jo, chápu co se tím myslí.

Ale tak muze se to cist a zapisovat do souboru, coz uz jsou vstupni/vystupni operace...
<{/ForumPost}>

