7/22/2019 Op Rendszerek Fazekas Gabor
1/200
Fazekas Gbor
Opercis rendszerek
mobiDIK knyvtr
7/22/2019 Op Rendszerek Fazekas Gabor
2/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek2
Fazekas Gbor
Opercis rendszerek
mobiDIK knyvtr
SOROZATSZERKESZT
Fazekas Istvn
7/22/2019 Op Rendszerek Fazekas Gabor
3/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek3
Fazekas Gboregyetemi docens
Debreceni Egyetem
Opercis rendszerekOktatsi segdanyag
Els kiads
mobiDIK knyvtrDebreceni Egyetem
7/22/2019 Op Rendszerek Fazekas Gabor
4/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek4
Lektor
CopyrightFazekas Gbor, 2003Copyrightelektronikus kzls mobiDIK knyvtr, 2003mobiDIK knyvtrDebreceni EgyetemInformatikai Intzet4010 Debrecen, Pf. 12.
Hungaryhttp://mobidiak.inf.unideb.hu/
7/22/2019 Op Rendszerek Fazekas Gabor
5/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek5
A m egyni tanulmnyozs cljra szabadon letlthet. Minden egyb felhasznls csak a szerz elzetes rsbeli engedlyveltrtnhet. A m A mobiDIK nszervez mobil portl (IKTA, OMFB-00373/2003) s a GNU Itertor, a legjabb genercis portlszoftver (ITEM, 50/2003) projektek keretben kszlt.
7/22/2019 Op Rendszerek Fazekas Gabor
6/200
Bevezets
Mi az opercis rendszer?
Korai rendszerek.
A ktegelt feldolgozs egyszer rendszerei. (Simple Batch)
A ktegelt feldolgozs multiprogramozott rendszerei.(Multiprogramming Batched Systems)
Idosztsos (time-sharing) rendszerek.
Szemlyi szmtgpes rendszerek.
Prhuzamos rendszerek.
Elosztott rendszerek.
Vals idej rendszerek.
7/22/2019 Op Rendszerek Fazekas Gabor
7/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek7
Mi az opercis rendszer?
Opercis rendszer: egy program(rendszer), amely kzvettszerepet jtszik a szmtgp felhasznlja s a szmtgphardver kztt.
Opercis rendszer clok:
Felhasznli programok vgrehajtsa, a felhasznli feladat-megolds megknnytse.
A szmtgp rendszer hasznlatnak knyelmesebb ttele.
A szmtgp hardver kihasznlsnak hatkonyabb ttele.
Megjegyzs: az opercis rendszer a felhasznlnak "overhead".
7/22/2019 Op Rendszerek Fazekas Gabor
8/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek8
Szmtgp rendszerek komponensei (sma)
1. Hardver az alapvet szmtsi erforrsokat nyjtja(CPU, operatv memria, I/O berendezsek).
2. Opercis rendszer koordinlja s vezrli a hardvererforrsok klnbz felhasznlk klnbz alkalmaziprogramjai ltal trtn hasznlatt.
3. Alkalmazi programok definiljk azt a mdot, ahogyanaz egyes rendszer-erforrsokat a felhasznlk szmtsiproblminak megoldshoz fl kell hasznlni (fordtk,adatbzis kezelk, vide jtkok, gyviteli programok).
4. Felhasznlk (emberek, gpek, ms szmtgpek).
7/22/2019 Op Rendszerek Fazekas Gabor
9/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek9
Szmtgp rendszerek komponensei (sma)
1. felhasznl 2. felhasznl 3. felhasznl n. felhasznl
fordt assembler szvegszerkeszto adatbzis kezelo
opercis rendszer
szmtgp hardver
alkalmazi programok
7/22/2019 Op Rendszerek Fazekas Gabor
10/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek10
A szmtgp funkcionlis felptse
KZPONTI EGYSGKzponti vezrloegysg(CPU, processzor)- utasts vezrlo- aritmetikai-logikai
egysg
- regisztertr- belso busz-
Memria(operatv tr, fotr,
RAM, ROM)
Busz-rendszer- adatok- cmek- vezrls
Input-output
vezrlo egysg(csatorna,
channel,I/O processzor)
Input-outputvezrlo egysg
(csatorna,channel,
I/O processzor)
Input-outputvezrlo egysg
(csatorna,channel,
I/O processzor)
Berendezsvezrlo egysg
(DCU, devicecontrol unit)
Berendezsvezrlo egysg(DCU, devicecontrol unit)
Berendezs
vezrlo egysg(DCU, devicecontrol unit)
Berendezsvezrlo egysg(DCU, devicecontrol unit)
Berendezsvezrlo egysg(DCU, devicecontrol unit)
I/O berendezsperifria,
(pl. grafikus display)
I/O berendezs(pl. mgnesszalag)
I/O berendezs(pl. klaviatra)
I/O berendezs(pl.merevlemez)
I/O berendezs(pl. merevlemez)
I/O berendezs(pl. mgnesszalag)
I/O berendezs(pl. grafikus display)
I/O berendezs(pl. hlzati csatols)
I/O berendezs(pl. hlzati csatols)
7/22/2019 Op Rendszerek Fazekas Gabor
11/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek11
Opercis rendszer defincik
nzetfgg :
Erfo rrs al lokl/kioszt menedzseli s kiosztja a hardvererforrsokat
Felgyel prog ram felgyeli a felhasznli programokvgrehajtst, az I/O berendezsek mkdst.
Kernel (mag) az egyetlen program, amelyik "llandan fut"(minden ms program alkalmazi program).
7/22/2019 Op Rendszerek Fazekas Gabor
12/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek12
Korai rendszerek "pucr" gp (1950-es vek eleje)
Szerkezeti jellemzk
a nagymret gpet a konzolrlirnytjk, egy felhasznls rendszer, a programoz egyben opertor is, lyukszalagos s/vagy lyukkrtys adatbevitel s kivitel.
Korai szoftver assemblerek, betltk (loaderek),
kapcsolat szerkesztk (linkage editor), kzs szubrutin-knyvtrak, fordtk (compiler-ek), I/O berendezs kezel rutinok (device driver-ek).
BiztonsgDrga erforrsok rossz hatkonysg kihasznlsa
alacsony CPU kihasznltsg, jelents mennyisg "belltsi id" (setup time).
7/22/2019 Op Rendszerek Fazekas Gabor
13/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek13
A ktegelt feldolgozs rendszerei (Simple Batch) I.
Vegynk fel egy (professzionlis) opertort.
Felhasznl ? opertor.Adjunk a rendszerhez egy krtyaolvast.
Redukljuk a belltsi idta (hasonl) munkk (job)ktegelsvel.
Automatikus soros munka vgrehajts (job sequencing): a
vezrls egyik jobrl (a job vge utn) automatikusan kerl t akvetkezre. (Az els elemi oprcis rendszer megjelense).
Rezidens monitor (felgyelprogram) mkdsi elve: kezdetben a vezrls a monitornl van,
a vezrls taddik a job-nak,
ha a job befejezdtt a job vissza kerl a monitorhoz.
7/22/2019 Op Rendszerek Fazekas Gabor
14/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek14
A ktegelt feldolgozs rendszerei (Simple Batch) II.Egy tipikus job szerkezete s a szmtgpes problmamegolds folyamata, joblps (jobstep).
Problmk:
1. Hogyan szerezhet a monitor tudomst az adott job termszetrl (pl. FORTRANvagy ASSEMBLY), vagy melyik programot kell vgrehajtani?
2. Hogyan tudja a monitor megklnbztetni
egyik job-ot a msiktl?
az adatot a programtl?
Megolds:Vezrl krtyk, pozicionls
Specilis krtyk, amelyek megmondjk a monitornak, mely programot kellfuttatni ($JOB, $FTN, $RUN, $DATA, $END)
Specilis karakterek klnbztetik meg az adat s program krtykat. (//, $, 7-2lyukaszts)
7/22/2019 Op Rendszerek Fazekas Gabor
15/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek15
A ktegelt feldolgozs rendszerei (Simple Batch) III.
A rezidens monitor funkcionlis rszei
Vezrl krtya interpreter felels a vezrlkrtyk beolvassrt srtelmezsrt.
Betlt (loader) httrtrbl betlti az egyes rendszer s felhasznliprogramokat az operatv memriba.
Kszlk meghajt programok(device drivers) ismerik a rendszer azegyes I/O berendezseinek tulajdonsgait s mkdtetsk logikjt.
Elny: cskken a belltsi id (setup time)!Problma: Alacsony teljestmny mivel az I/O s a CPU mveletek nemfedhetik t egymst (prhuzamossg!) s a krtyaolvas nagyon lass!
Megolds: Off-line el- s utfeldolgozs a jobokat egy msik gpsegtsgvel szalagra msoljuk, ill. az eredmnyeket szalagra rjuk, majd egy
msik gp nyomtatja ki. (Absztrakt perifria fogalom ignye megfogalmazdik!)Simultaneous Peripheral Operation On-Line (SPOOL): IBM704, 1960
7/22/2019 Op Rendszerek Fazekas Gabor
16/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek16
A ktegelt feldolgozs rendszerei (Simple Batch) IV.Mg jobb megolds: Spooling!
Mialatt egy job vgrehajtdik, az opercis rendszer: beolvassa a kvetkez jobot a krtyaolvasrl a lemezre (job queue)
egy elz job ltal nyomtatni sznt adatokat lemezrl printerre tovbbtja
Job pool olyan adatszerkezet, amelynek segtsgvel az opercisrendszer kivlaszthatja a kvetkez job-ot, CPU kihasznltsgnvelse.
CPUkrtyaolvas printer
lemez
7/22/2019 Op Rendszerek Fazekas Gabor
17/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek17
A ktegelt feldolgozs multiprogramozott rendszerei.(Multiprogramming Batched Systems)
Alapelv: nhny job(step) futtathat kdja llandan az operatvmemriban helyezkedik el s kszen ll arra, hogy utastsokkallssa el a CPU-t.
Vigyzat! Nem prhuzamosan fut programokrl van sz!
Az opercis rendszer valamilyen stratgia szerint adja oda aCPU-t a futsra ksz programoknak.
CPU I/O
7/22/2019 Op Rendszerek Fazekas Gabor
18/200
L read ()
u2u1
CPU I/O
OS
L+1
SIO
M block
scheduler
interrupt
R
scheduler
R+1
scheduler
7/22/2019 Op Rendszerek Fazekas Gabor
19/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek18
A multiprogramozs ltal az opercis rendszerekkelszemben tmasztott kvetelmnyek
Az I/O-nak az opercis rendszer rszrl trtn teljes krfelgyelete. (adatvdelem!)
Az I/O-t az opercis rendszer nem egyszeren tmogatja, hanemvgrehajtshoz elkerlhetetlen.
Hardver felttelek! (kernel/supervisor mode, privileged operations)
Memria gazdlkods a rendszernek fel kell osztania a memrit a
fut jobok kztt. Hardver felttelek! (kernel/supervisor mode, privileged operations,
segmentation)
CPU temezs a rendszernek vlasztani kell tudni a futsra kszjobok kztt.
Kszlkhozzrendels Nem jut minden jobnak, printer, lemez, stb.
Idosztsos (time-sharing) rendszerek interaktivits
D b i E I f ik i I D F k Gb
7/22/2019 Op Rendszerek Fazekas Gabor
20/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek19
A ktegelt rendszerek htrnya: nincs interaktivits!
TS esetn a CPU vltakozva ll olyan joboknak a rendelkezsre,amelyek a memriban, vagy lemezen tallhatk. (Termszetesen a
CPU-t csak olyan job kaphatja meg, amely ppen a memriban van.)Egy job a lemezrl a memriba, ill. a memribl a lemezre
betlthet/kimenthet az temezsi stratginak (idoszts!)megfelelen. j fogalom: folyam (process)!
A rendszer s a felhasznl kztt on-line kommunikcit tteleznk
fel; ha az opercis rendszer befejezi egy parancs vgrehajtst, akvetkez vezrl utasts-t nem a krtyaolvasrl, hanem afelhasznl klaviatrjrl vrja.
Egy adatokat s utastskdokat trol on-line fjl-rendszer kell,hogy a felhasznlk rendelkezsre lljon.
Debreceni Egyetem Informatikai Intzet Dr Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
21/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek20
Szemlyi szmtgpes rendszerek.
Szemlyi szmtgpek a teljes szmtgp rendszer egyegyszer felhasznlnak kizrlagos rendelkezsre ll.
Tipikus konfigurcij I/O berendezsek klaviatra, egr,kperny kijelz, kis teljestmny nyomtat.
Eltrben a felhasznl (szemly) knyelme s felelssge.
Sokszor adaptl eredetileg nagygpes opercis rendszerekrekidolgozott informci technolgiai megoldsokat. (migrci!)
plda: MULTICS (MIT,1965-70) UNIX (Bell Labs, 1970)
A felhasznl szemly sokszor a szmtgp kizrlagostulajdonosa, felhasznlja, s gy nincs szksge fejlett CPU
kiszolgl s adatvd szolgltatsokra.
Debreceni Egyetem Informatikai Intzet Dr Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
22/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek21
Prhuzamos rendszerek multiprocesszoros rend-szerek tbb mint egy szoros kommunikciskapcsolatban lev CPU-val
Szorosan kapcsolt/csatolt rendszerek a processzorok kzsenhasznljk a memrit s a rendszer rt. A kommunikci akzs memria segtsgvel trtnik.
Prhuzamos rendszerek elnyei:Megnvelt tbocst kpessg,
Gazdasgossg,
Nvekv megbzhatsg,Redundancia,
Graceful degradation,Fail-soft rendszerek.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
23/200
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
mobiDIK Ksyvtr Opercis rendszerek22
Prhuzamos rendszerek
Szimmetrikus multiprocesszls
Minden egyes processzor az opercis rendszer azonos vltozatt(msolatt) futtatja. Ezek egymssal szksg szerintkommuniklhatnak.
Sok processzus futhat egyszerre teljestmnycskkens nlkl.
I/O problmk, temezs
Aszimmetrikus multiprocesszls (master-slave modell)
Minden egyes processzor a hozzrendelt specifikus feladatot (task)oldja meg. A feladatot a mester hatrozza meg! Ezek a taskokegymssal szksg szerint kommuniklhatnak.
Nagyon nagy rendszerekben elterjedtebb megolds.RJE (remote job entry), front-end processzorok.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
24/200
gy
mobiDIK Ksyvtr Opercis rendszerek23
Elosztott rendszerek a szmtsokat tbbprocesszor kztt osztjk meg.
Lazn kapcsolt/csatolt rendszerek a processzorok sajt loklismemrit s rendszer rt hasznlnak. A kommunikci nagykapacits adatvonalak, vagy telefon vonalak segtsgveltrtnik.(Pl. specilis LAN; j fogalmak: site, node)
Elosztott rendszerek elnyei:Erforrs megoszts (printer, stb.),
Szmtsi teljestmny nvels,tlterhels vdelem (load sharing),
Nvekv megbzhatsg,
Kommunikci (e-Mail, stb).
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
25/200
mobiDIK Ksyvtr Opercis rendszerek24
Vals idej (real-time) rendszerek
Gyakran gy jelenik meg, mint valamilyen dediklt alkalmazs (pl.tudomnyos ksrlet tmogatsa, orvosi kpfeldolgozs, ipari kontroll,
kijelz rendszerek) irnyt-felgyel rendszere.A kiszolgls azonnal megkezddik! Jl definilt, rgztett idej
korltozsok.
Hard ("merev" vals idej) rendszerek.A msodlagos tr korltozott, vagy teljesen hinyzik; az adatokat az
operatv memriban (RAM), vagy akr ROM-ban troljk.Konfliktus az idosztsos rendszerekkel.
Szoft ("puha" vals idej) rendszerek.Korltozott szolgltat programok az ipari kontroll, a robotika terletn.
A fejlett opercis rendszer szolgltatsokat ignyl alkalmazsoknl(Multimdia, VR) igen hasznosak.
7/22/2019 Op Rendszerek Fazekas Gabor
26/200
Evolution of Modern OS
Modern OS
Batch
Timesharing
PC & Wkstation
Network OS
Real-TimeMemory Mgmt
Protection
Scheduling
FilesDevices
Memory Mgmt
Protection
Scheduling
System softwareHuman-Computer
Interface
Client-Server Model
Protocols
Scheduling
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
27/200
mobiDIK Ksyvtr Opercis rendszerek25
2. A szmtgp rendszer strukturlisjellemzi
A szmtgpes rendszer mkdse
I/O struktra
Tr struktra s hierarchia
Hardver vdelemltalnos rendszer architektra
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
28/200
mobiDIK Ksyvtr Opercis rendszerek26
A szmtgpes rendszer mkdse
Az I/O berendezsek s a CPU szimultn kpes mkdni.Minden berendezs vezrl egysg egy meghatrozott
berendezs tpus mkdtetsrt felels,
Minden berendezs vezrl egysgnek sajt, loklis pufferevan.
A CPU oldalrl az I/O a ftr s e loklis pufferek kzttiadatmozgatst jelenti.
A berendezs vezrl egysgek, I/O processzorok egy-egymegszakts generlsval jelezhetik a CPU-nak az I/Omvelet befejezst. (DMA)
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
29/200
mobiDIK Ksyvtr Opercis rendszerek27
A megszaktskezels fogalmaiA megszakts (interrupt)tadja a vezrlst a megszakts feldolgoz
rutinnak. Ez ltalban a megszaktsi vektorsegtsgvel trtnik, amelynek
megfelel elemei tartalmazzk a megszaktsi osztlyokhoztartozfeldolgoz rutin els vgrehajtand utastsnak cmt.
A megszaktsi rendszernek trolnia kell a megszaktott utasts cmt.
Egy megszakts feldolgozsa idejn jelentkez tovbbi megszaktsokletilthatk (mask out, disable), hogy el ne "vesszenek" (lost interrupt).
A megszaktsi jel forrst tekintve egy megszakts lehet kls (pl. I/O,
Timer, Hardver, ), vagy bels (szoftver megszakts, angolul: trap).Az opercis rendszer (megszakts feldolgoz rutin) kzvetlen feladatai:
a CPU llapotnak megrzse (a hardver ehhez minimlis kezdetitmogatst nyjt);
a megszakts oknak, krlmnyeinek rszletesebb elemzse;
"maszkols";a megszaktott programhoz trtn "visszatrs" megszervezse.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
I/O k
7/22/2019 Op Rendszerek Fazekas Gabor
30/200
mobiDIK Ksyvtr Opercis rendszerek28
I/O struktraAz I/O folyamat elindult, a felhasznli program a vezrlst csak az I/O
befejezse utn kapja vissza.
"wait" utastsok a kvetkez megszaktsig;"wait loop" az adat megrkezsig (hand-shaking, ready bit!);
csak egyetlen egy I/O lehet egyszerre folyamatban.
Az I/O folyamat elindult, a (felhasznli) program a vezrlst azonnal vissza-kapja tekintetet nlkl az I/O befejezdsre.rendszer hvs (system call); az I/O-t a felgyel program indtja;
kszlk - sttusz tblzat (device state);
a felgyel program kezeli - gazdlkods, temezs.
DMA (Direct Memory Access)
egy megszakts blokkonknt (nem bjtonknt!)
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
T t kt hi hi
7/22/2019 Op Rendszerek Fazekas Gabor
31/200
mobiDIK Ksyvtr Opercis rendszerek29
Tr struktra s hierarchiaFtr, operatv tr az egyetlen, amit a CPU kzvetlenl kpes elrni.
Msodlagos tr a ftr kiterjesztse, nagy, nem trld trols lehetsge.
Swap, paging.
Mgnes lemezeksv, szektor, cilinder fogalma
A tr rendszerek hierarchikus struktrba rendezhetk
sebessg,
r (kltsg),a trolt adatok tartssga
alapjn.
Caching, cache szervezs:
bels/kls cache, virtulis lemezek.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
H d d l
7/22/2019 Op Rendszerek Fazekas Gabor
32/200
mobiDIK Ksyvtr Opercis rendszerek30
Hardver vdelem
Dul - md mkdsfelhasznl md rendszer (supervisor, monitor) md,
mdus bit,
privilegizlt mveletek.
I/O vdelemminden I/O utasts privilegizlt
meg kell(ett) oldani, hogy felhasznli programok ne kerlhessenek monitor
mdbaMemria vdelem
szegmensek, trvdelmi kulcs
monitor mdban korltlan a trhozzfrs
CPU vdelem
Timer megszaktsok szerepe
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
ltalnos rendszer architektra
7/22/2019 Op Rendszerek Fazekas Gabor
33/200
mobiDIK Ksyvtr Opercis rendszerek31
ltalnos rendszer architektra
Az I/O utastsok privilegizltak. Hogyan hajthat vgre egy felhasznliprogram I/O mveletet?
Rendszer hvs - specilis megszakts az opercis rendszerszolgltatsainak ignybe vtelre.INT gpi utasts,
paramter tads, funkci kdok,
paramter ellenrzs ,
vgrehajts,vezrls visszaadsa.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
34/200
mobiDIK Ksyvtr Opercis rendszerek32
3. Opercis rendszer struktrk
Az opercis rendszer komponensei
Opercis rendszer szolgltatsok
Rendszer-hvsok
RendszerprogramokRendszer-szerkezet
Virtulis gpek
Rendszer tervezs s implementci
Rendszer-generls
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
35/200
mobiDIK Ksyvtr Opercis rendszerek33
Az opercis rendszer komponensei (idealizlt)
Folyamat kezels (Process management)Memria kezels (gazdlkods)
Msodlagos tr kezels
I/O rendszer kezels
Fjl kezels
Vdelmi rendszer
Hlzat-elrs tmogatsa
Parancs interpreter rendszer
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Folyamat kezels (Process management)
7/22/2019 Op Rendszerek Fazekas Gabor
36/200
mobiDIK Ksyvtr Opercis rendszerek34
Folyamat kezels (Process management)
Folyamat (process - processzus) egy vgrehajts alatt levprogram. A folyamatnak bizonyos erforrsokra (gy pl. CPU
id, memria, llomnyok, I/O berendezsek) van szksge,hogy a feladatt megoldhassa.
Az opercis rendszer az albbi tevkenysgekrt felel afolyamatok felgyeletvel kapcsolatban: Folyamat ltrehozsa s trlse.
Folyamat felfggesztse s jraindtsa. Eszkzk biztostsa a
folyamatok szinkronizcijhoz,
a folyamatok kommunikcijhoz.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Memria (ftr) kezels (gazdlkods)
7/22/2019 Op Rendszerek Fazekas Gabor
37/200
mobiDIK Ksyvtr Opercis rendszerek35
Memria (ftr) kezels (gazdlkods)
Az operatv memrit bjtokbl (szavakbl) ll tmbnek fogjuktekinteni, amelyet a CPU s az I/O vezrl megosztva
(kzsen) hasznl.Tatalma trldik a rendszer kikapcsolsakor s rendszer-
hibknl.
Az opercis rendszer a kvetkez dolgokrt felels a memriakezelst illeten:
Nyilvntartani, hogy az operatv memria melyik rszt ki (mi)hasznlja.
Eldnteni, melyik folyamatot kell betlteni, ha memriafelszabadul.
Szksg szerint alloklni s felszabadtani memria terleteket aszksgleteknek megfelelen
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Msodlagos tr kezels
7/22/2019 Op Rendszerek Fazekas Gabor
38/200
mobiDIK Ksyvtr Opercis rendszerek36
Msodlagos tr kezels Mivel az operatv tr (elsdleges tr) trldik (s egybknt sem
alkalmas arra, hogy minden programot troljon), a msodlagos trra
szksg van. Merev lemezes tr, a msodlagos tr legelterjedtebb megjelense.
Az opercis rendszer a kvetkez dolgokrt felels a msodlagos trkezelst illeten:Szabad-hely kezels
Tr-hozzrendels
Lemez eloszts (scheduling)
I/O rendszer kezels Az I/O rendszer az albbi rszekbl ll:
Puffer (Buffer/Cache) rendszer
ltalnos kszlk-meghajt (device driver) interface
Specilis kszlkek meghajt programjai
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Fjl (llomny) kezels
7/22/2019 Op Rendszerek Fazekas Gabor
39/200
mobiDIK Ksyvtr Opercis rendszerek37
Fjl (llomny) kezels
Egy fjl kapcsold informci (adatok) egyttese, amelyet a ltrehozja
definil. ltalban program- (klnbz formk), vagy adatfjlokkaldolgozunk.
Az opercis rendszer a kvetkez dolgokrt felels a fjl kezelstilleten:
Fjl ltrehozsa s trlse
Knyvtr ltrehozsa s trlse
Fjlokkal s knyvtrakkal trtn alap-manipulcihoz nyjtott tmogats.
Fjlok lekpezse a msodlagos trba.
Fjlok mentse valamilyen nemtrld, stabil adathordozra.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
7/22/2019 Op Rendszerek Fazekas Gabor
40/200
mobiDIK Ksyvtr Opercis rendszerek38
Vdelmi rendszer
Vdelem ltalban valamilyen mechanizmusra utal, amelynek rvnmind a rendszer-, mind a felhasznli erforrsoknak a programok,folyamatok, vagy felhasznlk ltal trtn elrse felgyelhet,irnythat.
A vdelmi mechanimusnak tudnia kell:
klnbsget tennie authorizlt (jogos) s jogtalan hasznlat kztt, specifiklni az alkalmazand kontrolt,
szolgltatni a korltoz eszkzket.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Hlzat-elrs tmogatsa (elosztott rendszerek)
7/22/2019 Op Rendszerek Fazekas Gabor
41/200
mobiDIK Ksyvtr Opercis rendszerek39
g ( )
Egy elosztott rendszer processzorok adat s vezrl vonallal
sszekapcsolt egyttese, ahol a processzorokhoz nincs kzsmemrijuk s rjuk. (loklis memria, ra).
Az adat- s vezrl vonalak egy kommunikcis hlzatrszei.
Az elosztott rendszer a felhasznlknak klnbz osztott
erforrsok elrst teszi lehetv.Az erforrsok osztott elrse lehetv teszi:
a szmtsok felgyorstst,
a jobb adatelrhetsget,
a nagyobb megbzhatsgot.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Parancs interpreter (al)rendszer
7/22/2019 Op Rendszerek Fazekas Gabor
42/200
mobiDIK Ksyvtr Opercis rendszerek40
p ( ) Az opercis rendszernek sok parancsot n. vezrl utasts formjban lehet
megadni. Ezek a vezrl utastsok az albbi terletekhez tartozhatnak:
folyamat ltrehozs s kezels
I/O kezels
msodlagos tr kezels
operatv tr kezels
fjl rendszer elrs
vdelem
hlzat kezels ...
Az opercis rendszernek azt a programjt, amelyik a vezrl utastsokat (be)olvassas interpretlja a rendszertl fggen ms s ms mdon nevezhetik:
vezrl krtya interpreter (control-card Job Control, JC)
parancs-sor interpreter (command-line)
hj (burok, shell) (UNIX)
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Opercis rendszer szolgltatsok
7/22/2019 Op Rendszerek Fazekas Gabor
43/200
mobiDIK Ksyvtr Opercis rendszerek41
Program vgrehajts (program betlts s futtats)
I/O mveletek (fizikai szint: blokkols, pufferezs)
Fjl-rendszer manipulci (r, w, c, d) Kommunikci a folyamatok kztti informci csere (ugyanazon, vagy
klnbz gpeken) Shared memory Message passing.
Hiba detektls (CPU, memria, I/O kszlkek, felhasznli programok, ...)
Nem kzvetlenl a felhasznl tmogatst, hanem a hatkonyabbrendszermkdst segtik:
Erforrs kioszts multiprogramozs, tbbfelhasznls mkds
Accounting rendszer s felhasznli statisztikk.
Vdelem minden erforrs csak az opercis rendszer felgyelete mellett
rhet el.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
R d h k
7/22/2019 Op Rendszerek Fazekas Gabor
44/200
mobiDIK Ksyvtr Opercis rendszerek42
Rendszer-hvsok
Ha a fut (felhasznli) program valamilyen rendszerszolgltatst
ignyel, ezt rendszerhvs formjban teheti meg.ltalban assembly szint utastsknt jelen van az
architektrban. (INT, Tcc, SC, stb.)
Magas szint, rendszerprogramok rsra szntprogramozsi nyelvekbe is beptettk. (C)
Paramtertads mdjai a rendszernek: regiszterben,
paramter-tblzatban,
veremben (push- felh. program; pop- op. rendszer) ,
a mdszerek kombinlsa, statusword-ok
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Rendszerprogramok
7/22/2019 Op Rendszerek Fazekas Gabor
45/200
mobiDIK Ksyvtr Opercis rendszerek43
A rendszerprogramok knyelmes krnyezetet teremtenek a program-fejlesztshez s program vgrehajtshoz. Egy lehetsges oszt-
lyozsuk:Fjl manipulci
Sttus informci
Fjl mdosts
Programozsi nyelv tmogats
Program betlts s vgrehajts
Kommunikci
Alkalmazi programok ...
Felhasznli szemszgbl nzve (egyes nzetek szerint) az opercis
rendszer sokszor a rendszerprogramok egyttesvel azonosthat.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Rendszer-szerkezet
7/22/2019 Op Rendszerek Fazekas Gabor
46/200
mobiDIK Ksyvtr Opercis rendszerek44
MS-DOS a lehet legtbb funkcionalitst igyekszik besrteni alehet legkisebb trba: (ezrt) nincs modularits. Az MS-DOS -nak
van bizonyos szerkezete, de kapcsolatai s funkcionlis szintjeinem klnbztethetek meg lesen. (OS/2)
UNIX a hardver funkcionalitsa a korlt; az eredeti UNIXopercis rendszer korltozott struktrval rendelkezett:
rendszerprogramok,
a kernel (mag), amely mindent magban foglal a rendszerhvsinterfsz alatt s a fizikai hardver fltt: (pl.) fjl rendszer, CPUtemezs, memria gazdlkods, ms opercis rendszer fggv-nyek, azaz szmos fggvny egy szinten.
UNIX Commands
7/22/2019 Op Rendszerek Fazekas Gabor
47/200
Hardware
Kernel
System Call
Interface
and Libraries
User-written
Applications
User Programs
7/22/2019 Op Rendszerek Fazekas Gabor
48/200
Kernel Level
User Level
Trap
System Call Interface
Libraries
Device Drivers
File SubsystemProcess
Control
Subsystem
character block
Buffer Cache
Inter-process
communication
Scheduler
Memory
management
Replicator
System Processes Services Applications
Environment
subsystemsService
7/22/2019 Op Rendszerek Fazekas Gabor
49/200
Windows 2000
Executive
I/O Manager
Device drivers
Executive API
Microkernel
Cache
manager
LPC
facilityFile
Systems
Process/thread
manager
System
thread
User
mode
Kernel
mode
Virtualmemorymanager
Window
manager
Securityreferencemonitor
Windows 2000 Architecture
Hardware Abstraction Layer (HAL)
Hardware interfaces (buses, I/O, interrupts, timers,
clocks, DMA, cache control, etc.)
Object management/Executive RTL
Sessionmanager Win32
OS/2
POSIX
Eventlogger
RPC
NTDLL.DLL
Alerter
Subsystem DLLs
User
application
Replicator
WinLogon
controller
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Rtegelt (layered) megkzelts
7/22/2019 Op Rendszerek Fazekas Gabor
50/200
mobiDIK Ksyvtr Opercis rendszerek45
Rtegelt (layered) megkzeltsAz opercis rendszer egymsra pl szintekre bomlik.
Legals szinten (layer 0) van a hardver, a legfelsn (layer N) afelhasznli interfsz.
Megfelel modularitssal minden szint (layer) kizrlag a nlaalacsonyabb szint fggvnyeit s szolgltatsait hasznlja.
Ilyen absztrakt rtegelt megkzeltst elszr Dijkstrajavasolt
a T.H.Eopercis rendszerben:5. Szint: felhasznli program
4. Szint: input/output pufferezs
3. Szint: opertor konzol kszlk meghajt
2. Szint: memria menedzsment
1. Szint: CPU temezs0. Szint: hardver
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Virtulis gpek
A i t li t lt d ll lt l t k fi ik i
7/22/2019 Op Rendszerek Fazekas Gabor
51/200
mobiDIK Ksyvtr Opercis rendszerek46
A virtulis gp a rtegelt modell ltalnostsa: nemcsak a a fizikaihardvert, hanem az opercis rendszer magjt is hardvernek tekinti.
A virtulis gp a rendelkezsre ll hardverrel azonos interfsztnyjt.
Az opercis rendszer azt az illzit kelti, mintha minden processzussajt processzort s sajt (virtulis) operatv memrit hasznlna.
A fizikai gp erforrsainak megosztsval (tbbszrs felhasz-
nlsval) implementlhatk a virtulis gpek: CPU temezs sajt processzorok illzija
SPOOLING s fjl rendszer sajt perifrik illzija
Valdi idosztsos terminl a virtulis gp opertori konzolja
A virtulis gpek elnyei s htrnyai Izolci teljes vdelmet nyjt, de kizrja az erforrsok clszer kzs hasznlatt.
J kzeg a rendszerprogramoznak: teljes szolgltats a krnyezet zavarsa nlkl.
Bonyolult feladat az implementci ( a valdi gp pontos multipliklsa).
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Rendszer tervezs s implementci
R d t i l k
7/22/2019 Op Rendszerek Fazekas Gabor
52/200
mobiDIK Ksyvtr Opercis rendszerek47
Rendszer tervezsi clok Felhasznli clok: az opercis rendszer legyen knyelmesen hasznlhat, knnyen
megtanulhat, megbzhat, biztonsgos, gyors. Rendszer clok: az opercis rendszer legyen knnyen tervezhet, implementlhat,
gondozhat; tovbb rugalmas, megbzhat, hiba-mentes, hatkony.
Mechanizmusok s politikkA mechanizmusok meghatrozzk, hogy hogyankell valamit csinlni, a politikk pedig,
hogy mit kell csinlni. (plda: timer megszakts.)
A mechanizmus s a politika klnvlasztsa nagyon fontos; maximlis rugalmassgot
teremt, ha a politika ksbb megvltozik.
Rendszer implementlsRgen assembly nyelven rtk az opercis rendszereket, ma mr ez nem igaz; magasszint
nyelven is megrhatk. (pl.: MCP/Borroughs Algol; MULTICS PL/1; UNIX, OS/2,WinNT C)
A magasszint nyelven rott kd gyorsabban elkszthet, kompaktabb, knnyebben
ttekinthet s nyomkvethet (debug). A magasszint nyelven rt rendszer portbilis, ms hardverre knnyen tvihet. (pl.: Unix,
Linux) A szkkeresztmetszeteket meghatrozva a gpi kd korriglhat (patch, servicepack).
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Rendszer-generls Az opercis rendszereket gy tervezik hogy azok mkdkpesek
7/22/2019 Op Rendszerek Fazekas Gabor
53/200
mobiDIK Ksyvtr Opercis rendszerek48
Az opercis rendszereket gy tervezik, hogy azok mkdkpeseklegyenek egy gposztly minden gpn. Ehhez azonban minden egyesszmtgp-krnyezetre az opercis rendszert konfigurlnikell. Ezt amveletet rendszergenerlsnak (installls?) nevezzk. Program segti(SYSGEN, setup, install).
Egy SYSGEN program informldik a hardver rendszer specifikuskonfigurcijrl. (pl. Milyen processzor, aritmetika vehet alapul;processzorok szma, tpusa, stb. ; rendelkezsre ll memria mrete;perifrilis berendezsek tpusai; megszaktsi rendszer tulajdonsgai).
Tisztzni kell, hogy a rendszer mely szolgltatsai tnyleg szksgesek:multiprogramozsi stratgia, hlzat elrs, stb.
Booting, bootstrap loader rendszer betlts.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Rendszer-generlsA generlt rendszerrl szerzett adatok (UNIX plda)
7/22/2019 Op Rendszerek Fazekas Gabor
54/200
mobiDIK Ksyvtr Opercis rendszerek49
A generlt rendszerrl szerzett adatok (UNIX plda)G E N E R A L I N F O R M A T I O N
Host Name is euklidHost Address(es) is 131.234.xxx.xxxHost ID is 80782854Serial Number is 2155358292Manufacturer is Sun (Sun Microsystems)System Model is Ultra 1 Model 140Main Memory is 128 MBVirtual Memory is 210 MB
ROM Version is OBP 3.0.4 1995/11/26 17:47Number of CPUs is 1CPU Type is sparcv8plus+visApp Architecture is sparcKernel Architecture is sun4uOS Name is SunOSOS Version is 5.6OS Distribution is Solaris 2.6 5/98 s297s_hw3smccServer_09 SPARC
Kernel Version is SunOS Release 5.6 Version Generic_105181-17[UNIX(R) System V Release 4.0]Boot Time is Sat Feb 26 18:39:29 2000
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
K E R N E L I N F O R M A T I O N
Ma im m n mbe of p ocesses fo s stem is 1034
7/22/2019 Op Rendszerek Fazekas Gabor
55/200
mobiDIK Ksyvtr Opercis rendszerek50
Maximum number of processes for system is 1034Maximum number of processes per user is 1029Maximum number of users (for system tables) is 64
Maximum number of BSD (/dev/ptyXX) pty's is 48Maximum number of System V (/dev/pts/*) pty's is 48Size of the virtual address cache is 16384Size of the callout table is 112Size of the inode table is 4712Size of the directory name lookup cache is 4712Size of the quotas table is 1674STREAMS: Maximum number of pushes allowed is 9
STREAMS: Maximum message size is 65536STREAMS: Maximum size of ctl part of message is 1024Maximum global priority in sys class is 6488124Has UFS driver is TRUEHas NFS driver is TRUEHas SD driver is TRUEHas FD driver is TRUEHas IPCSHMEM is TRUE
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
S Y S C O N F I N F O R M A T I O N
Max combined size of argv[] and envp[] is 1048320Max processes allowed to any UID is 1029Clock ticks per second is 100
7/22/2019 Op Rendszerek Fazekas Gabor
56/200
mobiDIK Ksyvtr Opercis rendszerek51
Clock ticks per second is 100Max simultaneous groups per user is 16Max open files per process is 64
System memory page size is 8192Job control supported is TRUESavid ids (seteuid()) supported is TRUEVersion of POSIX.1 standard supported is 199506Version of the X/Open standard supported is 3Max log name is 8Max password length is 8Number of processors (CPUs) configured is 1Number of processors (CPUs) online is 1Total number of pages of physical memory is 16384
Number of pages of physical memory not currently in use is 7823Max number of I/O operations in single list I/O call is 256Max number of timer expiration overruns is 2147483647Max number of open message queue descriptors per process is 32Max number of message priorities supported is 32Max number of realtime signals is 8Max number of semaphores per process is 2147483647Max value a semaphore may have is 2147483647Max number of queued signals per process is 32
Max number of timers per process is 32Supports asyncronous I/O is TRUESupports File Synchronization is TRUESupports memory mapped files is TRUE
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
D E V I C E I N F O R M A T I O N
SUNW,Ultra-1 is a "Sun 501-2836"openprom1 is a "Sun Open Boot PROM" device
7/22/2019 Op Rendszerek Fazekas Gabor
57/200
mobiDIK Ksyvtr Opercis rendszerek52
openprom1 is a Sun Open Boot PROM deviceoptions0 is a "PROM Settings"aliases1 is a "PROM Device Aliases"
sbus0 is a "Sun SBus" system busaudiocs0 is a "Crystal Semiconductor 4231" audio deviceauxio is a "Auxiliary I/O"flashprom1 is a "Sun Flash PROM"eeprom1 is a "EEPROM" devicezs0 is a "Zilog 8530" serial devicezs1 is a "Zilog 8530" serial deviceespdma is a "SCSI DMA" pseudo device
esp0 is a "Generic SCSI" SCSI controllerc0t0d0 (sd0) is a "SUN2.1G" 2.0 GB disk driveledma is a "LANCE Ethernet DMA" pseudo devicele0 is a "AMD Lance Am7990" 10-Mb Ethernet network interfacebpp is a "Sun Bidirectional Parallel Port" parallel devicecpu0 is a "Sun UltraSPARC" 143 MHz CPU
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
4 F l t k
7/22/2019 Op Rendszerek Fazekas Gabor
58/200
mobiDIK Ksyvtr Opercis rendszerek53
4. Folyamatok
A folyamat (processzus) fogalma
Folyamat temezs (scheduling)
Folyamatokon vgzett "mveletek"
Folyamatok egyttmkdse, koopercijaSzlak (thread)
Folyamatok kztti kommunikci
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
A folyamat (processzus) fogalmaA folyamat (processzus): vgrehajts alatt ll program.
7/22/2019 Op Rendszerek Fazekas Gabor
59/200
mobiDIK Ksyvtr Opercis rendszerek54
A processzus llapotai
Betltheto program (jellemzoi) passzv lemezen trolt betltsi cm belpsi pont
Processzus (jellemzoi) aktv a memriban van/volt program cmszmll rtke regiszterek rtke loklis/globlis vltozk rtke verem llapota core dump
j (new)
futsraksz (ready)
efejezett(terminated)
fut(running)
rakoz(waiting)
interruptfelvve
temezo intzkedse
I/O vagy esemny befejezodseI/O eredmnye vagy esemny kell
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Processzus - vezrl blokk (Process Control Block PCB) processzus llapot (process state) : new, ready, running, waiting, halted, sleeping,
Program cmszmll (PC) rtke
7/22/2019 Op Rendszerek Fazekas Gabor
60/200
mobiDIK Ksyvtr Opercis rendszerek55
CPU regiszterek tartalma
memria foglalsi adatok
account/user adatok
I/O sttusz informci (a folyamathoz rendelt I/O erforrsok, llomnyok listja)
Processzus llapot informcik (UNIX: ps, top; NT: Task manager)TOP: last pid: 9099; load averages: 0.00, 0.00, 0.01 11:33:35
29 processes: 28 sleeping, 1 on cpuCPU states: 99.6% idle, 0.2% user, 0.2% kernel, 0.0% iowait, 0.0% swapMemory: 128M real, 58M free, 120M swap free
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND9099 fazekas 1 58 0 2608K 1952K cpu 0:00 0.42% top226 root 1 58 0 912K 672K sleep 0:00 0.02% utmpd
4081 root 1 58 0 1904K 1648K sleep 0:00 0.02% sshd4084 fazekas 1 48 0 2600K 2160K sleep 0:00 0.00% tcsh583 root 1 45 0 1760K 1024K sleep 3:30 0.00% sshd1 root 1 58 0 680K 312K sleep 0:02 0.00% init
166 root 5 58 0 2720K 2144K sleep 0:01 0.00% automountd8895 root 1 59 0 9208K 10M sleep 0:01 0.00% Xsun239 root 5 22 0 2296K 1928K sleep 0:00 0.00% vold
212 root 3 22 0 1168K 848K sleep 0:00 0.00% powerd170 root 8 35 0 3608K 1936K sleep 0:00 0.00% syslogd592 root 1 38 0 1560K 1120K sleep 0:00 0.00% ttymon
PS:USER PID %CPU %MEM SZ RSS TT S START TIME COMMAND
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
fazekasg 513 1.1 2.012192 9848 ? S 15:00:12 0:38 /usr/openwin/bin/Xsun :0 -nobanner -auth /var/dt/A:0-0s6gpTroot 989 0.2 0.2 1184 1064 pts/6 O 08:41:39 0:00 ps -augxfazekasg 722 0.1 0.4 1992 1784 pts/6 R 15:39:28 0:00 /bin/tcshfazekasg 719 0.1 0.7 3840 3128 ?? S 15:39:28 0:00 /usr/openwin/bin/cmdtool
fazekasg 984 0.1 0.7 4528 3424 ? S 08:40:53 0:00 /usr/openwin/bin/texteditroot 3 0 1 0 0 0 0 ? S 14:52:17 0:37 fsflush
7/22/2019 Op Rendszerek Fazekas Gabor
61/200
mobiDIK Ksyvtr Opercis rendszerek56
root 3 0.1 0.0 0 0 ? S 14:52:17 0:37 fsflushfazekasg 744 0.1 0.7 3864 3176 ?? S 15:57:25 0:00 /usr/openwin/bin/cmdtoolfazekasg 620 0.1 0.4 2472 2080 pts/2 S 15:01:22 0:00 olwm -syncpid 619fazekasg 733 0.1 0.7 3848 3120 ?? S 15:43:04 0:00 /usr/openwin/bin/cmdtool
fazekasg 636 0.0 1.0 5496 4896 pts/2 S 15:01:38 0:03 /usr/openwin/bin/filemgr -Wp 0 291 -Ws 592 439 -WP 81 833+Wiroot 0 0.0 0.0 0 0 ? T 14:52:16 0:00 schedroot 1 0.0 0.1 664 312 ? S 14:52:17 0:00 /etc/init -
root 2 0.0 0.0 0 0 ? S 14:52:17 0:00 pageoutroot 119 0.0 0.3 1872 1240 ? S 14:53:04 0:00 /usr/sbin/rpcbindroot 121 0.0 0.3 1992 1296 ? S 14:53:04 0:00 /usr/sbin/keyservroot 127 0.0 0.3 1920 1488 ? S 14:53:05 0:00 /usr/sbin/nis_cachemgrroot 149 0.0 0.4 1928 1712 ? S 14:53:18 0:00 /usr/sbin/inetd -sroot 154 0.0 0.4 2264 1824 ? S 14:53:18 0:00 /usr/lib/nfs/statdroot 156 0.0 0.3 1864 1528 ? S 14:53:18 0:00 /usr/lib/nfs/lockdroot 174 0.0 0.5 2912 2488 ? S 14:53:19 0:00 /usr/lib/autofs/automountdroot 178 0.0 0.4 3712 2032 ? S 14:53:20 0:00 /usr/sbin/syslogd
root 189 0.0 0.3 1808 1456 ? S 14:53:20 0:00 /usr/sbin/cronroot 201 0.0 0.5 2824 2512 ? S 14:53:21 0:00 /usr/sbin/nscdroot 211 0.0 0.2 2640 952 ? S 14:53:24 0:00 /usr/lib/lpschedroot 229 0.0 0.2 1152 840 ? S 14:53:27 0:00 /usr/lib/power/powerdroot 232 0.0 0.4 2104 1696 ? S 14:53:27 0:00 /usr/lib/sendmail -bd -q1hroot 244 0.0 0.2 888 712 ? S 14:53:28 0:00 /usr/lib/utmpdroot 259 0.0 0.4 2248 1936 ? S 14:53:29 0:01 /usr/sbin/voldroot 289 0.0 0.3 1840 1376 ? S 14:53:35 0:00 /usr/lib/snmp/snmpdx -y -c /etc/snmp/confroot 298 0.0 0.4 2496 1704 ? S 14:53:37 0:00 /usr/lib/dmi/dmispdroot 299 0.0 0.5 3144 2304 ? S 14:53:38 0:00 /usr/lib/dmi/snmpXdmid -s pader
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Folyamat temezs (scheduling)Cl: mindig legyen legalbb egy processzus, amelyik kpes s ksz a
processzort lefoglalni
7/22/2019 Op Rendszerek Fazekas Gabor
62/200
mobiDIK Ksyvtr Opercis rendszerek57
processzort lefoglalni.
Processzus temezsi sorok:job queue (munka sor)
ready queue (kszenlti sor)
device queue (berendezsre vr sor)
Folyamat migrci az egyes sorok kztt:
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Folyamat temezk:
Hossztv temez (long term scheduler, job scheduler)
mi kerl a job queue-ba, lehet lass, a multiprgramozs foka
7/22/2019 Op Rendszerek Fazekas Gabor
63/200
mobiDIK Ksyvtr Opercis rendszerek58
Rvidtv temez (short term scheduler, CPU scheduler)
melyik folyamat kapja meg kvetkez alkalommal a CPU-t, gyorsasg lnyegesSzempontok:
I/O ignyes s CPU ignyes folyamatok
Context switch (process context a processzus tovbbindtshoz szksges sszesinformci rendszerezve, struktrlva kapcsold adatszerkezetek.)
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Folyamatokon vgzett "mveletek" (opercik)Processzus ltrehozsa
(kezdeti betltst kivve processzust csak processzus hozhat ltre!)
7/22/2019 Op Rendszerek Fazekas Gabor
64/200
mobiDIK Ksyvtr Opercis rendszerek59
(kezdeti betltst kivve processzust csak processzus hozhat ltre!)
Mechanizmusa: egy szl (parent) folyamat ltrehozhat gyermek (child)folyamatokat, majd a gyermekek tovbbi gyermekeket fastruktra
Erforrs megoszts: Szl s gyermek kzsen hasznl minden erforrst.
A gyermek a szl erforrsainak egy rszt hasznlhatja.
Nincs kzs erforrshasznlat.
Vgrehajts: Szl s gyermek konkurens mdon fut. (UNIX: parancs&) Szl a gyermekre vr. (UNIX: parancs)
Cmtr (address space) A gyermek a szl duplikltja.
A gyermek betlt egy programot nmaga helyett .
UNIX pldk: fork, execve
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Processzus megszn(tet)se (termination)A folyamat vgrehajtja az utols utastst, majd megkri az opercis
rendszert, hogy trlje (exit). Ennek sorn
7/22/2019 Op Rendszerek Fazekas Gabor
65/200
mobiDIK Ksyvtr Opercis rendszerek60
output adatok kerlnek t a gyermektl a szlhz (cf. fork),
a folyamat ltal hasznlt erforrsokat az opercis rendszer felszabadtja.
A szl folyamat felfggesztheti a gyermek folyamatok vgrehajtst (abort).Ennek lehetsges okai pl.:
A gyermek kimertette a hozzrendelt erforrsokat.
A gyermekhez rendelt taskra nincs tbb szksg.
Maga a szl is befejezi mkdst.
Az opercis rendszer (legtbb esetben) nem engedi meg, hogy egy gyermektovbb ljen, mint a szl!
Kaszkd terminci (A szlvel egytt elhal az sszes gyermeke).
Plda: UNIX gyermek: exit rendszerhvs segtsgvel jelzi, hogy nem kvn tovbb mkdni.
szl: waitrendszerhvssal vrakozhat egy gyerek befejezdsre.az opercis rendszer a szl befejezsvel a gyerekeket is megsznteti!
Folyamatok egyttmkdse, koopercija
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Fggetlen folyamatok nem befolysolnak ms folyamatokat s nembefolysolhatk ms folyamatok ltal.
7/22/2019 Op Rendszerek Fazekas Gabor
66/200
mobiDIK Ksyvtr Opercis rendszerek61
Egyttmkd folyamatok befolysolhatnak ms folyamatokat s
befolysolhatk lehetnek ms folyamatok ltal.A kooperci (koopercit lehetv tev opercis krnyezet) tbb
vonatkozsban elnys lehet: Informci megoszts
Szmtsi folyamatok felgyorstsa
Modularits
Knyelem, knyelmi szempontok.
Termel-fogyaszt folyamatok (a kooperl folyamatok egy paradigmja)
Termel (producer) folyamat valamilyen adatot hoz ltre.
Fogyaszt (consumer) folyamat az adatot fel(el)- hasznlja.
A koopercihoz valamilyen puffer (raktr) szksges.
Korltlan (vgtelen) puffer korltos (vges) puffer megolds.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Kzs memria vges pufferrel megolds
Megosztott adat Termel folyamat Fogyaszt folyamat
7/22/2019 Op Rendszerek Fazekas Gabor
67/200
mobiDIK Ksyvtr Opercis rendszerek62
varn;
typeitem= ... ;
var buffer: array[0..n-1] ofitem;
in,out: 0..n-1;
in:=0;
out:=0;
repeat
...
egy item ltrehozsa a nextp
vltozba
...
while(in+1) mod n= outdonop;buffer[in]:= nextp;
in:=(in+1) modn;
until false;
repeat
whilein=out donop;
nextc:=buffer[out];
out:=(out+1) modn;
...
a nextcvltozban lev adatfelhasznlsa
...
until false;
A megolds korrekt, de csak n-1 puffert tud feltlteni!
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Szlak (fonalak, knnysly folyamatok, thread, lightweightprocess)A szl a CPU kiszolgls egy alapegysge; jellemzi:
7/22/2019 Op Rendszerek Fazekas Gabor
68/200
mobiDIK Ksyvtr Opercis rendszerek63
program cmszmll
regiszter kszlet (tartalma)
verem tartalma
Egy szl megosztva hasznlja a vele egyenrang (trs)- szlakkal a kd szekcijt,
adat szekcijt,
az opercis rendszer ltal biztostott erforrsait;
ezek egyttest task-nak nevezzk.
Egy hagyomnyos, vagy knnysly processzus nem ms, mint egy taskegyetlen szllal.
Elny: cskken a "context-switch" vgrehajtsra fordtott id!
Egy tbb szlat tartalmaz task esetn mg az egyik szl vrakozik (blokkolt), amsik futhat.
Pldk: fjl szerver, web - bngsz.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
A szlak olyan mechanizmust szolgltatnak, amely lehetv teszi aszekvencilis processzusoknak a rendszerhvsok blokkolst, s kzben a"prhuzamossg elrst".
Megvalstsa:
7/22/2019 Op Rendszerek Fazekas Gabor
69/200
mobiDIK Ksyvtr Opercis rendszerek64
Megvalstsa:
Kernel ltal tmogatott szlak (Mach s OS/2) Felhasznli szint szlak
a kernel szint fltt helyezkednek el;
nincs system call, csak library call(a fejleszt rendszer/fordt oldja meg);
Andrew project (CMU)
vegyes (hibrid) megkzelts: kernel- s felhasznli szint szlak
Solaris 2 (1992)
A szlak llapotaik, kezelsk, egyb tulajdonsgaik (kommunikci,kooperci) alapjn a processzushoz llnak kzel.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Processzusok kztti kommunikci (IPC)Az IPC olyan mechanizmust jelent, amely lehetv teszi, hogy folyamatok egymssalkommunikljanak, s akciikat sszehangoljk, szinkronizljk.
zen rendszer: a folyamatok gy kommuniklnak hogy nem rendelkeznek kzsen
7/22/2019 Op Rendszerek Fazekas Gabor
70/200
mobiDIK Ksyvtr Opercis rendszerek65
zen rendszer: a folyamatok gy kommuniklnak, hogy nem rendelkeznek kzsen
hasznlhat memrival.IPC kt mveletet nyjt:
send(message) az zenetek lehetnek fix, vagy vltoz hosszak
receive(message)
pldk (UNIX rendszerhvsok: send, sendmsg, socket, recv, recvfrom, )
Ha a P s Q folyamatok kommuniklni szeretnnek, akkor szksgk van egykommunikcis vonalra (communication link)
A kommunikcis vonal implementcis krdsei Fizikai implementci: megosztott memria, hardver busz, hlzat, ...
Logikai implementci:
Hogyan pl fel a link?
Tartozhat-e egynl tbb folyamathoz? Kt folyamat kztt hny l link lehet? ... zenet mrete, mozgs irnya, stb
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Direkt kommunikci
send(P, message) kldj egy zenetet P-nek (utasts Q-ban)
receive(Q message)
7/22/2019 Op Rendszerek Fazekas Gabor
71/200
mobiDIK Ksyvtr Opercis rendszerek66
receive(Q, message)
fogadj egy zenetet Q-tl (utasts P-ben)A kommunikcis vonal ebben az esetben automatikusan pl fel a kt folyamat
kztt (PID ismerete szksges!)
A vonal pontosan kt folyamat kztt ltezik.
Minden egyes folyamatpr kztt pontosan egy link ltezik
Egy, vagy tbbirny is lehet.
Termel-fogyaszt pldaSzimmetrikus/asszimetrikus cmzs
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Indirekt kommunikci
send(A, message) kldj egy zenetet az A Mail-boxba (utasts Q-ban)
receive(A, message)
7/22/2019 Op Rendszerek Fazekas Gabor
72/200
mobiDIK Ksyvtr Opercis rendszerek67
receive(A, message)
olvass ki egy zenetet az A Mail-boxbl (utasts P-ben)A kommunikcis vonal abben az esetben pl fel a kt folyamat kztt ha kzsen
hasznlhatjk az A Mail-boxot (PID ismerete nem szksges!)
A vonal tbb folyamat kztt ltezik (mindenki, aki A-hoz hozzfrhet!).
Minden egyes folyamatpr kztt tbb link is ltezik, ltezhet (Mail-box-fgg)
Egy, vagy tbbirny is lehet.
Ki kapja az zenetet? - problma.
Pufferels (a link ltal egyidben befogadott zenetek szma)Zr kapacits (0 zenetet trol a link; szinkronizci kell, rendezvous)
Korltozott kapacits ( n zenet lehet a linken)
Korltlan kapacitsMs: delay, reply, RPC (remote procedure call)
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Kivtel-kezels, kivteles helyzetek
processzus felfggeszts
elveszett zenetek
hibs (scrambled) zenetek
7/22/2019 Op Rendszerek Fazekas Gabor
73/200
mobiDIK Ksyvtr Opercis rendszerek68
hibs (scrambled) zenetek
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
5. CPU temezs
Alapfogalmak
7/22/2019 Op Rendszerek Fazekas Gabor
74/200
mobiDIK Ksyvtr Opercis rendszerek69
Alapfogalmak
temezsi felttelek (kritriumok)
temezsi algoritmusok
Tbb-processzoros eset
Vals idej (real time) temezs
Algoritmus kirtkels
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
AlapfogalmakA multiprogramozs clja: a CPU foglaltsg (kihasznls) hatsfoknak nvelse
A multiprogramozs lnyege: egyidben tbb folyamat is az operatv trbanhelyezkedik el, kszen llva a CPU kiszolglsra. Ha egy folyamatnak vrnia kell (Pl.
7/22/2019 Op Rendszerek Fazekas Gabor
75/200
mobiDIK Ksyvtr Opercis rendszerek70
helyezkedik el, kszen llva a CPU kiszolglsra. Ha egy folyamatnak vrnia kell (Pl.
I/O-ra), a CPU-t egy msik folyamat kapja meg.CPU Burst cycle I/O Burst Cycle (CPU foglaltsgi ciklus I/O ciklus)
A CPU ciklusok gyakorisga:
CPU foglaltsgi ciklus hossza
Gyakori-
sga
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Rvid tv (short term) temezrl van sz
Rvid tv temezsi dntshelyzet ll el, ha egy folyamat
1. fut llapotbl vrakoz llapotba kerl
7/22/2019 Op Rendszerek Fazekas Gabor
76/200
mobiDIK Ksyvtr Opercis rendszerek71
2. fut llapotbl kszenlti llapotba kerl3. vrakoz llapotbl kszenlti llapotba kerl
4. megll
Az 1. s 4. esetben az temezs nem preemptv (nem beavatkoz: a processzusmaga mond le a CPU-rl) (MS Win)
Az 2. s 3. esetben az temezs preemptv (beavatkoz: elveszik tle a CPU-t)
A Diszpcser (dispacher)
A diszpcser adja t a vezrlst az temez ltal kivlasztott folyamatnak. Ez magbanfoglalja:
a kontextus mdostst
user mdba kapcsolst
a megfelel cm utastsra ugrst (PC/IP bellitst)
Diszpcser latencia : egy processzus meglltshoz s egy msik elindtshoz szksges id
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
temezsi felttelek (kritriumok)
CPU kiszolgls(CPU utilization) a CPU az id minl nagyobbrszben legyen foglalt
7/22/2019 Op Rendszerek Fazekas Gabor
77/200
mobiDIK Ksyvtr Opercis rendszerek72
rszben legyen foglalt.
tbocst kpessg(throughput) egysgnyi id alatt befejezdprocesszusok szma.
Vgrehajtsi (turnarund, fordulsi) id = vrakozs a memribakerlsre + kszenlti sorban tlttt id + CPU-n tlttt id + I/O-val tltttid.
Vrakozsi id(waiting time) kszenlti sorban (ready queue) tlttt id Vlaszid (response time) a krs benyjtstl az els vlasz
megjelensig (nem output!) eltelt id. (Interaktv rendszerekben aturnaround nem j jellemz.)
Feladatok: tisztessges kiszolgls, minimum, maximum, tlagoptimizlsa, szrs optimizlsa, jsolhatsg.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
temezsi algoritmusok Ignybejelentsi sorrend szerinti kiszolgls(first-come, first-served =
FCFS)
az tlagos vrakozsi id nagy szrsa konvoj effektus
7/22/2019 Op Rendszerek Fazekas Gabor
78/200
mobiDIK Ksyvtr Opercis rendszerek73
az tlagos vrakozsi id nagy szrsa, konvoj effektus
A rvidebb igny elszr(shortest job first, shortest job next, SJF, SJN)kiszolgls elve.
Elmletileg minimalizlja az tlagos vrakozsi idt.
Problma: nem tudjuk, hogy a sorbanllk kzl melyik a rvidebb.
Printer spooling.
Predikci: a korbbi foglaltsgi peridusok hossznak felhasznlsval pl.exponencilis tlagolssal (aging - regedsi algoritmus)
Lehet preemptv, vagy non-preemptv.
Jellje tnaz n-edik CPU foglaltsgi ciklus hosszt, n+1a kvetkezonek jsoltfoglaltsgi peridus hosszt.
Definiljuk a kvetkezo foglaltsg vrhat hosszt: Legyen 10 s
n+1= tn+ (1) n
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Prioritsi sorrend szerinti kiszolgls
Priorits: a processzushoz rendelt egsz rtk. A kisebb rtk nagyobbprioritst jelent.
Prioritsi fggvny
7/22/2019 Op Rendszerek Fazekas Gabor
79/200
mobiDIK Ksyvtr Opercis rendszerek74
Az SJF, ill. FCFS is prioritsos kiszolglsnak tekinthet!Bels s kls priorits.
Preemptv, non-preemptvprioritsi temezk.
Problmk: vgtelen indefinit blokkolds = hezs, hhall.
Plda: MIT 1973 IBM 7094: 1967 ta vrt egy processzus a CPU-ra!!
Megolds: aging (unix plda)
Round robin (RR, krleosztsos, krbejr temezs)
Minden processzus sorban q ideig (q=10-100 millisec.) hasznlhatja a CPU-t
n processzus esetn a maximlis vrakozsi id (n-1)/q
q nagy: FCFS !q kicsi: kontextus vltsi kltsg relatve megn!
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
6. Folyamat szinkronizci
7/22/2019 Op Rendszerek Fazekas Gabor
80/200
mobiDIK Ksyvtr Opercis rendszerek75
HttrA kritikus szakasz problma
Szinkronizcis hardver
SzemaforokKlasszikus szinkronizcis problmk
Kritikus rgik
Monitorok
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
HttrA termel-fogyaszt folyamat egy mdostott vltozata (counter!)
Megosztott adat Termel folyamat Fogyaszt folyamat
7/22/2019 Op Rendszerek Fazekas Gabor
81/200
mobiDIK Ksyvtr Opercis rendszerek76
varn;typeitem= ... ;
var buffer: array[0..n-1] ofitem;
in,out,counter: 0..n-1;
in:=0;
out:=0;
counter=0;
repeat...
egy item ltrehozsa a nextp
vltozba
...
whilecounter=n donop;
buffer[in]:= nextp;
in:=(in+1) modn;
counter=counter+1;
until false;
repeatwhilecounter = 0 donop;
nextc:=buffer[out];
out:=(out+1) modn;
counter=counter-1;
...
a nextcvltozban lev adat
felhasznlsa
...
until false;
A kd kln-kln korrekt, de konkurens mdon vgrehajtva nem az!
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
A counter:=counter 1utasts assembly szint implementlsa gpiutastsokkal:
reg1:=counter reg2:=counter
7/22/2019 Op Rendszerek Fazekas Gabor
82/200
mobiDIK Ksyvtr Opercis rendszerek77
reg1:=reg1+1
counter:=reg1
reg2:=reg2 -1
counter:=reg2
Legyen a counterrtke pl. 5! Akkor egy konkurens hozzfrs-pr utn (Megszakits mindengpi utasts utn bekvetkezhet!):
L1 Termel reg1:=counter reg1:=5L2 Termel reg1:=reg1+1 reg1:=6
L3 Fogyaszt reg2:=counter reg2:=5
L4 Fogyaszt reg2:=reg2-1 reg2:=4
L5 Termel counter:=reg1 counter:=6
L6 Fogyaszt counter:=reg2 counter:=4
Azaz a counterrtke 4 (s nem 5!).
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
A kritikus szakasz problma n folyamat verseng egy bizonyos (kzs) adat hasznlatrt Mindegyik folyamatnak van egy kdszegmense, ahol ezt a bizonyos adatot
elri (olvassa/rja): ez az n. kritikus szakasz.
7/22/2019 Op Rendszerek Fazekas Gabor
83/200
mobiDIK Ksyvtr Opercis rendszerek78
Problma: hogyan biztosthat, hogy amg egy processzus a kritikusszakaszt hajtja vgre, addig egyetlen ms processzus se lphessen be asajt kritikus szakaszba.
Az i-edik processzus (Pi) szerkezete:
Kvetelmnyek:Klcsns kizrs nem lehet egynl tbb processzus a kritikus szakaszban
Progresszi a kivlaszts (futsra) nem ksleltethet hatrozatlan ideig
Korltozott vrakozs
minden igny kiszolglsa megkezddik korltozott szm kritikus szakasz vgrehajtsa utn
Algoritmusok kt processzus esetre
repeat
kritikus szekci
maradk szekciuntil false;
entry szekci
exit szekci
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
I. algoritmus II. algoritmus III. algoritmuskzs vltozkvar turn: (0..1);{kezdeti rtk: turn=0;ha turn=iPi belphet a
kritikus szekcijba}
kzs vltozkvar flag: array[0..1] of boolean;{kezdeti rtk: flag[i]=false;ha flag[i]=truePi ksz be-
lpni a kritikus szekcijba}
kzs vltozkI. s II. kombincija
7/22/2019 Op Rendszerek Fazekas Gabor
84/200
mobiDIK Ksyvtr Opercis rendszerek79
Processzus Pirepeat
while turn ido
no-op;
kritikus szekci
turn =j;
maradk szekciuntil false;
Processzus Pirepeat
flag[i]:= true;whileflag[j]dono-op;
kritikus szekci
flag[i]:= false;
maradk szekciuntil false;
Processzus Pirepeat
flag[i]:= true;
turn:=j;whileflag[j]andturn=jdono-op;
kritikus szekci
flag[i]:= false;
maradk szekciuntil false;
Klcsns kizrs van, deprogresszi nincs!
Progresszi van, de klcsnskizrs nincs!
Mindhrom felttelt kielgti!
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Bakery algoritmus (kritikus szakasz n processzusra)
Minden processzus kap egy sorszmot, mieltt belp a kritikus szekcijba(ticket). A legkisebb sorszm processzus hajthatja vgre a kritikus szekcijt.
7/22/2019 Op Rendszerek Fazekas Gabor
85/200
mobiDIK Ksyvtr Opercis rendszerek80
Ha Pis Pjsorszma megegyezeik, akkor a kisebb index jogosult a kritikusszekcijba belpni.
A sorszmoz rendszer mindig monoton nvekv sorszmokat generl.Pl.: 1,2,2,3,3,3,4,4, ...
Jells:
7/22/2019 Op Rendszerek Fazekas Gabor
86/200
mobiDIK Ksyvtr Opercis rendszerek81
{kezdeti rtk: i= 0,1, ... , n-1 -re choosing[i]:=false, number[i]:=0.} Processzus Pirepeat
choosing[i]:= true;
number[i]:=max(number[0], ... , number[n-1])+ 1;
choosing[i]:=false;
forj:=0 ton-1 do
beginwhile choosing[j] dono-op;while number[j] 0and(number[j],i)
7/22/2019 Op Rendszerek Fazekas Gabor
87/200
mobiDIK Ksyvtr Opercis rendszerek82
Felhasznlsa: A kzs adat elrsnek tnye ms processzusok szmrarzkelhetv tehet!
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Szemaforok (Dijkstra, 1965)Aktv vrakozs (busy waiting) problmjaSzemafor (S) integer vltoz
lbbi k l i ( ik ) l h j h j
7/22/2019 Op Rendszerek Fazekas Gabor
88/200
mobiDIK Ksyvtr Opercis rendszerek83
csupn az albbi kt elemi (atomikus) mvelet hajthat rajta vgre
wait(S): S:=S-1;ifS
7/22/2019 Op Rendszerek Fazekas Gabor
89/200
only one of the waiting processes.
LetS andQ be two semaphores initialized to 1
P0
P1
wait(S) wait(Q )
wait(Q ) wait(S)
. .
. .
. .
signal(S) signal(Q )
signal(Q ) signal(S)
Starvation indefinite blocking
A process may never be removed from the
semaphore queue in which it is suspended.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Klasszikus szinkronizcis problmkA korltos puffer problma a modellezshez hasznlt szemaforok: mutex, empty, full
emptykezdrtke: n
full ke drtke 0
7/22/2019 Op Rendszerek Fazekas Gabor
90/200
mobiDIK Ksyvtr Opercis rendszerek84
fullkezdrtke: 0 szmll (counting) szemaforok.
Az olvask s rk (readers and writers) problma
Egy adatot, llomnyt tbb processzus megosztva, prhuzamosan hasznl, egyesekcsak olvassk, msok csak rjk. Hogyan biztosthat az adatok konzisztencija?
Stratgik:
1. Minden olvas azonnal hozzfrhet az adatokhoz, hacsak egy r nem kapott mrengedlyt az rsra.
2. Egy r azonnal rhat, ha erre ksz s ms rk ppen nem rnak.
Mindkt stratgia hezshez (starvation) vezethet, de van megolds.
Bounded-Buffer Problem
Shared data
7/22/2019 Op Rendszerek Fazekas Gabor
91/200
typeitem= ...
var buffer= ...
full, empty, mutex:semaphore;
nextp, nextc:item;
full:= 0;empty:=n ;mutex:= 1;
Producer process
repeat
...
produce an item innextp
...wait(empty);
wait(mutex);
...
addnextptobuffer...
i l( )
Consumer process
repeat
wait(full);
7/22/2019 Op Rendszerek Fazekas Gabor
92/200
wait(full);
wait(mutex);
...
remove an item frombuffertonextc
...
signal(mutex);
signal(empty);
...
consume the item innextc
...
untilfalse;
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
A vacsorz filozfusok (dining philosophers) problmja
Egy kralak asztal mellett tfilozfus l, mindegyik eltt van egytnyr rizs s a szomszdos
tnyrok kztt egy-egy ev-plcika
7/22/2019 Op Rendszerek Fazekas Gabor
93/200
mobiDIK Ksyvtr Opercis rendszerek85
tnyrok kztt egy-egy ev-plcika. Evshez a filozfus a sajt tnyrja
melletti kt eveszkzt hasznl-hatjagy, hogy ezeket egyms utn kzbeveszi.
Ha befejezte az tkezst, vissza-teszi
az eszkzket, s gondolkodni kezd. Majd jra meghezik, stb.
Plda szmos konkurencia kontrollproblmra.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Kritikus rgikMagas szint szinkronizcis eszkz.
Egy megosztott vltoz v, amelynek tpusa T, deklarcija
var v: shared T;
7/22/2019 Op Rendszerek Fazekas Gabor
94/200
mobiDIK Ksyvtr Opercis rendszerek86
var shared ;A vvltoz csak az albbi alak utastsokon keresztl rhet el:
regionvwhenBdo S;
ahol Begy logikai kifejezs.
Amg az Sutasts vgrehajts alatt ll, msik processzus nem rheti el a vvltozt.
Ha a processzus megprblja vgrehajtani a region utastst, a Blogikai kifejezskirtkeldik. Ha Bigaz, az Sutasts vgrehajtdik. Ha hamis, akkor a processzusvgrehajtsa ksleltetdik addig, amg a kifejezs igaz nem lesz s egyetlen msprocesszus sincsen a v-hez kapcsolt rgiban.
Plda: korltos puffer problmja
Implementci: pl. szemaforokkal
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Plda: A korltos puffer problma egy lehetsges megoldsa.
7/22/2019 Op Rendszerek Fazekas Gabor
95/200
mobiDIK Ksyvtr Opercis rendszerek87
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Monitorok (Hoare, 1974; Hansen, 1975)magas szint szinkronizcis eszkzk (szikronizcis primitv), amelyek lehetv
teszik egy absztrakt adattpus biztonsgos megosztst konkurens processzusokkztt.
formlisan: a monitor eljrsok, vltozk s adatszerkezetek egyttese, amelyek egyspecilis csomagba vannak integrlva A processzusok hvhatjk a monitorban lev
7/22/2019 Op Rendszerek Fazekas Gabor
96/200
mobiDIK Ksyvtr Opercis rendszerek88
j , gy , y gyspecilis csomagba vannak integrlva. A processzusok hvhatjk a monitorban leveljrsokat, de nem rhetik el kzvetlenl annak bels adatszerkezett.
Specilis tpus: condition
Specilis mveletek: x.wait, x.signal
A monitor azt kvnja biztostani, hogy egy idben csak egy processzus legyen aktv(rajta).
Megvalsts: pl. szemaforokkal.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Plda: A dining philosophers problma egy lehetsges megoldsa.
7/22/2019 Op Rendszerek Fazekas Gabor
97/200
mobiDIK Ksyvtr Opercis rendszerek89
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
8. Memria management
Httr
Logikai s fizikai cmtr
7/22/2019 Op Rendszerek Fazekas Gabor
98/200
mobiDIK Ksyvtr Opercis rendszerek90
Logikai s fizikai cmtr
Swapping
Folytonos allokls
LapozsSzegmentci
Szegmentci lapozssal
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
HttrAz szmtgp (processzor) kapacitsnak jobb kihasznlsa megkveteli,
hogy egyszerre tbb processzus osztozzon a memrin (shared memory).
Egy program alapveten valamilyen (binris vgrehajthat) fjl formban
helyezkedik el a httrtrban. Vgrehajtshoz be kell tlteni a memriba. Vgrehajts kzben a memria kezelsi stratgitl fggen tbbszr mozoghat a
7/22/2019 Op Rendszerek Fazekas Gabor
99/200
mobiDIK Ksyvtr Opercis rendszerek91
Vgrehajts kzben a memria kezelsi stratgitl fggen tbbszr mozoghat amemria s httrtr kztt.
Input queue a vgrehajtsra kijellt s evgett sorban ll programokegyttese.
A programkdhoz s a program vltozkhoz valamikor memria cmeket kell
rendelni (address binding). (Ez trtnhet a betlts eltt, kzben, vagy akrutna is.)Fordtsi idben trtn trfoglals (cmkapcsols).
Betltsi (szerkesztsi) idben trtn trfoglals (cmkapcsols).
Futsi idben trtn trfoglals (cmkapcsols).
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Egy felhasznli program feldolgozsnak lpsei
Forrsprogram
Compiler/
Assembler
fordtsi
id
7/22/2019 Op Rendszerek Fazekas Gabor
100/200
mobiDIK Ksyvtr Opercis rendszerek92
Trgy-modul
Ms trgy-modulok
Kapcsolat-szerkeszt
Betlthet-modul
Betlt
Rendszer-knyvtr
Dinamikusrendszer-kn vtr
Vgrehajthatprogram a
memriban
betltsi
id
futsi
id
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Dinamikus betltsEgy szubrutin nem tltdik be, amg meg nem hvdik. Minden szubrutin a lemezen tallhat
thelyezhet binris formban.
A hv rutin elszr tisztzza, hogy a hvott benn van-e a memriban. Ha nincs, akkoraktivizldik az thelyez betlt, s a betlts utn a program cmhivatkozsai (cmtblzat,cmkonstansok) mdosulnak.
A nem szksges rutinok soha nem tltdnek be!
7/22/2019 Op Rendszerek Fazekas Gabor
101/200
mobiDIK Ksyvtr Opercis rendszerek93
Nincs szksg specilis opercis rendszer tmogatsra (a futtat rendszer - run time systemsajt hatskrn bell megoldja).
Dinamikus szerkesztsStatikus szerkeszts: a nyelvi knyvtrak gy kezeldnek, mint brmely ms (felhasznli)
object modul. Problma: a gyakran hasznlt rutinok sok-sok vgrehajthat program kdjval
egytt letroldnak. (lemez-pazarls!)Dinamikus szerkesztsnl nemcsak az (thelyez) betlts, hanem a (szimbolikus) kapcsolat
szerkeszts is kitoldik a futsi idre. Egy kismret kd (stub=csonk) helyettesti a szksgesrutint a vgrehajthat program kdjban, amely segtsgvel a szksges rutin a memriban(ha az memria rezidens), vagy a lemezes knyvtrban lokalizlhat. A lokalizls utn(kvetkez alkalommal) a rutin mr direkt mdon hajtdik vgre (nincs jra tlts!).
Tovbbi elnyk: knyvtr mdostsok, verzik, bug fixes, patches, service pack, shared
library.Opercis rendszer tmogats: vdett terletre betlttt rutinok elrse.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
OverlayA felhasznli program logikjba (szubrutin struktrjba) beptett dinamika.
Alaptlet: a teljes programnak (kd s adat) csak az a rsze legyen benn az operatvmemriban, amelyre tnylegesen szksg van.
Plda: tbbmenetes fordtk, assemblerek.
7/22/2019 Op Rendszerek Fazekas Gabor
102/200
mobiDIK Ksyvtr Opercis rendszerek94
Szimblum tbla 20 K
Kzs rutinok 30 K
Overlay driver 10 K
Elso menet(70 K)
Msodik menet(90 K)
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Logikai s fizikai cmtrLogikai cm = a CPU ltal generlt cm (virtulis cm).
Fizikai cm = a Memory Management Unit(MMU) ltal generlt cm (relis cm).
A fordtsi s betltsi idben csak a logikai cmtr (cmhozzrendels) elrhet!
A logikai cmet a MMU kpezi le fizikai cmm.E l k i
7/22/2019 Op Rendszerek Fazekas Gabor
103/200
mobiDIK Ksyvtr Opercis rendszerek95
Egy egyszer cmlekpezsi sma:
Fizikai cm
14346
Logikai cm
346
relokl regiszter
+CPU
14000
memria
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Swappingswap = csere (egy fut processzus kdjnak s adatainak "lecserlse" egy
httrtrban troltra).
Httrtr: nagy, sszefgg, gyorsan elrhet lemezterlet, amely elg nagy
ahhoz, hogy minden fut program memriabeli kpt (core image) trolja.Roll out, roll in: swapping stratgia vltozat: az alacsonyabb priorits folyamatok
7/22/2019 Op Rendszerek Fazekas Gabor
104/200
mobiDIK Ksyvtr Opercis rendszerek96
kicserldnek a magasabb prioritsakra.
A swap id nagyrszt adattviteli id(!), arnyos a processzus ltal lefoglaltoperatv memria mretvel.
A swapping egyes verzii megtallhatk a UNIX-ban (automatikus) s az MSWindows-ban is (kzi vezrelt?).
Round Robin plda: idoszts s tviteli id.
Ms problmk: fgg I/O.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Folytonos tr-alloklsAz operatv memrit egyetlen folytonos tmbnek tekinthetjk.
A memria "rendszer"- s "felhasznli program" rszekre bomlik.
A rendszer rsznek tartalmaznia kell a memriba begyazott megszaktsi vektort,
az I/O kapukat (portok). Egyszer partcis allokls
7/22/2019 Op Rendszerek Fazekas Gabor
105/200
mobiDIK Ksyvtr Opercis rendszerek97
Egyszer partcis allokls
0
Opercisrendszer
Felhasznliprogram
640K-1
CPU < +
Limitregiszter
Relokcisregiszter
Logikaicm
nem
Fizikaicmigen
Megszakts:cmzsi hiba!
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Multipartcis alloklsA felhasznli programok szmra elrhet terlet rszekre (partcikra) bomlik. Egy partci
egy felhasznli program (processzus) befogadsra alkalmas.
Fix, vltoz szm s hosszsg partcik, priorits.
Lyuk (hole): kt foglalt partci kztti szabad memria terlet (blokk). A lyukak mrete vltoz
lehet. Ha egy processzust ltre kell hozni, akkor ehhez az opercis rendszernek egy megfelelen
nagy mret lyukat kell kivlasztania
7/22/2019 Op Rendszerek Fazekas Gabor
106/200
mobiDIK Ksyvtr Opercis rendszerek98
nagy mret lyukat kell kivlasztania.
Plda:
Op. rendszer
5. processzus
8. processzus
2. processzus
Op. rendszer
5. processzus
lyuk
2. processzus
Op. rendszer
5. processzus
9. processzus
lyuk
2. processzus
Op. rendszer
5. processzus
9. processzus10. processzus
lyuk
2. processzus
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Az opercis rendszer nyomon kveti az alloklt s szabad partcikat (hely s mret alapjn).
Dinamikus tr-hozzrendelsi problma: hogyan lehet kielgteni egy adott mret allokcis(trfoglalsi) ignyt?
First -fit: foglaljuk le az els lyukat, amely elg hossz!
Best-fit: foglaljuk le az elg hossz lyukak kzl azt, amelynek hossza legkzelebb esik aszksges hosszhoz!
Worst-fit: foglaljuk le a leghosszabb lyukat (ha az elg hossz)!
rtkelsi szempontok / rtkels:
7/22/2019 Op Rendszerek Fazekas Gabor
107/200
mobiDIK Ksyvtr Opercis rendszerek99
rtkelsi szempontok / rtkels:
Sebessg, trkihasznls: a "first" s "best" jobb, mint a "worst".
A lyukak adminisztrlsa is idt s memrit ignyel, deadlockhoz is vezethet! (tbbekerlhet mint a szabad hely!)
50% szably: (D. Knuth) a first fit stratgia statisztikai vizsglata azt eredmnyezte, hogy n
blokk elhelyezse sorn n/2 blokk (helye) elvsz(!) (ez a kezdeti szabad terlet egyharmada!).
Kls s bels fragmentci.
A kls fragmentci cskkentse tmrtssel.
cl: a lyukak egyestse egy szabad terlett.
dinamikus relokci szksges
fggben lev I/O problmja.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Lapozs (paging) nem folytonos tr-alloklsA kls fragmentci problmjnak egy lehetsges megoldst kapjuk, ha megengedjk,
hogy a fizikai cmtr ne legyen folytonos, megengedve egy processzushoz fizikailag ssze nemfgg memria blokkok alloklst.
A logikai- s fizikai cmtr fggetlen blokkokra (lapokra, keretekre) bomlik.
A logikai blokk (lap/page) s a fizikai blokk (keret/frame) mrete megegyezik. A mret 2 hatvny jellemzen 512 8192
7/22/2019 Op Rendszerek Fazekas Gabor
108/200
mobiDIK Ksyvtr Opercis rendszerek100
A mret 2 hatvny, jellemzen 512-8192.
Brmelyik lap elfoglalhatja brmelyik keretet.
Nyilvn kell tartani a szabad s foglalt kereteket.
Egy n lapbl ll program futtatshoz elbb n szabad keretet kell tallni!
Bels fragmentci. (Kls fragmentci nincs, mert egy keret mindig teljesen lefoglaldik)
A cmkpzs mechanizmusa:
logikai cm: (lap sorszma, lapon belli relatv cm)
fizikai cm: (keret memriabeli kezdcme, kereten belli relatv cm)
laptbla: minden logikai laphoz tartalmaz egy bejegyzst, amely a logikai lapot
tartalmaz keret fizikai cme + ms informcik.
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
CPU
Logikai cm Fizikai cm
page offset frame offset page 0
page 1
page 2
0 1
1 4
2 3
3 7
0
1 page 0
2
Framesorszm
7/22/2019 Op Rendszerek Fazekas Gabor
109/200
mobiDIK Ksyvtr Opercis rendszerek101
Invertlt laptbla
Fizikaimemria
frame
page 2
page 3
Logikaimemria
Lap-tbla
3 page 2
4 page 1
5
6
7 page 3
Fizikai
memria
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Minden egyes fizikai laphoz (frame-hez) tartalmaz egy bejegyzst (entry). Egy bejegyzs azadott frame-ben trolt logikai lap virtulis cmt s annak a processzusnak az azonostjttartalmazza, amelyikhez a frame tartozik.
Cskken a laptblk trolshoz szksges memria mrete, de n a tbla tnzshezkeressi id a lapreferencia felmerlse esetn.
Hash - megoldsokkal a keressi id cskkenthet.
7/22/2019 Op Rendszerek Fazekas Gabor
110/200
mobiDIK Ksyvtr Opercis rendszerek102
Megosztott lapok
CPUpid p d i d
Fizikaimemria
Logikai cm Fizikai cm
pid p
Lap tbla
keress
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
A kzs (re-entrant) csak olvashat kd (lap) megosztva hasznlhat tbbprocesszus ltal (pl. szvegszerkesztk, kompjlerek, ablak rendszerek).
ed 1
ed 2
ed 1
ed 2
3
4
01 data 1
7/22/2019 Op Rendszerek Fazekas Gabor
111/200
mobiDIK Ksyvtr Opercis rendszerek103
ed 2
ed 3
data 1
ed 2
ed 3
data 1
P1 proc.
ed 1
ed 2
ed 3
data 2
P2 proc.ed 1
ed 2
ed 3
data 3P3 proc.
4
6
1
P1
laptblja
3
4
6
7
P2laptblja
3
4
6
2P3
laptblja
2 data 3
3 ed 1
4 ed 2
56 ed 3
7 data 2
8
9
10
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Szegmentci szemantikus memria feloszts A szegmentci egy felhasznli szemlletet tkrz memria kezelsi smt jelent.
A program szegmensek egyttese. A szegmens logikai egysg, mint pl.
fprogram
eljrs
fggvny
loklis vltozk
1
4
7/22/2019 Op Rendszerek Fazekas Gabor
112/200
mobiDIK Ksyvtr Opercis rendszerek104
loklis vltozk
globlis vltozk
kzs vltozk (common block)
verem
szimblum tblzatok, tmbk Pl.
12
34
Felhasznli szemllet
2
3
fizikai memria
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
A logikai cm kt rszbl ll:< szegmens szm, offset >
Szegmens tbla kt dimenzis felhasznl ltal definilt cmeket egy dimenzisfizikai cmekk alakt; a tblban minden bejegyzs tartalmaz egybzist amely a szegmens fizikai kezdcmt adja meg,
mrethatrt (limit), amely a szegmens hosszt mondja meg.Szegmens tblzat bzis regiszter (STBR): a szegmens tbla memriabeli helyre
(kezdcm) mutat (pointer).
7/22/2019 Op Rendszerek Fazekas Gabor
113/200
mobiDIK Ksyvtr Opercis rendszerek105
( ) (p )Szegmens tblzat hossz regiszter (STLR): a szegmens tbla maximlis
bejegyzseinek szmt adja meg. az s szegmens szm akkor leglis, ha s < [STLR]. Relokci: dinamikus
szegmens tblzat segtsgvel Megoszts: megosztott szegmensek azonos szegmens (sor)szm
(Tr)vdelem: minden egyes bejegyzshez a szegmens tblban kapcsoldik egy: rvnyest (validation) bit (=0 illeglis szegmens) read/write/execute privilgiumok
Allokci: a hossztvu temeznek el kell helyeznie a memriban egy processzussszes szegmenst (hasonl megoldsok s problmk lpnek fel, mint a vltoz
hosszsg multiparticis rendszereknl) first fit /best fit kls fragmentci
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Szegmentci lapozssal tlet: a lapozs a kls fragmentcit, a szegmentls a bels fragmentcit cskkentheti! Pl. INTEL (>3)86 (Az OS/2 opercis rendszer mr ki is hasznlta)
Egy processzus ltal hasznlhat szegmensek maximlis szma: 16K (!) Egy szegmens mrete: 4 GB. Lapmret: 4K=4096 bjt.
A szegmensek egyik fele privt, ezek cmt (adatait) az LDT (Local Descriptor Table) tartalmazza A tbbi (az sszes processzusok ltal) kzsen hasznlt szegmens, ezek cmt a GDT (Global DescriptorTable) tartalmazza.
Mindkt tblban egy-egy bejegyzs 8 byte, az adott szegmens lerja (kezdcm s hossz).
7/22/2019 Op Rendszerek Fazekas Gabor
114/200
mobiDIK Ksyvtr Opercis rendszerek106
Mindkt tblban egy egy bejegyzs 8 byte, az adott szegmens lerja (kezdcm s hossz). Logikai cm: , ahol az offset egy 32 bites rtk, a szelektor
s g p
13 1 2
alak, ahol s: szegmens szm, g: GDT, vagy LDT, p: protection (vdelem) jelzse. A processzor 6 szegmens regisztere egy-egy szegmens egyidej gyors megcmzst teszi lehetv.
8 db 8-bjtos mikroprogram regiszter (cache) a megfelel LDT/GDT bejegyzsek trolsra.
lineris cm: (ellenrzsek - limit - utn) 32 bit, amit fizikai cmm lehet konvertlni.
lapmret=4K 1M elem laptbla (4MB !) jobb megolds a 2 szint laptbla!
P1 p2 d10 10 12
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
INTEL (>3)86 cmkpzsi sma
ler tbla
szegmens ler +
16 3 2 0
logikai cm szelektor offset
7/22/2019 Op Rendszerek Fazekas Gabor
115/200
mobiDIK Ksyvtr Opercis rendszerek107
lap frame
fizikai cm
lap tbla
laptbla bejegyzs
lap sztr
lap sztr bejegyzs
szegmens regiszter
lineris cm directory page offset
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Szempontok a memria management stratgik sszehasonltshoz A legersebben meghatroz tnyez a hardver tmogats. (A CPU ltal generlt minden
egyes logikai cmet ellenrizni kell (legalits) s le kell kpezni valamilyen fizikai cmm. Azellenrzs nem implementlhat (efficiens) mdon a szoftverben.
A trgyalt memria management algoritmusok (folytonos allokls, lapozs, szegmentci,szegmentci s lapozs) sok vonatkozsban klnbz rtkeket mutat. Nhny ilyen
vonatkozs: Hardver tmogats: Az egyszer s multipartcis smkhoz elg egy bzis regiszter, vagy
egy bzis/limit regiszter pr. A lapozs s szegmentci lekpez tblzatokat is ignyel.
7/22/2019 Op Rendszerek Fazekas Gabor
116/200
mobiDIK Ksyvtr Opercis rendszerek108
Teljestmny: Az algoritmus bonyoldsval a vgrehajtsi id is megn.
Fragmentci: A multiprogramozs szintjnek emelsvel processzor kihasznltsg nhet, dekzben memrit vesztnk el. (fix partcik: bels-, vltoz partcik: kls fragmentci).
Relokci: a program (logikai cmtartomnynak) eltolsa. Tmrts s dinamikusthelyezs.
Csere (Swapping): kiegszt intzkeds arra az esetre, ha a processzus ltal elfoglalt fizikaimemrit fel kell adni.
Megoszts (Sharing): a hatkonysgot nvelhetik a tbb processzus ltal kzsen hasznltkd s adatok.
Vdelem (Protection): a processzusok alaphelyzetben csak a hozzjuk rendelt cmtartomnyt
hasznlhatjk. (A megoszts termszetes velejrja.)
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
9. Virtulis memria kezels
Httr
Igny szerinti (knyszer) lapozs A knyszer lapozs teljestmnye
7/22/2019 Op Rendszerek Fazekas Gabor
117/200
mobiDIK Ksyvtr Opercis rendszerek109
A knyszer lapozs teljestmnye
Laphelyettestsi algoritmusok
Frame-k alloklsaVergds (csapkods, thrashing)
Knyszer szegmentls
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Httr Az elz fejezetben trgyalt memria kezelsi technikk csak rintlegesen tartalmazzk azt az
esetet, amikor a processzus logikai cmtartomnya tnylegesen nagyobb, mint a fizikaicmtartomny. (Az owerlay s a dinamikus betlts segthetik ennek a problmnak amegvlaszolst, de ltalban elzetes tgondolst s kln kdolsi erfesztseket ignyelneka programoztl.) Ha nem akarjuk a programozt terhelni, akkor korltozhatjuk a vgrehajthatprogram mrett a fizikai memria mretre, de ez elg szerencstlen megolds. Ugyanis: A programok gyakran tartalmaznak olyan (kd)rszeket amelyek rendkvli hibkat/eseteket kezelnek.
Statisztikailag tekintve ezek olyan ritkk, hogy ez a kdrsz szinte sohasem hajtdik vgre.
7/22/2019 Op Rendszerek Fazekas Gabor
118/200
mobiDIK Ksyvtr Opercis rendszerek110
Tmbknek, tblzatoknak, listknak sokszor olyan sok memrit alloklnak, amennyire a konkrt eseteknagyrszben nincs szksg.
A program bizonyos gai, szolgltatsai rendkvl ritkn aktivizldnak. (Pl. USA kltsgvetsegyenlege.)
Az a lehetsg, hogy egy olyan program vgrehajtsa is megkezdhet/folytathat, amelynekkdja nincs teljes terjedelmben az operatv memriban tbb elnnyel jr: Nem korlt tbb a fizikai memria mrete. A programoz nem veszdik az overlay megtervezsvel.
Egyszerre tbb program aktv kdrsze lehet benn a memriban, ami jobb CPU kiszolglsteredmnyezhet. (Kzben nem nvekszik a vlaszadsi s vgrehajtsi id!)
Kevesebb I/O tevkenysg szksges a Swapping-hez. (A futsi sebessg n!)
A virtulis memria koncepcija a felhasznl/programoz memria szemlletnek teljesszeparlst jelenti a fizikai memritl.
Els kzeltsben azt az esetet vizsgljuk, amikor a fut processzuskoz fizikai lapoknak(frame-knek) egy rgztett kszlete tartozik. ( a processzusok nem ignyelhetik egy msikprocesszus fizikai lapjait).
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Igny szerinti (knyszer) lapozs Csak akkor tltsnk be egy lapot a memriba, ha szksges
Kevesebb I/O szksges
Kevesebb memria szksges
Gyorsabb a vlaszid
Tbb felhasznl jut lehetsghez
Szksges egy lap, ha egy aktulis (logikai) cmhivatkozs r utal. rvnytelen cmhivatkozs abortls
7/22/2019 Op Rendszerek Fazekas Gabor
119/200
mobiDIK Ksyvtr Opercis rendszerek111
A lap nincs a memriban be kell tlteni a memriba
Validcis (valid/invalid) bit (v) szerepe a laptblban: [v=0] [page fault] Page Fault (laphiba)
Az els hivatkozs a lapra biztosan laphibt okoz. Az opercis rendszer eldnti, hogy a hivatkozs maga is hibs-e (abortls), vagy
a lap nincs a memriba betltve.
res keret (frame) keress.
Lap betltse a keretbe.
A megfelel tblaelemek belltsa (v=1, stb...)
A hivatkozott (gpi) utasts vgrehajtsnak folytatsa (restart).
Mi trtnik, ha egy hinyz lap betltshez nincs szabad (res) frame amemriban?
Debreceni Egyetem Informatikai Intzet Dr. Fazekas Gbor
Algoritmusok az ldozat lap kivlasztsra s hatsuk az tbocst kpessgre (cl:a page faultok szmnak minimalizlsa)
A knyszer-lapozs teljest kpessge laphiba (page fault) arny: 0p1 (p=0: nin