esmaspäev, 9. veebruar 2015

Praktiline osa - Virtual Machine

**Töötava protsessi juhtbloki andmestruktuuri vaatamine
**Kohaliku tuuma „debugging“ käivitamiseks WinDbg-ga :
       ¤ Tuleb valida File menüüst Kernel Debug, siis 
        ¤Tuleb valida Local vaheleht ja klikkida OK.
** Avaneva akna allosas peaks olema viip lkd > ja aknake, kuhu saab käske tippida. 
**Käskusid saab vaadata Debugger.chm failist (abiinfo fail) ning lisaks saab kasutada dt (display type) käsku ca 1000 parameetriga. 
**Kerneli sümbol fail on vaja enne seadistada.

***Kerneli struktuuride tüübi info saab käsuga dt nt!_*
***Katkestuste objekti struktuuri saab käsuga dt nt!_*interrupt*:, selle väljundi esimene rida on „nt!_KINTERRUPT, selle sisu saab omakorda vaadata dt nt!_KINTERUPT: käsuga.
***Alamstruktuuride vaatamiseks peaks lisama võtme –r.
***Aktiivsete protsesside (eprocess) struktuuride vaatamine: dt nt!_eprocess
***Väljundi esimene rida on pcb, selle struktuuri saab vaadata dt _kprocess käsuga
***Käsk !process ilma konkreetse mäluaadressita näitab ühetuumalise protsessori korral parasjagu täitmisel olevat protsessi CPU 0 –s, milleks on WinDbg ise.

****Protsessi keskkonnablokk (PEB) paikneb kasutajamoodi aadressruumis.
**** Ta sisaldab infot, mida on vaja kujutise (image) laaduril, kuhjahalduril (heap manager) ja teistel Windows komponentidel, millised peavad ta poole pöörduma kasutajamoodis. 
****Mingi kindla protsessi PEB vaatamiseks on vaja anda käsk !peb koos mäluaadressiga 16-süsteemis. 
****Protsesside aadresside leidmiseks peab File menüüst valima Attach To A Process valiku
       ***Valige Csrss ja kasutage tema aadressi !dp v käsus
       ***W32PROCESS vaatamiseks: dt win32k!_W32PROCESS (aadress lisada)
****Lõime struktuuride vaatamine: dt nt!_etread ja edasi dt nt!_ETREAD Tcb
****Mingi protsessilõimede vaatamiseks peaks kasutama kõigepealt !process käsku ning sealt tuleks valida lõime ja siis seda kasutada !thread käsku, lõime keskkonnablokki saab vaadata !teb käsuga.

PILTE SELLE TEEMA KOHTA :












Kettad.

KÕVAKETAS.

Kasulik leht :  
* http://www.cs.tlu.ee/osakond/opilaste_tood/bakalaureuse_ja_diplomitood/2002/Rain_Haviko/mass-salvestus/tekstid/hdd_ehitus.html
http://www.htg.tartu.ee/if/Baaskursus/Ehitus/Ehitus.html




** Need  joonised annavad aimu millne kõvaketas välja näeb.



# Ketta poole pöördumise algoritmid : 
  *First-in First-out
  * Shortest Service Time First (SSTF)
  * SCAN 
  * C-SCAN
  * N-Step-SCAN
  * FSCAN

Input / Output

Vaata ka lehte: http://en.wikipedia.org/wiki/Input/output

** Arvuti peamine eesmärk on protsesside või seadmete juhtimine.
** Sisendid on andmed,  mida arvuti suudab sisestada ja väljundid on andmed, mida arvuti väljastab.
       * Nt säknner on sisendseade.
       * Nt klavetuur ja hiir on sisendsedmed.
       *Nt kõlarid on väljundseadmed.

MO|DEM
 # Moduleerima ja demoduleerima
    * See võimaldab kahepoolset sidet
    * Signaalid moduleeritakse ja saadetatkse üle demoduleerile.
#Hiirtes ja klavetuurides on kontrollerid, millega nad töötavad

I/O seamdete liigitus :
   1. Sobilikud inimsega suhtlemiseks >> (nt printerid,klavetuurid ja hiired)
   2. Masin loetavad >> On sobilikud masinatega suhtlemiseks (nt kettal, USB,tajurid ja igasugused seadmed)
        *Sensorid ehk tajurid
        * Tajursüsteemid on mõeldud mingite süsteemide/andmete lugemiseks
   3. Side >> Kaugel töötavate arvutitega suhtlemiseks (nt modemid)

