You are on page 1of 27

1.

OStrtnete:els,msodik,harmadik,negyedikgenerci
2.Szmtgphardverttekintse
3.OSllatkert,Opercisrendszerekfogalmai:processzusok,fjlok,parancsrtelmez,
rendszerhvsok
4.Azopercisrendszerstruktrja
5.Processzusmodell,processzusok,kontextuscsere,processzusllapotok
6.Processzusokmegvalstsa,ltrehozsa,befejezse,Processzushierarchik
7.Amultiprogramozsmodellezse,szlak
8.Processzusokkommunikcija,versenyhelyzetek,kritikusszekci
9.Klcsnskizrstevkenyvrakozssal
10.Altatssbreszts
11.Szemaforok,Mutexek,Monitorok,zenetklds,Sorompk
12.KlasszikusIPCproblmk
13.Processzusoktemezse,temezsktegeltrendszereknl
14.temezsinteraktvrendszerekben,
15.temezsvalsidejrendszerekben,Elveksmegvalstsok,szltemezs
16.Beskivitel,I/Ohardveralapjai,I/Oszoftveralapelvei,I/Oszoftveralapjai,I/Orendszer
sszefoglalsa
17.Holtpontok
18.Stratgikholtpontkezelsre
19.Memriagazdlkods,Csere,Virtulismemria
20.Lapcserlsialgoritmusok
21.Lapozsosrendszerektervezsiszempontjai,Szegmentls,Virtulismemriasgyorsttr
22.Fjlrendszerek,fjltpusok,fjlelrs,fjlattribtumok,fjlmveletek,knyvtrszerkezetek,
tvonalmegadsa,knyvtrimveletek
23.Fjlrendszerszerkezet,fjlokmegvalstsa,knyvtrakmegvalstsa
24.
Blokkmret, szabad blokkok nyilvntartsa, mentsek, filerendszerek konzisztencija,
blokkkonzisztenciaellenrzs,fjlkonzisztenciaellenrzs

OS_2014merged(jav):
https://drive.google.com/file/d/0B54fqdtjvfpmVDg3TDBVUXZYYUk/edit?usp=sharing

Sz_arch_2013merged:
https://drive.google.com/file/d/0B54fqdtjvfpmYlZZRWFLTnNKN1E/edit?usp=sharing

1.OStrtnete:els,msodik,harmadik,negyedikgenerci

Els

Azelsgpekmechanikusrelkethasznltak,Lassakvoltak.Ksbbvkuumcsvekrecserltk
EgygpetegycsapatTervezett,ptett,programozott,kezeltskarbantartott
ProgramozsAbszoltgpinyelventrtnt
Opercisrendszernemvolt
Idbeosztsalapjndolgoztak
Falonlvbeosztsrafeliratkoztak
Behelyeztkakapcsoltbljukat
Egyszernumerikusszmtsok
sin,cos,logtblk
1950esvekelejnvezettkbealyukkrtykat,krtynlehetettprogramokatrniakapcsoltblkhelyett

Msodik

Megjelentatranzisztorok,emiattmegbzhatbb,eladhatvvltakaszmtgpek

Programozs:
Programoz megrta a programotpapron, krtyra lyukasztott, a krtykat bevitte a gpterembe, az
opertor lefuttatta a kdot, az eredmnyt kiadta, Fortran esetn krlmnyesebb fordts. Ez sok idt
vettignybe.

Ktegeltrendszerek:
Olcs gppel rgztettk a bementi feladatokat s rtk ki a kimenetet, melyet egy kztes, drga gppel
szmoltattakki.

Megjelent az opercis rendszer, azonban egyszerre csak egy feladatot tudott elvgezni. Tmogatta a
programozkat
Veremmemria,
Eszkzvezrlk,
Beptetthvhateljrsok,
Relatvcmezhetsg.
Rezidensamemriban?

Harmadik

Nemkompatibilistermkek(eltrfelhasznls,ltalnos,reklm,science)eztkltsgesvoltfenntartani.
IBM System/360 alkalmas volt tbb cl felhasznlsra. Egyedi tranzisztorokbl plt fel. Tbb fle
modellvolt,melyekrekompatibilisszoftvereketgyrtottak.

A rezidens OS a memriban volt, tfeden volt kpes dolgozi (CPU teljes idejnek kihasznlsa csak
tbbprocesszoregyidejmegltvel)
Multiprogramozs, klnbz feladatokhoz klnll memriapartcikat rendeltek, melyek lehettek
statikusak (fix darabszm illetve mret), illetve dinamikusak (szabad terletbl ksztett egy megfelel
mretpartcit)

tmenetitrols(Spooling)
Gyakorlatilagacachese,Disk.

Tmax: az az idintervallum, amely alatt egy p processzus folyamatosan birtokolhatja a CPUt. Ez az


intervallum 1020 msec, ha letelik, akkor az OS processzustemez alrendszere tadja a CPUt egy
(msik)processzusnak.(tehtavezrlsideodapingpongozik)

Negyedik

Fejldtekazramkrk([Very]LargeScaleInterface)
EgyszerretbbfeladatotvgrehajtOS
HlzatiOS
OsztotthlzatiOS(egyfeladatontbbgpdolgozikegyszerre,plGRID,muchbitcoin)
Objektumorientltskliensszervermdszerektmogatsa.
Hordozhatsg(klnkomponensekrebontottgp,mintnapjainkban)
Szolgltatsokegymstlvalfggetlentse
Spooltechnika(cache)szleskralkalmazsa.

2.Szmtgphardverttekintse

Processzorok, a szmtgp agya, mely a memribl betlttt utastsokat hajtja vgre


(ciklikusanbetlt,dekdol,vgrehajtamgvanmit)
Minden egyes CPU rendelkezik specifikus utastsok halmazval, mely utastsokat vgre tud hajtani, a
fontosabbak:
Memriblregiszterbevalbetlts
Visszars
Ktoperandusmveletek.

Lass memriaelrs, melyet regiszterek hasznlatval orvosoltak. (kulcs vltozk, ideiglenes


eredmnyek trolsa). Az OSnek tisztban kell lennie az sszes regiszterrel, melyek mentsre s
visszatltsrevanszksgidszeletels(kontextuscsere)esetn.

PSWregiszteregynagyregiszter,melynekadottbitjeiklnfleinformcittartalmaz
sszehasonltutastsokltalbelltottfeltteleskdbitek
CPUpriorits
vezrlbitek
Md(0kernel3felhasznli)
fontosszerepevoltmgarendszerhvsokban.

Betltdekdolvgrehajtciklus
1. Soronkvetkezutastsbeolvassaamemriblazutastsregiszterbe
2. Utastsszmllbelltsaakvetkezutastscmre
3. Abeolvasottutaststpusnakmeghatrozsa
4. Haazutastsmemrirahivatkozik,annaklokalizlsa
5. Haszksges,adatbeolvassaaCPUegyregiszterbe
6. Azutastsvgrehajtsa
7. Visszaaz1.pontra

Problma:memribaolvasskorsrskoraCPUnemcsinlsemmit,eznagyonnemj,oldjukmeg!
Lehetsgek:
CPUfrekvenciaoverclock.(nemlehetavgtelensgig.)
Utastsszintprhuzamossg(csvezetkek,szuperskalrisarch.)
Processzorszintprhuzamossg(Tmb,Multiszmtgpek,Multiprocesszorok)

Elolvassi puffer:Azutastsvgrehajtsnakvgeelttmegkezddikakvetkezutastsbeolvassa
egydedikltregiszterkszletbe.

Csvezetk: Utastsvgrehajts tbb rszre osztva, gyakorlatilag az elolvassi puffernl kitallt


technikaalkalmazsaazsszeskomponensre.

Szuperskalrisarchitektrk:Egycsvezetk,detbbfunkcionlisegysg.

Ksleltets:utastsvgrehajtsnakidignye
teresztkpessg:MIPS(milliutastsmpenknt)

TbbszlstbbmagosCPUk

Afunkcionlisegysgeken(plutastsvgrehajtegysg)tlavezrllogiktislehettbbszrzni.
Tbbszl megvalstsesetna CPUktklnbzszlllapottiseltrolja,haazegyiknemhasznlja
a CPUt (pl memribl olvas), akkor a msik kerl eltrbe. Ez nem igazi prhuzamossg, mivel egy
processzus fut egy idben, de a szllvlts nanosec nagysgrend. Az OS szmra a szlak kln
CPUkntjelennekmeg.

TbbmagosCPUesetnszksgvanolyanOSre,melykezelnitudjaatbbmagot.

Memria

A CPU mellett a msodik fkomponens, idelis esetben nagyon gyors (gyorsabb mint az utastsok
tlagos vgrehajtsi ideje, hogy ne fogja vissz a CPUt). Mivel ahhoz,hogy ez teljesljn, rendkvl gyors
memriakell,agyorsmemriapedigdrga,ezrtszksgvanegykzteselemre,amelynemolyannagy,
mintamemria,ellenbengyors.(Igen,acacheleszaz,amelyrlmeglepetsszerennemszlattel)

Diszkek(aka.viny)

Elemei:
Mgnesezhetfellet,forgalumniumkorong.
Indukcistekercsettartalmazfej.
Fejettartalmazkar.

Sv:Egyteljeskrlfordulsalattfelrtbitsorozat.(koncentrikuskrk,mintakakascsiga)
Szektor:Akorongegyelremeghatrozottmretcikkelye.

Virtulis memria: Amikor kevs memria ll rendelkezsre, de mg be kellene tltenidolgokat, akkor a


nem hasznlt rszeit a memrinak elmenthetjk a merevlemezre. A lekpezst az MMU (Memory
ManagementUnit)vgzi.

Szalagosegysgek

Elssorban archivlsimegfontolsokmiattalkalmazzk.Knnyenhordozhat,olcs,azonbanaszalagot
tekernikellahhoz,hogyaszksgesadatotkiolvassuk.

B/Keszkzk

Ktrszblllnak:Vezrl(gyakranegybegyazottfelprogramozottszmtgpvgziezt),fizikaieszkz.
AzOSelvalkommunikcirdekbenszksgvanegydriverre.

Beskimenetvgrehajtsa
Rendszerhvsok
Megszaktsok
Specilishardver
DirectMemoryAcces(DMA)

Buszok

Azadatramlsgyorskezelse
Tbbbusztvezettekbe
AzOSnekkellkezelnie

3. OS llatkert, Opercis rendszerek fogalmai: processzusok,


fjlok,parancsrtelmez,rendszerhvsok

OSllatkert

