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

[NOS] Gradivo

bodilyfluids

Dragi prijatelj strojnog učenja

5. poglavlje

1. Unutar jezgre kod se može izvoditi u “različitim kontekstima”. Koji su to i koja ograničenja postavljaju pojedini konteksti?
Poziv jezgrine funkcije iz programa - OS se ne prebacuje u jezgrin kontekst dretve već obavlja operacije unutar konteksta pozivajućeg procesa. Iz pozvane jezgrine funkcije izravno se mogu dohvatiti podaci o pripadajućoj dretvi, odnosno procesu. Dretva može biti blokirana “unutarnjim” mehanizmima nalik “vanjskima” (semafori, monitori…). Također se može dohvatiti i jezgra, tj. njene strukture podataka i druge funkcije.
Poziv jezgrine funkcije preko prekida - Prilikom prekida sprema se kontekst prekinute dretve i aktivira se kontekst jezgre. U pravilu ovaj način rada zabranjuje korištenje blokirajućih poziva (npr. čekanje semafora), međutim u praksi se obrada prekida vrši u 2 dijela:
neophodni dio - njime započinje prekid, atomaran je, tj. ne dozvoljava prekidanje.
dodatni dio - obavlja se naknadno, dozvoljeno prekidanje.
U skripti se spominju 3 načina, jezgrin kontekst procesa, kontekst jezgrine dretve, bez konteksta dretve. Nije mi baš jasno kako se zadnja dva razlikuju jedan od drugog. Pročitajte poglavlje 5.1.
2. Što treba napraviti/koristiti ako u jezgrinoj funkciji treba pristupiti adresnom prostoru procesa?
Sljedeće se odnosi na poziv jezgrine funkcije iz programa, nisam siguran mogu li se ove metode koristiti u drugim načinima izvođenja jezgrina koda… Ako se koristi straničenje, dohvat korisničkih podataka (pretpostavljam da je to adresni prostor procesa), mora se obavljati korištenjem posebnih funkcija, copy_to_user i copy_from_user). Opisnik pripadajuće dretve i procesa može se dohvatiti varijablom current.
3. Obrada prekida naprave vrlo je bitan dio upravljanja napravom, ali može bitno utjecati i na svojstva sustava. Zbog čega? Koje mogućnosti u Linuxu stoje na raspolaganju za obradu prekida? Koja su njihova svojstva/kada ih koristiti?
Linux omogućava obradu prekida u dva dijela, u neophodnom i dodatnom dijelu. Dodatni dio može biti napravljen na 4 načina:
Red poslova (workqueue), višedretvena obrada prekida (threaded IRQs) - obavljaju se u kontekstu posebnih jezgrinih dretvi, ne izvršavaju se atomarno, tj. mogu biti blokirani.
Lagani prekid (softirq), zadačić (tasklet) - izvode se atomarno u kontekstu posebne dretve (ne piše, ali pretpostavljam jezgrine). Ne smiju se koristiti blokirajući pozivi, jednom započet zadatak mora biti dovršen.
Preporuča se korištenje prve dvije metode zbog performansi.
4. Što se smije a što ne koristiti u jezgri? Je li to ovisi o kontekstu u kojem se izvodi kod jezgre? Kako?
U atomarnom kodu (npr. obrada prekida) ne smiju se koristiti blokirajuće funkcije, niti funkcije koje traže kontekst dretve. Smiju se koristiti funkcije s radnim čekanjem (spinlock).
Kod s kontekstom smije koristiti sve interne jezgrine funkcije.
Pristupati adresnom prostoru procesa koji se izvodio prije ulaska u jezgru može se pristupiti samo ako je taj proces sam pozvao jezgrinu funkciju, (npr. čitanje iz datoteke). U tu svrhu koriste se posebne funkcije za dohvat i pohranu podataka procesa.
Jezgra nema potporu za korištenje realnih brojeva jer nisu oni potrebni za obavljanje jezgrinih zadaća.
5. Što je to modul u kontekstu jezgre Linuxa? Čemu služi?
Upravljačke programe dijelimo na dvije vrste ovisno o načinu uključenja u jezgru, permanentno (statički) ili dinamički (modul). Statički upravljački programi dolaze u cjelini s ostatkom jezgre. Moduli se mogu naknadno, po potrebi, učitati u jezgru, zatim maknuti kada više nisu potrebni. Za kompajliranje modula nije potrebno znati cijeli izvorni kod Linuxa, već njegova samo zaglavlja (.h datoteke) i postavke.
6. Navesti tri osnovne klase naprava u LInuxu.
Znakovne naprave - naprave koje čitaju/pišu niz bajtova (npr. tipkovnica, miš…).
Blokovske naprave - koriste blokove kao jedinice podataka (uglavnom naprave koje ostvaruju datotečne sustave).
Mrežna sučelja - naprave kojima je svrha ostvarenje komunikacije.
7. Koja je zadaća upravljačkog programa naprave?
Upravljački programi upravljaju napravama. Može imati i prihvat prekida, ako naprava izaziva prekide koji nisu obuhvaćeni općenitim mehanizmima. Upravljački programi sastoje se od svoje strukture podataka i funkcija. Upravljački program prima zahtjeve kroz sučelje OS-a (read(…), write(…), open(…) itd.), ovisno o vrsti zahtjeva, poziva odgovarajuću, tj. registriranu funkciju naprave.
8. Koja su uobičajena sučelja koja naprava mora ostvariti, a da bi se uklopila u Linux?
Sučelja su opisana u poglavlju 1.1.


