Ugrás a tartalomhoz

Operációs rendszerek mérnöki megközelítésben

Benyó Balázs, Fék Márk, Kiss István, Kóczy Annamária, Kondorosi Károly, Mészáros Tamás, Román Gyula, Szeberényi Imre, Sziray József

Panem Kiadó

7.2. Az operációs rendszer mint absztrakt, virtuális gép

7.2. Az operációs rendszer mint absztrakt, virtuális gép

1. Mi a különbség a multiprogramozás és a multiprocesszálás között?

2. Mi a különbség a vezérlési gráf és a vezérlési szál között?

3. Ismertesse a folyamatok logikai modelljét!

4. Mit jelent az, hogy a memória RAM-modell szerint működik?

5. Mi jellemzi egy folyamat adott pillanatbeli állapotát?

6. Miben tér el egymástól a folyamatokhoz tartozó logikai, illetve a számítógép fizikai processzorának utasításkészlete?

7. Mi a különbség a logikai és a fizikai memória között?

8. Mi az eltérés a folyamatok, illetve a szálak között, és milyen előnnyel jár a szálak alkalmazása?

9. Mit nevezünk multitaszkos operációs rendszernek?

10. Milyen célokat szolgálhat egyszerre több folyamat futtatása egy rendszerben?

11. Milyen járulékos nehézség merül fel egy folyamatokból álló rendszer fejlesztése során a hagyományos szekvenciális programfejlesztési módszerhez képest?

12. Definiálja a független, versengő, illetve együttműködő folyamatok fogalmát! Milyen támogatást kell nyújtson az operációs rendszer ezek megvalósításához?

13. Milyen módon jönnek létre egy rendszer folyamatai?

14. Mikor nevezünk statikusnak, illetve dinamikusnak egy operációs rendszert?

15. Mi a különbség a hierarchikus és a globális erőforrás-gazdálkodás között?

16. Miben tér el a PRAM-modell a RAM-modellhez képest?

17. Hasonlítsa össze a közös memórián, illetve az üzenetváltáson alapuló fo­lya­matok közötti együttműködést!

18. Miért van szükség a folyamatok szinkronizálására?

19. Mit nevezünk kritikus szakasznak?

20. Mi a folyamatok közötti kölcsönös kizárás?

21. Definiálja két folyamat egyidejűségét (randevúját), illetve precedenciáját!

22. Milyen elvárásoknak kell megfeleljen a kölcsönös kizárás megvalósítása?

23. Milyen megoldást ajánlott Peterson két folyamat közti kölcsönös kizárás szoftveres megvalósítására?

24. Miért van szükség hardvertámogatásra a kölcsönös kizárás megvalósításához, illetve milyen módszerek segítségével oldható ez meg?

25. Hogyan garantálható, hogy a kritikus szakaszba belépni kívánó folyamatok véges idő alatt be is jussanak?

26. Adja meg a szemafor primitív műveleteinek definícióját!

27. Hogyan alkalmazható a szemafor a precedencia, illetve a kölcsönös kizárás megvalósítására?

28. Szemaforok felhasználásával írjon olyan programrészletet (például eljárást), amely lehetővé teszi N (előre adott konstans) folyamat randevúját, azaz az összes folyamat bevárja egymást.

29. Egy laktanyát őrség őriz, az őrség minden tagja (folyamat) tudja, hogy őr­helyét csak akkor hagyhatja el, ha a váltás, a következő őr megérkezett. Szemaforokat használva írja meg az őrségváltás lebonyolításának algoritmusát.

30. Van N (előre adott konstans) folyamatunk, mindegyikük tudja a saját sorszámát. Szemaforok felhasználásával írjon olyan

WaitForMyTurn(i: INTEGER)

eljárást, amelyet ha az egyes folyamatok a saját sorszámukkal meghívják, akkor onnan a sorszámuk szerinti sorrendben lépnek ki, azaz egy folyamat az eljáráson belül várakozik mindaddig, amíg az összes nála kisebb sorszámú folyamat ki nem lépett ebből az eljárásból!