Nagyszmtgpes/mainframe Sokfeladategyszerretrtnfeldolgozsa,sokB/K
Szerver
Tbbfelh.kiszolg.hlzatonkeresztl,erforrsokmegosztsa
MultiprocesszorOS
TbbCPUegyrendszerben,parellalszmtgpek,multiszgpek.
Szemlyiszmtgp
Egyfelh.kiszolg.,szvegszerkesztsstb.
Kziszmtgpes
Zsebbenhordhatszgpek.,PDA,Android,WINMO,Symbian,iOS
Begyazott
TV,DVDfelvev,MP3,QNX,rzkelcsompont(tz/fstrzkel)
Valsidej
Iparifeldolgoz,egybizonyosakcinakbekellkv.adottidnbell
Okoskrtya
Hitelkrtya,Paypass

Rendszerhvsoknakhvjuk azokat az utastsokat, melyek az OS s afelhasznliprogramok,illetvea


felhasznli programok kztt biztostja a kapcsolatot. Ha egy processzus vgez rendszerhvst, akkor
elbb a jogosultsgnak, majd az tadott paramterekellenrzsetrtnik,hamindenrendbenvolt,akkor
a rendszerhvs kezdcmnek megkeresse utn megtrtnik a vgrehajts, ezutn a vezrls
visszakerlaprocesszushoz.

Fajti:
Processzuskezel
Szignlkezel
Fjlkezel
Knyvtrkezel
Vdelem
Memriakezel
zenetkezel

Processzusoknaknevezzkavgrehajtsalattllprogramot,mindenilyenprogramhoztartozik:
Cmtartomny
tartalmazzaavgrehajtandprogramadataitsvermt
Regiszterkszlet
utastsszmll,veremmutat,hardverregiszter,egybinf.

Multiprogramozs esetn az OS idnknt megszaktja a proesszus futst, s msikat futtat. Ilyenkor


biztostani kell, hogy a megszaktott program ksbb ugyanabban az llapotban folytassa a futst, ha
visszakapja a CPUt. Teszi mindezt processzustblzat segtsgvel, amelyben eltrolja a
processzushoztartozrekordoklstjtvagyvektort.
Tehtrvidenaprocesszusokkzttigyorsodavisszakapcsolstrtjkmultiprogramozsalatt.

Processzuskezelrendszerhvsok
Processzustltrehozsmegszntetrendszerhvsok,plduplakattints.
Processzus ltrehozhat gyerekprocesszusokat, fastruktra alakulhat ki, szksg van az ezek kztti
kommunikcira.
Tovbbirendszerhvsok(memriakezel,fjlrendszerrelkapcsolatosrendszerhvsok)

Szignl/riaszts a hardveres megszaktsok szoftveres megfeleli. Processzus ideiglenes


felfggesztse, httrbehelyezsesregisztereinekeltrolsa,ezekutnspecilisszignlkezelutasts
indul,melylefutsakoraprocesszusfolytatdikugyanabbanazllapotban,ahogymegllt.

Rendszeradminisztrtorok felhasznli azonostt adnak, UIDt, a felhasznlknak, ez meghatrozza


milyen jogokkal rendelkezik a felhasznl, ezt elkrhetik a processzusok . Felhasznlk csoportba is
rendezdhetnek,ekkoracsoportkapegyGUIDtis.

Msik kiterjedt rendszerhvs osztlya fjlrendszerrel kapcsolatos, pldul knyvtr ltrehozsa, trlse,
thelyezsestb.

Ahogy a processzusok is kialakthatnak fastruktrt, gy a fjlok is, alknyvtrak segtsgvel. Egy


tetszleges fjl logikai helyt kiderteni az t tartalmaz knyvtrak mlysg szerinti sorrendjvel lehet,
melynek legels eleme mindig a gykrknyvtr. Olvass, vagy rs eltt meg kell nyitni a fjlt,ha van
engedly az adott mvelethez, akkor egy descriptort (fjl ler fjl) kapunk az OStl, melyen keresztl
elrhetjkafjlt.
Adatcs/pipelinektprocesszussszekapcsolsraszolglfjl.

Parancsrtelmez (aka.terminalemulator,cmd,cli)nekadhatakmegarenszerhvsok,amelyketaz
OS tud rtelmezni. Effektvena parancsrtelmez tolmcsol az OS s a felhasznl kztt. A megadott
parancsok futtatst egy gyerekprocesszussal vgezteti el, megvrja annakkimenett(kivvepersze,ha
&trunkaparancsutn..)majdjraminkaprompt.

4.Azopercisrendszerstruktrja

Legelterjedtebb a Monolitikus rendszer, melystruktrlatlan,mindenflekorltozsnlklvgrehajtjaaz


eljrsokat.Hromrszblll:
fprogrambl
melymeghvjaakrtszolgltatseljrst
szolgltatseljrsokbl
melyekteljestikarendszerhvsokat
segdeljrsokbl
melyeksegteikaszolgltatseljrsokat

Sokkal ttekinthetbb aRtegelt rendszer megvalsts,melyaz eljrsokatsfggvnyeketrtegbe


csoportostja, mely rtegekben lv eljrsok csak a nluk lentebb lv rtegeljrsaithvhatjk, illetve
sajt adatterlettel rendelkeznek. rtelemszeren sokkal jobban felgyelhet ez a rendszer.
Klnbzprogramvgrehajtsszintekvannak.

A Mikrokernelesformanhnyalapvetfunkcitavagyrendszerhvstvalstmeg,anlklzhetetlen
opercis rendszer szolgltatsok mkdshez. Ilyenek pldul a cmtartomny menedzsment, szl
menedzsment, processzek kzti kommunikci. Minden ms szolgltats, amely ltalban a kernel
feladata pldul hlzatkezels felhasznli szervereknek nevezett programok valstanak meg (nem
keverendsszeaszerverszkiszolgljelentsvel).

Virtulis gpes megvalsts esetn egy virtulis gpet futtat a rendszer, mely effektve egy
tbbfelhasznls,idosztsosrendszer.

Kt fle hiperfelgyels(hypervisor) kompozci ltezik. Az els tpusesetnkzvetlenahardverenfuta


hypervisor, mely emull klnbzOSeket.Amsodiktpusesetna hypervisoregyszinttelfeljebblp,a
hardveren lv OS futtatja a felgyelt, amely emull szmtgp(ek)et. Ez utbbira plda a VirtualBox.
(hogymiaklnbsgatype1hypervisorsazegyelfentebbibekezdskztt,aztnemtudom)

Az Exokernel kzelikapcsolatban ll a hypervisoros illetve a mikrokerneles megvalstssal.Ezakernel


csupn lefoglaljaaszksgeserforrsokat,majdazirnytst rszbentadjaaprogramoknakanagyobb
teljestmny s szabadsg rdekben, ellenben a monolitikus kernellel, ahol a hardverrel val
kommunikcicsakskizrlagakernelenkeresztlmegy.

AKliensszervermodellazegymssalkommuniklprocesszusok rendszere.Aszervermeghatrozott
szolgltatsokat vgez (terminl, web, i/o) mely szolgltatsokat a kliens vesz ignybe. Ezek kzti
kommunikci zenet krsekkel s vlaszokkal jn ltre, melyeket az OS kzbest. Ez azrt j, mert
brmikor bvthet az OS szolgltatsai, egymstl fggetlenl programozhatak a szerver programok,
tovbbhlzatonkeresztlisalkalmazhat.

5.
Processzusmodell, processzusok, kontextus csere,
processzusllapotok

Az egy magos CPU minden idpillanatban csak egyprogramotfuttat, aprhuzamossgillzjtkelti


azonban a felhasznlban gyors kontextus cservel. Fontos, hogy a processzusok nagy rszt nem
befolysolja a CPU multiprogramozsa, egybknt sem haladnak elre lland sebessggel a
vgrehajtsban.

Processzusoknaknevezzkavgrehajtsalattllprogramot,mindenilyenprogramrendelkezik:

Egyetlenvezrlsiszllal

Erforrsbirtoklegysggel
kizrlagos,osztatlan
Cmtartomnnyal
sajtilletveosztottmemria
Vgrehajtsillapottal
regiszterek
Veremmemrival
sajt
Jogosultsgokkal
adathozzfrsijogok

Odavisszakapcsolgats(aka.Kontextuscsere)

Processzusok kztti vlts, mely sorn a levltott processzus futshoz szksges informcik
eltroldnak (Process Control Block)annakrdekben,hogyjrafuttatnilehessenketadottidelteltvel.
Tbbprocesszorosrendszerekbenisszksges.

Processzusllapotok

Fut
ppenhasznljaaCPUt
Futsksz
kszenllafutsra,Ideiglenesenlelltottk,hogyegymsik

processzusfuthasson
Blokkolt
bizonyosklsesemnybekvetkezsignemkpesfutni,mely

bekvetkezseutnismtfutsksz

Az OS legals szintjn tallhat egy kis mret temez, melyben meg van valstva a
megszaktskezels,illetveaprocesszusokindtsa,meglltsa.

6. Processzusok megvalstsa, ltrehozsa, befejezse,


Processzushierarchik

Az ppen jelen lv processzusok (fut,futsksz,aktv) llapotait a processzustblzatban


(processzusok lnca) trolja a rendszer, minden processzushoz egy PCB (Process Control Block)
tartozik.Atblzatbantroltrekordokltalfeljegyzettinformcikakvetkezhromcltszolgljk:
processzusazonosts
PID,UID,GUID
processzorllapotvisszallts kontextusvltsesetnszksgeselmentettregiszterekrtkei
processzusllapotvisszallts llapot,priorits,eltelt[sszes]id(sznteltets,vagyfutsta),jogok,

fastruktrainformcik(pl.:gyermekprocesszusokIDje)

Erre a lncra minden j processzus ltrejttekor felfzdik egy j PCB lncszem s megsznsekor
trldik az t lerom lncszem. Akvetkezfuttatandprocesszuseldntsekorarendszerelncalapjn
dnt. Teszi ezt keresssel,ugyanis(hajlrtem,ersfelttelezs,degyvanrtelme)alnconlvPCB
elemek dinamikusan frisslnek, s ezekkztt keres a rendszer (pl szl megsznsekora gyerekeket,
hogymegrizzeafastruktrt,idkzbenfutskszllapotvvltprocesszusokat,stb)

Megszaktsesetn(vagykontextuscsere)akvetkezmveletsorozatmegyvgbe:

1. Azutastsszmlltahardveraveremreteszistb.
2. Amegszaktsvektorblahardverbetltiazjutastsszmllt.
3. Azassemblyeljrselmentiaregisztereket.
4. Azassemblyeljrsjvermethozltre
5. Cmegszaktskezelszolgltatsfut(tipikusanolvassaspuffereliazinputot)
6. Aztemezeldnti,hogymelyikprocesszustkellfuttatni
7. Azzenetkldkdazzenetrevrakoztfutskszrelltja
8. Celjrsvisszatrazassemblykdba
9. Azassemblyeljrselindtjaazjaktulisprocesszust

