Top Banner

of 200

Op Rendszerek Fazekas Gabor

Feb 08, 2018

Download

Documents

FeriSzabó
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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