Aja kvantimine (quantum, round robin)
Aja kvantimisel jagatakse protsessori aeg osadeks (kvantideks q) pikkusega
x ms (tavaliselt: 1..200 ms). Iga protsess saab protsessorilt aega mitte
üle ajakvandi q. Kui kvant saab täis viiakse protsess automaatselt
olekusse READY. Selle tulemusena tundub protsessor olevat N korda aeglasem
(N - protsesside arv). Tähtis on kvandi suurus, liiga lühikese
korral protsessor muud ei teegi, kui ainult vahetab protsesside vahel ümber;
liiga pika korral aga tundub olevat liiga aeglane. Kuulub planeerimise
juurede. Vt. pilti planeerimisest.
Alamprogrammid (subprogram, subroutine)
Alamprogramm on osa programmist, mida kutsutakse eraldi välja. Alamprogrammi
mõte on selles, et temas sisalduvaid operatsioone on vaja (tavaliselt)
mitu korda kasutada (välja kutsuda). Alamprogrammi väljakutsumisel
jääb tavaliselt teda välja kutsuv (alam)programm ootama.
Assotsiatiivmälu (associative memory) peaks
olema nii...
See on selline mälu liik, milles on võimalik paralleelselt
infot salvestada, lugeda ja otsida. Tavalisest mälust on sellepärast
kallim.
Failide avamine (open file)
Faili avamisel sooritatakse järgmised operatsioonid:
Failide sulgemine (close file)
Faili sulgemisel sooritatavad operatsioonid:
Interpretaatorid (interpreter)
Interpretaator on programm, mis täidab otse kõrgkeele käsud.
Kõrgkeeleks on tavaliselt operatsioonisüsteemi käsukeel
või BASIC. Tavaliselt täidetakse interpreteeritavat programmi
rida realt. NB! Objektkoodi kui sellist ei moodustata, see on kompileerimise
vaheaste.
Jadafailid (sequential access files)
Need on failid, millest kirjeid loetakse (ja kirjutatakse) järjest.
Kirje pikkus võib olla suvaline (sellisel juhul on nõutav
kirje lõpu tunnus).
Järjekorrad (queue)
Kaksikute meetod (buddy system)
See on üks mälu haldamise meetod. Põhimõte on järgmine:
Meetodi probleemne pool on see, et 25% vabast mälust ei pruugi olla kätte saadav. Vt. pilti.
Kataloogid (directory, catalogue)
Kataloog on faili loogiline asukoht kettal. Tavaliselt on kataloogide struktuur
puu kujuline, kuna see tagab kõige paremini ülevaatlikkuse
ja viite ühesuse. Nagu faililgi võib ka kataloogil olla kasutusõigus
(UNIX).
Kirjed (record)
Kirjeid on kolme sorti:
Kommunikatsioon (communication)
Kommunikatsiooni läheb vaja ainult siis, kui korraga on töös
kaks või enam protsessi. Kui need on sõltumatud (ei soovi
kasutada samu ressursse) pole vaja sidet pidada. Side pidamiseks läheb
siis, kui on vaja, et protsessi d teaksid, kuidas nad on edenenud (sünkroniseerimine).
Kasutatakse teateid. Teate päis (saatja, vastuvõtja, pikkus,
tüüp) on fikseeritud , keha võib olla muutuv. Teateid
saadetakse kas otse või kaudselt. Otsesel saatmisel on võimalik
ainult üks-ühele saatmine
Kontrollpunktid (checkpoint) peaks olema
nii...
Punktid, kus on võimalik protsessi kontrolliks (ja SUSPENDED olekuks)
peatada, kui ta hakkab mingit erilist ressurssi tahtma.
Laademoodul (load module)
Laade moodul on valmis kompileeritud (õigemini lingitud) programm,
mida on võimalik mällu laadida (käivitada). Laademoodulis
on olemas täpne info (võrreldes objektmooduliga), kus hakkab
mingi muutuja paiknema, kus on alamprogrammide lähtepunktid jne. Muud
infot (millest on kompileeritud, millest sõltub), seal sees ei ole.
Erandeid siiski on: tänapäeval on laademoodulid (loe: programmid)
kasvanud väga suureks. Selleks, et nende mahu vähendada kõiki
teeke nende külge ei lingita; need lingitakse laaduri poolt laadimise
ajal ja nende teekide nimed on laademoodulis küll kirjas.
Laadurid (loader)
Tema ülesanne on kopeerida laademoodul välismälust põhimällu
(kui ta seal juba ei ole), initsialiseerida baasaadressid ja luua uus protsess,
mis vastab sellele moodulile.
Lehekülgmälu (paging)
Lehekülgmälu on üks virtuaalmälu (lihtsamaid) vorme.
Virtuaalmälu sellepärast, et lehekülgedel sisaluvat infot
võib olla rohkem kui põhimälu (tavaliselt siiski nii
ei ole). Tavaliselt on lehekülje maht konstantne suurus. Adresseeritakse
virtuaalste aadressidega. Nendest leitakse mingi algoritmi tulemusena lehekülg,
millel vajallik stuff asub. Kui juhtub, et lehekülg ei ole põhimälus,
siis tuuakse ta sinna. Lehekülgmälu on segmenteeritud adresseerimise
edasiarendus.
Linkurid (linkage editor)
Linkur on programm, mis lingib objektmoodulitest kokku ühe laademooduli.
Laademoodulis sisalduv info on minimaalne.
Listid (list)
Minu arusaamist mööda on list eelkõige järjekord,
kuhu ühte otsa pannakse infot ja teisest võetakse. Listiks
võib siiski pidada ka magasini (pinu).
Monitorid (monitor)
Mälu fragmenteerumine (memory fragmenting)
Probleem,mis kaasneb siis, kui mälu eraldatakse erinevate kogustena
(a kuidas siis veel, kui mitte nii ???). Kui me eraldame erinevate suurustega
mälu osi, siis varem või hiljem saavad suurema pikkusega osad
otsa ja opsüsteem teatab võidukalt: Out of memory. Asja lähemal
uurimisel selgub, et vabad mälu osad on väikese mahuga.
Objektmoodulid (object module)
Objektmoodul on kompilaatori poolt loodud fail, milles on masinkoodis kirjas
kõrgkeeles kirjutatud programm, andmed. Samuti on seal info sellest,
millis(t)e faili(de) alusel on antud objektmoodul loodud ja mida tema linkimisel
on vaja arvesse võtta. Natukene on seal kirjas ka seda, kuidas tema
sisu mällu paigutada (kindla aadressiga muutujud).
Ootamine (waiting)
Otse(pöördus)failid (direct access file)
Need on failid, millest saab kirjeid suvalises järjekorras välja
lugeda. See eeldab seda, et kirjed on fikseeritud pikkusega.
Paiskadresseerimine (hashing)
Eesmärgiks on info võimalikult ühtlaselt ära paigutada,
mingi kindla korra alusel (muidu ei leiaks enam pärast üles).
Pakett töötlus (batch)
Selline töötluse viis, kus korjatakse kokku palju sarnaseid ülesandeid
ja saadetakse nad korraga täitmisele. Võimaldab arvutit kaunis
ühtlaselt koormata.
Pinu (stack)
Mõnes mõttes eriline info hoidmise viis, kus viimasena salvestatud
element on esimesena kätte saadav.
Planeerimine (scheduling)
See on protsessidele aja jagamine. Kastutatakse erinevaid algoritme. Vt.
pilti.
Prahikoristus (garbage collection)
Võimalus vabaneda fragmenteerunud mälust.
Prioriteedid (priority)
Samuti seatod protsessidele defitsiitsete ressursside (eelkõige
protsessor, printer) jagamisega. Tihedalt seotud planeerimisega.
Protsessi blokeerimine (blocked)
Protsessi töö katkestamine, mingil põhjusel nii, et teda
saab jätkata sealt, kus ta pooleli jäi.
Protsessid (process)
Protsess on programmi töötav eksemplar. Kui programmis on ette
nähtud, siis saab üks protsess teisi veel juurde luua.
Protsesside juhtimine (process scheduling)
Jällegi ajastamisega seotud mõiste...Vist :)
Puhvrid (buffer)
Puud (tree)
Vahest kõige levinum mittelineaarne struktuur. Vaata
pilti.
Registrid (register)
Registrid on väikese mahutavusega, kuid väga kiired protsessori
juures olevad mälud.
Ressursid (resource)
Need nähtused, mida arvuti programmidele pakub...
Seadmed (device)
Füüsilised masinad, mis on arvuti külge ühendatud ja
mida opsüsteem peab kasutajale vahendama.
Segmendid (segment)
Kuulub mälu jagamise juurde.
Semaforid (semaphore)
Variant, kuidas protsesse kriitilises sektsioonides korralikult hoida.
On kahesuguseid:
Sünkroniseerimine (synchronization)
Variant, kuidas protsesse ajastada.
Teegid (library)
Need on eelkõige objektmoodulite ühendamisel saadud fail(id)
(põhimõtteliselt), mis sisaldavad kõige sagedamini
kasutatavat infot. Objektmoodulite päiste info on teekides tavaliselt
liidetud kokku (võtab vähem ruumi). Teegi alguses on päis,
millest saab välja lugeda selle, kus kohas soovitud asi asub ja mida
ta võib veel vajada.
Ummikud (deadlock)
Ummik on nähtus, kus grupp protsesse on pidevalt blokeeritud nii,
et ükski ei saa akiivseks. Ummiku tekkimiseks tarvilikud tingimused
on:
Kuidas ummikutega hakkama saada?
Kui eeldada, et iga protsess on deklreerinud, oma ressursivajaduse, siis saab kasutada pankuri algoritmi.
Vastastikune välistamine (mutual exlusion)
Nähtus, kus protsessid ei hakka teiste protsesside kriitilistesse
sektsioonidesse tungima. Eelduseks on see, et ühisressursi muutmine
toimub kriitilises sektsioonis. (NB! Selles saab antud ressursi suhtes
samal ajal olla ainult üks protsess.)
Vastastikuse välistamise mehhanism peaks olema selline, mis
Virtuaalmasinad (virtual machine)
See on arvutisüsteem, kus igale kasutajale moodustatakse nagu oma
isiklik personaalne arvuti. See arvuti omab kõiki tegeliku arvuti
komponente, mida talle nö. emuleeritakse. Virtuaalmasinal on olemas
oma protsessor, oma kettad jms. Operatsioonisüsteemi ülesandeks
on nendele vastavate tegelike ressursside jaotamine.
Virtuaalmälu (virtual memory)
See on põhimälu laiendus välismälu arvel. Tavaliselt
on virtuaalmälu lehekülgmälu laiendus ja teda on rohkem
kui põhimälu. Virtuaalmälu kasutamise põhiprobleemiks
on see, et nii andmed kui ka programm peavad asuma põhimälus
täitmise ajal.
Ülekatteprogrammid (overlay)
Need on programmid, millede kompileerimisel on juba ette nähtud, et
osa programmi jääb välismällu. Sellistes programmides
võib vastata ühele ja samale aadressile mitu erinevat nähtust
(muutuja, alamprogrammi aadress jms.). Selleks, et kasutataks õiget
asja, on vaja ülekatte haldurit (overlay manager), mis vajaliku programmi
lõigu põhimällu laeb.