**** NIC ehk network interface card (võrgukaart)

ERINEVUSED :
       *Andmeedastus kiirus (data rate)
       * Rakendusteave (application)
       * Juhtimise keerukus (complexity of control)
       * Ülekantava info ühik (unit of transfer)
       * Andmete esitluse viis (data representation)
       * Vea tingimused ( error conditions)


Arvutis on emaplaat, kuhu paigutame protsessorid ja selle on olemas teatud kiibistikud üks neid kannab nime põhjasild ja teine kannab nime lõunasild.
   * Põhjasilla teine nimi on mälukontroller (MCH) ning ta ühendab kiireid seadmeid(mälu, protsessorid)
   *Lõunasilla teine nimi on i/o konroller (ICH) ning selle küljes on kõik teised asjad hiired, klavetuuri, võrgujuhtmed jne.
      £ Lõunasild on aeglasem kui põhjasild.

***Arvuti arhitektuuris on protsessor koos peamäluga ming nad moodustavad arvuti aju.
*** Läbi nende käskluste arvuti töötabki.
*** Kõik, mis me ajusse saadame ja välja saadame, käsitletatakse I/O-na.
**** Me kasutame liideseid suhtlemiseks (interface)
NB! Arvutis iseenesest ei juhtu midagi , kui see vajalik asi protsessoris ei esine siis see tulemust ei anna.
    * Näitkes liikuda hiirt, aga see liigitus ei jõua protsessorissse tulemus on see, et sa ei näe arvuti erkaanil hiire liikumis ja seega ei saa sa oma tööd edasi teha.


 KOLM PÕHITÜÜPI, kuidas suhtlemine käib :
     1. Programeeritav >>> protsessor ootab, et seade oma töö lõpetaks
     2. Katkestussignaali põhiline sisend ja väljund süsteem >>>protsessor kästutab sisend ja väljund süsteemi
     3. Otsene mäluaadress >>> seotud arvuti mäluga otse, selleks, et temaga pöörduda, tuleb pöörduda kõigepealt mälupiirkonna poole.

*Exception / Trap - on eri olukord, millega protsessor ei peaks tegelema.
* Sellistes olukordades  jätab protsessor pooleli kõik tööd.
* Osad seadmed suudavad ilma katkestustsignaalita töötada, aga mitte kõik.

    ** Need, mis suudavad ilma katkestussignaalita töötada , need on programeeritavad.


****Kõikidel kontrolloritel on teatud konaktjalakesed, kuhu tulevad andmed.
  * Andmejalakesed, kuhu tulevad andemed
  * Aadressjalakesed, kuhu tulevad aadressid
  *  Teavitusjalakased
  * Lugemisjalakesed                    * Katkestussignaali-jalakesed


 ****Control logic -  tegeleb päringute, teavituse ja katkestussignaalidega.

**Ühesiinilise arvutiga on ühendatud kõik ühe siiniga
       **Kui töö käib läbi DMA bloki, siis ta on oma ehitusele keerukam, sest tööülesannet hulk läheb keerukamaks.
** Üldistamise eesmärk on ära peita seadmete erinevused, et nad käituksid pealtnäha kõik ühesugustena
      * On vajalik nii operatsioonisüsteemi sesukohalt kui ka selleks, et protsessorid saaksid neid seadmeid kasutada.




***Andmevahetus käib blokkühikutes ja aja ühikuks on mingi bloki ühik.
***Bitivoogudena antakse edasi andmeid.
             >mõõdetakse bitisekundites ja tema kordajates.
*** Loevad voogudest üks asi korraga.
       *Saadame voo ja loeme sealt neid elemente , sest meil on erinevad seadmed
*** Bufferdus ehk konpentseerimise jaoks vajalik ruum
        >No buffer (Kui buffrit pole siis pöördub ta otse op-süsteemide poole)

       > Single Buffer - arvutatakse neid aegu ja seda aega, mida kasutatakse andmete saatmikseks või aindmete kättesaamikseks.(OP-süsteem eraldab peamälus selle osa mis jääb seadmega suhtlemiseks)
      >Double Buffer - nii saatmiseks kui ka vastuvõtmiseks on eraldi buffeird.Üks kijrutab ja nt teine loeb, sest nii saab aega kokku hoida.
      >Circular Buffer (Ring Buffer) - seda kasutatakse siis, kui yehakse mitme bufferiga tööd. Näitkes kirjutad iga tähe eraldi buffrisse, et need saata pärats protsessorisse.
