Download as pdf or txt
Download as pdf or txt
You are on page 1of 93

Operációs rendszerek

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


1
Tartalomjegyzék - Témakörök:

1.Alapfogalmak, definíciók, az operációs rendszer


2.A számítógéprendszer hierarchikus rétegződése
3.Az operációs rendszer alapvető funkciói
4.Az operációs rendszerek osztályzása

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


2
1. Az operációs rendszer definíciója
Olyan program (programrendszer), amely a
számítógépen futó összes folyamat végrehajtását
vezérli (ISO szabvány szerinti megfogalmazás)!
sokan azt hiszik ez maga a „GÉP”
a hardver és a felhasználó között van
nagyméretű és bonyolult program
a legjobb hardver is csak „vas” operációs
rendszer nélkül

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


3
1.1. A számítógépes rendszer
hardver és szoftver rétegekből felépülő
hierarchikusan strukturált rendszer
Rétegek: hardver
operációs rendszer
fejlesztőeszközök (assembly, 3GL,4GL)
alkalmazói programok
Réteg: funkciók halmaza
rétegszolgáltatások, interface-ek

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


4
Hierarchikusan rétegelt rendszer:

Alkalmazók

Alkalmazói prog.

Fejlesztőeszközök

Operációs rendszer

Hardver - maga a gép

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


5
A hardver réteg elemei:
CPU: processzor(ok), memória
vezérlők, csatornák, perifériák (a gép)

Az operációs rendszer réteg:


kiterjesztett rendszerarchitektúrát szolgáltat
használhatóvá teszi a gépet a fejlesztőeszközök
és az alkalmazói rendszerek számára

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


6
Az operációs rendszer főbb részei:
a) gépkezelői beavatkozást megvalósító rész
- rendszerkonfigurálás
- működési statisztikák lekérdezése
- programok indítása, kilövése, állapotuk
lekérdezése
b) I/O műveletek komplett felügyelete
- I/O sor kezelése, műveletek indítása
- külső egységekről érkező megszakítások
kezelése

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


7
c) a multiprogramozás vezérlését megvalósító rész
- szétosztja az erőforrásokat
- értelmezi a munkavezérlő nyelvet
- fogadja, értelmezi az operátori
parancsokat
- futásra ütemezi a várakozó processzeket
- működteti az adott parancsértelmezőt
(akár többet is - legyen az karakteres
vagy grafikus)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


8
A fejlesztőeszköz réteg:
minden, ami programfejlesztéshez szükséges
fordítók, interpreterek, linkerek, 4GL eszközök,
program generátorok
(szintaktikai és szemantikai analízis,
kódgenerálás és kódoptimalizálás,)
fejlődése: gépi kód; assembly; 3GL: Fortran,
ALGOL, COBOL, Pascal, C, stb.; 4GL
eszközök, programgenerátorok, vizuális
eszközök
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
9
Alkalmazói réteg:
az alkalmazásfejlesztőket támogató alkalmazási
szoftverekből áll össze, növeli a számítógép
használati értékét
alkalmazói programok belövését, tesztelését és
indítását, futtatását segítő, támogató eszközök
további programfejlesztést nem igénylő programok,
amivel önálló alkalmazások hozhatók létre
(beépített makró-futtató rendszerek)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


10
Alkalmazók (emberek):
az egyes felhasználói csoportok, akik különböző
módokon igénylik a számítógépet a mindennapi
életben, akik a legtöbbet akarják kapni a géptől,
de a legkevesebbet akarják tudni róla - ezek köre
állandóan bővül

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


11
1.2. Az operációs rendszer fő feladatai:
- taszkok ütemezése, összehangolása
- erőforrások kezelése
- I/O műveletek megszervezése
- hibakezelés
- a helyes és optimális működés biztosítása
- program -és adatvédelem biztosítása
- kapcsolattartás a felhasználókkal

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


12
- naplózás és számlázás
- a hardver lehetőségeinek optimális és
maximális kihasználása (a hardver pedig segíti
a operációs rendszer működését)
- megszakításkezelés
- monitoring (felügyelő funkciók)
- rendszeradminisztráció

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


13
Tipikus operációs rendszeri funkciók:

operátori (felhasználói) interface biztosítása


a gép és a külvilág kapcsolatát biztosító I/O
műveletek támogatása
multiprogramozást lehetővé tevő funkciók
biztosítása
Fontos: nem minden operációs rendszer valósít
meg minden funkciót teljes körűen!

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


14
Az operációs rendszer, tehát egy olyan szoftver
eszköz, amely
- biztosítja a hardver kezelését, működtetését
(rendszeroperátori tevékenységek)
- elfedi a hardver speciális kötöttségeit
- vezérli a programok működését, futását
- szervezi a programok adatforgalmát
- elosztja a közösen használt erőforrásokat

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


