Operatsioonisüsteem-
see on süsteemi ja juhtprogrammide
kompleks ja ettenähtud
arvutisüsteemi ressursside efektiivseks kasutamiseks.
See on
vahendaja arvutikasutaja ja arvuti
riistvara vahel- programm, mis
vahetult suhtleb riistvaraga ning töötab temaga ühtse
tervikuna .
Peab
võimaldama täita arvutiprogramme, mugaval ja efektiivsel viisil.
Operatsioonisüsteem
peab tagama arvutisüsteemi
korrektse kasutamise.
Operatsioonisüsteem- arvutiprogrammide kompleks, kindlustamaks
*kasutaja
liidest,
*arvuti
aparatuursete ressursside juhtimist,
*tööd
failidega,
*Andmete
sisestamist ja väljastamist,
*rakendusprogrammide
täitmist,
*utiliite,
opsüsteem-
on arvuti süsteemitarkvara, mis käivitatakse arvutis
alglaadimisprogrammi poolt ning mis juhib arvutisüsteemi tööd ja
teenindab rakendusprogramme.
Erinev
tabel:
Arvuti
tasemed Kasutaja
rakendusprogrammid Kõrgtaseme
programmeerimiskeeled
Assembleri
keel,
masinkood Mikroprogrammid.
Riistvaraline juhtimine.
Funktsionaalsed
seadmed (ALU, mälud)
Lihtloogika
elemendid
Transistorid ja juhtmed
Arvutisüsteemid
võib jagada 4-ja
ossa -
Raudvara -Opsüsteem
-Kasutaja
rakendused -Kasutajad
-Paberilehel
on paar tabelit, mis tuleks siia ümber panna.
Arvutite
ajalugu
Esimese
põlvkonna
arvutid (1945-1955)
Selle
ajastu arvutid olid valdavalt elektronlampidel, ebatöökindlad,
gabariitidelt suured(spordisaali suurused ja suuremadki) ja sõid
palju elektrit.
OS-ile
eelnesid teenindusprogrammid-
laadurid ja monitorid, sagedamini
kasutavate alamprogrammide teegid.
Teenindusprogrammid
minimiseerisid operaatori tegevust seadmete juhtimisel, teegid
võimaldasid lahti saada korduvatest programmeerimistest.
Programmeerimise areng
Esimesed
sammudEsimene
programmeerimine seisnes arvutiseadme esipaneelil olevate lülitite
õigesse asendisse seadmises. Selge on see, et sellisel viisil ei saa
väga
pikki programme teha. Arvutitehnika arenemisel ilmus masinkood,
mille abil programmeerija andis arvutile käske kasutades vastavaid
mälupesi, masina võimalused olid paremini ära kasutatud.
AssemblerkeelMasinkoodi
asemel masinale orienteeritud kood-
assembler .
Inimesed
kasutavad masinkoodi käskude asemel mnemoonilisi käske, mis
tõlgitakse translaatori poolt masinkoodi keelde. Kõikidel
protsessoritel on ainult temale omane masinkoodide hulk, assembler.
Kõrgtaseme
keeledJärgmine samm tehti 1954 a, millal tehti esimene kõrgtaseme keel-
FORTRAN -(FORmula
TRANslator ). Kõrgtaseme keeled imiteerivad
loomulike keeli, kasutades kõnekeele sõnu ja üldkasutatavaid
matemaatilisi sümboleid. Need keeled on inimesele
mugavad . Nende
abil võib kirjutada programme, milles on tuhandeid ridu.
Teise
põlvkonna arvutid(1955-1965)Arvutitehnika arengu see periood on seotud uue tehnilise
baasiga-pooljuhtseadised. Sellel perioodil jagunes personal
programistideks, operaatoriteks, teenindajateks ja arvutiseadmete
väljatöötajateks.
Ilmusid
esimesed algoritmilised keeled, esimesed süsteemiprogrammid-
kompilaatorid. Valmisid esimesed pakktöötlus süsteemid (batch
processing ), mis kiirendasid programmide käivitamist, tehes seda
üksteise järel, suurendades protsessori tööhõivet.
Paketttöötlus
Pakketttöötluse
jaoks on vajalik täidetavate programmide järjekord.
Operatsioonisüsteem võib kindlustada programmmi laadimist mällu
välistelt andmekandjatelt. Seda
selliselt , et eelmise programmi
täitmise lõpetamist ära ei oodata. Nii saab ära hoida protsessori
tühijooksu. Programmi tekst sisestati perfolindile või
perfokaartidele. Magnetlint kompilaatoriga paigutati seadmesse ning
seade ühendati. Kaardi(perfolindi)lugeja
luges kaardid (perfolindi),
mille sisu väljastati magnetlindile.
Kompilaator käivitati
Draiverid Järgmiseks
etapiks olid
sisendit ja väljundit teostavad
programmid , mis
sisestasid ja väljastasid infot ajal, kui cpu töötas.
Sisend -väljundoperatsiooni lõppemisel edastasid nad
katkestuse .
Katkestuse saamisel salvestas arvuti vajalikud andmed ja juhtimine
suundus vastavalt katkestuse
iseloomule . Kastkestuse töötlemiseks
luuakse igale seadmetüübile vastav programm, seadme draiver, mis
kuulub monitori koosseisu.
Struktuurprogrammeerimine
Kõrgkeeles
kirjutatud lühikesed programmid olid kergesti arusaadavad kui
suuremahulised muutusid raskesti arusaadavaks ja mittejuhitavaks.
Lahenduseks oli struktuurprogrammeerimine, näiteks:
*
Algol *Pascal
*C
Programmide
konstrueerimise meetod, mis kasutab ainult hierarhiliselt korraldatud
tarindeid,
kusjuures igal neist on ainult üks sisendpunkt ja üks
väljundpunkt. Struktuurprogrammeerimises kasutatakse ainult kolme
liiki juhtimisvooge: järjestikust, tingimuslikku ja ileratiivset.
Spooling batch systems
Simultaneous
Periperal Operations On-Line.
Meetod
arvutusprotsessi
juhtimiseks , kus perfokaartidelt loeti ülesanded
arvutisse samas tempos kuidas nad jõudsid arvutuskeskusesse. Kasutab
ketast kui suurt puhvrit ja võimaldab samaaegselt teostada
sisendväljund operatsioone ja teiste tööde arvutustöid.
Järgmine
uuendus-spuuling- välismälu kasutamine puhvermäluna töötluse
hilistuse kahandamiseks andmete teisaldusel arvuti välisseadmete ja
protsessorite vahel. Tööd (
jobs ) asetatakse puhvermällu, mis
kujutab endast spetsiaalset piirkonda mälukiibis või kõvakettal,
ja hoitakse seal seni, kuni välisseadmed on valmis neid kasutama.
Multiprogramming systems
Multiprogrammerimine
(1960-tänapäev)
Multiprogrammeerimine-
See arvutusprotsessi organiseerimise meetod, kus ühe protsessori
peal kordamööda täidetakse mitut programmi.
Kui üks
programm täidab sisend-väljund operatsiooni siis
protsessor ei oota
nagu see oli üheprogrammilises režiimis vaid täidab teist
programmi.
Seejuures
iga programm laaditakse talle eraldatud mälu
osasse .
AS-Käitusrežiim,
mis tagab kahe või enama programmi vaheldatud täitmise üheainsa
protsessoriga.
Suvaline ligipääs ja failisüsteemid
Pidev
jadapöördusega andmmekandjate vahetamine viis lõpuks suvapöördus
andmekandjate kasutamiseni.
Tekkisid
failisüsteemid ja struktuurid .Failisüsteemid:
FAT 12 16 32
NTFS -Mikisoft
EXT 2-
Linux RAISER-Linux
3-nda põlvkonna arvutid
(1965-1980)
Tehnilises baasis toimus üleminek transistoridelt integraalskeemile.
Luuakse programmiliselt ühtsed arvuti süsteemid.
Esimene ühtsussüsteemiga arvutid olid IBM/360
seeria arvutid.
Timesharing systems (1970-tänapäev)
Loogiliseks järjeks multiprogrammsüsteemidele oli ajajaotus
süsteemide tekkimine.
Multiprogrammilise ajajaotusspsteemi eesmärk on tekitada kasutajale
mulje, et kõiki programme täidetakse üheaegselt.
Arvutisüsteemi käitusmeetod, mis tahab kahe või enama protsessi
ajalise vaheldumise ühel protsessoril.
Multitasking
Multitegumtöö
Vajadus ajajaotussüsteemide järele suurenes sisend-väljundseadmete
eriti aga elektronkiiretoruga terminalide kasutusele võtmisega
(1960=
Kuna operaatori poolt andmete klaviatuurilt sisestamise kiirus on
tunduvalt väiksem kui nende andmete töötlemine arvuti poolt, siis
ühe operaatori monopoolne režiim tekitas
kalli arvutiressursi
raiskamist.
Protsess, kus arvuti tegeleb korraga mitme programmi käskluste
täitmisega, näioteks CD-mängija võib mängida samal ajal, kui
teiste programmidega töödatakse.
Mitmekasutaja süsteemide
Ajajaotussüsteemid võimaldasid luua mitmekasutaja süsteemid, kus
üks kaskprotsessor ja ühine põhimälu ühendatakse
arvukate terminalidega.
Osaülesannetest nagu näiteks andmete sisetamine ja redigeerimine
operaatri poolt toimub dialoogi režiimis aga massiivsed arvutused
pakettrežiimis.
Virtuaal
memory Virtuaalmälu-see on
tehnoloogia , mis kasutab muutmälu mahu
suurendamiseks teisest mälu, näiteks kõvaketta vaba ruumi.
Mälu, mis ei kuulu põhimälu või muutmäu alla, vaid kasutab
kõvaketta mahtu.
Swapping-saalimine
Protsess, mis
vahetab mingi põhimäluala sisu mingi välismäluala
sisuga.
Neljas periood (1980-tänapäev)
See periood on seotud suurte itergraalskeemide kasutusele võtmisega.
Toimub mikroskeemid integreerimisastme järsk tõus ja hinna
odavnemine.
See võimaldas arvuti kättesaadavust suurendada üksiku inimeseni,
algas personaalarvuti aeg.
Kui miniarvutit võis omada ettevõte või ülikool, siis
personaalarvutit võis omada juba üksikisik.
Arvuteid hakkasid kasutama mittespetsialistid. Seetõttu pidid
arvutid olema kindlustatud „sõbraliku“ programmvarustusega.
See omakorda vähendas vajadust programmeerijate järele.
Real -Time Systems
Reaalaja süsteemid
Reaalaaja süsteem on eriotstarbeline süsteem, kus protsessori
tegevusele ja andmete liikumisele on kehtestatud
ajalised piirangud
Näitekr konveieri robotid, tööstusprotsessi juhtimine, lennuki ja
raketi juhtimine, koduautomaatika
Eristatakse kahte tüüpi
# Jäigad
# Paindlikud
Multiprotsessor Multiprotsessorsüsteemi nimetatakse ka paralleelsüsteemiks
Protsessorid jagavad siin
ühist siini
ühist süsteemi kella
mälu
välisseadmeid
Töö on organiseeritud
sümmeetriline töö
asümmeetriline töö
http://www.speedyshare.com/files/20568389/ops_steemi_alused.doc Distributed
Hajussüsteemid
Tänapäeva arvutid on ühendatud võrku
Nendel töötavad operatsiooni süsteemidel on hajussüsteemi omadus
Hajussüsteem omab/ei oma:
Mitut protsessorit ja erinevatt tüüpi
puudub ühine siin
puudub ühine süsteemne kell
Kasutamiseks mitu põhjust
Ressursside jagamine
arvutuste kiirendamine
turvalisus
kommunikatsioon
Eesajaloost
Täitsa esimene oli muidugi 10 sõrme
Abakus leiutati 3. sajandil -e.m.a.
1617
leiutas lord Lapier arvutuslükati
1632 Scickard leiutas aritmomeetri
1728 leiutati kangasteljed
1880 Perfokaart , selle võttis kasutusele Hollerith millega sai
rahvaloendusel hästi hakkama
1824-1871 analüütiline masin. Selle ehitas rikas piroloog
1941 leiutas
Zuse „Z3“e
Arvuti ajalugu 1969
Loodi operatsioonisüsteem unix
1972 esimene 8-bitiline mikroprotsessor
1976 Ühe kaardiline
Apple 1 sünd
1980 seagate esimene kõvaketas
1986 esimene 32bitise
mikroprotsessori kasutusele võtt arvutis
Operatsioonisüsteemi komponendid
*
Protsessihaldus *Põhimäluhaldus
*Failide haldus
*I/O süsteemide haldus
*Sekundaarse salvestusruumi haldus
*Võrgu tugi
*Kaitsesüsteem
*Käsuinterpretaator
Protsess
Protsess-ettemääratud sündmuste jada,
piiritletud oma
otstarbe või
toimega, mis
saavutatakse valitsevatel tingimustel.
Andmetöötluses ka ettekavatsetud eesmärgile või tulemusele vastav
sündmuste kulg. Protsess on täitmisel olev programm. Protsess vajab
oma tööks ressursse.
Programm sisaldab muutujaid ja
lauseid .
Laused annavad arvutile teada, mida muutujatega tuleb teha.
Muutujad võivad esitada numbrilisi andmeid, teksti või graafilisi
kujutisi.
Protsessihaldus
Operatsioonisüsteem vastutab protsessihaldusel järgmiste tegevusti
eest:
*Protsesside loomine ja hävitamine.
*Protsesside peatamine ja jätkamine.
*Protsesside sünkroniseerimise
mehhanismid .
*Protsessidevahelise side mehhanismid
*Tupikute haldamise mehhanismid
Mäluhaldus
Mälu- koht, kus arvuti hoiab informatsiooni, mida kasutatakse või
millega hetkel töötatakse. Programmid tuleb enne käivitamist
mälusse
laadida .
Operatsioonisüsteem vastutab mäluhalduse järgmiste tegevuste eest:
*Mälu hõivamine ja vabastamine, kui protsessid seda küsivad.
*Arve pidamine selle üle, millised mälualad on hetkel kasutuses ja
kelle poolt.
*Otsustamine, missuguseid protsesse mälu vabanedes mällu laadida.
Arvuti mälu struktuur
Wikipilt
Failisüsteemid
Fail- bitiseeriatena salvestatud informatsioon, mida arvuti saab
reorganiseerida.
Kõigis arvutisüsteemides, eriti personaalarvutites, kujutab fail
endast süsteemi kasutajatele (sealhulgas süsteem ise ja tema
rakendusprogrammid) kättesaadavat andmeüksust, mida saab käsitleda
tervikuna (näit. ümbertõsta ühest failikataloogist teise jne.).
Konkreetse faili struktuuri
defineerib faili looja.
Enamasti hoitakse failides:
*Programme (nii lähtetekstina kui binaarkujul) ja
*Andmeid
Failihaldus Operatsioonisüsteem vastutab failihalduses järgmiste tegevuste
eest:
*Failide loomine ja kustutamine
*Kataloogide loomine ja kustutamine
*Tugi failide ja kataloogidega manipuleerimise primitiividele
*Failide sekundaarsetele salvestusseadmetele jagamine
*Failide
varukoopia tegemise
organiseerimine I/O süsteemide
Sisend-väljund- käib iga operatsiooni, programmi või seadme kohta,
mille ülesanne on andmeid arvutisse sisestada või neid sealt
väljastada.
I/O süsteem koosneb:
*I/O puhvrite süsteemist
*Üldisest seadmedraiverite liidesest
*Vahemälu (
cache ) haldamise süsteemist
*Konkraatseste seadmete draiveritest
Sekundaarne salvestusruumi
Mälu,
salvesti - funktsionaalüksus, millesse saab andmeid paigutada,
milles neid saab hoida ja millest neid saab võtta.
Välismälu, sekundaarne mälu- välissalvesti, igasugune
salvestamine , säilitamine, mis ei hõlma arvuti peamälu-
kõvakettaseade, diskett vms. Välismälu võib mõnikord lugeda
välisseadmeks.
Sekundaarse salvestusruumi haldusvara
Põhimälu ei säili pärast voolukatkestust ning ei mahuta kõiki
vajaminevaid programme ja andmeid.
Seetõttu tuleb vajaliku info säilimiseks kasutada sekundaarset
salvestusruumi.
*kettad,
*magnetlindid jne
Operatsioonisüsteem vasuttab sekundaarse salvestusruumi halduses
järgmiste tegevuste eest:
*Vaba ruumi üle arvepidamine.
*Ruumi jagamine.
*Kettapöörduste
planeerimine .
Kaitsemehhanismid Kaitsemehhanismid kontrollivad juurdepääsu süsteemi ja kasutaja
ressurssidele programmide, protsesside või kasutajate poolt.
Kaitsemehhanism peab:
*
Eristama autoriseeritud ja autoriseerimata kasutajaid.
*Määrama juurdepääsureeglid.
*Need reeglid kehtsetama.
Käsuinterpretaator
Palju käske, mis operatsioonisüsteemile antakse, on
operatsioonisüsteemi endaga seotud juhtimiskäsud:
*Protsesside loomine
*I/O
operatsioonid *Põhimäluhaldamine
*Failisüsteemi
manipuleerimine *Kaitsemehhanismid
*Võrguoperatsioonid
Käsuinterpretaator
Käsuinterpretaator- programm süsteemi juhtimiseks, mis suhtleb
kasutajaga
Näited:
*UNIXi
shell *MS-DOS COMMAND.COM
*
MacOS GUI+Finder
*Windows`i GUI+
Explorer GUI
Graafiline kasutajaliides- arvuti graafiliste kujutiste kuvamise
võimalusi ärakasutav tarkvaraliides, mis teeb programmi kasutamise
lihtsamaks.
Hea graafiline kasutajaliides vabastab kasutaja täielikult
vajadusest õppida programmeerimiskeeli.
Graafiline kasutajaliides sisaldab järgmisi komponente:
*kuvaril liikuv viit e.
Kursor ,
*osutusseade (
hiir )
*
ikoonid *aknad
*menüüd
Operatsioonisüsteemi teenused
*Teenused, mida operatsioonisüsteem pakub programmidele
*Programmide täitmine (mällu
laadimine ja käivitamine)
*I/O operatsioonid- kuna programmid ei saa enamasti otse
välisseadmete poole pöörduda, peab OS selleks teenuseid pakkuma.
*Failisüsteemi manipuleerimine- failide loomine, kustutamine,
lugemine, kirjutamine, kataloodioperatsioonid.
*Side- andmevahetus protsesside vahel (samas või erinevates
arvutites), realiseeritakse
teadete saatmisega või jagatud mäluga.
*
Vigade avastamine- protsessori, mälu,, I/O seadmete ja
kasutajaprogrammide vigade avastamine ja neile adekvaatselt
reageerimine.
Veel protsessist
*Operatsioonsüsteemi peamine ülesanne on kergendada kasutajal
rakendusprogrammide täitmist.
*Kasulik ja tähtis
konseptsioon : protsess=programmi täitmine.
*Protsess ei samastu programmiga. Programm on passiivne olem, samas
kui protsess on aktiivne.
*Protsessis sisaldub täidetav programm. Sellega
seostatud andmed ja
täitmise
*Programm arvutis jaguneb
iseseisvate protsesside jadaks, kus igale
protsessile vastab üks kindel ressurss ning mille täitmiseks
moodustatakse juhtkirje, mille alusel protsessor eraldab
ajaintervalle.
*Kui programm on käskude jada, siis protsess on käskude täitmise
järgnevus.
*Protsessi kirjeldab programm, mida interpreteerib protsessor.
Protsessi mõiste
*Opsüsteem täidab mitmesuguseid töid:
-Pakktööd
-Aega jagavad tööd
*Protsess- täitmisel olev programm.
*Programmi täidetakse järjest.
*Protsess koosneb:
-Koodisektsioonist
-Käsuloendurist
-Magasinist
-Anmesektsioonist
-Protsessori
seisust (registrid)
Protsessi olek
*Täitmise käigus satub protsess järgmistesse olekutesse:
-Uus- protsess luuakse
-Töös- selle protsessi käske täidetakse
-
Ootel - Protsess ootab mingi sündmuse
toimumist -Valmis- protsess ootab, et tema käske täitma hakataks
-Lõpetatud- protsessis olev programm on täidetud (edukalt või
edutult)
Protsessi
juhtplokk *Iga protsessiga on seotud protsessi juht polkk (PCB)
- Protsessi juhtplokk koosneb:
- Protsessi number
- Protsessi olek
- Käsuloendur
- Protsessori registrite seis
- Protsessoriaja planeerimise info.
- Mäluhaldus info
- Arvepidamis info
- I/O staatus
- Omanikuinfo
Katkestus *Katkestus
iterrupt, interruption-
Mingi
protsessi, näiteks programmi, täitmise peatamine selle protsessi
suhtes välise sündmuse toimel, nii et protsess saaks jätkuda.
Katkestuse täitmine
*CPU lõpetab
pooleli oleva käsu.
*PC ja PSW salvestatakse STACK-1
*PS-sse laetakse uus väärtus (alamprogrammi algus aadress)
Planeerimisjärjekorrad
*Operatsioonisüsteem haldab kõigi protsesside juhtplokke erinevates
kärjekordades:
-Tööde järjekord- kõik süsteemi protsessid.
-Töövalmis tööde järjekord- kõik protsessid, mis on mälus ning
valmis täitmiseks.
-Seadmete järjekorrad- protsessid, mis
ootavad antud seadme taha I/O
lõppemist.
-Protsesse liigutatakse vastavalt vajadusele järjekordade vahel.
-Erinevate järjekodade jaoks võib opsüsteem kasutada erinevat
haldus poliitikat.
-
Load average - töövalmis tööde järjekorra keskmine pikkus.
Planeerijad
*lühiajaline planeerija
-valmis protsesside hulgast sobiva tööks
valmine
-töötab tihti, peab olema kiire
*Pikaajaline planeerijad
-Uute protsesside loomine
-Hoolitseb multiprogrammeerimise astme eest
-Käivitub harva, pole kiirusekriitiline
-Õige protsessisegu hoidmine (I/O taga ootavad ja protsessori taga
ootavad protsessid)
*Vahepealne planeerija- protsesside välja ka sisse saalmine
(swamping)
Kontekstivahetus
*Ühelt protsessilt teisele lülitumisel tuleb salvestada vana
protsessi olek ja laadida uue protsessi salvestatud olek.
*See aeg on lisakulu, vähendab rakendustele jäävat
protsessoriaega.
*Kuluv aeg sõltub protsessori võimalustest.
Operatsioonisüsteemi komponendid
*Protsessihaldus
*Põhimäluhaldus
*Failide haldus
*I/O süsteemi haldus
*Sekundaarse
salvestusruumi haldus
*Võrgu tugi
*Kaitsesüsteem
*Käsuinterpretaator
Protsesside
liigitamine *Järjestikulised ja paraleelsed
*
Tekitajateks ja tekitatuteks
*Sõltuvad ja sõltumatud
*Sünkroonsed ja asünkroonsed
Lõime
olekud *New- uus lõim.
*Runnable- töötav.
*
Blocked - blokeeritud.
*Dead- tegevuse lõpetanud.
Rutiin *Rutiin
*programm või programmi osa, mis võib leida mingit üldist või
sagedat
kasutust , regulaarselt korratav toiming, tööle rakenduv
koodisektsioon
programmis .
Planeerija.
*Planeerija valib valmis protsesside nimekirjast sobiva ja annab
talle protsessoriaja.
*Planeerimisotsuseid võidakse teha järgmistes
situatsioonides .
-1.Protsess läheb tööolekkust ooteolekusse
-2.Protsess läheb tööolekust valmis olekusse.
-3. Protsess läheb ooteolekust valmis olekusse
-4.Protsess lõpetab töödatakse
*
Juhud 1 ja 4 on mitteväljatõrjuvad.
*Muud juhud on väljatõrjutavad
Mitteväljatõrjuva SJF näide
Näide
protsess Saabumisaeg ajahulk
P1 0 7
P2 2 4
p3 4 1
P4 5 4
SJF (mitteväljatõrjuv)
P1 P3 P2 P4
OPS osad
*Tuum
*Protsessihaldur
*Plaanur
*Failihaldur
Osad
Tase
Nimi
Funktsioon
0
Tuum
Protsessi juhtimine ja sünkroniseerimine
1
Mälusuperviisor
Mälujuhtimist ja virtuaalmälu
toetamine 2
Operaatori interfeis
Dialoog kasutajaga
3
Seadmete juhtimine
Loogiliste ja füüsiliste seadmete vastavusse
viimine . S/V seadmete puhverdamise organiseerimine
4
Ülesande juhtimise programmid
Juhtkeel interpreteerimine, kasutaja protsesside juhtimine.
Lõimed
*Lõimed (threads) on protsessid, mille seisu salvestamiseks on vaja
põhiliselt registrite salvestamist.
*Lõimed omavad ühist koodi ja andmete sektsioone ning moodustavad
koos ühe töö.
*Traditsiooniline protsess on võrreldav tööga ühe lõimega.
*Lõimed on kas kasutaja poolt loodud vastavate süsteemsete käskude
abil või operatsioonisüsteemi tuumale kuuluvad.
*protsess on aktiivne, töötav programm.
*Iga protsess sisaldab vähemalt üht lõime- see kaasneb
peaprogrammiga.
*
Enamuses OS-ides võib iga protsess käivitada ka uusi, „kergeid“
alamprotsesse- lõimi/
niite .
*Mitme lõime puhul võib lasta neil paralleelselt töötada- näiteks
teksti trükkimine üheaegselt taustal toimuva õigekirja
kontrolliga .
Planeerijad
*Jämedalt võib protsessid jagada planeerimise
seisukohast :
-Sisendi/väljundi poolt
juhitud protsessid.
--S/V-ga tegelemine võtab selliste protsesside puhul rohkem aega kui
arvutuste tegemine.
-CPU poolt juhitud protsesside.
--Suurema osa moodustavad arvutuslikud
tehted ja vaid harva
pöördutakse S/V poole.
Loterii-planeerimine
*Igale protsessile antakse mingi arv loteriipileteid.
Iga ajakvandi eel loositakse juhuslikult „võitja“ pilet, mis
saab ligipääsu protsessorile.
Pidev mälujaotus
Tavaliselt on mälu jagatud kahte ossa
-OS piirkond
-kasutaja-programmide piirkond
OS-i võib
Mälu
fragmenteerumine Mälu kasutamise efektiivsuse seisukohalt peaksid protsessid hõivama
naaberalad
Peale protsessi töö lõppu jääb mällu auk.
Mälu fragmenteerumine on põhiliseks mälujaotuse probleemiks ja
seisneb selles, et on olemas küll piisavalt vaba mälu, kuid teda ei
ole võimalik kasutada.
Fragmentatsioon võib olla_
-Välimine- kogu vaba mälumaht on piisav, et tellimust rahuldada,
kuid see ei ole pidev.
-Sisemine- Kinnistatud mälu on suurem kui tellitud mälu; vahe ei
ole vajalik, kuid teda kasutada ei saa.
Fikseeritud tükeldusega mälujaotus.
*Võrdse suurusega tükid:
-Protsess, mille suurus ei ületa tüki suurust, laetakse suvaliselt
vabasse tükki.
8 MB
8 MB
8 MB
8 MB
8 MB
OS Süsteem
Erineva suurusega tükid
8 MB
6MB
4 MB
2 MB
OP Süsteem
Dünaamilise tükeldusega
Tükkide arv ja suurus ei ole fikseeritud, vaid muutub vastavalt
täidetavate protsesside arvule ja suurusele.
C
B
A
OP süsteem
C
B
OP Süsteem
C
B
D
OP süsteem
Dünaamilise mälujaotuse meetodid
*
First -fit
- Valime esimese piisava suurusega augu .
- Niipea kui leitud, lõpetame otsimise.
*
Best -fit
-
Otsime väikseima piisava suurusega augu.
-Peame läbi
otsima kogu nimekirja (va. Juhul kui ta on sorteeritud)
*Worst-fit
- Otsime suurima sobiva augu.
- Ka sel puhul peame kogu nimekirja läbi otsima, aga errinevalt esimesest võib jätta suuremaid jääkauke.
*
Eksperimendid näitavad, et first-fit ja best-fit annavad paremaid
tulemusi kui worst-fit.
Nendest esimene on ka kiirem, kuid võib
tekitada suurema fragmenteerumise.
Lehekülgede saalimine
*Protsessi füüsiline aadressiruum ei pea tingimata olema pidev-
protsessi eri osad võivad
asuda füüsilise mälus suvaliste
kohtade peal laiali.
*Jagamefüüsilise mälu fiktseeritud suurustega tükkideks.
Leheküljed
*Põhiline meetod
-Füüsiline mälu jahatakse fikseeritud suurusega
blokkideks-raamideks
-Loogiline mälu jahatakse ka osadeks- lehekülgedeks.
-Protsessi käivitamisel loetakse tema leheküljed vabadesse
raamidesse.
-Iga aadress on protsessoris jagatud kaheks.
--Lehekülje number- indeks lehekülje tabelis.
--
Nihe lehekülje sees.
Kõik kommentaarid