**Buffer ehk mälu ruum.
** Iga klahvi vajutusega saab arvuti tgelikult arvusignaalid, mida ta teisendab.

Buffer on tehnika, mis võimaldab ühtlustada kasutaja ja protsesside tööd.


pühapäev, 8. veebruar 2015

Sisend ja Väljund haldus ning seadmeajurid


*Seda lehte võiks ka vaadata: http://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/13_IOSystems.html


**Draiverid ehk seadmeajurid.

* Kontrollerid on mõõtmetelt väiksemad, kui põhiprotsessor ja nemad suudavad aru saada väiksema mahulisest tekstist.
* Kõik seadmed on erineva kiirusega
* Kõikidel seadmetel on vahendajad.
* Operatsioonisüsteemi tuum on võimeline kõikide nende riistvaradega suhtlema.
        ¤ Kernel ehk operatsioonisüsteemi tuum  peab tegelema I/O, et saaks suhelda riistavaradega.


* Seadmetega suhtlemine võtab aega ning seda korraldatakse läbi sisend/väljund alasüsteemidega.
* Seade tavaliselt saadab tagasi signaali (ehk katkestussignaali), kui see signaal tuleb, siis on teada, et töö on tehtud.
* Erinevatele seadmetele on võimalik seada katkestuspordid, nende abil on võimalik suhelda.

 VÕIMALSED ANDMEID SAATA 
    * data-out  > saadab andmeid välja.
    * data-in > saadab andmeid sisse.
    * control register > võimaldab lülitusi teha, saadab lülitussignaale.
        * status register

KATKESTUS EHK SUHTLEMINE.

 Multiplexing ehk köiepunimine - võimaldab lõimed kokku punuda, et saavutada suurema kiirusega terve maht.
       ¤ See on põhiliselt erinevate andmete kokku miksimine, et neid andmeid kiiremini kätte saada.
# I/O(Sisend/Väljund) süsteem koosneb:
    * I/O manager
    * Plug and Play(PnP)manager
    * Power manager

Kokkuvõte - mäluhaldus

# Mäluhalduse põhitegevused ja eripärad.
     * Hõivatud mälupiirkondade ringi-või ümbertõstmine.
     * Mälu kaitse.
     * Mälu jagamine.
     * Mälu loogiline organiseerimine.
     * Mälu füüsiline organiseerimine.
     * Mälu tihendamine ehk pakkimine.

# Mälu ja protsessor
      * Põhimälu - aadressidega baidimassiiv - ainuke suurem salvestuspiirkond, mille poole CPU saab otse pöörduda.
      * Protsessor loeb mälust käske ja andmeid.
          ¤ Käsu lugemine
          ¤ Esimese argumendi lugemine
          ¤ Teise argumendi lugemine
          ¤ Käsu täitmine
          ¤ Tulemuse mällu tagasi salvestamine

# Mälu kaitse 
     * Protsessid ei peaks olema võimelised ilma loata viitama teise protsessi mälupiirkonnale.
     * Seda kutsutakse mälu kaitseks ja see takistab kahjurprogrammidele või viirustel või kahjulikul koodil õhes programmis sekkuda teise töötava protsessi (programmi) töösse.

# Mäluhalduse lihtsaim käsitlus.
      *  Käivitatavatele programmi protsessidele mälu hõivamine ja mälu vabastamine, kui seda enam ei vajata.
            ¤ Mäluhaldus on arvutisüsteemi töö eluline osa.
      * Virtuaalmälu süsteemid lahutavad protsesside poolt kasutatavad mäluaadressid tegelikest füüsilistest aadressidest, kirjuades osa mälu sisut kettale ja suurendades nii efektiivse vaba mälu mahtu.

# Mälu loogiline jaotus.
        * Loogiline aadress - programmide poolt kasutatav aadressiruum, nimetatakse ka virtuaalseks              aadressiruumiks.
        *  Programmid koosnevad tihti moodulitest. Selliseid mooduleid võivad erinevad programmid                 omavahel jagada. Osad neist on loetavad ja osad sisaldavad muutumist vajavaid andmeid.
        * Mäluhaldus vastutab sellise loogilise jaotuse organiseermise eest, mis erineb füüsilisest                    aadressruumist.
        *Üks moodus seda toestada on segmentimine.

