Vizsga beugró kérdések Flashcards
Mi az operációs rendszer?
Az operációs rendszer (operating system, OS)
azon programok összessége, amelyek vezérlik a számítógép
hardverének működését, és lehetővé teszik azon felhasználói
feladatok végrehajtását.
Mi a kernel?
Az operációs rendszer védett módban működő programja, amely felügyeli a felhasználói módú programok működését, és biztosítja hozzáféréseket a rendszer erőforrásaihoz. (a szgép. vezérlőprogramja, erőforrás-allokátor)
Kernel feladatai?
- felügyeli a programok végrehajtását
- menedzseli az erőforrásokat
- biztosítja hozzáférésüket az erőforrásokhoz
Mi a rendszerkönyvtár?
Az operációs rendszer részét képező programkönyvtárakat, amelyeket a programok felhasználhatnak működések során.
Mi a rendszerprogram?
az operációs rendszer részét képező, működésével kapcsolatos feladatokat megoldó program.
rendszerszolgáltatás
olyan folyamatos működésű rendszerprogram, amely képes beérkező feladatok folyamatos megoldására.
rendszerhívás interfész
egy programozói felelet, amely a felhasználói módban működő programok számára nyújtott szolgáltatásait tartalmazza.
mikrokernel
egy olyan operációs rendszer kernel, amely
csak az alapműködéshez feltétlenül szükséges kódrészleteket
tartalmazza, minden más funkciót felhasználói módban működtet.
Monolitikus kernel
a kernel részei egyetlen címtérben elérhetőek, egyetlen modul részei.
Moduláris kernel
nem mindig érhető el minden rész, fordítás, konfiguráció vagy futás közben tölt be részeket.
Réteges kernel
jól definiált interfészekkel rendelkezik a kernel
Beágyazott OS
Olyan speciális számítógépes rendszerek, amelyeket egy
jól meghatározott feladatra találtak ki
Időosztásos OS
a programokhoz időszeleteket rendelve váltakozva futtatja azokat
Multiprogramozott OS
több feladatot old meg egyszerre, a programokat háttértárról maga tölti be
Valósidejű OS
Adott feladatra adott időben adott valószínűséggel ad választ.
ablakkezelő
(window manager, WM)
– alkalmazásablakok elhelyezése és megjelenítése
+ programozási felület és rendszerkönyvtárak
– testre szabható és bővíthető
kijelzőszerver
A grafikus felhasználói felület elemeinek kiszolgálása erőforrásokkal
ROM betöltő
- szintű (ROM) betöltő (BIOS, boot ROM)
harverinicializálási feladat (POST)
betöltőeszköz meghatározása
RAM betöltő
értelmezi a háttértár felépítését
megkeresi és betölti a következő szintű betöltőt
OS betöltő
már ismeri az OS-t (pl. fájlrendszer felépítése, kernel betöltése stb.)
betölthet további programrészeket (Windows: Bootmgr, Linux: Grub stage2)
rendelkezhet felhasználói felülettel (az indítandó OS és opcióinak megadására)
betölti a kernel kódját és elindítja
A taszk
egy végrehajtás alatt álló program.
célja: megoldjon valamilyen feladatot
A szál
szekvenciális működésű taszk, más szálakkal közös memóriát használhat.
A folyamat
önálló memóriatartománnyal rendelkező taszk, több szálat tartalmazhat
Mik a szálak előnyei / hátrányai?
kisebb erőforrásigény, gyorsabb indulás, folyamaton belül egyszerű kommunikáció
hátrány: A memória konzisztenciáját a programozónak kell biztosítania, ami
nehezen felderíthető hibákhoz vezethet
Mik a folyamatok előnyei / hátrányai?
kernel szintű védelem
hátrány: jellemzően nagyobb rezsiköltséggel hozhatók létre, és összetettebb kommunikációs megoldásokat kell alkalmazniuk együttműködő rendszerek esetén.
absztrakt virtuális gép,
a kernel által biztosított erőforrások számítógépként elképzelt együttese.
virtuális CPU + virtuális memória
Mi a kontextus?
állapotleíró, utasításszámláló (PC), CPU és MMU állapot stb.
Egy program végrehajtási állapotának leírója. Adathalmaz, amelyet el kell menteni annak érdekében, hogy egy későbbi időpontban folytathassa működését.
Mi a kontextusváltás?
Taszkváltás -> kontextusváltás
– jelenlegi taszk kontextusának mentése
– korábbi taszk kontextusának helyreállítása
rövid távú ütemezés
- futásra kész állapotú taszkot választ, (FK - ból F állapotba helyez taszkokat, esetenként fordítva)
- 1 – 100 ms
- a kernel alapfeladata
középtávú ütemezés
- feladatot választ, taszkot indít
- órák, napok, hetek, hónapok, …
- nem a kernel hatásköre (pl. Unix cron, Windows Task Scheduler)
hosszútávú ütemezés,
- taszkot választ (bármilyen állapotút)
- új állapotok: felfüggesztve várakozik és felfüggesztve futásra kész
- percek, órák
- a felhasználó és a kernel is kezdeményezheti
preemptív ütemező
elveheti a futási jogot egy taszktól
kooperatív ütemező
a taszk futása akkor szakadhat meg, ha önmagától lemond futásáról, véget ér vagy hiba keletkezik
A várakozási idő
a taszk összes nem futó állapotban eltöltött ideje.
A válaszidő
a feladat kezdésétől az első kimenet produkálásáig eltelt idő. (a taszk külső kérésre adott első válaszig eltelt idő)
A körülfordulási idő
a taszk belépésétől a kilépéséig eltelt teljes idő (várakozási + végrehajtási idő)
CPU kihasználtság
az idő hány százalékában dolgozik a processzor
CPU átbocsájtó képesség
az időegység alatt elvégzett taszkok száma
CPU-löket (CPU-burst)
a taszk processzoron végrehajtott utasításainak sorozata
IO-löket (IO-burst)
a taszk I/O műveletre vár
konvoj-hatás
Hosszú CPU löketidejű taszk feltartja a rövidebb taszkokat (feloldás: preemptív ütemező)
Kooperatív ütemezés esetén egy nagy CPU-löketidejű F taszk mögött feltorlódnak az FK taszkok. (FCFS-nél jellemző)
Prioritás
a taszk tulajdonsága, amely végrehajtásának fontosságát fejezi ki.
Külső prioritás
a taszk operációs rendszeren kívül meghatározott végrehajtási fontossága
Belső prioritás
a taszk operációs rendszer által meghatározott végrehajtási fontossága
Statikus prioritás
a taszk elindulása előtt rögzített, életciklusa alatt állandó
Dinamikus prioritás
a taszk életciklusa során időközönként kiszámított
Mi a kiéheztetés?
A kisebb prioritású taszkok sosem kapnak CPU időt, mert a nála magasabb prioritásúak folyamatosan megelőzik.
megoldás: öregítés
Mi az öregítés?
Minden futásra kész taszknak a prioritását növeljük az ebben az állapotban eltöltött idővel arányosan.
(statikus /dinamikus) többszintű ütemező
1-1 szint egyféle algoritmus és egy globális algoritmus a sorok közötti választáshoz
Amikor bekerül egy taszk valamelyik szintre, onnan nem mozdulhat, a dinamikusban igen (átütemezhető).
CPU affinitás
a taszk és az azt végrehajtó processzor „kötődése”