Ovu stranicu je najbolje pregledavati u modernom internet pregledniku s omogućenim JavaScriptom.

[OPESUS] Završni ispit - 2019/2020

AnamarijaM

Avendo Oduvijek je bilo teorije, samo je sad Golub na zadnjim konzultacijama rekao da je nama vjerojatno nece stavit posto su nas pitali vec to sve preko bliceva.


mihamih

kolko sam ja skuzio ovi primjeri završnih su zapravo stari zavrsni, na jednom cak pise datum, tako da mislim da to sta ima teorije na njima nas nebi trebalo zabrinjavat ako je golub rekao da teorije vjv nece bit


Daorson

Koji videi s youtube kanala ulaze u zavrsni ispit?https://www.youtube.com/playlist?list=PL5Jyl3Lahn6wdcgjkjj2jMF-CEyqSMzXq


lup

Daorson svi
link ti je strgan


Rene

Zašto je ovdje aktivna dretva na kraju dretva 2? Piše da su redovi po redu prispijeća, a postavi_bsem prvo skloni aktivnu u pripravne, pa onda ovu iz reda semafora, pa onda prvu iz pripravnih postavi u aktivnu, a to bi valjda onda bila ponovo dretva 1?


Krpa1

Rene Ne, zato što dretva 1 dva puta zove PostaviBsem(1). Kad ga prvi put pozove prvo se dretva 1 prebaci u pripravne, a onda se dretva 2 prebaci u pripravne. Dakle nakon prvog poziva red pripravnih je dretva 1 pa dretva 2 i onda aktivna dretva postaje dretva 1. Onda dretva 1 ponovno pozove PostaviBsem(1) i dogada se sljedece. Prvo se dretva 1 prebaci u pripravne (u kojima je na prvom mjestu dredtva 2 koja je tamo od prije) i onda se dretva 3 prebaci u pripravne. Tada red pripravnih izgleda ovako: 2 pa 1 pa 3. Onda se aktivira prva iz reda pripravnih tj dretva 2, a u redu pripravnih ostanu 1 i 3.


Asdf

Može netko objasniti što se ovdje događa s ovim crvenim strelicama i ovo -1


Hrvoje

Asdf
-1 nije bitno za nase gradivo(?), a crveni bridovi su oni koji su uklonjeni zbog tranzitivnosti, npr:
z4 ovisi o z2,
z5 ovisi o z2,
z5 ovisi o z4, znaci da z5 nemora direktno ovisiti o z2 jer ovisi o z4 koji ovisi o z2


AnamarijaM

Hrvoje45 -1 je iz crtanja automata kao npr na utru, ne moramo to na ispitu.


Rene

Janez Joj da, još pišem po redu prispijeća a u glavi mislim da je prioritet. Hvala!


HARAmara


Može li netko pojasniti ovaj


helenic

decko_sa_balkana
for (i = 1 ; i < = 3 ; i++) fork() ; — > iz ove for petlje izlazi ukupno 8 procesa
Na početku imaš jedan proces recimo GP - glavni proces, on jedini ulazi na početku u petlju i radi ovako:

i = 1
GP stvori jedan novi proces P_GP_1 i oba nastavljaju dalje
i = 2
GP stvori jedan novi proces P_GP_2 i P_GP_1 (jer se stvorio kad je i = 1) stvori jedan novi proces P_GP_1_1
i = 3
GP stvori još jedan novi proces P_GP_3
P_GP_1 stvori još jedan proces P_GP_1_2
P_GP_2 stvori još jedan novi proces P_GP_2_1
P_GP_1_1 stvori još jedan proces P_GP_1_1_1

I na kraju imaš : GP, P_GP_1, P_GP_2, P_GP_3, P_GP_1_1, P_GP_1_2, P_GP_2_1, P_GP_1_1_1

Oznake sam napisao hijerarhijski da skužiš koji proces šta stvara.. (roditelj_dijete)

I onda ti zapravo do druge for petlje dođe 8 procesa, tj 8 dretvi, i svaki od njih stvori još po 3 dretve, tako da bih rekao da je odgovor da na kraju budu 32 dretve.

***
Zapravo ti nije toliko bitno kad tko dolazi cini mi se, pogledaj neki općeniti slučaj, a nekako se možda može naći najgori..
Al recimo da oba dolaze u istom trenutku u 0. ms. I ja bih rekao da je ovo sa sklopom za prihvat prekida, samo veći prioritet prekida niži.

  1. ms —> pojave se P1 i P2 , znači kontrolne zastavice u oba postavljene na 1, a prihvati se P1, P2 čeka
    P1 odradi svoje, znači 0.1 ms za prihvat, 2 ms obrada i 0.1 ms izlazak iz prekida, znači 2.2 ms. U toj 2.2 ms se odmah i ulazi u ovu proceduru za određivanje prioriteta prekida za P2, znači jos 0.1ms, u 2.3 ms se počne obrađivati P2, i obrađuje se do 10. ms znači 7.7 ms, tada dođe još jedan P1, obradi se za 2.2ms, i nastavi P2 još 2.3ms, izadje za 0.1 ms, i prvi put nakon čini mi se 14.6 ms procesor nema šta raditi sve do 20.ms, onda dođe P1, obradi se sa 2.2ms, pa procesor opet slobodan ostatak vremena tj 7.8ms, i tako još jednom u 30. ms i obradi se za 2.2 ms i procesor slobodan 7.8ms, i nakon toga se opet ponavlja početak, znači u 40ms procesor bude slobodan 2 * 7.8 + 5.4 ms, cca 21ms, znači da u 200 ms bude slobodan 105ms, pa znači da bi se mogao staviti program od 45 ms.. Ovako ja mislim da je ok, ali neka netko potvrdi jer je ovako napamet bez crtanja ili me ispravi ako griješim