Processzusltrehozs

Processzusokltrejhetnek:
OSindulsakor
tartjkakapcsolatotafelhasznlkkal,denincsenekhozzrendelve
Futproc.ltal(gyerekproc.)
egymssalegyttmkd,deamgyfggetlenprocesszusok
Felhasznlltal
interaktvrendszerekben
Ktegeltfel.kezdemnyezse amennyibenrendelkezsrellegyerforrsakkorjproc.futtatsa

Lpseiakvetkezk:
1. MemraiterletfoglalsaaPCBszmra,majdannakfeltltseinicilisadatokkal.
2. Memriafoglalsaprocesszusnakmagnak(adatok,programszvegstb)
3. PCBlncravalfelfzseazelbbinicializltrekordnak.(futskszllapot)

Processzusbefejezs

Aterminlsnaktbbokalehet:
Szablyos
vgzettadolgval,nmagakezdemnyezi
Hibamiatt
hibatrtnt,plelkapottexcpetion(?)nnnmagakezdemnyezi
Vgzeteshibamiatt
processzusltalokozotthiba,hibsprogram,nkntelen
Msikproc.ltalkezdemnyezettmsikprockillutastsa,termszetesennkntelen

Lpseiakvetkezk:
1. Gyermek processzusok rekurzvan val megszntetse, vagy rkbeadsa (ms szlhz
lncols).
2. PCBlncrlvallevtel(hogyahtralvlpsekkzbennekapjonCPUidt)
3. Abirtokolterforrsokfelszabadtsa(PCBrekordszerint)(idetartozikamemriais)
4. PCBrekordtrlseslefoglalthelynekfelszabadtsa.

Processzushierarchik

Ha szksg van a kapcsolat megtartsra , akkor az fastruktra szerint trtnik,eszerint ltezik[0sok]


gyermekprocesszusprocesszus.Egyprocesszusnakcsakegyszljelehet.
Remek plda erre az init parancs, mely az sszes processzus se. Elsdleges szerepe, hogy
processzusokat hozzon ltre a /etc/inittab ban tallhat scriptbl. Kvzi ez az els processzus,
ennek gyermeke a shell, amelynek a terminalon keresztl futtatott processzusok a gyermekei. Az init a
nagypapjaezeknek.

7.Amultiprogramozsmodellezse,szlak

ACPUkihasznltsgamegkzeltleg1p^n:
n:afutprocesszusokszma
p:afutprocesszusokltaltlagosannemCPUkihasznlsrafordtottid.

Pldulvanktprocesszus(n=2)melyektlagosan80%ban(p=0.8)nemhasznljkaCPUt.
p^n=0.8*0.8
=0.64.(64%eslyvanarra,hogyegyszerremindktproc.vr)
10.64
=0.36

Vilgos, hogy a kihasznltsg mrtkt maximalizlni akarjuk, erre a kvetkez kt tnyez van j
hatssal:
a fut processzusok szmnak nvelse (nagyobb esllyel tallunk CPUt hasznlni akar
processzust)
aztlagosanCPUkihasznlsraszntidnvelse(ezisegyrtelm)

A modell javaslata, hogy ne legyen figyelembe vve a memria ignye a programnak, a felhasznlhat
memrianvelsvelaCPUkihasznltsgaisn(melynekazarnyafontos).

Szlak

Aprocesszusmodellktklnfogalmonalapszik:erforrscsoportostssvgrehajts.
Egyszerbben kezelhetek egy processzushoz tartoz informcik, ha olyan formban tekintnk rjuk,
mintegymssalsszefggerforrsokegycsoportostsa.
Nha rdemes a modellt sztvlasztani, egy processzus rendelkezik teht a fent emltett erforrsok
csoportjvalsegyvgrehajtsiszllal.

Egyszlrendelkezik:
Utastsszmllval
melyikutastsvgrehajtsakvetkezik
Regiszterekkel
aktulismunkavltozkattrolnak
Veremmel
egyegykeretmindenmeghvotteljrshoz
llapottal

Egyrtelm, hogy megri tbb szlat futtatni egy processzuson bell. Ha tbbet hozunk ltre akkor
figyelnnk kell, mert az OS bizonyos esetekben nem vesz tudomst a szlakrl, a felhasznl
hatskrben vannak. A szl vlaszthatja ki a kvetkez szlat, amelynek tadja a vezrlst
blokkoldskor,feltve,hogyakapottCPUidejtnemhasznltamgelteljesen.

Aszlakmegvalsthatakfelhasznliterletensakernelben.
Elbbi esetn a kernel nem tud rluk, egy szl processzusknt kezeli ket. Ugyan az az ltalnos
struktra jellemz rjuk, sajt privat szltblzattal rendelkezik a processzus (tualjdonsgok). Ezzel a
mddalgyorsabbaszlvlts,blokkoldskorazonbanazegszprocesszusblokkoldik.

Utbbi esetn szl blokkoldskor az OS vlasztja ki a kvetkezszlat (ugyanabbl vagy egy msik
processzusbl). Egy globlis szltblzatban tartja nylvn a szlhoz tartoz informcikat. Kernel
hvsokkaljnnekltreazjszlak,amegszntetskiskernelhvsokonkeresztltrtnik

A szlak kezelse komplexmvelet, sokdolgotlekellkezelniannakrdekben,hogythreadsafelegyena


kd.
Kzsadatszerkezetenvalosztozkods(egyikszlltalolvasottfjlegymsikltalzrdik)
Kommunikciszlakkztt(globlisvltozk,rendszerhvsokfellrjkazelzrtkeket)
Nyomonkellkvetniariasztsokat,amikorazOSnemtudaszlakrl
Veremkezels(vermeknvelseaszlakra,melyekrlazOSnemtud)

Felbukkan(Popup)szlak

Pl hlzatnl, ha j zenet rkezik, azt egy j, gyorsan ltrehozhat szl kezeli le, melynek nincsenek
regiszterei,amiket helyrekelllltaniafeldolgozshoz.Kernelszintszlakkalvalmegvalstsknnyebb
sgyorsabb,denagyobbkrtistudokozni.

8. Processzusok kommunikcija, versenyhelyzetek, kritikus


szekci

A processzusoknak szksgk vannak a kommunikcira, tancsos ezt nem megszaktsokkal


kezelni, hanem pldul parancsrtelmez csvezetk segtsgvel. Fontos tovbb, hogy, a
processzusoknekeresztezzkegymstjt,hamgismegtennk,akkorversenyhelyzetalakulki.

Szlak esetn is hasonl a helyzet, br ott a kommunikci kzs cmtartomnyon trtnik, ez


knnyebsg.

Versenyhelyzet

Megosztottadatokesetnavgeredmnyattlfgg,hogykimikorfut.

ltalnosproblma:httrnyomtats:
Ktszerepkrvan:
Kliens
kldianyomtatandfjlokat(egykzstrolterletre(verem?))
Daemonnyomtat(kiszolgl) peridoikusanellenrzieztakzsrszt,snyomtat,hakell

Ezamemriaterletkvziegyverem,melyeknekmindigvanktmegosztottvltozja:
out
Akvetkeznyomtatandllomnyramutat.
in
Akatalguskvetkezszabadhelyremutat.

Egy ilyen modellel rendelkez nyomtat esetn elfordulhat kontextus csert kveten az, hogy az els
processzus/szl ltal loklisan eltrolt in pointer helyre, az j processzus r, s amikor visszakapjaaz
els processzus a vezrlst, akkornem frissti a loklisan eltrolt vltozjt, s fellrhatja az elbb bert
llomnyt.

Kritikusszekci

Olyan rszek, melyek prhuzamos vgrehajtsa hibt okozhat. Kritikus szekciban alakulnak ki a
versenyhelyzetek. Biztostani kell, hogy a kritikus szekcihoz tartoz utastsok oszthatatlanul (azaz
ms folyamatok ltal megnem szakthat mdon) hajtdjanak vgre (stmitbb,tervezsiszempontOS
rsnl,hogyazalapvetmveletekklcsnskizrstmegoldja).

Klcsns kizrsrl akkor beszlnk, amikor egy tbb processzusos/szlas program esetn
egyszerrecsakegyprocesszustartzkodikakritikusszekcijban.

rthet teht, hogy kritikus szekci problmjt meg kell oldani, ehhez az albbi felttelek teljeslse
szksges:
Nemtartzkodhategyszerrektprocesszusakritikusszekcijban(klcsnskizrs)
Egyetlen kritikus szekcijn kvl fut processzus sem blokkolhat ms processzust (abban, hogy
befussonakritikusszekcijba?)
Ha egy processzus kiadta akrst,hogy szeretne a kritikus szekcijba futni,akkor annak vges
idnbellbeleiskellfutnia(nemvrhatrkk)

9.Klcsnskizrstevkenyvrakozssal

Mdszerekaklcsnskizrselrshez,akvetkezkbenezeketfogjuktrgyalni:

Megszaktsoktiltsa
Zrolsvltozk
Szigorvltogats
Petersonmegoldsa
ATSLutasts

Tevkeny vrakozsnak nevezzk azt az llapotot, amikor egy vltozt folyamatosan tesztelnk
bizonyosrtkbekvetkeztig.

Az opercis rendszereknl megengedett technika a megszaktsok tiltsa .Minden processzus letiltja


az sszes megszaktst a kritikus szekciba lps utn, s jraengedlyezi, mieltt elhagyja azt.
Krdses,hogymivanakkor,havalamioknlfogvanemtudjaazokatjraengedlyezni.

Zrolsvltozk esetn szoftveresen megolds fel folyamodunk, mgpedig egyetlen osztott vltoz
hasznlata ltal. Teht egy kzs, megosztott vltozt ellenriz s mdost mindent processzus, a
kvetkezmdon:

if(vltoz==0){
Ezzelugyanazaproblmamintahttrkatalgussal
vltoz=1
(kpzeljkelgy,hogyvanktmag,azegyikbeolvassaavltozt
enterCriticalSection()
majdfelkszlarra,hogybelpjenakritikusszekciban,deeltte
}else{
jraellenrziavltozrtkt.Miutneztbefejezte,egymsik

waitForVltoz()
processzusmdostjaavltozt,sezltalkettenlesznek
}
kritikusszekciban,azazversenyhelyzetalakulhatki)

A zrolsvltozhoz hasonl megvalsts a Szigor vltogats, mely esetn egy while ciklus
folyamatosan teszteli a vltoz rtkt, ezltal pazarolja a CPUt. Srti tovbb azt az egyttmkdsi
felttelt, mely szerint Egyetlen, a kritikus szekcijn kvl fut processzus sem blokkolhat ms
processzusokat.

