pühapäev, 15. märts 2015

1. Kuidas CPU töötab/Scott processor video

CPU – Central Proccessing Unit

CPU on arvuti aju.
GHz – Giga (miljard) Hertz (korda sekundis)
Scott CPU
Pinnide kaudu emaplaadi külge.
RAMis on kõik andmed, mis on protsessoris kasutusel.
Programm saadab info RAMile, mida tal vaja on ja RAM saadab siis selle.
Instructions – juhised:
  • LOAD – number RAMist
  • ADD – liida 2 numbrit kokku
  • STORE – number CPUst RAMi
  • COMPARE – võrdleb ühte numbrit teisega
  • JUMP IF – kui mingi tingimus on täidetud, siis saadab teisele aadressile RAMis
  • JUMP – saadab teisele aadressile RAMis
  • OUTput – seadmele, mis ootab infot (monitor)
  • INput – seadmele, mis annab infot (klaviatuur)
CPU sisu:
  • Control Unit
  • Arithmetic Logic Unit (ALU)
  • Registers
Emaplaat ühendab komponendid BUSidega kokku.
Kõvakettast liigutatakse vajalikud andmed RAMi, et seda kiiresti kasutada.

2. Operatsiooni süsteemid, loeng 1

Operatsioonisüsteem on programm, mis vahendab arvuti kasutajat ja arvuti riistvara. Selle eesmärk on lihtsustada arvuti kasutamist kasutaja jaoks. Mida kaugemal asub seade emaplaadist, seda aeglasem see on e kui seade ei ole emaplaadi küljes, on see aeglane. Kõik mis on elektroonikaga seotud, on ka seotud operatsiooni süsteemiga.
Arvuti võib jagada neljaks komponendiks:
  • Riistvara – HDD, RAM, CPU jms
  • Operatsioonisüsteem – vahendaja riistvara ja kasutaja vahel
  • Programmid – brauserid, mängud jms
  • Kasutajad – inimesed, masinad jms
OS on:
  • ressursside juhtija
  • kontrollprogramm
Kernel on programm, mis töötab kogu aeg kui arvuti töötab. Teised on OSi programmid või programmide programmid.
Bootstrap programm läheb tööle siis, kui arvuti tööle läheb. Hoitakse ROMil, tuntud kui firmware. Vaatab üle, mis arvutis on ja edastab info kernelile ja OSile.
Tõi välja ka palju näiteid päris eluga

3. Operatsiooni süsteem põhimõtted, loeng 4

OS käivitab erinevaid programme:
  • Batch system – tööd
  • Time-shared systems – kasutaja programmid ja tööd
Protsess – programm, mis töötab; protsessid peavad töötama järjekorras.
Protsess sisaldab:
  • Programmi loendurit
  • Kogumit
  • Andmete sektsioon
Protsessi staatus:
  • new – protsessi tehakse
  • running – juhiseid täidetakse
  • waiting – oodatakse mingi tingimuse täitumist
  • ready – valmis töötama protsessoris
  • terminated – protsess on lõpetanud oma tegevuse
Protsessi kontrollplokk – PCB:
  • Protsessi staatus
  • Programmide loendur
  • CPU registrid
  • CPU scheduling info
  • Mäluhalduse info
  • Accounting info
  • I/O staatuse info
CPU ajastuste järjekorrad:
  • Töö järjekord – kõik protsessid süsteemis
  • Valmis järjekord – protsessid peamälus, valmis töötama
  • Seadme järjekord – protsessid ootavad I/O seadmelt infot
  • Protsessid võivad nende vahel liikuda
Ajastused:
  • Pikaajaline ajastus (töö ajastus) – valib protsessid, mida tuua valmis järjekorda (aeglane)
  • Lühiajaline ajastus (CPU ajastus) – valib protsessid, millega töötada järgmisena (Kiire)
Protsessid:
  • I/Oga seotud – kulutab rohkem aega sisend/väljundi kui arvutustega, palju lühikesi CPU kasutusi
  • CPUga seotud – kulutab rohkem aega arvutamisele, vähe ja pikki CPU kasutusi
