operacin Ė s sistemos
DESCRIPTION
OPERACIN Ė S SISTEMOS. S.Maciulevičius Kompiuterių katedra, 209 k. stasys @ ecdl.lt 1 dalis. Kas būtų, jei OS nebūtų?. Kompiuterių darba valdyti mašinos komandų lygiu - labai sudėtingas ir varginantis darbas: - PowerPoint PPT PresentationTRANSCRIPT
OPERACINOPERACINĖĖS S SISTEMOSSISTEMOS
S.MaciulevičiusS.MaciulevičiusKompiuterių katedra, 209 k. stasysKompiuterių katedra, 209 k. stasys@@ecdl.ltecdl.lt
1 dalis1 dalis
202010-201110-2011 22 S.MaciuleviS.Maciulevičiusčius
Kas būtų, jei OS nebūtų?Kas būtų, jei OS nebūtų?
Kompiuterių darba valdyti mašinos komandų lygiu - labai sudėtingas ir varginantis darbas:
Norint perskaityti duomenų bloką iš lankstaus disko (diskelio), reikia 16 skirtingų komandų, kurių kiekviena turi 13 parametrų (bloko numeris diskelyje, takelio numeris, sektoriaus numeris ir t.t.).
Baigus operaciją, kontroleris grąžina 23 parametrus, kurie apibūdina operacijos būseną, klaidos kodą ir t.t.
Ar norėtumėte taip programuoti?
202010-201110-2011 33 S.MaciuleviS.Maciulevičiusčius
Vartotojas ir kompiuterisVartotojas ir kompiuteris
Kompiuterio aparatūra
Operacinė sistemaPagalbinėsprogramos
Programavimo sistemos
Taikomosios programos
Vartotojo taikymai
Vartotojas
202010-201110-2011 44 S.MaciuleviS.Maciulevičiusčius
Operacinės sistemos struktūraOperacinės sistemos struktūraVartotojas
Taikomosios programos
OS komandų interpretatorius, kompiliatoriai, ryšių redaktoriai, įkrovėjai
Loginio valdymo primityvai(atminties valdymas, užduočių planavimas)
Fizinio valdymo primityvai - OS branduolys
Kompiuterio aparatūra
202010-201110-2011 55 S.MaciuleviS.Maciulevičiusčius
OS istorijos bruožaiOS istorijos bruožai
1 fazė: brangi aparatūra, pigus žmogaus darbas
Kai komputeriai kainuoja milijonus $, reikia optimizuoti aparatūros naudojimo efektyvumą!
1. Vartotojas prie konsolės: vienu metu - vienas vartotojas. OS kaip paprogramių biblioteka.
2. Paketo monitorius: įkrauti programą, ją paleisti, spausdinti. Apsaugos nėra: o kas bus, jei programa dėl klaidos sugadins paketo monitorių?
3. Duomenų kanalai, pertraukimai: I/O ir skaičiavimų perdengimas.
4. Atminties apsauga.
202010-201110-2011 66 S.MaciuleviS.Maciulevičiusčius
OS istorijos bruožaiOS istorijos bruožai
1 fazė: brangi aparatūra, pigus žmogaus darbas
Multiprogramavimas: kelios programos vykdomos tuo pačiu metu; vartotojai dalinasi bendrus sistemos resursus.
Multiprogramavimo privalumai:1. Mažų užduočių nesuvėlina didelės2. Labiau perdengiamas I/O ir CPU darbasReikalinga atminties apsauga.Problemos: OS turi valdyti programų sąveiką.
202010-201110-2011 77 S.MaciuleviS.Maciulevičiusčius
OS istorijos bruožaiOS istorijos bruožai
2 fazė: pigi aparatūra, brangus žmogaus darbas
Interaktyvus laiko skirstymas: Naudojami pigūs terminalai, kad daug vartotojų dirbtų su sistema tuo pačiu metu.
Procesoriaus laikas aukojamas, siekiant vartotojams gauti mažesnį reakcijos laiką.
Problema: perkrova (thrashing) – prisijungė per daug vartotojų - našumas smarkiai krinta.
202010-201110-2011 88 S.MaciuleviS.Maciulevičiusčius
OS istorijos bruožaiOS istorijos bruožai
3 fazė: labai pigi aparatūra, labai brangus žmogaus darbas
Personaliniai skaičiavimai - kompiuteriai pigūs, tad kiekvienam - po kompiuterį.
Iš pradžių OS vėl tebuvo paprogramių biblioteka, tačiau po to buvo pridėta atminties apsauga, multiprogramavimas ir t.t.
4 fazė: paskirstytosios sistemosTinklai: skirtingos mašinos lengvai naudoja bendrus
resursus.
202010-201110-2011 99 S.MaciuleviS.Maciulevičiusčius
OperaciniOperaciniųų sistem sistemų užuomazgaų užuomazga Pirmieji monitoriai - valdančios programos automatizuotam
perėjimui nuo vienos užduoties prie kitos:
202010-201110-2011 1010 S.MaciuleviS.Maciulevičiusčius
Užduočių valdymo kalbaUžduočių valdymo kalba
$JOB
$FORTRAN
Programos tekstas
$LOAD
$RUN
Duomenys
$END
202010-201110-2011 1111 S.MaciuleviS.Maciulevičiusčius
MultiprogramavimasMultiprogramavimas
202010-201110-2011 1212 S.MaciuleviS.Maciulevičiusčius
MultiprogramavimasMultiprogramavimas
P1,P2,P3 - programų vykdymas procesoriuje,
I/O1, I/O2 - įvesties ir išvesties operacijos
P1
P2
P3
I/O1
I/O2
202010-201110-2011 1313 S.MaciuleviS.Maciulevičiusčius
MultiprogramavimasMultiprogramavimas
Multiprogramavimą užtikrinančią OS sudaro dviejų tipų programos:
· valdančiosios programos, kurios valdo sistemos funkcionavimą ir užduočių apdorojimo procesą;
· apdorojančios programos, kurios dirba valdančiųjų programų priežiūroje ir sistemoje yra kaip atskiri darbo vienetai; šios programos nenaudoja privilegijuotų komandų ir dirba uždavinio režime.
202010-201110-2011 1414 S.MaciuleviS.Maciulevičiusčius
ValdančiosValdančiosiosios programos programos
Valdančiosios programos - tai sistemos branduolys, sukurtas kompiuterinės sistemos resursams valdyti. Valdančias programas galima skirstyti į tris grupes:
1) Uždavinių valdymo programas
2) Užduočių valdymo programas
3) Duomenų valdymo programas
202010-201110-2011 1515 S.MaciuleviS.Maciulevičiusčius
ValdančiosValdančiosiosios programos programos
1) Uždavinių valdymo programos užtikrina loginę sąsają (interfeisą) tarp aparatūros ir likusios programinės įrangos. Kai kuriose sistemose jos vadinamos OS supervizoriumi.
Supervizorius vykdo tokias funkcijas:
- apdoroja pertrauktis;
- skirsto pagrindinę atmintį;
- realizuoja dinaminį atminties valdymą;
- stebi taimerį, užduočių vykdymą.
202010-201110-2011 1616 S.MaciuleviS.Maciulevičiusčius
ValdančiosValdančiosiosios programos programos
2) Užduočių valdymo programos užtikrina loginę sąsają (interfeisą) tarp uždavinių valdymo ir operatoriaus. Jos vykdomos lygiai taip pat, kaip ir vartotojo užduotys, bet dažnai turi kiek aukštesnes teises.
Užduočių valdymo programos vykdo tokias funkcijas:- analizuoja užduočių srautą;- paruošia užduotis vykdymui;- gauna sistemos resursus;- apdoroja užduočių vykdymo pabaigas;- analizuoja ir apdoroja operatoriaus komandas;- perduoda vykdomos programos pranešimus operatoriui.
202010-201110-2011 1717 S.MaciuleviS.Maciulevičiusčius
ValdančiosValdančiosiosios programos programos
3) Duomenų valdymo programos užtikrina programinę sąsają (interfeisą) tarp apdorojančių programų ir išorinės atminties. Jos atlieka tokias funkcijas:
- išskiria sritis išorinėje atmintyje;
- tvarko duomenų rinkinių katalogus;
- vykdo kai kurias pagalbines I/O operacijas (OPEN, CLOSE ir t.t.);
- vykdo I/O operacijas, įskaitant operacijų vyksmo stebėjimą, paieškos programas ir t.t.
202010-201110-2011 1818 S.MaciuleviS.Maciulevičiusčius
MultiprogramavimasMultiprogramavimas
Apdorojančias programas galima skirstyti į tris grupes:
1) programavimo kalbų kompiliatorius,
2) aptarnaujančias programas (pvz., ryšių redaktorius),
3) taikomąsias programas (pvz., finansinės apskaitos programa).
202010-201110-2011 1919 S.MaciuleviS.Maciulevičiusčius
Laiko skirstymasLaiko skirstymas
P1,P2,P3 - programų vykdymas procesoriuje,
I/O1, I/O2 - įvestis ir išvestis
P1
P2
P3
I/O1
I/O2Laiko kvantai
202010-201110-2011 2020 S.MaciuleviS.Maciulevičiusčius
Kas yra operacinė sistema?Kas yra operacinė sistema?
Resursų tvarkytoja (menedžeris).
Resursai -- procesorius (CPU), pagrindinė (darbinė) atmintis, įvesties ir išvesties įtaisai, išorinė atmintis. OS funkcijos yra procesorių, atminčių, įrenginių ir duomenų paskirstymas tarp procesų, konkuruojančių dėl šių resursų. OS turi valdyti visus kompiuterinės sistemos resursus taip, kad užtikrintų maksimalų jos funkcionavimo efektyvumą.
202010-201110-2011 2121 S.MaciuleviS.Maciulevičiusčius
Resursų valdymo uždaviniaiResursų valdymo uždaviniai
• Resurso planavimas, t.y. apibrėžti kam, kada reikia išskirti šį resursą, o dalomiems resursams - ir kokį resurso kiekį
• Resurso būsenos sekimas, t.y. žinoti, ar resursas užimtas, ar laisvas, o dalomiems resursams - kuri resurso dalis paskirstyta, o kuri - laisva
202010-201110-2011 2222 S.MaciuleviS.Maciulevičiusčius
Kas yra operacinė sistema?Kas yra operacinė sistema?
Valdymo programa -- valdo vartotojo programų vykdymą
Išplėstoji mašina -- išplečia kompiuterio funkcionalumą ir abstrakciją. OS paslepia nuo programuotojo visas aparatūros realijas ir suteikia galimybes paprastai ir patogiai dirbti su failais ir įrenginiais.
OS funkcijos - pateikti vartotojui tam tikro išplėstą arba virtualų kompiuterį, kurį lengviau programuoti ir su kuriuo lengviau dirbti nei betarpiškai su aparatūra, sudarančia realų kompiuterį.
202010-201110-2011 2323 S.MaciuleviS.Maciulevičiusčius
OS klasifikacijaOS klasifikacija
Klasifikacijos pagrindiniai požymiai:• Resursų valdymo algoritmų ypatybės
• Aparatinių platformų ypatybės
• Panaudojimo sričių ypatybės
• OS realizavimo metodų ypatybės
202010-201110-2011 2424 S.MaciuleviS.Maciulevičiusčius
Resursų valdymo algoritmų ypatybėsResursų valdymo algoritmų ypatybės
• Daugiaužduotiškumo palaikymas:– Vienos užduoties (MS-DOS, MSX); jos turi
periferinių įrenginių, failų valdymo ir vartotojo interfeiso priemones.
– Daugelio užduočių (IBM/OS370, OS/2, UNIX, WINDOWS šeima); be išvardintų funkcijų, jos valdo bendrai naudojamų resursų (procesoriaus, operatyviosios atminties, failų ir išorinių įrenginių) paskirstymą .
202010-201110-2011 2525 S.MaciuleviS.Maciulevičiusčius
Resursų valdymo algoritmų ypatybėsResursų valdymo algoritmų ypatybės
• Daugiavartotojiško režimo palaikymas:– Vienvartotojiškas (MS-DOS, Windows 3.x); – Daugiavartotojiškas (UNIX, WindowsNT).
Pagrindinis daugiavartotojiškų sistemų skirtumas nuo vienvartotojiškų yra vartotojo informacijos apsaugos nuo nesankcionuoto kitų vartotojų naudojimo priemonės. Reikia pabrėžti, kad ne kiekviena daugiaužduotė sistema yra daugiavartotojiška, ir atvirkščiai – ne kiekviena vienvartotojiška OS yra vienužduotė.
202010-201110-2011 2626 S.MaciuleviS.Maciulevičiusčius
Resursų valdymo algoritmų Resursų valdymo algoritmų ypatybėsypatybės
• Daugiaprocesorinis apdorojimas: Soliaris 2.x OS, Open Server 3.x, OS/2, Windows NT.
Daugiaprocesoriškumas padaro sudėtingesniais resursų valdymo algoritmus.
Daugiaprocesorinės OS pagal skaičiavimo proceso organizavimo būdą skirstomos į asimetrines OS ir simetrines OS. Asimetrinė OS vykdoma pilnai tiktai viename iš sistemos procesorių, paskirstant taikomąsias užduotis kitiems procesoriams. Simetrinė OS pilnai decentralizuota ir naudoja visą procesorių pulą, skirstydama juos sisteminėms ir taikomosioms užduotims.
202010-201110-2011 2727 S.MaciuleviS.Maciulevičiusčius
Aparatinių platformų ypatybėsAparatinių platformų ypatybės
• personalinių kompiuterių OS
• mini kompiuterių OS
• didžiųjų kompiuterių (mainfreimų) OS
• klasterių OS
• kompiuterių tinklų OS.
202010-201110-2011 2828 S.MaciuleviS.Maciulevičiusčius
Daugiaužduotės OSDaugiaužduotės OS
• Paketinio apdorojimo sistemos (IBM/OS 370),
• Laiko paskirstymo sistemos (UNIX),
• Realaus laiko sistemos (RT/11).
202010-201110-2011 2929 S.MaciuleviS.Maciulevičiusčius
Paketinio apdorojimo sistemosPaketinio apdorojimo sistemos
Paketinio apdorojimo sistemos daugiausia skirtos skaičiavimo tipo užduočių, nereikalaujančių greito rezultato gavimo, sprendimui. Paketinio apdorojimo sistemų pagrindinis tikslas ir efektyvumo kriterijus - maksimalus pralaidumas.
Tokių sistemų funkcionavimo schema: darbo pradžioje formuojamas užduočių paketas, kiekviena užduotis turi tam tikrus reikalavimus sistemos resursams; iš šio užduočių paketo formuojamas multiprograminis mišinys, t.y. vienu metu vykdomų užduočių aibė. Vienalaikiam vykdymui išrenkamos užduotys, besiskiriančios reikalavimais resursams, kad būtų užtikrintas subalansuotas visų kompiuterinės sistemos įrenginių apkrovimas.
202010-201110-2011 3030 S.MaciuleviS.Maciulevičiusčius
LaikoLaiko paskirstymo sistemos paskirstymo sistemos
Laiko paskirstymo sistemos kiekvienam vartotojui suteikia terminalą, iš kurio jis gali vesti dialogą su savo programa. Kadangi laiko paskirstymo sistemos kiekvienai užduočiai išskiria tik procesoriaus laiko kvantą, tai nei viena iš užduočių neužima procesoriaus ilgam ir atsakymo laikas tampa priimtinas. Jeigu kvantas parinktas pakankamai nedidelis, tai visiems vartotojams, vienu metu dirbantiems su tuo pačiu kompiuteriu, atrodo, kad jie vieni naudojasi kompiuteriu.
202010-201110-2011 3131 S.MaciuleviS.Maciulevičiusčius
Laiko paskirstymo sistemos Laiko paskirstymo sistemos
Aišku, kad laiko paskirstymo sistemos yra mažesnio pralaidumo, nei paketinio apdorojimo sistemos, kadangi yra vykdoma kiekviena vartotojų paleista užduotis, o ne ta, kuri „naudinga“ sistemai, ir, be to, yra papildomos skaičiavimo resursų sąnaudos dažnesniam procesoriaus perjungimui nuo vienos užduoties prie kitos.
Laiko paskirstymo sistemų efektyvumo kriterijus yra ne pralaidumas, bet vartotojų darbo patogumas ir efektyvumas.
202010-201110-2011 3232 S.MaciuleviS.Maciulevičiusčius
Realaus laiko sistemosRealaus laiko sistemos
Realaus laiko sistemos naudojamos įvairiems techniniams objektams, pvz., staklėms, palydovams, mokslinių eksperimentų įrenginiams ar technologiniams procesams, valdyti. Visais šiais atvejais egzistuoja maksimaliai leistinas laikas, per kurį turi būti atlikta viena ar kita objektą valdanti programa, priešingu atveju gali įvykti avarija: palydovas gali išeiti iš kontrolės zonos, duomenys, ateinantys nuo daviklių, bus prarasti ir pan.
202010-201110-2011 3333 S.MaciuleviS.Maciulevičiusčius
Realaus laiko sistemosRealaus laiko sistemos
Taigi, realaus laiko sistemų efektyvumo kriterijus yra gebėjimas atlikti programą (išduoti valdantįjį poveikį) per užduotą laiko intervalą. Šis laikas vadinamas sistemos reakcijos laiku.
Šių sistemų multiprograminis mišinys yra iš anksto fiksuotas programų rinkinys, o vykdymui programa išrenkama pagal momentinę objekto būseną arba pagal planinių darbų tvarkaraštį.
202010-201110-2011 3434 S.MaciuleviS.Maciulevičiusčius
OS funkcijosOS funkcijosSkirsime dvi funkcijų grupes:
1) vartotojui skirtos funkcijos: įvesties ir išvesties valdymas failų sistemos tvarkymas programų valdymas
2) sisteminės funkcijos: atminties valdymas atminties apsauga resursų tvarkymas apskaita
202010-201110-2011 3535 S.MaciuleviS.Maciulevičiusčius
ĮĮvesties ir išvesties valdymasvesties ir išvesties valdymas
Įvesties ir išvesties posistemis atlieka sąsajos (interfeiso) tarp pagrindinės ir išorinės atminčių funkcijas.
Operacinė sistema atsako už pagrindinėje atmintyje esančių buferių aptarnavimą. Joje yra ir įrenginių tvarkyklės (driver - OS modulių, tiesigiai bendraujančių su įvesties ir išvesties įrenginiais) rinkinys.
Įvesties ir išvesties posistemio darbas tarpusavyje tampriai susietas su failų bei išorinės atminties valdymu.
202010-201110-2011 3636 S.MaciuleviS.Maciulevičiusčius
ĮĮvesties ir išvesties valdymasvesties ir išvesties valdymas
Tam skirtos programos suskirstytos į kelis lygius. Žemiausieji lygiai “ekranuoja” aparatūros ypatumus, o aukštesnieji užtikrina patogią sąsają vartotojui.
Pagrindinis principas - programa nepriklauso nuo to, kur laikomi duomenys.
Unifikuota išorinių įtaisų vardų sistema.Klaidų apdorojimas - pradžioje žemiausiame lygyje, jei ten
nepavyksta - aukštesniame.Dauguma įvesties ir išvesties operacijų - asinchroninės
(procesorius pereina prie kitos užduoties; apie operacijos pabaigą jis informuojamas pertraukties signalu).
202010-201110-2011 3737 S.MaciuleviS.Maciulevičiusčius
ĮĮvesties ir išvesties valdymo lygiaivesties ir išvesties valdymo lygiai
Taikomoji programa
Bibliotekinės funkcijos
Sisteminės iškvietos
Sisteminių iškvietų apdorojimas
Duomenų buferizacijos sistema
Pertraukčių apdorojimas
Įrenginių tvarkyklės
a b c
a - pertraukčių užklausosb - įrenginių valdymo komandosc - duomenys
202010-201110-2011 3838 S.MaciuleviS.Maciulevičiusčius
TvarkyklėsTvarkyklės
Įvesties ir išvesties valdymo programa, kuri priklauso nuo konkretaus įtaiso, vadinama įtaiso tvarkykle (driver).
Pavyzdžiui, disko tvarkyklė operuoja tokiais objektais, kaip cilindrai, takeliai, sektoriai, galvutės pozicionavimo parametrai, ir užtikrina teisingą disko darbą.
Tvarkyklė gauna užklausą iš programos ir sprendžia, kaip ją vykdys. Jei tuo momentu tvarkyklė laisva, ji pradeda nedelsiant aptarnauti užklausą. Jei užimta, užklausa patenka į eilę.
202010-201110-2011 3939 S.MaciuleviS.Maciulevičiusčius
PertrauktysPertrauktysPriežastys:a) išorinėsb) vidinės
Procedūra:a) pertraukties signalo priėmimasb) pertrauties atpažinimasc) būsenos įsiminimasd) pertrauktį apdorojančios programos vykdymase) būsenos atstatymas
Parametrai:a) įėjimo signalų skaičiusb) reakcijos laikasc) perjungimo laikasd) gylis
202010-201110-2011 4040 S.MaciuleviS.Maciulevičiusčius
PertrauktysPertrauktys
Pertraukiančios (pertrauktį apdorojančios) programos
Pertraukties signalai
Pagrindinėprogra
ma
Procesorius
Aplinka
202010-201110-2011 4141 S.MaciuleviS.Maciulevičiusčius
Failų sistemFailų sistemaa
Failų sistema - tai OS dalis, realizuojanti patogią vartotojui sąsają su jam reikalingais duomenimis, kurie saugomi diske (diskelyje), taip pat užtikrina galimybę tuo pačiu metu kreiptis į failą keliems vartotojams ir procesams.
Failų sistema aprūpina vartotojus atmintimi ilgalaikiam programų ir duomenų saugojimui. Tokia išorinė atmintis abstrakčiu požiūriu - tai įvardytų objektų (failų) rinkinys. Failų sistemos funkcijų sąraše - failų ir katalogų kūrimas, manipuliavimas, failų apsauga, buferizavimas ir t.t.
202010-201110-2011 4242 S.MaciuleviS.Maciulevičiusčius
Failų sistemFailų sistemaa
Plačiąją prasme failų sistema apima: diske saugomų failų visumą; duomenų struktūras, reikalingas failams
tvarkyti (katalogai, failų deskriptoriai, informacija apie vietą diske);
failus tvarkančios programos (failų kūrimui, naikinimui, kopijavimui, perkėlimui, įrašymui ir t.t.).
202010-201110-2011 4343 S.MaciuleviS.Maciulevičiusčius
Failų Failų tipaitipai
paprastieji- tekstiniai- dvejetainiai
specialūs- su įvesties ir išvesties įtaisais asocijuoti failai, kad I/O operacijos būtų vykdomos kaip failų skaitymo/rašymo operacijos
failai-katalogai- failų sąrašas ir failų atributai
202010-201110-2011 4444 S.MaciuleviS.Maciulevičiusčius
Failų atributaiFailų atributai- informacija apie kreipties teises- slaptažodis - failo savininkas- failo autorius- požymiai (“tik skaityti”, “paslėptasis failas”, “sisteminis failas”, ..., “laikinasis failas” )- įrašo ilgis- sukūrimo, paskutinio panaudojimo ir paskutinio pakeitimo laikai- failo ilgis- maksimalus failo ilgis
202010-201110-2011 4545 S.MaciuleviS.Maciulevičiusčius
ProcesaiProcesai
Procesu vadinama tuo metu vykdoma programa (dinaminis jos vaizdas). Ši sąvoka - tai abstrakcija, kurią pasiūlė OS kūrėjai ir kuri duoda galimybes stebėti ir valdyti kelių vienu metu vykdomų programų darbą.
Fiziškai proceso atvaizdą sudaro:
· vykdomasis programos kodas (dar vadinamas teksto arba programos sekcija)
· duomenys - kintamieji, buferiai ir t.t. (vartotojo duomenų sekcija)
· būsenos ar konteksto informacija - duomenys, reikalingi procesui restartuoti (neprarandant informacijos).
202010-201110-2011 4646 S.MaciuleviS.Maciulevičiusčius
Proceso kontekstasProceso kontekstas
• registrų ir programos skaitiklio būsena,
• procesoriaus darbo režimo būsena,
• atidarytų failų rodiklių būsenos,
• informacija apie neužbaigtas įvedimo-išvedimo operacijas,
• šio proceso vykdomų sisteminių užklausų klaidų kodai ir t.t.
202010-201110-2011 4747 S.MaciuleviS.Maciulevičiusčius
Proceso sukūrimasProceso sukūrimas
Programinis kodas bus pradėtas vykdyti tik tada, kai jam OS bus sukurtas procesas:
1. sukurti informacines struktūras, aprašančias procesą, t.y. jo deskriptorių ir kontekstą;
2. įtraukti naujo proceso deskriptorių į paruoštų procesų eilę;
3. užkrauti proceso kodo segmentą į operatyviąją atmintį arba mainų su išorine atmintimi (svopingo) sritį.
202010-201110-2011 4848 S.MaciuleviS.Maciulevičiusčius
Proceso būsenų diagramaProceso būsenų diagrama
Naujas Paruoštas Vykdomas Sustabdytas
Laukiantis
Proceso sukūrimas
Proceso užbaigimas
Planuotojas
Įvykis yra Laukia įvykio
1 2
3
6
45
202010-201110-2011 4949 S.MaciuleviS.Maciulevičiusčius
Proceso būsenų diagramaProceso būsenų diagramaNaujas procesas - ką tik sukurtas - turi savo proceso ID, į
atmintį įvestos duomenų struktūros , …
Paruoštas procesas - pasyvi proceso būsena; procesas užblokuotas dėl išorinių jo atžvilgiu priežasčių: procesas turi visus jam reikiamus resursus, jis pasiruošęs vykdymui, bet procesorius vykdo kitą procesą, todėl procesas laukia, kol atsilaisvins procesorius; multiprograminėje sistemoje gali gūti daug tokių procesų
Vykdomas procesas - aktyvi proceso būsena, kurio metu procesas turi visus būtinus resursus ir jį betarpiškai vykdo procesorius; vienintelis, jei sistema vienprocesorinė; multiprocesorinėje sistemoje tokių procesų gali būti daug
202010-201110-2011 5050 S.MaciuleviS.Maciulevičiusčius
Proceso būsenų diagramaProceso būsenų diagrama
Laukiantis (blokuotas) procesas - pasyvi procesoriaus būsena, procesas užblokuotas, jis negali būti vykdomas dėl savo vidinių priežasčių, jis laukia kokio nors įvykio (pvz., duomenų įvedimo ar išvedimo)
Sustabdytas (užbaigtas) procesas - buvo baigtas normaliai ar nutrauktas dėl kokių nors priežasčių; sistema turi registruoti šį faktą
202010-201110-2011 5151 S.MaciuleviS.Maciulevičiusčius
Proceso būsenų diagramos perėjimaiProceso būsenų diagramos perėjimai
1) Proceso kūrimas baigtas, ir OS gali jį perduoti sistemai2) Kai vienas procesas išeina iš būsenos Paruoštas į Vykdomas,
planuotojas peržiūri paruoštus procesus ir parenka vieną pagal tam tikrą algoritmą
3) Procesui neleidžiama monopolizuoti CPU viasam laikui; jei procesas užsitęsia, jis gali būti nutrauktas po nustatyto laiko arba atsiradus aukštesnio prioriteto procesui
4) Vykdomam procesui reikalingas koks nors veiksmas ar įvykis (dažniausiai įvedimas), ir procesas turi laukti jo pabaigos
5) Kai veiksmas atliktas ar sulauktas įvykis, OS pažadina laukusį procesą ir perkelia jį į būseną Paruoštas
6) Procesas baigiasi normaliai; kartais jis priverstinai užbaigiamas dėl klaidos
7) Procesas retais atvejais gali būti perkeltas iš būsenos Laukiantis į Sustabdytas; tai būna šalutinis kito proceso ar įvykio poveikis.
202010-201110-2011 5252 S.MaciuleviS.Maciulevičiusčius
Procesų planavimasProcesų planavimas
Trys žingsniai:
1) vykdomo proceso pakeitimo kitu momento nustatymas,2) proceso parinkimas vykdymui,3) kontekstų perjungimas.
1 ir 2 žingsniai realizuojami programiškai, 3 - pagrindinai aparatūros priemonėmis.
Vienas aktyvus procesas pakeičiamas kitu, kai:- procesas sėkmingai baigiamas ir palieka sistemą,- įvyksta klaida,- procesas pereina į laukimo būseną,- pasibaigia jam skirtas laiko kvantas.
202010-201110-2011 5353 S.MaciuleviS.Maciulevičiusčius
Atminties adresai ir jų keitimasAtminties adresai ir jų keitimas
Simboliniaivardai
Virtualūsadresai
Fiziniaiadresai
Kintamųjų vardai programoje
Santykiniai adresai, kuriuossuformuoja kompiliatorius
Fizinės atminties lastelių adresai
Kompiliatorius
Atminties dispečeris
202010-201110-2011 5454 S.MaciuleviS.Maciulevičiusčius
Paprastas segmentavimo mechanizmasPaprastas segmentavimo mechanizmas
Programos ilgis
Steko ilgis
Duomenų ilgis MUX
Programos bazė
Steko bazė
Duomenų bazė MUX
SegmentasPoslinkis
Komparatorius
Sumatorius
Puslapioklaida
Fizinisadresas
202010-201110-2011 5555 S.MaciuleviS.Maciulevičiusčius
Paprastas puslapiavimo mechanizmasPaprastas puslapiavimo mechanizmas
Puslapių lentelė
Apsaugos
bitai
Loginio puslapio numeris Baito poslinkis
Fizinio puslapio numeris Baito poslinkis
202010-201110-2011 5656 S.MaciuleviS.Maciulevičiusčius
Atminties apsaugaAtminties apsauga
Multiprograminėse ir multiterminalinėse sistemose galima išskirti: atminties apsaugą, programų apsaugą, vartotojų apsaugą, informacijos apsaugą.
Atminties apsauga privalo aptikti bet kokias adresavimo klaidas prieš joms iššaukiant nuostolius.
Programų apsauga turi apsaugoti, kad vartotojų programos nepadarytų pakeitimų OS.
Vartotojų apsauga turi saugoti vartotojus vieną nuo kito.
Informacijos apsauga turi riboti vartotojų prieigą prie informacijos.
202010-201110-2011 5757 S.MaciuleviS.Maciulevičiusčius
Atminties apsaugaAtminties apsauga
Atminties apsauga: bazės ir ribos registrai (ištisinei sričiai), raktai (puslapiams).
Bazė
Riba Išskirtojiatminties
sritisProgr. raktas
PSW
Apsaugosraktas
Analizės schemaPertrauktisPuslapiui
202010-201110-2011 5858 S.MaciuleviS.Maciulevičiusčius
Programų ir vartotojų apsaugaProgramų ir vartotojų apsauga
Programų ir vartotojų apsauga: nehierarchinė sistema, hierarchinė (žiedinė) sistema.
Nehierarchinėje apsaugos sistemoje kiekvienai užduočiai nustatomas operacijų sąrašas, nurodantis tas operacijas, kurios gali paveikti kitas sistemos užduotis. Tai sudėtinga sistema.
Kai kurie procesoriai turi du darbo režimus (privilegijų lygius) - supervizoriaus ir vartotojo. Supervizoriaus režime realizuojamos OS funkcijos, o vartotojo - taikomosios programos.
202010-201110-2011 5959 S.MaciuleviS.Maciulevičiusčius
Programų ir vartotojų apsaugaProgramų ir vartotojų apsauga
Hierarchinės apsaugos sistemos pavyzdžiu gali būti Intel procesoriuose realizuota 4 apsaugos lygių arba žiedų sistema.
OS branduolysPL=0
Sistemos servisaiPL=1
PL=2
PL=3OS išplėtimai
Taikomosios programos
202010-201110-2011 6060 S.MaciuleviS.Maciulevičiusčius
Programų ir vartotojų apsaugaProgramų ir vartotojų apsauga
PL=0PL=1
PL=2PL=3
Atskirų užduočiųizoliavimas,panaudojantatskiras deskrip-torių lenteles
202010-201110-2011 6161 S.MaciuleviS.Maciulevičiusčius
Informacijos apsaugaInformacijos apsauga
Informacijos apsaugai naudojamas kreipinių tipų ribojimas. Dažniausiai naudojami tokie tipai:
skaitymas, įrašymas, vykdymas (programos kodo pusl./segm.).
Paprastai ši informacija saugoma puslapių arba segmentų deskriptoriuose.