Peterson algoritmusa kt vltozt hasznl, ezek a flag s a turn. Egyprocesszusasajtflagrtknek


igazra lltsval jelzi, hogy belpne a kritikus szekcijba. a turn pedig azt jelli, hogy melyik
processzusakvetkez.
Ktprocesszusranzvegyrhatleamkds:

Azelsprocesszusaddigvanaktvvrakozllapotbanamga:
msodikprocesszuskritikusszekcibanvan&&aturnvltoznemmagramutat.
Ha a msodik processzus kilpett a kritikus szekcijbl, akkor a flag vltozjt falsera lltja (tehtnem
akar belpni a kritikus szekcijba), ezzel megengedve az elsnek, hogy belpjen a sajt kritikus
szekcijba.

Haazegyikprocesszuskritikusszekcibaakarlpni,akkorelbbtadjaajogotamsiknak,hogybelpjen
asajtkritikusszekcijba.

TSL:AzassemblyTSLreg,flagparancsakvetkeztcsinlja:
Ktmveletrebonthatszt:

MOV
reg,flag
(reg=flag)
MOV
flag,1
(flag=1)

Beolvassa a flag regiszterben trolt rtket a reg regiszterbe,svalamelynemnullartketadneki,teszi


mindezt gy, hogy a kt mvelet nem vlaszthat szt, teht threadsafe.(CPU zrolja a memriasnt,
tiltva van a memria elrsa CPUknak amveletbefejezsig). A flagregiszterrtkejelzi,hogykritikus
szekcibanvanevalamelyprocesszus(ha0,akkornincs,hanem0,akkorvan)

Ezek utn hisz mg nem vgeztnk csak akkor lphet be a vezrls a kritikus szekciba, ha a reg
rtke (teht a flagelz rtke) 0 volt (azaz nem volt lefoglalva). Hasikerltbelpni,akkorszpenlefut,
majdahhoz,hogyjelezzeaprocesszus,hogyismtszabadaplya,egyegyszer
MOV
flag,0
(flag=0)
paranccsalkvziszabaddtesziaflaget.

Ez a megolds logikailag csupn annyiban klnbzik a zrolsvltoztl, hogy nem szakthat flbe a
kiolvass, s trsaannak a vltoznak, mely jelzi, hogy szabad azt,tehtmegfelelidztsselsem
hisziaztktprocesszus,hogybelphetakritikusszekcijba.

10.Altatssbreszts

Tevkeny vrakozsnak nevezzk azt az llapotot, amikor egy vltozt folyamatosan tesztelnk
bizonyos rtk bekvetkeztig. Ez nem j, mert pazarolja a CPUt ((sprioritssalelltottprocesszusok
esetndeadlockhozisvezethethanyagulmegrttemezesetn))

Az alap elgondols a kvetkez: van kt processzus, melyek, ha nincs szksg a futsukra, akkor
elalszanak,haidkzbenlesz,akkorazegyikfelbresztiamsikat.

Az ltalnosthat problma egy szemlletes


megvalstsa:
Tfh. egyetemistaknt nagyon hesek vagyunk,
s szeretnk aludni,plneakkor,amikorotthon
vagyunk, s anyuka st neknk, mondjuk
fnkot. Otthon vagyunk, lnk az asztalnl, s
anyuka sti a fnkot, hakszegyfnk,lerakja
az asztalra. Amint ltunk az asztalon fnkot,
megesszk azt. Persze anyuka gyorsabb, s
nem tudjuk tartani a tempt vele, az asztal
egyre csak teltdik, de mi tmjk a fnkot
tovbbra is. Kis id mlvaannyirasokfnkvan
az asztalon, hogy nem fr mr el tbb,
anyuka is sokatdolgozott,lepihenpicit,tudja,
hogy ellesznk ezzel a nagy adag fnkkal egy
darabig. Anyuka pihen, mi meg elfogyasztottuk
a sok fnkot aF1futamkzben,mertpontltni
a konyhaasztaltl a TV.t. Annyirafinomafnk,
hogy felbresztjk anyukt, hogy csinljon
mr mg, s megkrjk, hogy bresszen fel minket amint ksz az els fnk, hogy folytathassuk a
lakomzst. Ez gy is trtnik, anyuka elkezdi csinlni a fnkokat, s amintksz az els, szlneknk s
folytatja az asztal elrasztst, amg teli nem lesz. Mi pedig csakesznksesznk..ezgyfolytatdikaz
idk vgezetig, (van mit enni, akkor esznk, ha anyukateliraktaazasztaltakkoralszik,haresazasztal
felbresztjk anyukt, s lefeksznk aludni, amint anyuka ksz azels fnkkalszl neknk, s az egsz
kezddik elrl.) azaz folytatdna, ha nem volna az a frnya msnapossg, meg nem lett volna olyan j
bulitegnapaJATban.

Kpzeljk el a fenti szitucit s kpzeljk hozz, hogy,annyitittunktegnap,hogynhakihagyazagyunk,


s meghatrozatlan ideig mindegy mi trtnik, nem nagyon vesznk rla tudomst, befagyunk (nem
alszunk) (ez volna a kontextuscsere). Elfogyott a fnk, ezt mg szomoran konstatljuk, szlunk
anyuknak, hogy ennnk mg, anyuka elkezdi csinlni a fnkokat, mi elindulunk aludni, de ekkor hirtelen
flashbacknkvan, hogy tegnap nem kellett volna a rdon prgni, de vglis jl szrakoztunk ...#YOLO.
Anyuka megcsinlta az els fnkot, szl neknk, de mi kzben fejben jraltk a bulit, s nem igazn
interpretljuk, hogy jra lehetne nyomni befele a fnkokat, lefeksznk aludni. Anyuka szre sem

veszi, hisz gyorsan kellforgatniafnkokat,telipakoljaazasztalt,sledlisaludni(apldakedvrt nem


szllefekvseltt)
Nos,ezgynemj,mertafnkoklehlnek,megszradnak,saCPUsedolgozik,mertdeadlockvan.

Megoldhat persze ez az egsz, egy egyszer jelz bittel, amit anyuka llt be, amit mi lefekvs eltt
visszakapcsolunk s visszamegynk enni, de ez igazbl ms, tbb processzusos pldban ez nem
elg,salapjbanvvebefoltozmegoldsnaktnik.

11.Szemaforok,Mutexek,Monitorok,zenetklds,Sorompk

A Szemaforok olyan specilis vltozk, melyek segtsgvel az bresztseket szmoljuk. rtke 0, ha


nincselmentettbreszts,vagyvalamilyenpozitvszmafggbenlvbresztsekfggvnyben.

rtelmezsem szerint kt mvelettel rendelkezik, melyek segtsgvelegyosztotterforrshozval,mg


biztonsgos mennyisg, hozzfrst irnyt. Thf. egy adott erforrshoz tbb elem is hozzfrhet, m
ezekszmakorltozvavanegyadottmennyisgre.
Ha a szemafor rtke nagyobb,mint 0,akkoradownmveletmeghvsracskkentiaszemaforrtkt,
s folytatdhat a munka (a processzus megkapja az erforrshoz val jogot), ha 0, akkor elaltatja a
processzust (kvzi vratja, hogy a szemafor rtke ismt pozitv legyen, hogy legyen szabad hely az
erforrshoz).
Haegyprocesszusmrnemtartignytazerforrsra,akkorazupmeghvsvaljelezhetiazt,eznvelia
szemafor rtkt, kivve ha vrt valamely processzus ennek bekvetkeztre, akkor az rtk0 marad, de
(egyrandom?)processzusfelled,shasznlnikezdiazerforst.
Mindktfolymatoszthatatlanelemimveletknthajtdikvgre.
Binris szemafor az, amelynek csak 0 vagy 1 lehet az rtke.Tbb CPU esetn mindegyik szemafort
vdeni kell egy zrolsi vltozval (egyszerre csak egy CPU vizsglhatja aszemafort,s iscsak TSL
utaststhaszlvatehetiezt.)
A szemaforok hatkony elemek, m hasznlathoz minden lehetsges idztsbl add problmval
szmolnikell,melynehzstlthatatlanegyidutn.

A Mutex gyakorlatilaggy mkdik, ahogy a 9es ttelben a TSL utastsnl felvzoltam.Deittegyangol


SOkomment:
When I am having a big heated discussion at work, I use a rubber chicken which I keep in my desk for
just such occassions. Thepersonholdingthechickenistheonlypersonwhoisallowedtotalk.Ifyoudon't
hold the chicken you cannot speak. You can only indicatethatyouwantthechickenandwaituntilyouget
it before you speak. Once you have finished speaking, you can hand the chicken back to the moderator
who will hand it to thenext person to speak. This ensures that people do not speak over each other,and
alsohavetheirownspacetotalk.
Replace Chicken with Mutex and person with thread and you basically have the concept of a mutex.
Xetius
http://stackoverflow.com/questions/34524/whatisamutex

Deittazeladsanyagaisrthet:
Azaszl,amelyikbeakarlpniakritikusszekciba,elszrmegprbljazrolniamegfelelmutexet.
Haamutex:

zrolt
Ahvszlblokkoldikaddig,ameddigazrolsfelnemolddik
nemzrolt
oszthatatlanulzroldik,folytatdikafuts
tbbenvrnakrsfelolddik random(?)szlfoyltatdhatsjrazroldikamutex.

A Monitorokat Hansen s Hoare javasoltk, mint magasabb szint szinkronizcis primitvek.


Gyakorlatilag specilis modulba sszegyjttt privt lthatsg vltozk, eljrsok s
adatszerkezetek gyjtemnye. Minden idpillanatban csak egy darab processzus hasznlhatja egy
monitorelemeit,fordtprogramtlfggamegvalsts.

Egy monitor tartalmaz tovbb egymutexzrat,sllapot vltozkat,melyekenvgrehajthatktmvelet


a wait s a signal. Ha egy monitorbeli folyamat nem tud tovbb folytatdni, akkor meghvja a wait
fggvnytazllapotvltozn,blokkoldik,skinyitjaazrat,tehtszabaddtesziamonitort.
Ha befejezte a munkt, akkor signalt hv az adott llapotvltozra, amivel jelez az adott vltozn
blokkold processzusoknak mr ha van ilyen ,melyek kzl egy, az temez ltal meghatrozott
processzusfelbredsjrahasznlnikezdiamonitort.
Asignalnalktfmkdsimdjavan:

SignalandHold:

(Hoare) A processzus, mely meghvta a signalt (teht befejezte a munkt) blokkoldik (rgtn mieltt
kilpne,sfolytatnasajtdolgt)sazaprocesszuskezdfutni,amelyikjonnanfelbredt.