DankJakov

anon00 Di si nasao ovo



DankJakov

Odluci li se kakav heroj za sklapanje nekakve skripte za zi, please hit me up.


gad_gadski

DnkCkv također, ako postoji neka vrijedna dusa koja se bacila u klinc s ovim nek slobodno tu posta


bodilyfluids

gad_gadski
DnkCkv
nemas kaj skriptirat IMO. Prezentacija je malo, a Jelenkovićeve skripte na kraju svakog poglavlja sadrže ogledna pitanja, Jele je rekao na zadnjem predavanju da njih možemo očekivati na ispitima.

Osim tog postoje problemski zadaci koji su se rješavali na predavanjima, to bi bilo dobro popisat


[obrisani korisnik]

Dragi prijatelj strojnog učenja jel gradivo drugog ciklusa (osim UI naprave skripte) sadržano u knjizi OS? sori nisam upućen u ovaj drugi ciklus baš


steker

Dragi prijatelj strojnog učenja imaju di ti zadatci


Retard00

Dragi prijatelj strojnog učenja Jelenkovićeve skripte

Gdje se to može nać?


bodilyfluids

steker Hmm, nisam zapravo siguran koliko ih je rješavao na predavanjima, bilo je ono sa clockovima različitih čvorova u prvom ciklusu. Za drugi ciklus je spomenuo da će doći zadaci iz RAID-a, tipa koliki je MTTF za dani sustav.


bodilyfluids

Retard00 ferweb -> materijali -> predavanja

jedna skripta za UI naprava, druga za višeprocesorske sustave


anon00

Dragi prijatelj strojnog učenja Vezano za taj MTTF
Je li treba znati sve one vražje diferencijalne jednadzbe, integrale i što sve tamo ne postoji i onda njih rjesavati
Ili samo treba upamtiti izvedene formule i uvrstiti?


bodilyfluids

anon00 ne treba znati izvode


Rene

anon00 treba znati postaviti sustav diferencijalnih jednadžbi, ali ga neće trebati rješavati, bar je tako golub rekao na predavanjima


[obrisani korisnik]

ima li neki video sa zadacima iz RAID-a ili skupljeni riješeni primjeri?


Jaster111

Skripta: https://docs.google.com/document/d/1mdyJfYL8zA42-gx-NXIzKbzJHSusgZkTyyGlbHCEE4Y/edit?usp=sharing
Tu sam pokušao najbitnije napisat, možda bude nekom od koristi za učenje. Nisam ubacivao zadnje gradivo jer za to već postoji jelenkovićeva skripta.

Ako netko uoči nešto krivo pls napišite.


AK10

Jaster111

zar nije da klijent ne salje lozinku AS-u? lozinke se ne salju zar ne?


[obrisani korisnik]

jel itko možda odgovorio na pitanja iz skripte Višeprocesorski sustavi?


Sulejman

endyyyy da, po ovom videu se nikad ne šalju lozinke, već se sve kriptira


Jaster111

endyyyy pardon, ispravit ću malo kasnije, u pravu si


Sulejman


pro tip: mislio sam da raid 2 - 5 može imat min 2 diska, al izgleda da ipak treba dodat jos jedan da bi dobili ikakav efekt. Kao ideja je da ako su sam 2 diska, onda je efektivnije imati raid 1 nego raditi još operacije sa paritetni bitovima, što se radi na svim ostalim raid-ovima osim 0 i 1


« Prethodna stranica Sljedeća stranica »