Protsessi loomine:
  • Ressursside jagamise võimalused:
    • Vanem- ja lapsprotsessid jagavad kõiki ressursse
    • Lapsed jagavad osa vanemressurssidest
    • Vanem- ja lapsprotsessid ei jaga ressursse
  • Tööle panemine:
    • Vanem- ja lapsprotsessid täidetakse kõrvuti
    • Vanem ootab kuni lapsprotsess on lõpetatud
Koostööd tegevad protsessid:
  • Iseseisvad protsessid – ei saa mõjutada ega olla mõjutatud teiste protsesside poolt
  • Koostööd tegevad protsessid – saavad mõjutada ja olla mõjutatud teiste koostööprotsesside poolt
  • Koostöö eelised:
    • info jagamine
    • arvutused kiiremad
    • modulaarsus
    • mugavus
Sünkroneerimine:
  • Blokeerimine on sünkroonis
    • Blocking send – hoiab saatmist kinni, kuni sõnum on saadud
    • Blocking recieve – hoiab vastuvõtjat kinni, kuni sõnum on saadetud
  • Mitteblokeerimine on mittesünkroonis
    • Non-blocking send – laseb saatjal saata sõnumi ja minna siis edasi
    • Non-blocking recieve – laseb vastuvõtjal saada sõnumiga või tühja sõnumi (null)
Puhverdamine:
  • tühi maht – saatja peab ootama vastuvõtjat
  • piiratud maht – saatja peab ootama kui maht on täis
  • piiramatu maht – saatja ei pea kunagi ootama

4. Operatsiooni süsteemi põhimõtted, loeng 7

Räägib main memory-st(peamälust).

Loogiline ja füüsiline aadress:
  • Loogiline – genereeritud CPU poolt, ka virtuaalne aadress
  • Füüsiline – nähtav mälu poolt
Swapping – saalimine:
  • Protsessi saab panna ajutiselt “backing store”i ja siis tuua tagasi täitmisele
  • Backing store – kiire ketas, kus on piisavalt ruumi, et mahutada ära ära pandud protsessid
Dünaamiline hoiustamine:
  • First-fit – võtab endale esimese piisavalt suure osa
  • Best-fit – allutab väikseima osa, mis on piisavalt suur, kuid peab otsima terve nimekirja, kui pole just suuruse järgi sorteeritud
  • Worst-fit – allutab suurima osa, peab otsima läbi terve nimekirja
Jagatud lehed:
  • Jagatud kood
    • Üks koopia lugemiseks mõeldud koodi jagatud protsessidele
    • Jagatud kood peab olema samas asukohas kõigi protsesside jaoks
  • Privaatne kood ja andmed
    • Iga protsess hoiab eraldi koopiat koodist ja andmetest
    • Lehed privaatse koodi ja andmete jaoks võib olla ükskõik kus
Segment on näiteks:
  • peaprogramm
  • protseduur
  • funktsioon
  • meetod
  • objekt
  • kohalik, üldine muutuja
  • levinud plokk
  • virn
  • sümboli tabel, massiiv
Segmentimise arhidektuur:
  • Segmendi tabel – kirjas füüsilised aadressid 2Ds, iga tabel sisaldab:
    • baasi – sisaldab füüsilist aadressi, kus segment mälus asub
    • limiiti – kirjeldab segmendi pikkust
  • Segmenditabeli baasregister (STBR) – näitab segmendi asukohale mälus
  • Segmenditabeli pikkuse register (STLR) – näitab segmendi arvu, mida programm kasutab
  • Kaitse
    • Iga sissekanne segmenditabelis on seotud:
      • Kinnitamise bit – kui see võrdub nulliga, siis segment on illegaalne
      • Lugemis-/Kirjutus-/Käitamisõigused
  • Kaitsebitid seotud segmentidega. koodi jagamine toimub segmendi levelil
  • Kuna segmendid erinevad pikkuses, mälu allutamine on dünaamilise mäluallutuse probleem