You are on page 1of 24

III.

Béla Szakképző Iskola


Szentgotthárd

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

Eszközök és folyamatok vezérlése

• 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)

Egy algoritmust megvalósító


utasítások sorozata, Végrehajtás alatt lévő,
függetlenül attól, hogy azok futó program.
magas szintű nyelven vagy Olyan program, melyeknek
akár bináris gépi kódban van van folyamatleíró blokkja.
ábrázolva és tárolva.

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

Minden, ami egy folyamat végrehajtásához szükséges


(memória, processzor,perifériák állományok stb.)
Operációs rendszerek
5. Oldal
III.Béla Szakképző - Sohár Attila

Alapfogalmak 3.

Erőforrások típusai

Megszakítható Nem megszakítható


(preemptív) (non-preemptív)
A folyamatoktól az Az erőforrás használat
erőforrás a folyamat félbeszakítása esetén a
vagy erőforrás károsodása folyamat vagy erőforrás
nélkül elvehető sérülhet!
(processzor, memória) (állomány, nyomtató)
Operációs rendszerek
6. Oldal
III.Béla Szakképző - Sohár Attila

Alapfogalmak 4.

Operációs rendszer Operációs rendszer


(Erőforrás szemlélet) (Felhasználói szemlélet)
A folyamatok egy olyan
A folyamatok egy olyan csoportja, amely megkíméli
csoportja, amely a a felhasználókat a hardver
felhasználói folyamatok kezelés nehézségeitől,
között elosztja kellemesebb alkalmazói
az erőforrásokat környezetet
biztosít
Operációs rendszerek
7. Oldal
III.Béla Szakképző - Sohár Attila

Az operációs rendszer szerkezete


Felhasználói programok
Program készítési támogatás
Felhasználói folyamatok kiszolgálása
Rendszerhívások Válaszok
Processzorkezelés
Rendszermag
Memóriakezelés
(KERNEL)
Állománykezelés
Eszközmeghajtók Megszakítás kezelés
Hardver
Operációs rendszerek
8. Oldal
III.Béla Szakképző - Sohár Attila

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

Nagyméretű rendszermagok funkciói


* mikroprogramok (nem létező hardverutasítások emulátorai:
decimális, lebegőpontos aritmetika stb.);
* megszakításkezelés;
* hívó- és hívott folyamatok állapotának vezérlése, követése;
* folyamat-szinkronizáció;
* a védelmi rendszer működtetése;
* erőforrás--kezelés;
* ütemezések;
* eseménystatisztika és -elemzés;
* a rendszerkönyvtárak kezelése stb.
Operációs rendszerek
10. Oldal
III.Béla Szakképző - Sohár Attila

A rendszermag struktúrája

A rendszermag strukturálódását több szempont befolyásolja. Ezek


közül a leglényegesebbek a védelmi rendszer megszervezésének
igényei. Ennek az az oka, hogy a rendszermagon belül -- ahol sajnos
a privilegizált állapot miatt "mindent szabad csinálni" -- az egyes
rutinokat valahogy egymás ellen is védeni kellene, nehogy
szoftverhiba esetén a hibás rutin korlátlanul "garázdálkodhasson", és
óriási károkat okozzon.
Operációs rendszerek
11. Oldal
III.Béla Szakképző - Sohár Attila

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

Állapot elmentése Állapot visszaállítása

Privilegizált mód Felhasználói mód

Kiszolgáló rutin címe

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

Holtpont kezelési stratégiák


• A holtpont megelőzése
– A négy feltétel (legalább) egyikét nem engedjük teljesülni
– NEM MINDIG LEHETSÉGES
(a korlátozó feltételek miatt)
• A kialakult holtpont felismerése és megszüntetése
- Megszüntetjük a holtponti helyzetben lévő folyamatokat - nagy
veszteség
- Finomítás: EGYENKÉNT szüntetünk meg holtponti helyzetben lévő
folyamatokat, amíg a holtpont fennáll - kisebb veszteség
Operációs rendszerek
23. Oldal
III.Béla Szakképző - Sohár Attila

Közösen használt erőforrások -


szinkronizáció
közös
termelő fogyasztó
adat-
folyamat folyamat
terület

A közös adatterületet (KÖZÖS ERŐFORRÁS) egyszerre


csak egy folyamat használhatja (KÖLCSÖNÖS KIZÁRÁS)
szemafor
közös
termelő fogyasztó
adat-
folyamat folyamat
terület
Operációs rendszerek
24. Oldal
III.Béla Szakképző - Sohár Attila

Szinkronizáció - szemafor használata


szemafor
közös
termelő fogyasztó
adat-
folyamat folyamat
terület
1. a szemafor olvasása 1. a szemafor olvasása
2. a beolvasott érték 2. a beolvasott érték
vizsgálata vizsgálata
3. ha szabad: a szemafor 3. ha szabad: a szemafor
foglaltra állítása foglaltra állítása
4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re
5. az erőforrás használata 5. az erőforrás használata
(írás a közös memóriába) (olvasás a közös memóriából)
6. a szemafor szabadra állítása 6. a szemafor szabadra állítása

You might also like