OpRe vizsgák kiskérdései (beugrók)
2010. június 08.
1. Adja meg a középtávú ütemezés célját!
Swapping, azaz a program a fizikai memória, és a háttértár közti mozgatása.
2. Írja le a holtpont kialakulásának feltételeit!
- Kölcsönös kizárás
- Foglalva várakozás (erőforrás lefoglalása, és másik erőforrásra való várakozás)
- Nincs erőszakos erőforrás elvétel a rendszerben
- Körkörös várakozás
3. Soroljon fel fő UNIX fajtákat.
Linux, Solaris, BSD,System V,HP/UX,…
4. Mi a UNIX vnode/vfs?
Implementáció-független fájlrendszer absztrakció
- inode --> vnode
- fs --> vfs
5. Mi alapján az azonosítja a Windows a usereket és a csoportokat?
SID - Security Identifier
6. Mi történik PRAM írás/írás ütközés esetén?
Az írás-írás ütközésekor valamelyik művelet hatása érvényesül, a két beírni szándékozott érték valamelyike írja felül a rekesz tartalmát (versenyhelyzet), harmadik érték nem alakulhat ki.
7. Mit jelent a kritikus szakasz?
A magában szekvenciális feladatok azon kódrészletei, amely során a kölcsönös kizárást egy bizonyos közös erőforrásra biztosítjuk. A kritikus szakasz a kérdéses közös erőforráshoz tartozik. A kritikus szakaszt a hozzá tartozó erőforrásra atomi műveletként (nem megszakítható módon) kell végrehajtanunk.
8. Hogyan történnek a címfordítások ha az OS szegmens és lapszervezést is használ a memóriánál?
CPU --> Segmentation unit --> Paging unit --> Physical memory
9. Miért előnyös és miért hátrányos RAID5 használata?
- + N azonos diszk esetén az olvasásai és írási adatátviteli sebessége maximum N szeres közelébe nő.
- + 1 diszk meghibásodása esetén az adat elérhető.
- - 2 vagy több diszk meghibásodása esetén az adapt elveszik.
- - Az adat nem feltétlenül állítható helyre. (Csendes/néma hibák (silent error). A 2. meghibásodás észlelése a tömb újraépítése során.)
- -Bonyolultabb mint a Raid 0/1, ezért hardveresen valósítják meg, ami viszont drága
10. Windowsban miért került le az ablakkezelő kernel módba?
Hogy kevesebb folyamat és módváltás legyen, mivel a Windows szerves része az ablakkezelés, ezért rengeteg user-kernel mód váltás lenne ha a csrss.exe-en keresztül használnánk.
11. Hogyan vált UNIX rendszer user módból kernel módba?
Rendszerhívásokon keresztül.
12. Adja meg rövid ütemezés célját.
A futásra kész sorból választ egy futó állapotba átmenő feladatot.
+1 Mi a különbség a Hosted és a Bare-metal virtualizáció között? (Ezt mintha láttam volna valahol, ártani nemárt :) )
A Hosted egy Host(teljes értékű) OS-en futó virtualizáció, míg a Bare-metal esetén a virtualizáció közvetlenül a hardware felett van.
2010. június 01.
1. Adja meg a hosszútávú ütemezés célját!
Feladatok kiválasztása a futásra kész sorba. Sokkal több feladatunk van, mint amennyit párhuzamosan eltudunk látni hatékonyan. Az ütemezés ezért percenként vagy gyakrabban fut és ismernie kell a feladat által okozott terhelést. Többnyire maximum időzíteni lehet a feladatokat. :)
2. Sorolja fel a terhelés végrehajtó egységek közötti megosztásának megoldásait! (Többprocesszoros rendszerek)
- Globális futásra kész sor
- Processzoronkénti futásra kész sor
- Push alapú: OS kernel folyamat mozgatja a sorok között a feladatokat.
- Pull alapú: Az idle állapotban (idle feladatot végrehajtó) CPU próbál a többi sorából feladatot kapni.
- Kettő kombinációja
- Összefüggő, párhuzamosan futtatható feladatok optimalizálása
- pl. Gang scheduler
3. Mit jelent az újrahívhatóság (reentrancy) fogalma?
A közös erőforrás problémájának egyfajta kiterjesztett esete egy függvényen/objektumon belül is felléphet, amennyiben ezt a függvényt (metódust) egyszerre többen is meghívhatják. Előfordulhat ha, ugyanazt a függvényt hívjuk egy taszkból is és egy megszakítás rutinból is, vagy az ütemezés preemptív, és ugyanazt a függvényt hívjuk két taszkból is.
4. Mi a különbség a külső és belső tördelődés között? (Memória foglalás)
- Belső tördelődés: A program számára lefoglalt memória területen belül, a kihasználatlan terület
- Külső tördelődés: A programok számára kiosztott memória területek közötti üres (holt) terület.
- A tördelődött memóriaterületet külső tördelődés esetén az operációs rendszer szabadon hagyja, míg belső tördelődés esetén pedig odaadja egy olyan folyamatnak, aminek nincs igazából rá szüksége.
- Tördelődött memóriaterület: Olyan területet, amelyet a operációs rendszer nem tud kiosztani egy folyamatnak sem ha csak összefüggő fizikai címtartományokat oszt ki.
5. Sorolja fel az indexelt tárolás (indexed allocation) előnyeit és hátrányait! (Fájlrendszer leképzés)
- Szekvenciális és indexelt elérésre is alkalmas.
- Sérülékeny (az index blokkok sérülése a fájlt elérhetetlenné teszi).
- Az index blokkokat viszont könnyű többszörözni (replikálni).
- Sok fejmozgást okoz (seek), a blokkok el vannak szórva a diszken.
- Itt is lehet a láncolt listás töredezettség mentesítéshez hasonló algoritmusokat használni a fejmozgás minimalizálására.
6. Mi a jogosultság fogalma, mi a kapcsolata az engedélyezési sémák többi alapfogalmával?
A jogosultság egy reláció a szereplők és védett objektumok között.
7. Mit jelent az, ha egy x86-os processzor hardveres virtualizáció támogatással rendelkezik?
Speciális utasításokkal látják el a processzort, amit szoftveresen akár több 100 utasításon keresztül lehetne csak megoldani.
8. Mi az NTDLL.DLL fő funkciója?
Összeköti a User és Kernel módot. Az Executive függvényeknek megfelelő függvénycsonkok vannak benne.
9. Miért van a Windowsban külön szabad és nullázott (freed és zeroed) memórialap-lista?
Az üres (freed) lapot tilos másik felhasználói programnak adni, ez esetben nullázni (zeroed) kell, nullázás nélkül felhasználhatja pl az OS.
10. Soroljon fel legalább 4 UNIX folyamatok közötti alkalmazható kommunikációs megoldást!
- Jelzések
- Csővezetékek
- Szemaforok
- Üzenetsorok
- Osztott memória
- Hálózati(socket) kommunikáció
11. Sorolja fel milyen tényezők határozzák meg egy UNIX folyamat felhasználói módú prioritását (tradicionális UNIX ütemező esetén)!
- Korábbi CPU használat
- Futásra kész folyamatok száma (p_cpu „öregítésével”)
- nice érték (nice és renice parancsok)
12. Sorolja fel a fontosabb UNIX fájl attribútumokat!
- Típus
- Linkek
- Eszköz, inode, méret…
- Időbélyegek
- Azonosítási és hozzáférés-szabályozási adatok
2010. mintabeugró
1. Mit jelent a "graceful degradation" fogalma?
Fokozatos leromlás/összeomlás: Ha a rendszer terhelése eléri az u.n. könyökkapacitást, akkor utána viselkedése megváltozik, a tovább növekvő terhelésre már egyre rosszabb működéssel reagál (overhead). Elvárható, hogy ezt fokozatosan tegye (ne omoljon össze).
2. Mikor nevezünk egy ütemezőt preemptívnek?
Ha az OS elveheti a futásjogot egy folyamattól.
3. Mikor lehet két tevékenységet (utasítássorozatot) párhuzamosan végrehajtani (Bernstein)?
Legyen P és Q két darabja egy programnak. Egy P folyamat összes bemeneti változója P-in, összes kimeneti változója P-out. A két program párhuzamosan végrehajtható, ha
- D-in és P-out
- P-in és D-out
- P-out és D-out metszete páronként 0.
4. Definiálja a holtpont (deadlock) fogalmát!
Egy rendszer feladatainak egy H részhalmaza holtponton van, ha a H halmazba tartozó valamennyi feladat olyan eseményre vár, amelyet csak egy másik, H halmazbeli feladat tudna előállítani.
5. Mit jelent, és miért van szükség arra, hogy virtuális tárkezelésnél egyes lapokat ideiglenesen a tárba lehessen "fagyasztani" (page locking)?
Azt jelenti, hogy bizonyos lapokat a memóriába tartunk, mert I/O műveletek hivatkozhatnak rá és ilyenkor a memóriába kell lenniük, mert az I/O műveletek fizikai mem. címeket használnak.
6. A uC/OS II-ben hány taszk tartózkodhat egy prioritási szinten és miért?
1, mert így gyorsan eldönthető hogy melyik a legmagasabb futásra kész taszk.
7. Mit jelent a Windowsban az egy folyamathoz tartozó munkakészlet fogalma?
A folyamat azon lapjainak halmaza, amelyekre egy időintervallumban (munkahalmaz-ablak) a folyamat hivatkozik. (WSS - Working-Set)
8. Mi a fő oka, hogy a Windows NT-ben a képernyőkezelő és grafikus funkciókat megvalósító függvények kernel módba kerültek? Elméleti megfontolások alapján hol lenne a helyük?
Kevesebb folyamat és módváltás legyen (Ne kelljen mindig visszaváltani a csrss.exebe, majd onnan átváltani kernel módba, utasítani a hardvert, visszaváltani felhasználói módba, majd visszaváltani a felhasználói folyamatba, aki kezdeményezte a változtatást.) Elméletileg felhasználói szinten kéne lennie.
9. 32 bites Windows szerver operációs rendszerek képesek-e 4 GB-nál több fizikai memória kezelésére? Indokolja válaszát!
Igen, PAE (Physical Address Extension) támogatás segítségével.
10. Milyen részekből áll az RPC technológia?
- RPC nyelv: a hívható eljárások és típusaik (interfész) leírása
- azonosítók: a leírásban megadott egyedi számok (program, eljárás)
- portmapper: a programazonosítók és a hálózati portok összerendelése
- rpcgen: a leírásból C programkódot generáló program
11. Adja meg a System V üzenetsorok főbb jellemzőit (tömör felsorolást kérünk)!
- Diszkrét, tipizált üzenetek
- Nincs címzés, üzenetszórás
12. Mi a Solaris DTrace megoldás célja?
Hibakereső, nyomkövető eszköz, amivel a rendszer és a programok működését futási időben lehet megfigyelni.
2006. január 5.
1. Mi a virtuális gép lényege?
Az op.rendszer egy olyan réteget képez a hardver fölött, mely elrejti annak körülményességét és bonyolultságát a programozó elõl és kibõvíti a hardver szolgáltatását. A felhasználó így egy sokkal kellemesebb virtuális gépet (virtual machine, extended machine) lát.
Az operációs rendszer egy kényelmesen kezelhető virtuális gépet jelenít meg a felhasználói és a programozói felületen.
2. Definiálja a hosszútávú ütemezés feladatát!
A háttértáron várakozó feladatok közül kiválasztja azt, amelyiket el kell indítani.
3. Mikor fut a rövidtávú ütemező, és mikor jár ez feltétlenül együtt környezetváltással is?
- Ütemezés következhet be, ha
- a futó folyamat befejeződik,
- egy folyamat felébred, futásra késszé válik,
- a futó folyamat várakozni kényszerül (valamilyen esemény bekövetkezésére), illetve,
- a futó folyamat önként lemond a futás jogáról vagy pedig elveszik tőle.
Az első és a harmadik esetben az ütemezés mindig környezetváltással jár, hiszen a következő futó folyamat egészen biztosan nem a korábban futott lesz. A másik két esetben előfordulhat, hogy az ütemezőnek nem kell másik folyamatot kiválasztania.
4. Holtpont megelőzése (prevention) esetén milyen módszerrel lehet a foglalva várakozás előfordulását kizárni?
A foglalva várakozás elkerülhető, ha minden folyamat betartja azt a szabályt, hogy az egyidejűleg szükséges valamennyi erőforrását egyetlen rendszerhívással kéri el. A szabály betartásával megelőzhető a holtpont, de ára az erőforrás-kihasználás jelentős romlása.
5. Mit jelent az inkrementális mentés?
Csak a változtatásokat mentjük az előző mentéshez képest -> kisebb helyet foglal, hamarabb végez a mentés.
6. Mit jelent és miért van szükség arra, hogy a virtuális tárkezelésnél egyes lapokat ideiglenesen a tárba lehessen "fagyasztani" (page locking)?
Azt jelenti, hogy a page replacement algoritmus nem lapozhatja ki a háttértárra az adott lapot. Ok: periféria-művelet van az adott lappal kapcsolatban.
7. Sorolja fel a UNIX operációs rendszer főbb belső szerkezeti elemeit!
- betöltő
- virtuálismemória-kezelő
- állományrendszer
- blokkos berendezésmeghajtó kapcsoló (+ a hozzá kapcsolódó eszközmeghajtók, pl.: lemezegység, szalagos meghajtó)
- karakteres berendezésmeghajtó kapcsoló (+ a hozzá kapcsolódó eszközmeghajtók, pl.: hálózat, nyomtató)
8. Milyen módban és kontextusban zajlik a rendszerhívások kiszolgálása a UNIX operációs rendszerben?
kernel mód, folyamat kontextus ((az ehhez tartozó ábra jobb felső része))
9. Mi határozza meg a UNIX folyamatok kernel módú prioritását a tradicionális UNIX ütemezésben?
A kernel módban futó folyamat prioritása statikus, nem függ attól, hogy a folyamat mennyit használta a CPU-t, vagyis mennyi ideig futott. A prioritás attól függ, hogy a folyamat milyen ok miatt hajtott végre sleep rendszerhívást, vagyis, hogy milyen eseményre várakozik. Emiatt a kernel prioritást szokták alvási prioritásnak is nevezni.
10. Miért tud az s5fs gyorsabban írni, mint olvasni (az előadás példája alapján)?
11. Elosztott rendszerekben milyen konzisztencia kérdésekkel kell foglalkozni?
- frissítés konzisztencia
- másolat konzisztencia
- cache konzisztencia
- hiba konzisztencia
- óra konzisztencia
- felhasználói interfész konzisztencia
12. Mi az rpcgen program feladta?
Az RPC nyelv alkalmas a szerver interfészének formális leírására. A formális leírásból az rpcgen program képes a szerver és a kliens programok megfelelő részeit, valamint a szükséges XDR konverziós függvényeket elkészíteni C nyelven. Az így kapott C forráskódú modulokat a kliens és szerver alkalmazással kibővítve kapjuk a teljes kommunikáló rendszert.
Az érthetőségért: XDR (Extended Data Representation, kiterjesztett adatreprezentáció): Többféle egyszerű adattípust definiál, illetve szabályokat határoz meg bonyolultabb adatstruktúrák létrehozására. Az adatstruktúrák meghatározásán kívül az XDR egy formális nyelvet is bevezet az adatok leírására. Az RPC rendszer is ezen nyelv kiterjesztését használja a távoli eljáráshívás formális leírására.
RPC (remote procedure call, távoli eljáráshívás): Az RPC-rendszer egy protokoll-leírást és egy programozói interfészt tartalmaz. Az XDR által definiált formális nyelv kiterjesztését használja a távoli eljáráshívás formális leírására.