# Mälu füüsiline jaotamine 
       * Mälu tavaliselt jaotatud peamäluks ja sekundaar mäluks.
       * Mäluhaldus tegeleb mälu liigutamisega nende mälude vahel.
       * Sekundaarne mälu- andmete pikemaajaline hoidmiseks mõledud mälu (kettad, megnetlindid)
       * Välismälu - CD, DVD ja väised kettad.
       * Virtuaalmälu

# Mälu tihendamine ja pakkimine - tehnikat, mis võimaldab hõivatud piirkondi ümber tõsta suurema vaba ruumi tekkimiseks.
        * Mälu saab tihendada järgmistel tingimustel :
                ¤ niipea, kui töö(tegutsemine) lõpeb
                ¤ kui uut tööd ei saa mällu laadida, mälu killustatuse tõttu.
                ¤ teatud ajaperioodi möödumisel.
      

Mäluhaldus


Vaata kindlasti:
* www.youtube.com/watch?v=qdkxXygc3rE
* https://www.youtube.com/playlist?list=PLmbPuZ0NsyGS8ef6zaHd2qYylzsHxL63x


VIIS PÕHIMÕTET :

1. Protsessori isoleerimine - protsessid peavad üksteisest olema eraldatud.
2. Automaatne mälu hõivamine ja mälu haldus - näiteks klikid hiirega mingi rakenduse peal, rakendus läheb ise tööle ja sa ei pea mõtlema, kuhu mällu see rakendus läheb ning mida ta täpselt teeb.
3. Toetus mudelaarsele programmi ülesehitusele - kõikidel tänapäeva rakendustel on olemas modulaarne toetus.
4. Mälu kaitsmine ja juurdepääs - mälule juurdepääs peaks olema ainult neile, kellel peaks olema õigus sinna ligipääseda, teisi sinna sisse ei lasta.
5. Pikaajaline hoidmine ehk talletamine - näiteks vahepeal arvuti välja lülitamine või päev otsa tööl hoidmine.

   # Protsessid peaksid olema toodud mällu ja peaksid olema seotud selle mäluga, kus nad on.
   #  Protsessor saab kasutada ainult peamälu ehk RAM-i ja protsessori enda registrit ehk cache(vahemälu).
        ¤ Vahemälu paikneb peamälu ja protsessrit vahel. (on nn vahendaja rollis)
  #  Registrite poole pöördumiseks läheb aega 1 protsessori takt. RAM-i poole pöördumine on aeglane.
  # Mälu kaitsemehhanimsme on vaja rakendada, et tagada tehete õigsust ja tehingute korrektsust.


Mäluhalduse mõisted :

   ¤  Mälu kaader - on kindala pikkusega RAM-i blokk ehk peamälu blokk.
   ¤  Lehekülg - on kindla pikkusega andme blokk, mis paikneb sekuntaarmälus ehk kettal.
              * Seda lehte saab/võib ajutiselt kopeerida kaadrisse.
   ¤  Segment -  on muutuva pikkusega andmeblokk, mis paikneb sekuntaarmälus.

Virtuaal mälu - on kettal paiknev puhvermälu.
                * Windowsil on ta nimega "page file"
                * Linuxil on ta nimega "swap" (ehk saaleala)
**Tavaliselt on 1,5x RAMI-i suurusest.

# Mäluhaldus on tehtud nii, et mälu saaks rahuldada järgnevaid mehhanisme :
       *Relocation - mälu ümberpaigutamine > swapi liigutamine ehk saalmine
       *Protection - mälu kaitsmine
       *Sharing - mälu jagamine 
                   ¤ Ühes mälupiirkonnas pole võimalik mitmel asjal korraga ringi liikuda.
       *Loogiline mälu organiseerimine
      * Füüsiline mälu organiseerimine
 # Kui mälu pole PCB-s, siis ta pole otseselt täitmisel ja selle võib saalida.

# Loogiline mälu organiseerimine.
     * Mälu on organiseeritud lineaarselt.
     * Nendega on seotud laopitide süsteem.
     * Programmid on kirjutatud moodulitele.
     * Andmete jagamine moodulite tasemele vastab tavainimeste probleemide käsitlemisele.