31. Hasonlítsa össze a szemafor műveleteit az erőforrás-, illetve az esemény-szinkronizációs eszközökkel!

32. Miért kell az erőforrásokhoz és a szemaforokhoz várakozási sorokat létrehozni?

33. Lazán csatolt rendszerekben egymással kommunikáló folyamatok milyen különböző megnevezési módszereket használhatnak. Milyen paramétereket használnak az üzenetküldés (send) és üzenetfogadás (receive) parancs hívásakor a különböző módszerek alkalmazása esetén?

34. Üzenetváltásos modell esetén milyen módszereket használnak a kommunikációs műveletek helyességének visszajelzésére?

35. Milyen konzisztencia feltételt kell betartani a küld (send) parancs megvalósításakor?

36. Milyen megoldások alkalmazhatóak a küld (send), illetve fogad (receive) parancsoknál fellépő várakozás kezelésére?

37. Milyen járulékos mellékhatásokat okoznak a kommunikációs műveletek a rendszer átmeneti tárolójának (pufferének) függvényében?

38. Definiálja a holtpont fogalmát!

39. Milyen problémákat okoz egy rendszerben a holtpont kialakulása?

40. Ismertesse az erőforrásokért versengő rendszerekre vonatkozó rendszermodellt!

41. Ismertesse a holtpont kialakulásának feltételeit! Mikor elégségesek ezek a feltételek?

42. Hogyan követhető nyomon a holtpont kialakulása az erőforrás-foglaltsági gráf segítségével?

43. Az operációs rendszer milyen általános eljárásokat használhat a holtpont kezelésére?

44. Milyen tényezőktől függ, hogy egy rendszerben milyen gyakorisággal következhet be holtpont?

45. Mit jelent a holtpont elkerülése (deadlock avoidance)?

46. Mondjon egy-egy példát a holtpont megelőzésénél (deadlock prevention) használt, a kialakulás különböző feltételeit figyelembe vevő algoritmusokra!

47. Milyen algoritmust javasolt Coffman a holtpont észlelésére?

48. Mit nevezünk a holtpont szempontjából biztonságos állapotnak?

49. Mi a bankár algoritmus szerepe a holtpont probléma megoldásában?

50. Hogyan kombinálhatóak a holtpont kezelésére alkalmazott technikák?

51. Mikor alakulhatnak ki kommunikációs holtpontok?

52. Egy rendszerben 4 erőforrásosztály van (A, B, C és D), az egyes osztályokba rendre 8, 11, 7 és 10 erőforrás tartozik. A rendszerben 4 folyamat verseng az erőforrásokért, a következő aktuális foglalással és maximális igénnyel:

 

Maximális

Aktuális

A

B

C

D

A

B

C

D

P1

2

2

5

4

0

2

3

3

P2

7

6

3

4

3

1

2

2

P3

5

6

3

4

2

2

0

2

P4

4

1

2

3

2

1

2

2

A rendszer a bankáralgoritmust 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 működésüket, ha nem, hogyan alakulhat ki holtpont.

53. Ismertesse a kiéheztetés (starvation) fogalmát. Az operációs rendszer milyen eljárásokat használhat a kiéheztetés elkerülésére?

54. Mutasson példát arra, mikor fordulhat elő kiéheztetés!

55. Ismertesse a termelő–fogyasztó problémát!

56. Milyen kérdést kell megoldani az írók–olvasók probléma esetén?

57. Mi az étkező filozófusok problémája?

58. Milyen probléma merül fel adatfolyamok illesztése esetén?

59. Mi a belső biztonság?

60. Mi a különbség a statikus és a dinamikus védelmi tartomány között?

61. Mi a hozzáférési mátrix?

62. Mi a globális tábla?

63. Mi a hozzáférési lista?

64. Mi a jogosítvány lista?

65. Mit takar a külső biztonság fogalma?

66. Mi az információ szivárgás?

67. Milyen fenyegetések léphetnek fel elosztott rendszerek külső biztonságával kapcsolatban?

68. Milyen támadási módszerek léteznek elosztott rendszerek külső biztonságával kapcsolatban?

69. Mi a „féreg”?

70. Mi a „trójai faló”?