Operációs rendszerek vizsga
1998. június 4.
Sorolja fel és röviden jellemezze az operációs rendszerek tipikus szolgáltatásait és fő komponenseit.
[7 pont]
Sorolja fel az elosztott rendszerek osztályozásának szempontjait és röviden definiálja az osztályba tartozás kritériumait. Milyen előnyökkel járhat elosztott rendszerek használata a hagyományos rendszerekkel szemben?
[10 pont]
Egy operációs rendszerben a következõ folyamatok találhatók futásra kész állapotban (az érkezési idõ azt az időpillanatot jelenti, amikor a folyamat futásra késszé vált):
folyamat |
érkezési idő |
löketidő |
P1 |
0 |
3 |
P2 |
1 |
5 |
P3 |
4 |
3 |
P4 |
6 |
2 |
P5 |
7 |
1 |
Adja meg, hogy az egyes folyamatok milyen sorrendben futnak le és számolja ki a folyamatok átlagos várakozási idejét az alábbi ütemezési algoritmusok használata esetén :
- sorrendi (First Come First Serve, FCFS),
- legrövidebb löketidejű (
Shortest Job First, SJF),
- legrövidebb hátralévő löketidejű (
Shortest Remaining Time First, SRTF),
- 2 időegységnyi időszeletű körforgó (
Round Robin, RR)
[11 pont]
- Definiálja a kiéheztetés (starvation) és a holtpont (deadlock) fogalmát? Mi a különbség és a hasonlóság a két fogalom között? Mutasson tipikus példákat arra, mikor fordulhat elő kiéheztetés ill. holtpont az operációs rendszerekben.
[12 pont]
- Sorolja fel, a program fejlesztés ill. futtatás mely fázisaiban történhet a program memóriacímeinek kötése, vagyis a logikai-fizikai cím megfeleltetés. A felsorolt esetek közül mikor használható dinamikusan linkelhető (szerkeszthető) könyvtár (DLL, Dinamically Linked Library)? Ismertesse a dinamikusan linkelhető könyvtárak működését.
[11 pont]
- Részletesen definiálja folyamatok közötti szinkronizáció lehetséges formáit. Adjon egy-egy példát a szinkronizáció különböző formáinak megvalósítására.
[9 pont]
- Szemaforok felhasználásával írjon olyan programrészleteket, amelyek megvalósítják egy termelő és egy fogyasztó folyamat összehangolását akik egy korlátos hosszúságú (N elemű) osztott elérésű tömb segítségével cserélnek adatelemeket. A termelő folyamat állítja elő az adatelemeket, míg a fogyasztó folyamat dolgozza fel őket.