SignalandLeave
(Hansen) Itt a signalt meghv processzus felbreszti a vr processzust, m az megvrja, mg a
meghvprocesszuskilp,sfolytatjaasajtdolgt.(eztegyszerbbsknnyebbmegvalstani)

//TODOzenetek,sorompk

12.KlasszikusIPCproblmk

IPCalattprhuzamosanfutprocesszusokkzttikommunikcitrtnk.

Az egyik problma az hez filozfusok problmja: Adott 555 filozfus, tl rizs, s evplcika. A
plcikk s a tnyrok szablyosan, felvltva vannak elhelyezve (tnyr, plcika, tnyr, plcika ...)
Problms tud lenni, hogy kt evplcika kell ahhoz, hogy enni tudjon egy filozfus, mivel ha az egyik
szomszdos filozfus ppen eszik, akkor felesleges lefoglalni egy evplcikt, mert ezzel csak a msik
szomszdtlvettkelajogotahhoz,hogyegyen.
Lehetsgesmegolds:
Szemafor befezetse, mely segtsgvel egyszerre csak egy filozfus ehet. Kt szomszdos koma
llapotnakellenrzse(eszike,haigen,akkornemtudunkplciktfoglalni).

Kvetkez az olvask srkproblmja, mely gyakorlatilag a kzs adatbzis/memria problmasorn


ltrejvppenromaztamitmsolvas,sezproblmhozvezethetreprezentcija.
Lehetsgesmegolds:
Olvasszoba
(adottmennyisgemberolvashatjaakzsmemrit,szemafor)
rszoba
(egyszerrecsak1emberrhat,deakkornemolvassenki)

13.
Processzusok
rendszereknl

temezse,

temezs

ktegelt

Mivel nincs vgtelen mennyisg CPU erforrs, ezrt szksg van temezsre, processzusok
temezse alatt azt a tevkenysget rtjk, mely a CPUrt verseng processzusok
processzorhasznlattirnytja.

temezsreakkorvanszksgamikor:
Egyprocesszusbefejezdik
ismtvanszabadCPUerforrs
Egyprocesszusblokkoldik
I/Omvelet,vagyszemaformiatt
jprocesszusjnltre

temezsialgoritmusokcsoportostsa:

Ktegelt
Maximalizlnikellazegyidegysgalattvgrehajtottfeladatokszmt

Minimalizlniafeladatbekldsesbefejezdsekztiidt.(vlaszid)

Interaktvrendszeres
Nemegyttmkdprocesszusok,megszaktsostemezs
Minimalizlniavlaszidt
Fontosazarnyossg(processzusokhelyessorrendje)

Valsidej
Hatridkbetartsa,adatvesztselkerlse,elrejelezhetsg

Azsszestemezrendszerrevonatkozelvek:
Prtatlansg
temezsielvekbetartsa
Egysgesterhelseloszts

Ktegeltrendszerekesetnasorrenditemezsegyolyannemmegszakthattemezs,melyaCPUt
FIFO elv szerint osztja ki a processzusok kztt. Addig fut egy processzus amg nem blokkoldik, ha
mgis, akkor a kvetkez processzus kapja a CPUt, s asorvgrekerla blokkoldottprocesszus.
Elkpzelhetnagyonszerencstlenlrendezettsor,melynagyonlassfutsteredmnyez.

A legrvidebb feladatot elszr temezs egy olyan nem megszakthat temezs, mely a CPUt
egyformn fontos feladatok kzl annak adja, mely elrelthatlag hamarabb elvgzi a feladatt. Csak
akkoroptimlis,hamindegyikfeladategyszerrerendelkezsrell.

Legrvidebb maradk idej kvetkezzen, egy olyan megszakthat temezs, mely a CPUt a
processzus futsnak htralv idejtl fggen osztja, mindig az kapja, amelyik elrelthatlag a
leghamarabbvgez.

Hromszintes temezs esetn (nem rtem mirt hromszintes..) a bejv krsekbl egy megfelel
keverk ellltsa az els feladat, a rvideket elrbb venni. Ha tl sok processzus vr, smegtltika
memrit, akkor a memriatemez gondoskodik arrl, hogy melyik mentdjn a merevlemezre (sr
fellvizsglsszksges,tovbbagyakorimozgatssemj)
Dntsiszempontok
Mennyiidteltelaprocesszuslemezreviteleta?
MennyiCPUidthasznltfelprocesszusnemrgiben?
Melyennagyaprocesszus?
Mennyirefontos?

14.temezsinteraktvrendszerekben

Gyakori a ktszintes temezs, mindegyike alkalmas a ktegelt rendszerek CPU temezknt val
alkalmazsra.

Roundrobin temezs egy listt kezel a processzusokrl, mindegyiknek ad egy idszeletet, amely
lejrta utn a processzus tovbbadja a CPUt a sorban kvetkeznek (blokkolds, befejezds esetn
nemvrjamegavgt).
Felmerlkrdsek:
Idszeletmrete?
hakevs,azsokkontextuscserteredmnyez,cskkenahatkonysg
hasok,gyengevlaszidtokoz,
..elfogadottrtk2050ezredmp.

Prioritsos temezs esetn minden processzus kap egy priorits rtket, s rtelemszeren a
legmagasabb priorits kapja meg a CPUt. Egyfelhasznls rendszer esetn is szksg van r. A
vgtelen ideig val futtats megelzse rdekben minden ratemben cskkenti az ppen fut
processzusprioritst,amikoramsodikleszalegfontosabb,akkorkontextuscsere.
Statikusprioritshozzrendelsesetnaprocesszustfuttatfelhasznltlfggaprocesszusprioritsa.

Dinaimikus priorits hozzrendels esetn a processzusban lvI/Omveletekarnytl,illetveazelz


idszeletben felhasznlt rsz arnytl fgg (1/f aholfminlkisebb(kevsideighasznltaaCPUt)annl
nagyobbapriorits)

A fentebb emltett kt mdszer kombinlni is lehet, prioritsi osztlyokat ltrehozva, s azokon bell
Roundrobintemezstalkalmazva.
Ezt mg meg lehet fejelni azzal, hogy a klnbz szinteken lv processzusok klnbz mret
szeleteketkapnak.Akapottidszeletaprioritsnagysgvalarnyos.

Legrvidebb processzus kvetkezzen, ktegelt rendszerekben minimlis vlaszidt ad. Prhuzamos


processzusoknl nehz meghatrozni, hogy melyik a legrvidebb. Becsls amltbli viselkeds alapjn
trtnik.

Garantlt temezs esetn az gret, hogy minden processzus egyenl mennyisg CPU idt kap, az
temetannakadjaavezrlst,amelyikalegrosszabbarnnyalrendelkezik.

Sorsjtk temezs pont gy nz ki ahogy az elkpzelnnk, a processzusok kapnak egy sorsjegyet,


majd az temez sorsol, s az nyer, akinl a sorsjegy van. Tbb sorsjegy = nagyobb esly. Remek
vlaszid.Meglepmdonsokproblmraknlmegoldst.

Arnyos temezs esetn nem a processzusokat figyeljk, hanem a felhasznlkat, akik elindtottk
azokat, s kzttk osztunk CPU idt. Pl User1 s User2 kztt 5050%os elosztsesetn, ha User1
indt 100 processzust,User2pedig2t,akkorUser2nekaprocesszusai2525%osesllyelkapnakCPUt,
mgUser10,50,5%ban.

15.
temezs vals idej rendszerekben, Elvek s
megvalstsok,szltemezs

Alapvetszerepevanazidnek,adottidnbellreaglnikellarendszernekaklsingerre.

Szigorvalsidejrendszerekesetn
abszolthatridkvannak,melyeketktelezbetartani.
Tolernsvalsidejrendszerekesetn
nemolyannagyproblmaahatridelmulasztsa

Az temez feladat, hogy a kis processzusokra feldarabolt programot gy temezze, hogy a


hatridnek eleget tegyen. Az temez lehet dinamikus, vagy statikus, de statikus csak akkor ha elre
ismertazsszesinformciazelvgzendfeladatokrlshatridkrl.

Azesemnyek,amelyekrevlaszolnikell
Periodikusak
Rendszeresintervallumonkntfordulnakel
Aperiodikusak
Megjsolhatatlanazelfordulsuk

Azt tteleztk fel, hogy a rendszer minden processzusa klnbz felhasznlhoz tartozik s verseng a
CPUrt. m egy ltrehozott gyerek processzus nem verseng a szljvel, hanem elosztjk a kapott
erforrst. Ezeket nem veszik figyelembe az eddgi trgyalt temezk, pp ezrt a megvalstst el kell
vlasztani az temezsi elvektl, pldul paramterezhet temezsi algoritmussal,mely paramtereket
afelhasznliprocesszusokadjkmeg.

Tbbvgrehajtsiszlesetnktszintprhuzamossgrlbeszlnk.
Felhasznli szlak esetn a kernel nem tud a szlakrl, ezrt azok temezst a processzusbeli
temez intzi. A roundrobin s a prioritsos temezs a leggyakoribb, nincs azonban idzt, mellyel a
tl sokig fut szlat meg lehetne szaktani. pp ezrt, ha I/O mveletmiatt blokkoldik, akkor az egsz
processzus blokkoldik. Elnyei azonban, hogy jobban ismeri a szlak feladatt, ezrt jobban is tud
temezni,illetveaz,hogygyorsabbakontextuscsereprocesszusonbell.

Kernelszint szlak esetn a kernel dnt, hogy melyik szl fusson, csak nha veszi figyelembe, hogy
melyik processzushoztartozik. I/Omveletbladdblokkolds esetnnincsproblma,nemblokkoldik
azegszprocesszus.

16. Be s kivitel, I/O hardver alapjai, I/O szoftver alapelvei, I/O


szoftveralapjai,I/Orendszersszefoglalsa

AzOSegyikffeladataazI/Oeszkzkvezrlse
Parancsokkiadsa
Vlaszmegszaktsokkezelse
Eszkzksatbbirendszerkzttikapcsolatbiztostsa
Sklzhat,egysgesmdszerkialaktsa

Hardveralapok

Az I/O eszkzk tipikusan mechanikus s elektronikus sszetevkbl plnek fel, azonban ezek
sztvlaszthatak.Elektromoseszkzazeszkzvezrl/adapter,mechanikusmagaazeszkz.

I/Oeszkzkprogramozsa
Kapcsoldikabelsmkdshez
I/Oeszkzkcsoportostsa:
Blokkoseszkzk
informcitrolsacimkvelelltott,egymstlfggetlenblokkokban
Karaktereseszkzk
kldivagyfogadjakaraktereksorozatt,nemcmezhet(nincskeress)