15
- optimálisan igyekszik kihasználni az
erőforrásokat (multiprogramozás)
- az egyes igényeket, kérelmeket fogadja és
kiszolgálja
- vezérli a hardver egységeket egy adott cél
érdekében
- naplózza, adminisztrálja a rendszer
eseményeit

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


16
1.3. A multiprogramozás:
Ha az operációs rendszer egyidőben - látszólag - több
programot is vezérel
Megvalósításának feltételei (amikor egy folyamat nem
használja a processzort):
- I/O művelet esetén
- szoftver/hardver hiba
- a processz befejeződik
- a processz önként lemond a CPU-ról
- az op. rendszer időként visszaveszi a vezérlést

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


17
Folyamatok versengése:
A folyamatok (processzek vagy taszkok)
versengenek az erőforrások használatáért.
Az operációs rendszer ütemezi és adminisztrálja
az egyes erőforrásokat és a versengő
folyamatokat
Teljes körű ellenőrzés a operációs rendszer
kezében van: azt lehet, amit megenged
(várakozás + sorba állás + adminisztrálás =
ütemezés)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


18
Folyamatok (processzek) osztályzása időbeli
lefutásuk szerint:
soros - időben egymást követően
párhuzamos - időben egymást átlapolva futnak
szinkron - párhuzamosak, olyan kapcsolatban
állnak egymással, hogy valamelyik kiváltja a
másik működését pl. egy szinkronjel segítségével
aszinkron - párhuzamos, de egymástól
független folyamatok

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


19
izokron - egyidejűleg működő párhuzamos
folyamatok
ütemezett párhuzamos - szimultán konkurens
folyamatok, párhuzamosak, de közülük csak egy-
egy halad a többi vár - megfelelő ütemezési
politika szerint haladnak (fontos: az operációs
rendszer ütemező algoritmusa)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


20
2. A hierarchikus rétegek - az operációs
rendszer szemszögéből
2.1. A hardver
2.1.1. A processzor
Főbb jellemzői: utasítás rendszer, utasításkészlet
címzési rendszer, módszer
megszakítás rendszer
védelmi rendszer

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


21
2.1.2 Utasítás rendszer
Utasításkészlet: azon utasítások, melyeket a CPU
végre tud hajtani
1,2,3 vagy esetleg 0 operandusú gépi utasítások,
Felépítése: műveleti kód + operandusok (adatok,
regiszterek, de el is maradhat)

CISC: komplex utasításkészletű processzor


RISC: szűkített utasításkészletű processzor

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


22
RISC: nagyságrenddel kevesebb utasítást
tartalmaznak mint a CISC processzorok, viszont
azokat sokkal gyorsabban sőt sok esetben
párhuzamosan hajtják végre (superskalár
processzorok). Speciális igényeknek jobban
megfelel, hatékonyságuk nem minden területen
megfelelő.
Bővített utasításrendszer: meglévő utasítások
felhasználásával mikroprogramokat lehet írni, s
ezeket mint új utasításokat használhatjuk

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


23
2.1.3. Címzési módszerek:
- közvetlen (direkt vagy egyenes) címzés:
közvetlen az operatív tár bájtjára mutat
- indirekt címzés: index regiszteres
(indexregiszter tartalmazza a megfelelő címet),
bázisregiszteres címzés (bázisregiszter tartalma
egy alapcím, ehhez adódik hozza az ún. eltolás =
így kapjuk meg a a végleges címet)
- virtuális címzés: amikor a tényleges cím nem az
operatív tárban van, hanem egy közvetlen elérésű
gyors háttértárolón (pl. mágneslemez).
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
24
Virtuális címzéshez szükség, hogy a processzor
nagyobb területet tudjon címezni, mint a tényleges
operatív tár mérete
Társzervezés: akkor van rá szükség, ha processzor
nem tudja címezni a teljes operatív tárat. Ilyenkor
szegmensekre osztják a fizikai memóriát, s a
processzor egyszerre egy szegmenst tud belátni

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


25
2.1.4. Megszakítási rendszer
A processzor valamilyen okból az éppen futó processz
következő utasítása helyett egy teljesen más címen
levő másik program utasításait hajtja végre
Az operációs rendszer az előbb futó processzt
valamilyen okból felfüggeszti egy megszakítással,
majd később visszaadja a vezérlést, ha még az
lehetséges
Megszakítás: hardver vagy szoftver; külső vagy belső
Adott esetben részleges vagy teljes tiltás is lehetséges
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
26
Miért kell a megszakítás?
Bizonyos tevékenységeket csak az operációs rendszer
végezhet el, alkalmazói program nem
I/O művelet lebonyolítása
hardver eszköz állapotváltozása
hibák kiszűrése
rendszeradminisztráció lebonyolítása
ütemezése, szinkronizálások, rendszerhívás

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


