Operációs rendszerek vizsga 2007. június 12. megoldással

A VIK Wikiből
A lap korábbi változatát látod, amilyen Unknown user (vitalap) 2012. október 21., 21:07-kor történt szerkesztése után volt. (Új oldal, tartalma: „{{GlobalTemplate|Infoalap|OpReVizsga2007junius12megoldas}} ''Megjegyzés: ez az oldal jelenleg félkész, ha tudsz valamihez hozzáírni, akkor nyugodtan. Érdemes mi…”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


Megjegyzés: ez az oldal jelenleg félkész, ha tudsz valamihez hozzáírni, akkor nyugodtan. Érdemes mindenhez forrást is írni (tankönyből, wikipédiából, diasorokból, stb.), hogy akit érdekel, hozzáolvashasson még az itt leírtakhoz.

Hiányzik még:

  • nagykérdések 1., 2., 3., 5.

Beugró kérdések

1. Mi az a szorosan csatolt rendszer?

  • Ahol több CPU közös óra és közös memória segítségével működik együtt. Általában egyetlen operációs rendszer van, de az bonyolult.
  • Megjegyzés: az architektúrákból megtanult "közös erőforrást használnak" definícióra csak fél pontot adtak.
  • Könyv 137. oldal

2. Mi az a körülfordulási idő?

  • Egy feladat elindításától a befejezéséig eltelt idő. Magában foglalja a ténylegesen munkával töltött időt és a várakozást is.
  • Könyv 148. oldal

3. Mi a rövidtávú ütemezés, mikor jár környezetváltással?

  • Ha a futó folyamatnak lejár az időszelete (csak preemptívnél), önként lemond a processzorról (együttműködő folyamatok), blokkoló rendszerhívást hajt végre (pl. I/O művelet), egy másik szál futásra kész állapotba kerül (bekövetkezik, amire várt, vagy újonnan elindítanak egy szálat), egy szál prioritása megváltozik, esetleg egy szál processzor-affinitása megváltozik.
  • Környezetváltással akkor jár, ha másik szál választódik ki futásra, mint ami eddig futott. Pl. Windows NT alatt, ha a legmagasabb prioritási szinten pontosan egy folyamat van, akkor megtörténhet, hogy ugyanaz a szál fut tovább, és nem történik környezetváltás.
  • Wikipédia: rövidtávú ütemező
  • Könyv 413. oldal

4. Hogyan működik a test_and_set?

  • Visszaadja egy bit értékét, és ha 0 volt, 1-re állítja. Mindezt oszthatatlanul, vagyis ha 0 volt ott, és többen egyszerre hívtak rá test-and-set-et, akkor az egyiké teljesen lefut, 1-be állítja és nullát ad vissza, mielőtt a többi elkezdene futni (így ők mind 1-et fognak visszaadni).
  • Wikipédia: Test-and-set
  • Könyv 73. oldal

5. Mi az a Translation Lookaside Buffer, fizikai címcsatolásnál mi a szerepe?

  • A virtuális címet fizikai címre a laptábla segítségével lehet fordítani; de ez lassú, plusz egy memória-hozzáférést jelent. Ezért a lapkezdőcímek egy részét egy asszociatív cache-ben eltárolják, ez a TLB. Címfordításkor párhuzamosan indul a keresés a laptáblában és a TLB-ben, ha az egyikben megtalálta, akkor kész.
  • [[1]]
  • Könyv 171. oldal

6. Mi az a vergődés, és hogyan védekezzünk ellene?

  • Ha több memóriára lenne szüksége a folyamatoknak, mint amennyi rendelkezésre áll, ezért túl gyakran keletkezik laphiba, és a processzor idejének nagy része haszontalan lapcserékkel telik.
  • Védekezni ellene például azzal lehet, ha a laphiba-gyakoriság függvényében az ütemező változtatja a multiprogramozás fokát: ha kevés a memória, folyamatokat függeszt fel, és swappel ki; ha van elég, akkor épp ellenkezőleg.
  • Wikipédia: vergődés
  • Könyv 182.-186. oldal

7. Egy futó taszkra IT érkezik. Preemptiv OS esetén az interrupt után mindenképpen 'ide' térünk vissza?

  • Nem feltétlenül; például a preemptálás maga is úgy működik, hogy egy időzítő a szál quantumjának lejártakor megszakítást generál; ilyenkor értelemszerűen az ütemező általában nem ugyanazt a folyamatot választja ki futásra.
  • Wikipédia: időszelet
  • Windows ütemezés diasor, 8. dia

8. 32 bites x86-os (windows) esetén mekkora a felhasználói és a rendszer mód címtartomány mérete?

  • Alapból 2GB felhasználói módú és 2GB kernel címterület van, ezt a /3GB kapcsolóval 3GB felhasználói és 1GB kernelre lehet módosítani.
  • Windows memóriakezelés diasor 5. dia

9. A Windows OS grafikus komponensének mik az előnyei, hátrányai?

  • A grafikus komponens kernel módban fut. Emiatt a hibái az egész rendszert magával ránthatják, viszont gyorsabb, mert kevesebb kontextusváltás kell a rajzoláshoz.
  • Windows bevezetés diasor 27. dia

10. Soroljon fel UNIX szabványokat!

  • POSIX.1 (teljes nevén: POSIX1003.1): C nyelvű szabványos rendszerhívás-interfész
  • System V Interface Definition
  • X/Open Portability Guide
  • Könyv 281. oldal

11. UNIX OS esetén mi történik folyamat kontextus esetén kernel módban?

  • Kivételek, rendszerhívások kezelése.
  • Könyv 286. oldal
  • UNIX folyamatok diasor, 5. dia

12. UNIX alvási prioritásának ütemezését mi végzi?

  • Az alvási prioritást is az ütemező határozza meg, az alapján, hogy mire várakozik a folyamat, vagyis miért hajtott végre sleep() rendszerhívást. Kernel módban az ütemező nem veheti el a futási jogot, ezért amíg nem hajt végre sleep() hívást, addig nincs is szükség a prioritásának meghatározására.
  • Könyv 295. oldal

Nagy kérdések

1. Hasonlítsa össze a monolitikus és réteges kernel szerkezetet, ismertetve a két kernel típus jellegzetességeit is.

2. Egy rendszerben 3 erőforrásosztály van (A, B, C), az egyes osztályokba rendre 9, 19 és 29 erőforrás tartozik. A rendszerben 6 folyamat verseng az erőforrásokért, a következő foglalással és új igénnyel:

folyamat új kérés aktuális foglalás
A B C A B C
P1 1 10 4 2 8 2
P2 3 5 7 2 1 3
P3 1 1 1 1 1 1
P4 5 6 3 0 1 0
P5 6 6 7 2 2 2
P6 5 8 2 0 1 5

A rendszer a bankár algoritmust alkalmazza a holtpont elkerülésére. Biztonságos állapotban van-e jelenleg a rendszer? Ha igen, mutassa meg, a folyamatok hogyan tudják befejezni a működésüket, ha nem, hogyan alakulhat ki holtpont.

3. Sorolja fel, hogy a programfejlesztés, illetve futtatás mely fázisaiban történhet a program memóriacímeinek kötése, vagyis a logikai-fizikai cím megfeleltetés. Minősítse az egyes lehetőségeket (a fázisra jellemző tipikus címkonverzió, stb.). Röviden ismertesse a dinamikus logikai-fizikai címleképzés tanult technikáit.

4. Rajzolja le a μC/OS állapotátmeneti diagramját, és értelmezze az egyes állapotokat és átmeneteket.

%ATTACHURL%/taszkallapot.JPG

  • Két speciális állapot:
    • DORMANT: „szunnyadó”, akkor van ebben az állapotban a taszk, amikor a memóriában ugyan megtalálható, de az ütemezö hatáskörében nincs benne (nem hozták még létre OSTaskCreate(), vagy törölték OSTaskDel()
    • ISR: a taszkot megszakította egy interrupt rutin. Ha a rutin mellékhatásaként egy magasabb prioritású taszk válik futásra késszé, akkor a rutin végeztével az kerül a RUNNIG állapotba, és a megszakított taszk pedig a WAITING-be

5. Rajzolja fel vázlatosan, hogy az NFS hálózati fájlrendszer hogyan valósíthetó meg a vnode/vfs UNIX virtuális fájlrendszer segítségével! Magyarázza el az ábrája alapján, hogy egy kliens folyamat milyen lépéseken (interfészeken) át éri el a szerver diszken elhelyezett adatot, és ezzel együtt írja le, hogy miért előnyös a virtuális fájlrendszer alkalmazása!

%ATTACHURL%/nfs-vfs.PNG

  • Az ábra az NFS-rendszer működését foglalja össze. Láthatjuk, hogy a fájlok elérését kezdeményező kéréseket, rendszerhívásokat az ún. virtuális fájlrendszer (VFS) kezeli. A virtuális fájlrendszer a hagyományos UNIX-fájlrendszert továbbfejlesztő fájlrendszer, ami lehetővé teszi különböző típusú fájlrendszerek kezelését a UNIX-rendszerben.
  • A virtuális fájlrendszer, ha lokális fájlt szeretne a kliens folyamat elérni, a kérést a helyi lemezt kezelő UNIX-fájlrendszer (UFS) felé továbbítja, amelyik a fájlt közvetlenül eléri és visszaadja a kért adatokat.
  • Ha a folyamat távoli fájlt szeretne elérni, a virtuális fájlrendszer a kérést az NFS-klienshez továbbítja. Az NFS-kliens a hálózaton keresztül eléri a kért fájlt tároló csomóponton működő NFS-szervert. A távoli NFS-szerver az ottani VFS-rendszeren keresztül kérést küld a helyi UNIX-fájlrendszernek (UFS). Az UFS visszaadja a kért adatokat az NFS-szervernek, aki továbbítja azokat a kérést kezdeményező kliens folyamat felé az NFS-kliens, illetve a kliens folyamat csomópontján működő virtuális fájlrendszeren (VFS) keresztül.

-- G - 2008.06.22.

-- Tarzan - 2009.01.12.