Ez a kt modell elg ltalnos, alapja az OS I/Oeszkzfggetlen szoftverjeinek. Az OS ltalban a


vezrlvelfoglalkozik,kvziavezrlazakitolmcsolazeszkzsazOSkztt.Feladatai:
Bitsorozatbjtokblllblokkokbavalkonvertlsa
Hibajavtsokelvgzse

Azeszkzvezrlrendelkeziknhny:
Regiszterrel, melyeket a CPUval val kapcsolat tartsra hasznl (ezekbe r a CPU s ezt szleli a
vezrl,illetveinnenolvassakiazeszkzllapott)
Adapufferrel,melyetszintntudrnisolvasniazOS.

Direct Memory Acces, kzvetlenmemriaelrs,megkerlveaCPUt,melyhezegyvezrlisszksges.


A lemezvezrl ellenrizheti a hibajavt kdot, ha hiba van, akkor hibajelzs generldik s nem trtnik
megazadattvitelamemriba.

Szoftveralapok

Eszkzfggetlensg
hozzfrsazeszkzmegadsanlkl
Hibakezels
hardverkzelihibakezels
Szinkron/aszinkrontvitel
jobbraaszinkron(cpuadatotkr,...,megszaktsigmssalfoglalkozik)
Pufferezs
adatokideiglenestrolsa,plhlzatonkeresztlvalkomm.esetn
Osztottsmonopolhasznlat

Megszaktskezelk
elkellrejteni,kpesblokkolni/feloldaniameghajtt
Eszkzmeghatjk
(akadriver?)eszkzspecifikuskd.
Feladata az opercis rendszertl s/vagy az alkalmazsoktl rkez eszkzfggetlen krsek
eszkzfgg mveletsorokk trtn talaktsa,valamint azeszkzvlaszainakszintneszkzfggetlen
zenetekformjbatrtnkonvertlsra.

Egysgeskapcsoldsifelletazeszkzmeghajtknl
Eszkzfggetlenblokkmret

sszefoglals

Rtegekffeladatai:
Felhasznlprocesszusok
Eszkzfggetlenszoftver
Eszkzmeghajtk
Megszaktskezelk
Hardver

I/Ohvsa,formzsa,cachels
elnevezs,vdelem,blokkols,bufferels,allokci
eszkzregisztereinekbelltsa,llapotellenrzs
zenadrivernekhakszazI/O(csakvisszairnyesetn)
I/Omveletelvgzse

17.Holtpontok(deadlock)

Holtpont az, amikor kt processzus azrt nem tud tovbb dolgozni, mert annak az erforrsnak a
felszabadulsra vrnak, amelyet a msik hasznl. Prhuzamos rendszerek szles krben felmerl
problma.

Formlisdefinci:
A processzusok egy halmaza holtpontban van, ha mindegyik halmazbeli processzus olyan esemnyre
vrakozik,amelyetcsakegymsik,halmazbeliprocesszusokozhat.

Erforrsok pldul a hardvereszkzk. Ha egy erforrsnak tbb, egymssal megegyez pldnya van,
akkor felcserlhet erforrsrl beszlnk. Egy erforrst brmelyik pillanatban csak egy processzus
hasznlhat.

Azerforrsokhasznlatnakesemnyszekvencija
Erforrsignyls
Erforrshasznlat
Erforrselengedse
Amennyibenazerforrsnemllrendelkezsre,akkorazignylprocesszusnakvrakozniakell.

Alapvetenktfleerforrstklnbztetnkmeg
Megszakthat
Hibabekvetkeztenlklelvehetaprocesszustl
Megszakthatatlan
Szmolsihibteredmnyezazelvteleaprocesszustl
ltalbanaholtpontokmegszakthatatlanerforrsokatfoglalnakmagukban.

Holtpontfelttelei:
(mindenekteljeslniekell)
Klcsnskizrs
Mindenerforrsvagyproc.hozrendelt,vagyszabad
Birtoklssvrakozs
Erforrsokatbirtoklprocesszusjabberforrsokatkr
Nemmegszakthatsg
Processzustlerszakkalnemvehetelazerforrs
Ciklikusvrakozsfelttel
Kettnltbbprocesszusbllllistbanmindegyikprocesszusolyan

erforrsravrakozik,amelyalistbanrkvetkezprocesszushoz
tartozik.Azutolsalistaelselemheztartozerforrsravr.
Ltezikmgtemezsiholtpont.

18.Stratgikholtpontkezelsre

Aproblmafigyelmenkvlhagysa.
Detektlsshelyrellts.
Dinamikuselkerlseazelforrsokkrltekintlefoglalsval.
Megelzs,strukturlisanmeghistvaangyfelttelegyikt.

Strucc algoritmus rtelmben, ha egy holtpont kialakulsnak eslye, illetve gyakorisga elkpeszt
kicsi,tovbbnemisokoznagyproblmt,akkornemrimegfoglalkoznivele.

Felismersshelyrellts

Figyelemmel ksrjk az erforrsignyeket s elengedseket, ha krt tallunk az erforrs


grfban,akkormegszntetnkegy,akrbenlvprocesszust(tesszkeztaddig,amgmegnem
sznikakr)
Figyelhetjk tovbb az abnormlisan sok ideje fut processzusokat, s kilhetjk ket, ha
futsiidejktllpegyszmunkramrnemelfogadotthatrt.
Nagy gpeknl, klnsen ktegelt rendszereknl gyakran hasznlt technika a processzus
jraindts.
Helyrellthatjukaholtpontotmegszaktssal,azazerforrserszakkalvalelvtelvel.
Illetve rollbackel, amikor visszalltjuk a processzust olyan korbbi elmentett llapotba, ahol mg
nemvoltholtpont.

Holtpont felismerseerforrsosztlyonknti egy pldny esetn,mindegyik N csompontra a grfban a


kvetkez5lpsthajtjukvgreNkezdponttal.

1. resLlistainicializlsa
2. Az aktulis csompont hozzadsa az L lista vghez s ellenrizzk, hogy ez a csompont
ktszerforduleel
3. Azadottcsompontblindulekinemjelltv(haigengoto4,hanemgoto5)
4. Fogjunkmegegynemjelltvetvletlenszerensjelljkmeg.(goto2)
5. Ha ez a kezd csompont volt, akkor nincs kr a grfban s az algoritmus befejezdik(ellenkez
esetbenugrsazelzcsompontra,sgoto2)

Megelzs,strukturlisanmeghistvaangyfelttelegyikt.

Holtpontmegelzse,strukturlisanmeghistvaangyfelttelegyikt

Klcsnskizrsfeltteltmadsa
Ha nincs kizrlagos hozzrendels egy processzushoz akkor nem alakulhat kiholtpont sem. Beiktatott
daemon nyomtat csak akkorkriafizikainyomtatt,hogynyomtasson,amikormegvanateljesllomny.
Problma:Memribanlehetholtpont(megteltdik)

Birtoklssvrakozsfeltteltmadsa
Az sszes erforrs krse a futs kezdete eltt, ha nem ll rendelkezsre az sszes erforrs, akkor
vrakozik.
Problma: A processzusok nem mindig tudjk, hogy hny erforrsra lesz szksgk a becsls pedig
pazarllehet(vagyppkevs)

Nemmegszakthatsgfeltteltmadsa
Eszkzkvirtualizlsa(nyomtatdaemonnagydiszkterlettel)
Problma:Nemmindenvirtualizlhat(pladatbzis)

Ciklikusvrakozsifeltteltmadsa
Az sszes erforrs megszmozsa. Processzus brmikor ignyelhet erforrsokat, csak megadott
sorrendbenlehetkrniazokat.
Problma:Elfordulhat,hogylehetetlentallniegyrendezst,amimindentkielgt

Dinamikuselkerlseazelforrsokkrltekintlefoglalsval.

Csakakkorfoglaljukleazerforrst,haaztmegtehetjkbiztonsgosan.

Bankralgoritmusegyetlenerforrsra

Hiteltengedlyez
Nincsannyikszpnze,amielegendazsszesgyflteljeshitelignynekkielgtsre
Tudja,hogynemleszszksgemindegyikgyflnekazonnalamaximlishitelre
Bzikabban,hogyazgyfelekateljeshitelfelvteleutnazonnalvisszafizetikaklcsnt

Egy llapot biztonsgos, ha ltezik ezzel kezdd olyan llapotsorozat, amelynek eredmnyeknt
mindegyikgyflfelvehetsszesenannyiklcsnt,amennyitahitellehetsgeenged.
Egybizonytalanllapotnemfeltlenlvezetholtponthoz,nembiztos,hogyateljeshitelkeretetignylik.

Azalgoritmusmindenkrskormegnzi
Vajonazengedlyezsebiztonsgosllapothozvezete
Haigen,akkorteljesti
Klnbenksbbrehalasztja
Vaneelegenderforrs,hogykielgtsennhnykrst?Alimithezlegkzelebbitvlasztja.

sszefoglalva
Amegelzskntmegadottsmatlsgosanmegszort
Azelkerlspedigolyaninformcikatignyel,amelyekltalbannemllnakrendelkezsre
Processzusszmnemrgztettltalban
Ritkntudjukelreamaximliserforrsignyeket
Azerforrsokelromlanaknha

19.Memriagazdlkods,Csere,Virtulismemria

Hierarchikusmemriakezel
Nyilvntartjaaszabadsfoglaltmemriaterleteket
Memritfoglalaprocesszusoknak,amikorszksges
Memritszabadtfel,hamrnincsrszksg
Cserevezrlseakzpontimemriasalemezkztt

Az alapvet memriakezel algoritmusok aprocesszusokat mozgatjkakzpontitrsalemezkztt.A


cseresalapozsamemriaptlsraszolgl.

A multiprogramozs amemria, rendszerindtskor trtn, rgztett mretpartcikravalfelbontsval


trtnik. A programokat annak a partcinak a vrakoz sorba helyezi a rendszer, amelyikbe a
legkevesebb menyisg program van, s mg pont elfr benne (mr a partciban, nem a sorban).
Problma,hogyarnytalanulsokmunkavrakispartcikra,anagyokpedigkihasznlatlanulmaradnak.
Erre megoldst nyjthat az egysges vrakozsi sor, amikor nincs minden partcinak kln vrakozsi
sora,hanemegyegysges,amelyakvetkezkppmkdik:
Haegypartcikirl,akkorazamunkatltdikbe,amelybelefrsasorbanazels.
Legnagyobb munka kivlasztsa, amelyik belefr (szmomra krdses itt a sor, ez halmaznak
hangzik)

Ez utbbi esetn a kis munkk htrnyos helyzetbe kerlnek,azonban egyetlen munka sem mellzhet
egyelremegadottszmnltbbszr(prioritsnvels,tbbsorsjegy,...)