27
Megszakítások okai:
a) programhiba miatt
- érvénytelen utasítás
- címzési hiba
- nullával való osztás
- túlcsordulás, stb.
b) géphiba miatt
- hardver eszközök hibája

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


28
c) szoftverből generált megszakítás (SVC, INT) miatt
d) külső megszakítás miatt
- timer tick (időzítő)
- interrupt billentyű
- másik processzortól érkező kérelem
e) I/O művelet miatt
- I/O műveleti igény, kezdés vagy vég
- esetleg I/O hiba

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


29
A megszakítás menete:
- megszakítási kérelem érkezik a központi egységhez
- az operációs rendszer átveszi a vezérlést
- ha a megszakítás tiltott, akkor várakozni kell
(ciklikusan vagy csak meghatározott ideig - time out)
- amikor elfogadja, akkor kezdi a megszakítás-vezérlő
a processz állapotvektorát (regiszterek) lementeni
(operációs rendszer)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


30
- elmentés után a megfelelő megszakítási vektorból
előveszi a CPU a megszakítási rutin induló
állapotvektorát, és átadja a vezérlést az rutin első
utasítására
- fut a megszakításvezérlő, felderíti a
megszakításkérelem okát, és annak megfelelően
elvégzi a dolgokat. Normál esetben eközben már újra
engedi a megszakításkérelmeket, de lehet hogy az
adott megszakítás vagy akár mindegyik tiltva (!) van

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


31
- a komplett lefutás után visszaadja a vezérlést az
operációs rendszerek, aki dönt a további
programfuttatásról (ütemezés)
- futtatás: állapotvektor visszatöltése, CPU-ra
kapcsolás (az operációs rendszer visszaadja a vezérlést
valamely programnak)
Fontos: egyáltalán nem biztos, hogy az operációs
rendszer ütemezője annak a processznek adja vissza a
vezérlést, aki az adott megszakítást kérte; ekkor a
megszakítás eredménye rendszerterületen tárolódik

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


32
Fontos továbbá még az is, hogy a rendszer minél
rövidebb ideig legyen megszakítás fogadására
alkalmatlan (védtelen) állapotban

CPU működési állapotok:


- normál üzemmód: az utasításkészlet csak egy rész
érhető el
- privilegizált üzemmód: minden utasítás elérhető és
végrehajtható

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


33
Operációs rendszer: mindig privilegizált módban
működik - ezt nevezzük Supervisor vagy Master
módnak
Felhasználói programok: mindig normál módban
használja a CPU-t
I/O műveletek csak privilegizált állapotban hajthatók
végre

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


34
Megszakításkezelést elősegítő eszközök:
- CPU működési állapotok
- több regiszterkészlet bevezetése
- megszakítási maszk bevezetése
- megszakítási osztályok - párhuzamosítás
- megszakítási precedenciák, prioritások, sorrendek
- gyors utasítások az állapotvektor mentésre/töltésre

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


35
2.1.5. A védelmi rendszer
Csak akkor lehet megvalósítani, ha van a CPU-nak
normál és privilegizált üzemmódja is

Célja: megakadályozni az illetéktelen hozzáféréseket


(utasítások, memória terültet kezelése)
hibás programműködés kiszűrése
(regiszterkezelés, megszakításkérelem,stb.)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


36
Védeni kell:
a CPU-t
az operatív tárat (tárvédelmi regiszterek)
az I/O műveleteket
a megszakításokat
CPU-t elrontani nem lehet, de kerülni kell a végtelen
ciklust, mert akkor állandón foglalt a CPU - ezért van
az, hogy időönként visszaveszi a operációs rendszer a
vezérlést; így kilőhető a végtelen ciklusba esett
program

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


37
Központi tár védelme:

- fontos, mert itt van az operációs rendszer is


- több program van betöltve (multiprogramozás)
- el kell érni, hogy a programok csak a saját
területükre írhassanak, ha mégis máshova akarna,
akkor le kell állítania az operációs rendszernek
- tárvédelmi kulcsok (tárvédelmi regiszterek)
tartalmazzák a programokhoz tartozó memória
kezdetét és végét - esetenként közös tárterületről lehet
olvasni (de csak azt, és azt is az operációs rendszer
felügyelete alatt!)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


38
I/O műveletek védelme:

- védeni kell a perifériális programhibát (pl. nem


figyeljük az EOF-et)
- közösen használt perifériákat megfelelően ütemezni
kell
Megoldás: I/O műveletet csak privilegizált módban
lehessen végrehajtani - csak az operációs rendszer
teheti ezt meg - felhasználói program csak
kérelmezheti az I/O lebonyolítását

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


