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:

  1. Fikseeritud pikkusega.
    Pluss on kiire juurdepääs, kuna asukoha saab kergesti arvutada (baas+mitmes), ja lihtne asendamine, kuna ülejäänud ei nihku.
    Miinuseks on võimalikud mälukaod, kui kirje on osaliselt täidetud.
  2. Muutuva pikkusega.
    Plussiks on muutuv maht, mis tagab parema ökonoomsuse (tühje osi tavaliselt ei teki). Kirje pikkus on ta sees tavaliselt kirjas. Probleem tekib kirje pikkust sisaldava välja mahuga.
    Miinused: kirjete asendamisel võib tekkida vajadus kõigi olemasolevate kirjete asukohti muuta; otsimisel on vaja sobiva kirjeni jõudmiseks järjest skanneerida.
  3. Määramata pikkusega.
    Pluss: kirje pikkus on määratlemata, eraldajateks on spetsiaalsed markerid. Tavaliselt asub eraldaja kirje lõpus. Vt. pilti.
    Miinused on samad, mis eelmiselgi kirje tüübil.

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 (A: send (B,mess); B: receive (A,mess);). Kaudsel saatmisel kasutatakse postkaste; nii on võimalik saata mitmele ja saada mitmelt protsessilt teateid korraga. Ülekandmine on kas kopeerimisega (töökindel, kuid aeglane) või ülekandmisega (kiire, kuid peab olema kindel, et saaja sai teate kätte; vahetatakse aadressi). Ülekandmise võimalused on puhvrita (sünkroonne) ja puhvriga (asünkroonne). Tuleb garanteerida, et ei tekiks blokeerumist.

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?

  1. Ennetamine (vähemat ühe ummikutingimuse mahasurumine)
  2. Vältimine
    Kui ressursi hõivamine ei ähvarda ummikuga, siis ja ainuslt siis eraldatakse mälu.

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.