Gocc

kako znati koji prekid ce doci u 0.sekundi, a mogu i oba? je li to svejejedno? i je li povratak iz prekida traje isto 0.1?


Gocc

helenic Tako sam i ja mislila, možda bi i sva rješenja prihvatili.


Sulejman

helenic I onda ti zapravo do druge for petlje dođe 8 procesa, tj 8 dretvi, i svaki od njih stvori još po 3 dretve, tako da bih rekao da je odgovor da na kraju budu 32 dretve.

8*3=24? ili sam ja neš krivo skužio


helenic

*** Ma da slažem se, da je zadano tipa u 90ms može li se izvesti ili neko granično vrijeme onda bi vjerojatno naglasili koji poredak itd, ali ovdje ostane za 2 takva procesa, još i više 😅


Avendo

Kako su tu dobili k (faktor preplitanja)


viliml

Avendo Pa koja je definicija faktora preplitanja? Fizička udaljenost logički susjednih sektora. Ako glava prijeđe 4.2 sektora za vrijeme prijenosa onda mora biti 5 sektora između 2 logički susjedna, dakle ukupna udaljenost je 6.


helenic

Avendo

Mislim da to nismo radili i da se faktor preplitanja od nas neće tražiti, to što radiš su baš stare auditorne..
Ali ako te zanima mislim da ide ovako:

Prvo ovdje se prenosi jedan po jedan sektor, a kod nas u zadacima ti uvijek bude da se prenosi cijela staza u interni spremnik. Ovdje ti jedan sektor ima 512B, znači 4096 bitova, i vrijeme potrebno da se prenese jedan sektor je \frac{4096 \text{ bit}}{10^{7} \frac{\text{bit}}{\text{s}}} = 0.4096 \text{ms.} Vrijeme da se pročita samo jedan sektor, ti je \frac{\text{rotacijsko kašnjenje}}{\text{broj sektora}} = \frac{12.5 \text{ms}}{128} = 0.0977 \text{ms}.
U zadatku ti kaže da se pročita samo jedan sektor i on se prenosi, i ti trebaš naštimati taj faktor preplitanja da nemaš nikakvog praznog hoda što se tiče diska. (Disk se stalno okreće, i kad ti prenosiš jedan sektor glave se okreću)
Npr. želiš pročitati sektore 10, 11, 12, i ako su oni zapisani na disku točno tako –> 10 –> 11 –> 12, ti pročitaš 10. sektor i dok ga preneseš disk se već okrenuo i ponovno moraš čekati rotacijsko kašnjenje dok se ne dođe na 11. sektor, pa je zato bolje namjestiti da sektori idu tipa 10 . . . . 11 . . . . 12 gdje ti ove točkice predstavljaju točno koliko je sektora između, tj koliko sektora se prodje glava diska i ručica dok se ovaj jedan sektor prenese u interni spremnik.
I sad vidiš da je trajanje prijenosa sektora 0.4096 ms, a da se jedan sektor pročita treba 0.0977ms, znači da će se disk okrenuti (dok se pročitani sektor prenese u interni spremnik) za \frac{0.4096}{0.0977} = 4.1924 sektora.

To ti znači da je nakon recimo našeg 10. sektora ispod ručice “prošao” još i 11., i 12. i 13. i 14. i malo 15. sektora, i glava se trenutno nalazi na 15. sektoru.. A mi sljedeći trebamo 11. i opet trebamo čekati cijeloo rotacijsko kašnjenje da se glava vrati nazad na 11. da ga pročitamo.. E onda se više isplati složit te sektore 10 . . . . . 11 . . . . . 12 . . . . . 13 , znači da je 5 sektora između ovih koje trebamo, ne znam točno kako se to sad slaže (jer sam i ja po ovoj slici što si poslao zaključio kako se računa) ali mislim da ti je jasno zašto je taj k = 6 😃 (jer su udaljeni 6 mjesta ovi sektori koji nama trebaju).. Nisam siguran je li ovo ovako ispravno, ali ima smisla
EDIT: Dok sam pisao ti je kolega iznad odgovorio, ali možda ti posluži


WickyWinslow

Avendo Preplitanje se ne radi više na predmetu. Nije potrebno znati.


faboche

Avendo Mozes samo reci gdje si nasao ovo?


« Prethodna stranica Sljedeća stranica »