39
2.2. Tárak

- operatív tár: maga a memória; lehet gyorstár vagy


normál tár; fajtái: RAM (EDORAM, DRAM,
SDRAM, FlashRAM, ROM, PROM, EPROM,
EEPROM
Gyorstár: nagyságrenddel gyorsabb innen az adat és
utasítás elérés, mint a normál tárból, drágább is,
kevesebb van belőle mint a normál tárból

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


40
A gyorstárat nem mindenki használhatja egyformán:
- egyes esetekben csak az operációs rendszer
használhatja
- más esetekben, a felhasználói programok is
használhatja a gyorstár egy részét, míg az operációs
rendszer az egészet
Régen, amikor a regiszterek nem a processzorban
voltak, akkor a gyorstárban foglaltak helyet a
számukra (regiszterkészletek!)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


41
- háttértárak: adattárolásra: mágneses, optikai (CD,
CD-RW, DVD), egyéb elektronikus háttértárak
- virtuális tár: processzor által címezhető tár (mintha
operatív tár lenne), amely közvetlen elérésű
háttértáron helyezkedik el
Virtuális tárkezelés esetén a valós operatív tárat
meghaladó méretű programokat is lehet futtatni
Programok, adatok az operatív tárban helyezkednek el,
innen veszi elő a processzor őket végrehajtásra (lásd
gépi kódú utasítás végrehajtási sémája)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


42
3. Az operációs rendszer alapvető funkciói:
a) rendszeradminisztráció: minden ami a gép, a
hardver és a futó folyamatok vezérlése megkíván,
szükségessé tesz a normális működés érdekében
b) programfejlesztési támogatás: amit a
szoftverfejlesztés megkíván az adott operációs
rendszer keretein belül
c) alkalmazói támogatás: alkalmazói programok
indításához, kezeléséhez, használatához nyújtott op.
rendszerbeli segítség

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


43
3.1. Rendszeradminisztráció
- processzor ütemezés
- valós és virtuális tárkezelés
- megszakításkezelés
- folyamatvezérlés
- szinkronizálás
- hibakezelés
- erőforrás-kezelés
- adatállomány (file és katalógus) kezelés
- perifériakezelés
- naplózás, számlázás
- operátori tevékenységek támogatása
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
44
3.2. Programfejlesztési támogatás:

- szövegszerkesztő (programers editor) biztosítása a


forrásprogramok, scriptek elkészítéséhez
- esetleg fordítók (compilerek), értelmezők
(interpreterek), linkage editorok (linkerek), egyéb
CASE eszközök biztosítása (ma már ez nem divat),
ritkán bináris LIB-ek mellékelése
- az operációs rendszer rutinjainak elérése, meghívása
valamely megszakításon keresztül (TRAP, SVC, INT)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


45
3.2.1. A fordító (compiler)
- a forráskód szintaktikai és szemantikai ellenőrzése
- kódgenerálás, kódoptimalizálás

Előnyei: bináris kódtárolást valósít meg


a kód gyors futású, újrahasznosítható
bináris könyvtárazási lehetőségek
könnyű modularizálási lehetőségek

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


46
Hátrányai: nehézkes hibakeresés, javítás
nem sok esetben hordozható
inkompatibilitási problémák

A fordító inputja: egy vagy több forrásállomány


outputja: egy tárgykódú (OBJ) file

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


47
3.2.2. A linker (linkage editor - programszerkesztő)
A fordítás után létrejött tárgykód még nem betölthető
és futtatható, ezért van szükség a linker-re
A linker inputja és outputja
inputja: egy vagy több tárgykódú file
bináris könyvtár(ak) - LIB-ek
output: a mindenkori operációs rendszer számára
futtatható program, lehet több fajta is

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


48
3.2.3. Az értelmező (interpreter)
Menet közben utasításonként vagy soronként
értelmezi a forráskódot. Értelmezés: szintaktikai
ellenőrzés, gépi kódúvá alakítás, azonnali végrehajtás
Előnyei: gyors, azonnali hibakezelés, hibakeresés és
javítás, egyszerű tárolás, könnyű módosíthatóság,
hordozhatóság
Hátrányai: nincs bináris tárolás (talán a p-code?),
lassú, helyenként körülményes (lásd ciklusok),
interpreter szükségessége

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


49
3.2.4. A betöltő (loader)
A megszerkesztett programot betölti az operatív tárba,
ha szükséges relokálja, bejegyzi az operációs rendszer
processz-táblájába (PCB vagy TCB), előkészíti az
állapotvektort, de sohasem futtat
Vannak rendszerek ahol külön neve van a
programnak, és külön kell aktiválni (meghívni),
interaktív rendszerekben ez sokkal egyszerűbb dolog

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


