Vizsgatematika

•	Bevezetés
–	Operációs rendszerek fejlődésének története
–	Op. rendszer kérdéskörök
–	Modern rendszerekhez kapcsolódó fogalmak

•	Folyamatok
–	Folyamatok állapotai (jelentésük, állapotmodellek, mi tette szükségessé egy-egy új állapot bevezetését)
–	Állapotátmenetek
–	adatsruktúrák, melyekre az op. rendszernek szüksége van a folyamatkezeléshez 
–	Memória táblázatok
–	Ki-/bemeneti eszköz táblázatok
–	Állománytáblázatok
–	Folyamattáblázatok
–	Folyamatkezelés
–	Üzemmód váltás illetve folyamatváltás (melyik miben áll, különbség)

•	Versenyhelyzet
–	Alapfogalmak (kölcsönös kizárás, kritikus szakasz, holtpont, éheztetés)
–	Megoldandó problémák egymással (különböző mértékben) kölcsönhatásban levő folyamatok esetén
•	Kölcsönös kizárás
–	Kialakulásához szükséges feltételek
–	Kölcsönös kizárás megvalósítása
–	Szoftver megoldás (Dekker algoritmus, Peterson algoritmus)
–	Hardver támogatás (megszakítások letiltása, speciális utasítások –Test and Set, Exchange –)
–	Operációs rendszer támogatás (szemafor, monitor, üzenetek)
–	lásd még: tipikus példafeladatok (borbélyüzlet, termelő/fogyasztó, író/olvasó probléma)
•	Holtpont
–	Fellépése újrafelhasználható/elfogyó erőforrások esetén
–	Holtpont kialakulásának feltételei
–	Holtpont kezelés:
–	Holtpont megelőzése – deadlock prevention (a holtpont kialakulásához szükséges 4 feltétel valamelyikének megszüntetése által)
–	Holtpont kialakulásának kivédése – deadlock avoidance (folyamat kéréseinek megtagadása indulásból, erőforrás-hozzárendelés megtagadása – “bankár” algoritmus –)
–	Holtpont felismerése és feloldása
–	holtpont felismerésére szolgáló algoritmus
–	különböző megközelítések a holtpont feloldására
–	lásd még: tipikus példafeladat (étkező filozófusok problémája)

•	Szálak
–	A fogalom tisztázása (különbségek a folyamathoz képest)
–	Szálak használatának előnyei
–	Szálak kezelése (felhasználói- illetve kernelszintű szálak)
–	Szálak és folyamatok egymáshoz való viszonya
•	SMP szervezés
•	Mikrokernel
–	Előnyei, teljesítménye, felépítése

•	Memóriakezelés
–	Memóriakezeléssel kapcsolatos követelmények
–	Memóriakezelési technikák:
–	Fix particionálás 
–	azonos/változó méretű partíciók
–	előnye/hátránya
–	Dinamikus particionálás
–	előnye/hátránya
–	memóriablokk elhelyezése (best-fit, first-fit, next-fit algoritmus alapján)
–	„Buddy” rendszer 
–	Egyszerű lapozás
–	Egyszerű szegmentálás
•	Virtuális memória kezelése
–	virtuális memória használatának előnye, alapfogalmak
–	lapozást támogató hardver
–	lapozás
–	szegmentálás
–	lapozás + szegmentálás
–	Operációs rendszer stratégiák
–	betöltési stratégia (fetch policy)
–	demand paging, prepaging
–	elhelyezés (placement)
–	lapcsere (replacement)
–	lapcsere algoritmusok (optimális, a legrégebben használt, FIFO, clock)
–	lap-pufferelés
–	rezidens halmaz kezelése
–	méret
–	hatáskör
–	kiírási stratégia (cleaning policy)
–	demand cleaning, precleaning
–	multiprogramozottság fokának ellenőrzése (load control)

•	Ütemezés
–	Hosszútávú ütemezés
–	Középtávú ütemezés
–	Rövidtávú ütemezés
–	osztályozási kritériumok
–	ütemezési algoritmusok
–	FCFS, round robin, SPN, SRT, HRRN, visszacsatolásos
–	Fair share (elve)

•	Ki-/bemenet kezelés
–	ki-/bemeneti eszközök osztályozása
–	ki-/bemeneti technikák (programozott I/O, megszakításvezérelt I/O, DMA)
–	a ki-/bemenet kezelő funkció fejlődése
–	DMA (szerkezete, működése, szerepe, különböző konfigurációk)
–	tervezési szempontok
–	logikai szerkezet
–	I/O pufferelés
–	lemez teljesítménye
–	lemez ütemezése
–	ütemezési algoritmusok (FIFO, LIFO, SSTF, SCAN, CSCAN, N-step Scan, FSCAN)

•	Osztott rendszerek
–	kliens-szerver kapcsolat
–	osztott üzenetküldés
–	távoli eljáráshívás

Az írásbeli vizsga az alábbiakból fog állni:
–	több (rövid választ igénylő) kérdés a kurzus anyagából, ami a felsorolt témák értését (!) feltételezi
–	néhány gyakorlat (az operációs rendszerekkel kapcsolatban tanult algoritmusok gyakorlati alkalmazása