Meg kell akadlyozni, hogy egy msik program tvegye a vezrlst a program futsa alatt, nem szabad
ugyanis egy programnak egy msik felhasznlhoz tartoz memrit olvasni,vagy rni. (itt mr nagyobb
memrirlbeszlnk,mintprregiszter,melykontextuscservelmegoldhat,gondolom)

Bzis s hatrregiszterrelamemriravalhivatkozsapartcikezdcmneksapartcinbellielem
memriacmneksszegveltrtnik.Afelhasznliprogramoknemmdosthatnakezekenazrtkeken.

A csere lnyege, hogy a feleslges processzusokat a merevlemezen troljuk, helyet adva ezzel a
fontosabb processzusoknak a memriban, ez jobb memriakihasznltsgot eredmnyez, m
bonyolultabb teszi akezelst, mert klnbz lyukakat hoz ltre. Ezek a lyukakpazarlaklehetnek,m
ugyanakkorhasznosakis,hapontolyanprocesszusmellettvannak,amelyekterjedszkednnek.
Ha egy processzusterjeszkedne,denemtudmerre,akkortkellhelyezniegynagyobblyukba,haezsem
megoldhat,akkorvrniakell,amgleszszmraelegendhely.

Bittrkpes memriakezels esetn nhny sznyi vagy kilobjtnyi allokcis egygre van felosztva a
memria, mely egysghez tartozik egy bit a bittrkpen.Ezabit azt jelli,hogyazadotthelyenvaneadat
trolva. rtelemszeren ha az allokcis egysg mrete nagy, akkor a bittrkp kisebb lesz. A mret
helyes megvlasztsa fontos tervezsi szempont. K egysgnyi processzushoz K darab egybefgg 0
bitetkellkeresni,ezlassmvelet.

Lncolt lists memriakezels esetn a szabad s foglalt szegmenseket lncba fzzk, a lncban
minden bejegyzs vagy lyukat, vagy processzust jell, tovbb azahhoz tartoz kezdcmet s hosszt.
rtelemszeren ezek folyton vltogatjk egymst (nincs olyan, hogy kt processzus van a listban
egymstkvetve)

Ismertszabadmemriaesetnakvetkezbeszralgoritmusoklteznek:
Firstfit
Legelsmegfelelmretlyukbailleszts(gyors)
Nextfit
Firstfitktszervalfuttatsa,msodjraazelzlegtalltcmtlkezdve(valamivelrosszabb)
Bestfit
Egszlistnvgigiterlvaalegkisebbmgelegendmretlyukbailleszts(lass,kislyukak)
Worstfit Legnagyobblyukbailleszts(nemolyanjmintazelzek)

Virtulis memria hasznlatrl akkorbeszlnk, amikor a rendszerahatkonyabbmkdsrdekben


nem trol minden aktulisan jelen lv program futshoz szksges dolgot a memriban, hanem a
merevlemezthasznljaarra,virtulisantbbmemritszimullvaezzel.
Az gy generlt memria cmeket virtulis cmekenek nevezzk, ezek halmazt pedig virtulis
cmtartomnynak. Ezeka cmeknemkerlnekkzvetlenamemriasnre,hanemelbbazMMU(memory
management unit) lekpzi ket fizikai cmre. (persze ahhoz az kell, hogy a memriban legyen, amit el
akarunkrni)

Lapozs esetn a fizikai memrit adott mret lapokra felbontjuk. A virtulis memriaknt hasznlt
terletet is hasonl modon felosztjuk, ezeket hvjuk lapkereterknek. gy van N darab virtlis lapunk a
merevlemezen s M darab lap trolsra alkalmas lapkeret a fizikai memrinkban (N>M). Ezek kztt
megy a csereberls, ezek kztt hajtja vgre az MMU a legkpezst. Mindenlaphoz tartozik egy jelzs
bit, ami megmondja, hogy a lap benne van a fizikai memriban lv valamelyik lapkeretben. Ha olyan
laprahivatkozunk,aminincsbetltveafizikaimemriba,akkoraztbekelltlteni,melyneklpsei:
Opercisrendszerveszegylapkeretet
Kirjaannakatartalmt
Behozzaahivatkozottlapkeretet
Mdostjaalaptrkpet
Aprogramfolytatdikamegszaktstl

Problma a lapozssal,hogy a laptbla nagyon nagy lehet, m alekpezst minden hivatkozsnl vgre
kell hajtani, ennek kikszblse gyors, de drgahardverregiszterekbllltmblapsorszmhasznlata
indexelsre.

TLB cmfordtsi gyorsttr, a laptbla bejegyzseinek gyorsttra. (srn hivatkozott cmek gyorsabb
elrse)

20.Lapcserlsialgoritmusok

Laphiba esetn az OSnek kell eldntenie melyik lap helyre (melyik lapkeretben) tltse be az j,
hivatkozottlapot.

NRU (not recently used) lapcserlsi algoritmus lnyegben azokat a lapokat rszesti elnyben (teht
tartja nagyobb esllyel a memriban) melyek idben nem rg voltak hasznlva. Kt bitet hasznl
R(eferenced) s M(odified), ha egy lapra hivatkozs trtnt, vagy mdostottakrajta, akkoramegfelelbit
belltdik 1re. Megadott idkznknt a rendszer nullzza az R bitet (a mdostst csere esetn le kell
kezelni,aznemnullzdhat),gytudjaeldnteni,hogyalegutolsnullzstamelylapokvoltakhaszlva.
Haahardvernemrendelkezikarraalkalmasbitekkel,akkorszoftveresenislelehetkezelni.

FIFO (first in first out) lapcserlsi algoritmus mkdsielve rviden annyi,hogyidrendisorrendberakja


amemribanlvlapokat,slaphibaesetnalegrgebbenbetltttlaphelyrerakjaazjlapot.
Ezt kombinlni lehet az R bittel, mgpedig gy, hogy ha 0, akkor trlhetjk a lapot s jhet az j
betltend lap, ha 1, akkor lenullzzuk azt, s a sor elejretesszk (kinek hogy knnyebb elkpelni,gy
fogalmazok, hogy az j lapok az elejre kerlnek a listnak, a rgebbikpedig kitoldnak a vgre) majd
pedigjraindtjukazalgoritmustegszaddigamgnemtallunkasorvgn0Rbiteslapot.

ra lapcserlsi algoritmus hasznlata sorn egy krkrs listban troljuk a lapokat, s az itertor
mindig a legrgebben hasznlt lapra mutat. Ha laphiba van, akkor az itertor ltal mutatott lap R bitjtl
fggen trljk a lapot, vagy nullzzuk a bitet s inkrementljuk az itertort. A klnbsg csak annyi a
FIFOhozkpest,hogynemkellannyimveletetvgeznialapokpakolsvalhlaakrkrslistnak.

LRU (least recently used)algoritmus isegy listthasznl, melyet a kvetkezkpp mdost:haegylapra


hivatkozs trtnt, akkor azt a lista elejre helyezi, ha laphiba van,akkor alegrgebben hivatkozott lapot
trli. Ez sajnos minden lap hivatkozsakor vgrehajtdik, ezrt elg mveletignyes. Egy j hardveres
megvalsts, ha minden laphoz tartozik egy 64 bites szmll, illetve van egyf szmll, mely rtke
minden laphivatkozskor inkrementldik. Ha egy lapra hivatkozunk, akkor annakaregiszternekrtkea
globlisszmllrtkvelleszegyenl.slaphibaesetnalegkisebbrtkkelrendelkezlapotdobjukel.

NFU (not frequently used) esetn minden laphoz egy szoftveres szmll tartozik, melyhez minden
ramegszaktskor hozzaddik a lap R bitje. Laphiba esetn a legkisebb rtk lapot dobjuk ki. Ritkn
hasznl.

21.
Lapozsos rendszerek tervezsi
Szegmentls,Virtulismemriasgyorsttr

szempontjai,

Sajnosalapozsmkdsnekismeretenemelgamegfelelmkdshez.Ajteljestmnyelrshez
figyelembekellvenniakvetkezszempontokat:

Munkahalmazmodell
Loklisvagygloblishelyfoglals
Lapmret
Virtulismemriainterface

Ezekrlbvebben:

Munkahalmazmodell
Munkahalmaznak nevezzk egy adott processzus ltal ppen hasznlt lapok halmazt. Azt, hogy pp
mely lapok tartoznak amunkahalmazba,azOStartjaszmon.Ha azegszmunkahalmazamemriban
van, akkor nem lesz laphiba, ha kevs a memria, hogy befogadja teljesen, akkor sok laphiba lesz
(vergds).
Minden t idpillanatban, ltezik egy halmaz, amely az sszesolyanlapottartalmazza,amelyetalegutbbi
kmemriahivatkozsbanhasznltunk.

Loklisvagygloblishelyfoglals
Loklis helyfoglals esetn a memria egy rgztett mret szelett foglalja le az OS a processzusok
rszre.Haidkzbennamunkahalmaz,azvergdshez,hacskken,azpazarlshozvezet.
Globlis esetn dinamikusan osztja el a memria lapkereteit a fut processzusok kztt. Ez jobban
igazodikamunkahalmazmretnekvltozshoz,azonbannemelzimegavergdst.

Msikmegkzelts,hogyperiodikusanjraosztjukalapkereteketegyenlarnyban.

Laphibagyakorisg algoritmus: a msodpercenknti labhibk szma alapjn dinamikusan adunk, vagy


elvesznklapkereteketaprocesszustl.

Vilgos, hogy ha tl sok processzus fut, akkor a laphibk mennyisgt nem lehet egy adott szint al
cskkenteni, ilyenkor rdemes inkbb kilni egyegy processzust, s az gy felszabadult kereteket
jraosztani,vagytartalkbaelrakni.

Lapmret
Az optimlis lapmret eldntshez tbb tnyezt is figyelembe kell venni. Ha tl kicsi, akkor a laptbla
lesz nagyon nagy, azonban egy nagy lap tvitele majdnem ugyanannyi id, mint egy kis lap.
Legelterjedtebblapmret:4KBs8KB.

Virtulismemriainterface
Hagyomnyostl eltr md memria hasznlat, memriarsz megosztsa kettvagytbbprocesszus
kztt.Akrlapokmegosztsahlzatbanfutprocesszusokkzttis.

Szegmentls

Tbb, egymstl teljesen fggetlen, ltalban eltr mret cmtereket neveznk szegmensnek. Clja a
programoksadatoklogikailagfggetlenelemekrevalfelbontsaamegosztssvdelemrdekben.