50
3.2.5. Az operációs rendszer rutinjainak hívása
- hardver eszköz állapotváltozása generálhatja (külső
interrupt hívás)
- a védelmi rendszer aktiválhatja (pl. nullával osztunk)
- szoftverből generált megszakítás segítségével (pl.
SVC, INT, DOSCALL utasítások vagy magasszintű
nyelvekből megfelelő függvényekkel: Intr, MsDos,
Int86, Intdos, stb.)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


51
Az operációs rendszer rutinjainak egy része rezidens
vagy rezidensé tehető, a többi tranziens rutin
A rezidens rutinok csak egy példányban vannak az
operatív tárban, de mindig ott vannak
Az operációs rendszer rutinjainak megvalósítása:
- REENTERABLE
- REUSABLE
- REFRESHABLE

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


52
a) REENTERABLE (újra beléptethető)
rutinok azok, melyek bármikor újra aktivizálhatók
akár a befejeződésük előtt is (megszakítás útján, vagy
multiprocesszoros környezetben normál módon)
Feltételek: nem módosíthatja önmagát
nem tartalmazhat módosítható adatokat
a nem-konstans adatokat csak regiszteres
címzéssel érheti el

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


53
b) REUSABLE (újra felhasználható)
Ezek a rutinok azok, melyeket egy időben csak egy
folyamat használhat, de a használat után újratöltés
nélkül megkaphatja egy másik folyamat (processz)
Feltételek:
ha megváltoztatja magát vagy a benne levő
adatokat, akkor kilépés előtt vissza kell mindent
állítani
még programhiba esetén sem fejeződhet be úgy,
hogy a kiindulási állapot ne állna vissza
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
54
c) REFRESHABLE (frissíthető)
Futásuk felfüggeszthető, a tárból kiírás nélkül
kitörölhető, mert bármikor háttértárról újra betölthető
Hasznosak lehetnek:
- tárhiba esetén, virtuális tárkezelés esetén
- tárhiány esetén, ha sürgősebb feladatot kell
végrehajtani, s annak kell a hely, akkor őket fel lehet
függeszteni, és helyük ideiglenesen felszabadítható

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


55
3.2.6. A programtesztelés támogatása
Forrásprogram szintjén:
- nyomkövető utasítások a programon belül
- beépített belső debug lehetőségek

Fordítás, Interpretálás, Linkelés szintjén:


- fordítást, értelmezést vezérlő utasítások
- linker vezérlő utasítások

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


56
Operációs rendszer szintjén:
- tárkivonat (core dump, főleg hexában)
- interaktív debug programok
(megszakítás: trace on/off, step)
- szimbolikus dump
(csak a változók nevét és tartalmát)
- interaktív nyomkövető programok (AFD, TD,
CodeView és egyéb rendszerutility-k

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


57
Nyomkövetés hardver támogatással:
- speciális esetekben (pl. túlcsordulás, nullával osztás,
privilegizált utasításhívás, stb.) a hardver
megszakítja a programot és elérhetővé teszi a
programállapot kiértékelését
- bizonyos processzoroknak van „TEST” üzemmódja

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


58
3.3. Alkalmazói támogatás

- operátori parancsnyelvek az üzemeltetési


funkciókhoz
- munkavezérlő nyelvek (JOB control language)
- segédprogramok, amelyekkel rendszerszolgáltatások
elérhetőek (utilities)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


59
- speciális programcsomagok egyedi felhasználási
területekhez (grafikus interface-ek)
- interaktivitás megvalósítás OS szinten
- alkalmazói rendszerszolgáltatások
- alkalmazói programkészlet (file-kezelők)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


60
4. Az operációs rendszerek osztályzása
Szempontok:
a) személyi számítógép, munkaállomás, minigép,
mainframe gépek
- PC-k személyi számítógép op. rendszere: egyszerű,
olcsó, egyfelhasználós, egytaszkos, adatvédelem
szinte semmi (MS-DOS)
- Mini gépes és munkaállomások: többtaszkos,
esetenként többfelhasználós, otthon is használható,
megfelelő adat -és programvédelemmel
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
61
Megbízható hardvert és szoftvert kíván,
folyamatvezérlésre is alkalmas, sokszor a feladatok is
párhuzamosíthatók, többprocesszoros változatok is
léteznek (UNIX, WinXX, NT, Netware)
- Nagyszámítógépek (mainframe OS)
Drága, nagy teljesítmény, rendszerek integrálására
szolgálnak, többfelhasználós (ezres nagyságrend),
többtaszkos, nagyméretű adatfeldolgozás,
folyamatirányítás, csak hálózatos implementációk,
üzemeltetésük igen nagy szakértelmet és megfelelő
környezetet kíván, kritikus adat -és programvédelem
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
62
Sok rendszerfunkció, sok-sok párhuzamosan működő
processzor, real-time lehetőségek, több operációs
rendszer párhuzamos futtatása (IBM mainframe OS:
OS/VS1, OS/VS2, VM)
b) egy vagy többfelhasználós OS (multiuser)
c) egy vagy többtaszkos OS (multiprogramozott)
d) utasításpárhuzamosításra alkalmas OS
(multithread)
e) kötegelt (BATCH) vagy interaktív
f) hálózatos és elosztott OS

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


