Professional Documents
Culture Documents
OPERÁCIÓS RENDSZEREK
IV.rész
Tanár:
SOHÁR ATTILA
2003
Operációs rendszerek
2. Oldal
III.Béla Szakképző - Sohár Attila
• Alapfogalmak
• Rendszermag modellek
• Megszakítás-kezelés
• Holtpont-kezelés
Operációs rendszerek
3. Oldal
III.Béla Szakképző - Sohár Attila
Alapfogalmak 1.
Folyamat
Program
(task, process)
Szál (thread)
A folyamatokhoz nagyon hasonlítanak, de nyilvántartásukhoz
sokkal kevesebb adat elegendő, gyakran csak az
utasításszámláló és a regiszterek tartalma szükséges.
Operációs rendszerek
4. Oldal
III.Béla Szakképző - Sohár Attila
Alapfogalmak 2.
Folyamatleíró blokk
(Process Control Block - PCB, Task State Segment - TSS)
Egyértelműen azonosítja a folyamatot, tartalmazza a
folytatáshoz szükséges adatokat
Erőforrások
Alapfogalmak 3.
Erőforrások típusai
Alapfogalmak 4.
Rendszermag (kernel)
Az operációs rendszeri réteg felsőbb rétegeiből intenzíven használt
közös rutinokat a rendszermagnak (idegen szavakkal: kernelnek,
supervisornak, monitornak, master control programnak stb.)
nevezett szoftvermodulba szokták integrálni. Ez nem egyetlen,
összefüggő algoritmusú program. Inkább azt mondhatjuk, hogy
kényszerűségből összeötvözött szubrutin- és adattáblázat--együttes,
amelynek komponensei azonban ténylegesen csak együttesen
képesek a rendszermagtól elvárt szolgáltatásokat nyújtani.
E közösen használható rutinok alapvetően kétfélék:
* a hardver utasításkészlet bővítményei (mikroprogramok);
* a hardver sorrendképző (prioritási) és multiprogramozást
támogató mechanizmusainak a kiterjesztései.
Operációs rendszerek
9. Oldal
III.Béla Szakképző - Sohár Attila
A rendszermag struktúrája
OS2 szoftver-architektúrája
Az OS/2 az INTEL 80286/80386-os mikroprocesszorok hardver-
lehetőségeire épül. Ezek a mikroprocesszorok négyszintű
privilegizált állapothalmazzal rendelkeznek. Az OS/2 architektúrája
ennek alapos kihasználásával az alábbi négyrétegű struktúra:
+-------------------------------+
| Alkalmazói szint | 3
|-------------------------------|
| Parancsértelmező szint | 2
|------------A-P-I--------------| -
| B/K szint | 1 ^
|-------------------------------| | Kernel
| Rendszerhívások szintje | 0 v
+-------------------------------+ -
(API = Application Programming Interface)
Operációs rendszerek
12. Oldal
III.Béla Szakképző - Sohár Attila
T.H.E. architektúra
+‑------+-------------+--------------------------------+
| Szint | Főfunkció | Alfunkciók |
+-------+-------------+--------------------------------+
| | | |
| 4. | JOB-kezelők | 1. Felhasználói folyamatok |
| | | 2. Vezérlőáram--olvasó |
| | | |
|-------|-------------|--------------------------------|
| | | |
| 3. | Berendezés- | 1. Logikai/fizikai B/K |
| | kezelők | 2. Pufferkezelés |
| | | |
|-------|-------------|--------------------------------|
| | | |
| 2. | Operátori | 1. Operátori kommunikáció |
| | interfész | 2. Vezérlőpult--kezelés |
| | | |
|-------|-------------|--------------------------------|
| | | |
| 1. | Lapkezelő | 1. Tárkezelés |
| | | 2. Virtuális tár |
| | | |
|-------|-------------|--------------------------------|
| | | |
| 0. | Mag | 1. Folyamatvezérlés |
| | | 2. Szinkronizálás (zárkezelés) |
| | | |
+-------+-------------+--------------------------------+
Operációs rendszerek
13. Oldal
III.Béla Szakképző - Sohár Attila
Rendszerhívások
A felhasználói folyamatok és az operációs rendszer magja között a
kommunikáció a rendszerhívások segítségével történik.
A rendszerhívások megvalósítására az egyszerű ugróutasítástól
kezdve sokféle módszer létezik. Leggyakrabban egy kitüntetett gépi
kódú utasítás, egy szoftver megszakítás szolgál erre a célra, mely a
vezérlést a rendszermag egy jól meghatározott pontjára adja.
Eszközkezelők (device driver)
Külön eszközkezelők létjogosultságát az indokolja, hogy a folyamatok
kezelése a kernelre olyan feladatokat ró, hogy annak nincs ideje a
különböző perifériák speciális tulajdonságaira figyelni, azokat
egységes felületen keresztül szeretné kezelni.
Az eszközkezelők alkalmazása mellett szóló másik érv, hogy az op.r.
és a perifériák általában nem együtt fejlődnek.
Operációs rendszerek
14. Oldal
III.Béla Szakképző - Sohár Attila
Megszakítás
A megszakítás tehát tulajdonképpen hardver úton erőltetett
vezérlésátadást (ugrást) jelent a megszakítást feldolgozó, ún.
megszakító rutinra.
Megszakítások fajtái
Megszakítás (Interrupt)
– A perifériák jelzése a processzor számára (pl adatátvitel
vége)
Kivételek (Exception)
– A processzorműveletek során keletkező hibák esetén (pl
rossz címszámítás, osztás 0-val)
Nem maszkolható megszakítások (NMI)
– súlyos hardver (pl RAM, tápfeszültség) hiba
Csapda (Szoftver megszakítás, Trap)
– a felhasználói folyamatoktól érkező rendszerhívások
Operációs rendszerek
15. Oldal
III.Béla Szakképző - Sohár Attila
Megszakítás-kezelés lépései
Eredeti folyamat
Megszakításkérés
Elfogadás
A kérés kiszolgálása
Operációs rendszerek
16. Oldal
III.Béla Szakképző - Sohár Attila
Taszk
Sok operációs rendszer a folyamat fogalmat két fő részre osztja: egy
taszkra és egy vagy több ún. threadre (magyarul: szál). A taszk egy
"erőforrás-gyűjtemény" (fájlok, memóriaterületek és más objektumok)
a thread pedig a folyamat "lelke": lényegében egy processzorállapotból
és egy saját stack-ből áll. Egy taszkban egy vagy több thread lehet. Az
eredeti (UNIX-szerű) modellben egy folyamat pontosan egy taszkból
és egy benne futó threadből áll.
Egy multiprogramozású rendszerben (multitasking, multiprocessing)
egy időben több folyamat él. Folyamatok születnek, vetélkednek,
együttműködnek, kommunikálnak, végül megszűnnek.
Operációs rendszerek
17. Oldal
III.Béla Szakképző - Sohár Attila
Folyamatok állapotai
megszakad
FUT
létrejön elindul befejeződik
FUTÁSRA
KÉSZ
VÁRAKOZIK
Operációs rendszerek
18. Oldal
III.Béla Szakképző - Sohár Attila
Ütemezés
A multiprogramozás lényege: egyidőben több folyamat is az operatív
tárban helyezkedik el, készen állva a CPU kiszolgálására. Ha egy
folyamatnak várnia kell (Pl. I/O-ra), a CPU-t egy másik folyamat
kapja meg.
Az erőforrásokért vetélkedő processzeknél alapvető feladat az
erőforrások igénybevételének ütemezése. El kell dönteni, melyik
processz kapja meg az erőforrást.
Ütemezési feltételek (kritériumok)
· CPU kiszolgálás
· Átbocsátó képesség
· Végrehajtási idő
· Várakozási idő
· Válaszidő
Operációs rendszerek
19. Oldal
III.Béla Szakképző - Sohár Attila
Ütemezési algoritmusok
Időkiosztási algoritmusok:
- Igénybejelentési sorrend szerinti kiszolgálás
(first-come, first-served =FCFS)
- A rövidebb igény először
(shortest job first, shortest job next, SJF, SJN) kiszolgálás
elve
Prioritásos algoritmusok:
- Ígéretvezérelt időkiosztás (Policy Driven Scheduling)
- Körbejáró ütemezés (Round Robin)
- Többszintes prioritás-sorokon alapuló ütemezés
(Multilevel Feedback Queue Scheduling)
Operációs rendszerek
20. Oldal
III.Béla Szakképző - Sohár Attila
Holtpont
A holtpont jelenség tulajdonképpen az erőforrásokkal gazdálkodó, megosztott
használatukat lehetővé tevő algoritmusok mellékhatása, melynek kezelése
egyetlen fejlett operációs rendszerből sem hiányozhat. Egy rendszer csak akkor
kerülhet holtponthelyzetbe, ha a következő négy feltétel egyidejűleg teljesül:
* Kölcsönös kizárás van. Legalább egy erőforrás nem osztható módon
foglalt, azaz egyszerre csak egy folyamat használhatja. Ha egy másik folyamat
is igényli, várnia kell az erőforrás felszabadulásáig.
* Várás közben lekötés történik. Van olyan folyamat, amely leköt
legalább egy erőforrást, miközben várakozik más folyamatok által használt
erőforrás(ok)ra.
* Rablás nincs. Az erőforrások egy folyamattól erőszakkal nem vehetők el.
A felszabadítást a folyamat mindig önkéntesen végzi.
* Ciklikus várakozás lép fel. Létezik a folyamatok olyan {p0, p1, ... pn}
halmaza, hogy p0 a p1 által lefoglalt, p1 a p2 által lefoglalt,... pn a p0 által
lefoglalt valamelyik erőforrásra várakozik.
Operációs rendszerek
21. Oldal
III.Béla Szakképző - Sohár Attila
Vacsorázó bölcsek
Operációs rendszerek
22. Oldal
III.Béla Szakképző - Sohár Attila