# Füüsiline mälu organiseerimine 
  * Programmeerijale ei anta kohustust mälu hallata, tegelikult ei anta talle selleks võimalust.
  * Vajalik mälu, mis on programmi ja tema andmete laadimiseks vajalik, ei pruugi olla alati olemas.
  * Programmeerija ei tea, kui palju mälu vaja läheb.
  * Mälu ülekattumine - ei ole piisavalt ruumi olukorrad, lubatakse mälu ülekattumist, üks moodul kirjutatakse teise peale, raiskab palju aega.

# Mälu jaotamine 
       * Mälujaotiste tekitamine on seotud protsessi peamälu täitmiseks.
                       ¤ Sisaldab virtuaalmälu
                       ¤ Põhineb segmentidel ja mälu lehekülgedel
       * Kettajaotised
                     ¤ Kasutatakse mõningate varemates operatsioonisüsteemideks.
                     ¤ ei sisalda virtuaalmälu kaasamist.

# MÄLUHALDUS TEHNIKAD.
      *Kindla suurustega jaotiste tegemine - peamälu jaotatakse kindla suurusega tükkideks.
             ¤ Seda on hästi kerge rakendada.
     * Dünaamiline jaotiste loomine -  peamälu jaotatakse dünaamiliselt tükkideks ehk vastavalt vajadusele tükkideks või blokkideks.
            ¤ Eesmärk on see, et iga protsess laadidakse sellisesse mälu tükki nagu protsess ise on ehk, siis tekitada vastavalt protsessi suurusele mälu tükk.
            ¤ Sisemist killustatust ei esine.
    * Lihtsate lehekülgede moodustamine - peamälu jagatakse võrdse suurusega kaadriteks.
            ¤ Tükeldatakse mõistliku suurusega tükkideks ehk nii nagu vaja.
            ¤ Ei ole välist killustatust.
    * Lihtsate segmentide tegemine - iga protsess jaotatakse teatud arvuks segmentideks.
            ¤ Tükeldada iga protsess mõislikeks suurusteks.
    * Virtuaalmälu lehekülgede loomine - kõiki tükke pole vaja laadida
            ¤ Sarnane lihtsa lehekülje loomisega
    * Virtuaal segmentide loomine - saab välja jätta need segmendid, mida kohe tarvis pole laadida.
            ¤ Sarnaneb lihtsa segmentide tegemisele
** Pakkimine - seda kasutatakse välisekillustuse vähendamiseks.
** Kõikide protsesside korral pole vaja kõike asju laadida ehk saame need hiljem kutsuda kui neid vaja on . 

PUUDUSED :
     * Mällu laaditav programm võib olla liiga suur seega tekib probleeme, et ta ära mahuks ja selle tulemusena tuleb programm üle programeerida.
     * Peamälu võib olla ebaefektiivne, kui iga programm, sõltumata suurusest, võtab ära terve jaotise.
                ¤ Nt programm on 11 M ja jaotis on 8 M ehk võtan teise bloki appi ja seega jääb teisest blokist 5 M kasutamata = mälu võetakse rohkem, et olla kindel, et kõik ära mahub.

# Dünaamiline jaotamine.
    * Jaotus erineva pikkusega, erinev arv
    * Protsessidele antakse nii palju mälu, kui palju nad vajavad.
    * Kasutatakse IMB suurarvutite operatsioonisüsteeme.
    * Vaba ruumi otseselt nende vahel ei jää.
          ¤ Sisemist killustatust ei teki.
    * Mälu kasutatakse vähemalt algul efektiivselt ära, hiljem tuleb otsida sobiva suurusega tükki või tõsta ringi, kui ruumi ei jätku.
    * Välimine killustamine.
    * Aja möödudes tekib neid auke sinna juurde, mälukasutus hakkab vähenema.
    * Toimub pakkimine, kasutatakse välimise killustamise vähendamiseks.
    * Operatsioonisüsteem nihutab neid protsesse, et need oleks üksteise järgi, kogu vaba ruum on nagu üks blokk.
    * Selline tegevus nõuab palju aega.

# Mälupaigutse algoritmid - ehk mäluruumi hõivamise algoritmid.
    * Parim paigutus - valitakse üks blokk, mis on kõige lähedasem soovitud suurusele.
    * Esimene sobitus - krahmatakse esimese sobiva suurusega tükk.
    * Järgmine paigutus - alustab skännimist viimase paigutuse asukohast ja valib suuruse poolest järgmine bloki.