63
4.1. Hagyományos felosztás:
- egyfelhasználós (kötegelt vagy interaktív)
- többfelhasználós (kötegelt vagy interaktív)
- monoprogramozott vagy multiprogramozott, esetleg
többszálú megvalósítást támogató
- üzemmód: kötegelt, időosztásos, valós idejű, esetleg
vegyíti ezeket
- egy vagy többprocesszoros
- elosztott és hálózati OS

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


64
4.2. Felhasználás jellege szerint:
- adatfeldolgozó rendszerek
- tranzakció-orientált rendszerek
- folyamatvezérlő, folyamatirányító rendszerek
- műszaki problémamegoldó rendszerek
- személyi felhasználásra készült rendszerek (GSM)
- fejlesztő rendszerek

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


65
4.3.1. Egyfelhasználós rendszerek

- kezdeti megoldás volt


- kötegelt eléréssel párosult
- személyi számítógépeknél nem volt fontos a gép, a
hardver kihasználtsága, így újra divatba jött

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


66
4.3.2. Multiprogramozott rendszerek
A programvégrehajtás közben a CPU sokszor várni
kényszerül (pl. I/O műveletek, operátori
közbeavatkozás, stb.), Ekkor át lehet kapcsolni a CPU-
t más programra, amely persze a tárban van, vagy oda
be lehet hozni
Interaktív rendszerekben egyre nagyobb a jelentősége
(pl. ablakok, virtuális terminálok, grafikus
munkaállomások…)
Vannak egyfelhasználós multiprogramozott
rendszerek. A multiuser rendszerek szükségszerűen
multiprogramozott is
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
67
Multitaszking:
egy adott felhasználó több programja fut látszólag
egyidőben - fontos: az operációs rendszer ütemező
algoritmusa

Multiprogramozást támogató eszközök:


a) SPOOL - Simultan Peripherial Operating On-Line
(nyomtatók kezelésére, levelezésre, egyéb
lassú perifériák számára - első megvalósítása: HASP)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


68
b) Swapping - program cserebere:
Egy adott pillanatban az éppen futóprogram van a
tárban, a többi mágneslemezen várakozik
Csere: ha a futó programot az operációs rendszer
felfüggeszti, akkor az kimegy lemezre, és a várakozók
közül egy betöltődik
Előny: maga a multiprogramozás
Hátrány: lassúság a sok I/O művelet miatt

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


69
c) többpartíciós multiprogramozás:
A memóriát különálló - egymástól független -
partíciókra osztják, mindegyikben egy program lehet,
s ezek közül egy fut a többi várakozik; később
összeházasították ezt a a swapping-el
d) lapozás - szegmentált lapozás
A tárat és a programot is lapokra osztják (egy lap:0,5-
4K) - minden program annyi lapot kap amennyi neki
kell, esetleg kevesebbet, a pedig többit virtuális tárra
teszik

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


70
A multiprogramozás problémái:

a) nem megosztható perifériák egyidejű kezelése (pl.


printer, mágnesszalag, reusable rutinok)?
- részben segít a SPOOLING technika, vagy a
szemafor-technika (E.W. Dijkstra)
b) a válaszidők csökkentése a hatásfok csökkenése
nélkül?
- időosztásos megoldások; interaktív programoknak
nagyobb prioritást kell adni

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


71
c) hogyan védhetjük a programokat és az operációs
rendszert egymástól?
- a CPU privilegizált üzemmódja (csak ekkor lehet
programot tölteni és memóriát foglalni), tárvédelmi
kulcsokkal vagy regiszterekkel

d) hogyan osszuk szét az operatív tárat a betöltött


programok között?
- partícionálás, swapping, lapozás, szegmentált
lapozás (virtuális tárkezelés)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


72
e) hogyan osszuk szét az erőforrásokat úgy, hogy ne
alakuljon ki holtpont?
- teljes körű erőforrás-kiosztás adminisztrálás,
szinkronizálás, megfelelő erőforrás-ütemező
algoritmusok, holtpont megelőzés vagy felismerés

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