Egy szegmens tartalma: egy vagy tbb eljrs, tmb, verem vagy skalr vltozk. Mretk egymstl
fggetlenl nhetnek vagy cskkenhetnek. A szegmentlt memriban a cmek kt rszbl llnak: a
szegmensszmblsaszegmensenbellicmbl.
Aszegmentlslehetvtesziazadatokvagyeljrsokmegosztst(pl.osztottknyvtr)

Alapozssalellenttbenszegmentlsesetna
programoznaktudniakell,hogyatechnikaalkalmazvavan
tbblineriscmtartomnyvan
azeljrsoksadatokmegklnbztetheteksklnklnvdhetek
sknnyenmegoszthatak
avltoztblkmreteknnyenkezelhet

Mivel a szegmensekmretevltozhat,ezrtlyukakalakulhatnak ki, melyekettredezettsgmentestenikell


idnknt,mertezekalyukakltalbantlkicsikegyjszegmensbeszrshoz.

Avirtulismemriasagyorsttrkzttimplementciseltrsekvannak,deazalapelvkhasonl.

Hasonlsgok:
Fixmretlapok/gyorstblokkok
Kevslaphiny/gyorsttrhinyesetnafutsgyorslesz
Ahasznltlapok/blokkoktbbnyireamemriban/gyorsttrbanvannak

Klnbsgek:
AlaphinytazOSkezeli,gyorsttrhinytahardver
A virtulis cmek legnagyobb helyrtk bitje szerint szervezik a laptblkat, A memria cmek
legkisebbhelyrtkeiszerintindexelnek

22. Fjlrendszerek, fjltpusok, fjlelrs, fjlattribtumok,


fjlmveletek, knyvtrszerkezetek, tvonalmegadsa, knyvtri
mveletek

Fjlrendszerek

Fjlrendszer feladata nagymret adathalmazok trolsa, processzusokat tll adatok. Processzusok


egyidejhozzfrhetsgeazadatokhoz.

Szerkezetszerinthromfjrendszertklnbztetnkmeg:
Bjtsorrend
Aktulispozci,bjtonknt/soronkntrs/olvass
Rekordsorozat
Mezk,kulcsmezk,rekordonkntirs/olvass
Fastruktra

Fjltpusok
Kznsgesfjlok
ASCIIvagybinris
Knyvtrak
rendszerfjlokafjlrendszerszerkezetnekmegvalstshoz.
Karakterspecifikusfjlok
asorosI/Oeszkzkmodellezsre
Blokkspecifikusfjlok
mgneslemezegysgek

Fjlelrs

Szekvencilis
Aprocesszusokamegadottsorrendbenolvasskafjlokat,
asorrendtleltrninemlehet,kezdsazelejn(plmgnesszalag)

Kzvetlen
Abjtok/rekordoktetszlegessorrendbenolvashatak(read,seek)

Fjlattribtumok

Mindenfjlnakvannevesadattartalma,ezenfellattribtumokvagymetaadatoklehetnek
Ltrehoz,tulajdonos
Tulajdonos/csoport/brkijogok(externalaccess?)
rsi/olvassi/lthatsgi/vgrehajtsijogok
Ltesitsi/hozzfrsi/mdostsiidpont
Binris/szveg/programjelzs
Mret/rekordszm/rekordmret
Rendszer/rejtett/archvjelzk
Zrolt

Fjlmveletek

Ltests
fileltrejttnekbejegyzse,attr.belltsa
Trls
lemezterletfelszabadtsa
Megnyits
attr.beolvass,nhnylemezcmbetltse
Lezrs
belsmemriaterletfelszabadtsa,utolsblokkkirsa
Olvass
adatokbetltseamemribaazaktulispozcitl
rs
aktulispozcitlazadatokfellrsa
Hozztolds
csakafilevghezlehet
Pozicionls
aktulispozcibelltsa(kurzor/kocsi?)
Attribtumlekrdezs
feladatokelvgzshezszksgesinformcik
Attribtumbellts
plvdelmimd
tnevezs
nvmegvltoztatsa
Zrols
egyszerrecsakegyproc.frhetafjlhoz,vagyannakegyrszhez

Knyvtrszerkezetek
Egyszer
Hierarchikus

tvonalmegadsa

Relatv
Abszolt

Knyvtrimveletek

Ltrhozs
Trlse
Megnyits
Lezrs
Olvass
tnevezs
Kapcsols
Lekapcsols

egyetlenrootknyvtr,vagyuserenkntklnknyvtr
tetszlegesszmalknyvtr(ezvanamigpeinkenis)

azaktulispozcitlnzve
gykrtlnzve

j,resknyvtr
csakresknyvtr
olvashatleszaknyvtr
olvassutnimemriafelszabadtsa
knyvtribejegyzsolvassa
hasonlafilehoz
merevkapcsolatokltrehozsa(hardlink)
egyknyvtribejegyzstrlse

23. Fjlrendszer szerkezet, fjlok megvalstsa, knyvtrak


megvalstsa

Fogalmak:

MBR (Master Boot Record) A lemez 0. szektora.ABIOS betlti s vgrehajtja. Az MBR program keresi
megazaktvpartcit,majdbeolvassaselindtjaapartcielsblokkjt.

Partcis tbla: Az MBR vgn, tartalmazza a partcik kezdetnek s vgnek cmeit. Max 4 db
elsdlegespartcipcn.Egykiterjesztettpartcitartalmazhattetszlegesszmlogikaipartcit.

Indtblokk(Bootblock):apartcielsblokkja,feladathogybetltsearajtalvOSt.

Szuperblokk:tartalmazzaafjlrendszeradatait.

Szabadterletkezel:infaszabadblokkokrl

Inodetbla:mindenfjlhozegybejegyzs:attribtumoksazadatblokkok.

Fjlokmegvalstsa

Egymst kvetblokkoksorozatakpp,melynekolvassagyors,elgakezdcmetsahosszttrolni.
Htrnya,hogyaszabadterletekelaprzdnak.
Lncolt listk segtsgvel, ekkor a blokkokat lncra fzzk, az els sz a kvetkez blokkra mutat.
Elny,hogynincselaprzds,htrny,hogyakzvetlenelrslassasokfejpozcionlsmiatt.

File Allocation Table, melyben el van trolva, hogy egy fjlnak a kvetkez blokkja konkrtan melyik
cmentallhat.(hajlrtemezalncoltlistsmegvalstslnyegben)
Nincs elaprzds, olvass gyors, teljes blokk hasznlhat, htrny hogy a lemez mretvel egytt n a
tblamrete.

Inode: Olyan struktra, mely informcikat trol a megnyitott fjlokrl. Hossz fjlok esetn indirekt
blokkok.

Knyvtrakmegvalstsa

Gykrknyvtrhelye:
Rgztetthelyeapartcinbell
Unix:szuperblokktartalmazzaazInodetblahelyt,aminekelsbejegyzsearootknyvtr
WinXP:bootszektortartalmazzaazMFTt(MasterFIleTable)

MFT: minden fjl szmra tartalmaz egy bejegyzst. Egy bejegyzs 16 attribtumot tartalmazhat,
mindegyikmax1KB.Egyesattribtumoklehetnekmutatkjabbattribtumokra.

Holtroljukazattribtumokat:
Aknyvtribejegyzsben
Klnadatszerkezetben(pl.inode)

NTFSknyvtraktulajdonsgai:
255karakteresfjlnevek,32767karakterestvonalak
Unicodeafilenevekkpzshez,de:problmsarendezs
Kvta
Vdelem,titkosts
Adattmrts

24. Blokkmret, szabad blokkok nyilvntartsa, mentsek,


filerendszerek konzisztencija, blokkkonzisztencia ellenrzs,
fjlkonzisztenciaellenrzs

Hatlnagyalemezblokkmret,akkorakicsifjloksokterletetfoglalnak.
Hatlkicsi,akkorlassleszazolvass(sokpozcionls)
Felttelezzk, hogy minden fjl mrete 2KB, teht a 4KB blokkmret j vlaszts,deplUNIXban1KBaz
ltalnos.

Szabadblokkoknyilvntartsa

Lncoltlistban
Bittrkpen

Mentsek

Clja:Helyrelltskatasztrfa,hibaesetn.Hosszid,nagyhelyigny.

Inkrementlisments:
Teljes ments nagy idintervallumonknt, kis mentsek kis idintervallumonknt, decsak az elz nagy
ments ta mdostott fjlokat. Helyrelltsa: elszr a nagy ments, majd a kis mentsek idrendi
sorrendben.

Fizikai ments: 0. blokktl minden blokk kirsa egy szalagra. res blokkok sorszmt is (a szerkezet
megrzshez) Elnye: egyszer s gyors, htrnya: neminkrementlis,mindentvisszakelllltani,nem
lehetkivlasztanivisszalltandelemeket.

Logikaiments:Egyvagytbbkijelltknyvtrbanlvfiletsknyvtratmentrekurzvan.Mentenikell:
Filetvonalt
Knyvtrszerkezett
Attribtumait

Elnye:egyszerenvisszallthatakazegyedifjlok,htrny:szabadblokkoklistjtklnkellkezelni.

Filerendszerekkonzisztencija

Konzisztencia srlhet ha ppen rskor trtnik rendszer sszeomls. A hiba kritikus lehet, ha a blokk
egyicsompont,vagyknyvtribejegyzs,vagyszabadlistaelem.(?...)srl

Konzisztenciaellenrzsekszksgesek,fajti:
Heurisztiknalapul:tlsokfjltegyknyvtrban,gyansjogosultsgok,illeglisinodeszmok...
Blokkkonzisztenciaellenrzs
Fjlkonzisztenciaellenrzs

Blokkkonzisztenciaellenrzs

Ktlistthozltre,
azegyikazttrolja,hogyazadottblokkhnyfjlbanfordulelazinodealapjn
amsikazt,hogyhnyszorfordulelazadottblokkszabadlistban
(rtelmezsem szerint az a helyes, amikor minden blokkhoz tartozik pontosan egy darab 1 (vagy a
szabadlistban,vagyafilelistban)amsikpedig0)

Fjlkonzisztenciaellenrzs

Gykrknyvtrtl indulva rekurzvan bejrjuk a fjlrendszert, minden file esetn nvelnk egy fjlhoz
tartozszmllt.Eztsszevetjkazinodebantroltlncszmmal.

Ha az inodeban trolt rtk nagyobb, akkor az nem trldne akkor, ha minden hozztartoz fjlt
letrltnk,ergohossztvoncskkenakapacits.

Ha kisebb akkor kt knyvtri bejegyzsugyanahhoz afilehozvankapcsolva,ergoakrmelyikbejegyzst


trlveazicsompontszmllja0vvlna,strlnazadatokat

Mindktesetbenazinodebelirtketkellbelltaniaszmllrtkre,gytrtnikajavts.