# Kaaslaste mehhanism -  kasutatakse nii fikseeritud kui ka dünaamilist põhimõtet.
      ¤ Vaba ruumi käsitletakse kui ühte blokki.


*** Best fit - parim paigutus, valitakse kõige lähedasema suurusega plokk.
*** First fit - esimene vaba ruum, kuhu vajalik protsess ära mahub.
*** Next fit - Alustab skannimist viimase paigutse asukogast ja valib järgmise piisavalt suure ploki.
*** Buddy system - kasutatakse kahte hõivamismeetodit korraga.
          ¤ Fixed
          ¤ Dynamic skeemid

     
          

laupäev, 10. jaanuar 2015

Protsesside plaanimine.



TÄHTIS LEHT: http://www.tutorialspoint.com/operating_system/os_process_scheduling.htm

PROTSESSI PLAANERIMINE on protsessi haldaja tegevus, mis haldab jooksvate protsesside eemaldamist CPUst ja mõne teise protsessi valimine kindla strateegia põhjal.

PLAANIMISE JÄRJEKORD - Viitab järjekorrale protsessis võis seadmes, kus ta saadab protsesse nii, et ei oleks mingit segadust..
#Pikaajaline plaanur- tasakaalustatud tööd.
#Lühiajaline plaanur- süsteemi tööd võimalikult kiiresti .
#Keskajaline plaanur- mälust kettale kirjutamine, saalimine.

  • Kui täitmis aeg sai täis, siis läheb ta tagasi plaanuri järjekorda.
                       # Täitevalmis järjekorda.
                      #  Masin järjekorda.
  • Pikaajalise on väiksem kiirus, kui lühiajalisel ( lühiajalisel on kiirus kõige suurem)
  • Pikaajaline võimaldab kasutada korraga mitmete programmide kasutamist, lühiajaline võimaldab vähem.
  • Keskmine võimaldab vähendada programmide kasutamist.

¤ Protsessil on kaks mudelit  töötav ja  mitte töötav (pausil)
¤  Kui protsess siseneb süsteemi, siis protsess pannakse töö järjekorda. See järjekord koosneb kõikidest protsessidest süsteemis. OS omab ka teisi järjekordi nagu seadmejärjekord. Seadmejärjekord on järjekord, mitu protsessi ootavad kindlat I/O seadet. Igal seadmel on oma seamdejärjekord.
 ¤ Eriseisundilised protsessi mudelid
# kaheseisundilised - running/not running
# sõltuvad tüübist, mis omakorda sõltuvad protsessori keerukusest
plaanureid liigitatakse - pikaajaline, lühiajalene, keskmise kestvusega.
plaanur - OS osa
#windowsil pikaajalist plaanurit ei ole.
#sõtlub ooeratsioonisüsteemi tüübist, millist plaanurit kasutab.
¤ Pikaajalist plaanurit kasutatakse strateegiliste protsessidega. 
 See võimaldab :
  - tasakaalustatud tööde realiseerimist. 
  - erinevaid töid kõige mõistlikumalt töödelda.
¤ Lühiajaline plaanur eht protsessori plaanur - CPU planner. ülesaanne suurendada süsteemi läbilaskvust. teastada töid võimalikult kiiresti.  
¤ Keskmine plaanur.
swap out tähendab, et mõned osad on tõstetud mälust välja. vähendab protsesside arvu töötlemisel, et saaks kiiremini töödelda.
eesti keeles swapping - saalimine 

  • Swap out- mõned asjad on tõstetud mälust välja, see vähendab protsesside arvu töötlemisel, mille tulemusena saab kiiremini töödelda.




 ¤ Konteksti  vahetus -  erinevaid protsessi blokke, vastavalt nende järjekorrale, muudab protsessi kui on vaja.
¤ Plaanur peab olema nii kirjutatud, et sisu vahetusi ei peaks nii palju tegema, sest see nõuab aega...

Konteksti vahetus

PROTSESSIS ON VAJALIK : 

#  Program Counter - peab arvet, kus on mingi käsklus pooleli.
#  Changed State - muudetud seisund.
#  I / O State - näitab riistvara seisundeid.
#  Accounting - näitab aega, mida plaanur kulutab  erinevate tööde tegemisel, näitab protsessori tootlust.





Schedulerite võrdlus tabelina...


LÕIM - tavaliselt seotud mingi protsessoriga, alamprotsess.