73
4.3.3. Többprocesszoros rendszerek
Olyan rendszerek, melyben több processzor dolgozik,
főleg RISC processzorokkal alkalmazzák ezt
- egy közös tárban több processzor dolgozik
- számítógép-hálózatok
a) van egy kitüntetett processzor, amely vezérli a többi
processzort, és elvégzi az alapfunkciókat (tárkezelés,
I/O szervezés, taszk-ütemezés); adott esetben egy - a
fő - processzort csak az operációs rendszer használja,
a többi osztják szét a felhasználói folyamatok között
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
74
b) back-end processzor kapcsolat: egy főprocesszor
bírja munkára a társprocesszort vagy processzorokat,
ez alárendeltségi viszonyt mutat (pl. grafikus vagy
matematikai társ-processzori megvalósítások)
c) a sok processzor teljesen egyenrangú, és az
operációs rendszer osztja szét közöttük a feladatokat a
megfelelő ütemező algoritmus segítségével (maga az
operációs rendszer is az épp szabad processzort
használja)
Szorosan és lazán csatolt rendszereket különböztetünk
meg a többprocesszoros rendszerekben
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
75
Bármelyik processzor indíthat I/O műveletet, amely
megszakítást okoz azon a processzoron, amelyik
fogadni tudja a megszakítást (ütemezés,
szinkronizálás)
Nem lehet tudni, hogy egy adott felhasználó
programja melyik processzoron fut
Az időszelet végén a program az új aktivizálódáskor
bármelyik processzoron futhat tovább, és folytathatja a
munkát

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


76
Egy processzorhiba esetén egyik program sem szakad
meg, hanem a hibát okozó processzor leáll, és
valamelyik másik átveszi a rajta futó program
végrehajtását (mintha csak az időszelet járt volna le)
Sajnos ezek a megoldások ma még túl drágák, jobbára
a katonai rendszerekben, az űrkutatásban, s a
folyamatvezérlésben használják (vegyi üzemek,
atomreaktorok)
Bár helyenként megfigyelhetők az
közlekedéstechnikában is (autók, repüléstechnika,
automata metró-irányítás)
Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola
77
4.3.4. Valós idejű rendszerek
Normál körülmények között a programok nem
valósidőben futnak a sok felfüggesztés, ütemezés
miatt bekövetkezett időveszteségek miatt
Ipari környezetbe beépített számítógépes
rendszerekben ez megengedhetetlen
Folyamatvezérlést csak valós idejű rendszerekkel lehet
megvalósítani

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


78
Az eseményvezérelt jelleg (event driven) csak távoli
rokona a valós idejű (real-time) rendszereknek
A valós idő nem azonnalit jelent, hanem előírt
időkorlátokat, amelyeket viszont nem szabad áthágni,
mert az rendszerhibát, rendszerleállást eredményez - jó
esetben (vagy Csernobil)
Az eseményvezérelt rendszerek az emberi
reakcióidőhöz vannak optimalizálva (0.1-1.0 sec, bár
belső a hardverhez igazodó események lehetnek
gyorsabbak is), ez elektronikusan mérve igen lassú

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


79
Gyors folyamatoknál (pl. atomreaktor, vegyi
kombinát, olajfinomítók) igen alacsony reakció idők
vannak: kb. 1- ms
Ilyenkor a kérelmek is megfelelően érzékeny mérő
műszerekről érkeznek a számítógépes rendszerhez
Az egész rendszer csúcsterhelésre kell méretezni, s
arra kell optimalizálni, csúcsterhelésen kell tesztelni
Programfejlesztésre ezek a rendszerek alkalmatlanok

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


80
Valós idejű rendszereket más operációs rendszer alatt
fejlesztik ki, ahol szimulálják a vezérelt folyamatokat,
majd kipróbálják a célhardveren is csúcs üzemmódban
A fejlesztési és tesztelési idő nagyságrendekkel
nagyobb, mint a beüzemelési szakasz
Az esetek nagy részében az operátorok a valós idejű
rendszereket csak elindítani és leállítani tudják, tehát
az emberi beavatkozás minimális

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


81
Hibás működés esetén kell beavatkozni, illetve
állásidőben lehetőség van bizonyos átkonfigurálásokra
Ezeknél a programoknál fontos, hogy
megváltoztathatatlanok legyenek - ezért a programokat
ROM-ba égetve használják, így nem lehet elrontani
őket, nem sérülnek

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


82
4.3.5. Eseményvezérelt rendszerek
Legfőképpen a mai, modern interaktív, grafikus és
menüvezérelt rendszerekben használják
A válaszidők bizonyos esetekben az emberi reakció
időkhöz és más esetekben a hardver sebességéhez
vannak optimalizálva (bár vannak anomáliák, s emiatt
inkompatibilitási problémák is adódnak)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


83
4.3.6. Tranzakció-orientált rendszerek
Hasonlóak a valós idejű rendszerekhez és az
eseményvezérelt rendszerekhez, de itt az esemény
maga a kívülről jövő (felhasználó felöl jövő)
tranzakció - belülről ilyet nem generál a rendszer
Itt emberi reakció időkkel kell számolni, bár sok
esetben itt is használnak másodpercekben mért
válaszidő-korlátokat
Egyidejűleg sok ügyfél kiszolgálása sem okozhat
gondot (…)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


84
4.3.7. Kötegelt rendszerek (BATCH)
Több összetartozó programot egy egységbe
szerveznek - ez a JOB
A JOB-okat egymás után adják fel a rendszerbe
feldolgozásra, az főütemező kiválasztja a futásra
alkalmas JOB-ot, és időben egymást követően
végrehajtja a benne szereplő programokat
Több JOB több programja is futhat konkurens módon
- ennek ütemezése már az operációs rendszer
diszpécserének feladata

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


85
A programozó, a felhasználó ilyenkor nincs
kapcsolatban a programjával - a mai rendszerekben ezt
a „háttérben való futtatás” valósítja meg
Az operátor adott esetben leállíthatja, ideiglenesen
felfüggesztheti a futó JOB-ot független attól, hogy az
hol tart (nehézkes visszaállítási lehetőségek)
Némely esetben a JOB-ok üzennek a terminálra, attól
függően, hogy hol tartanak, mit csinálnak
Futásuk szempontjából kritikus az erőforrás-kezelés

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


86
Talán a legjobb hardver és gépidő kihasználtságot
biztosítják, de a JOB-ok fordulásának ideje - a benne
szereplő programok betöltése, futása, leállása - igen
nagy lehet, ezért interaktivitásra alkalmatlan

4.3.8. Interaktív rendszerek


Az operációs rendszer olyan operátori interface-t
biztosít, amely által állandó kapcsolatban van a
felhasználó a géppel
Ez lehet karakter-orientált vagy grafikus

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


87
4.3.9. Időosztásos rendszerek (dr. John Kemény)
Általában interaktív üzemmód, a CPU idő osztják a
felhasználó, esetleg a processzek között szét
(processzek sohasem kapnak fix időszeletet!)
Az idő körben jár, s mindenki ugyanannyi időre kapja
meg a CPU-t - minden felhasználó az adott
időszeletnyit dolgozik
Sokszor kombinálják BATCH (háttér) futtatással is -
1988-tól szinte már csak ez létezik

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


88
4.3.10. Többfelhasználós rendszerek
Ezek gyakorlatilag a számítógép-hálózatok: az
operációs rendszer legfontosabb feladata a hálózat
életben tartása, azért hogy a felhasználók
folyamatosan tudjanak kommunikálni
Számítógép-hálózatok fajtái:
- egy központi gép van összekötve „buta”
terminálokkal (terminál=DTE, Data Termination
Equipment)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


89
- egy központi gép több „intelligens” terminállal, azaz
munkaállomással van összekötve
- több önálló „teljes értékű” gép van összekötve -
bármelyik lehet szerver, ha a szükség úgy hozza
Összekötés: vonalakkal, amely lehet közvetlen
adatbusz, kábel, telefon-vonal, mikrohullám, infra,
műholdas és egyéb rádiókapcsolat
A hálózat célja: a központi hardver és szoftver
erőforrás-kezelés, gyors adatátvitel és kommunikáció,
szükség esetén a feladatok megosztása

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


90
Az elosztott rendszerek: ezek is számítógép-hálózatok,
de míg az „egyszerű hálózatoknál” pontosan tudjuk,
hogy hol hajtódik végre az elindított folyamat, addig
az elosztott rendszerekben nem - ahol van szabad
erőforrás oda teszi át a folyamatot (járulékaival
együtt) az elosztott rendszert működtető operációs
rendszer
Hálózati topológiák:
- teljes vagy részlegesen kapcsolt
- csillag, sín vagy busz, gyűrű

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


91
- felnyitott gyűrű
- többszörös gyűrű
- fastruktúrás topológia

Kiépítés mérete szerint a számítógép-hálózat lehet:


LAN - Local Area Network (Netware, UNIX, NT)
MAN - Metropolitan Area Network (~OTP ATM)
WAN - Wide Area Network (Internet)

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


92
Protokoll, azaz adatkapcsolat, adatátvitel szerint:
- vonalkapcsolt
- üzenetkapcsolt
- csomagkapcsolt

A hálózatok kialakítását befolyásoló tényezők:


- biztonság, védelem, létesítési költségek,
kommunikációs költségek, hardver -és
szoftverintegritás

Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola


93

You might also like