Teistmoodi IT

  • Vali üks enda jaoks kõige uudsem tugilahendus ja kirjelda seda ajaveebiartiklis.

Google Assistant

Tõsi, tegu ei ole uudse ega ka otseselt tugilahendusega, kuid sellegipoolest väärib see minu arvates eraldi artiklit, kuna seesama digitaalne assistent on/saab olema erinevate puuetega inimestele tohutult abiks arvutite ja netimaailmaga suhtlemisel. Senikaua, kuni inimesel on olemas enam-vähem selge kõnevõime ning vähemalt nõrk kuulmine, saab Assistant (muidugi ka teised sarnased lahendused, nagu Siri, Cortana, Bixby jt) täita inimese häälkäsklusi ning anda infot heliväljundi teel. Mis teeb aga Google Assistanti eriliseks, on asjaolu, et Google “õpetab” oma assistendile ka eesti keelt.

Mida ta suudab?

Kuigi alati saab ka paremini, suudab digiassistent teha juba praegu väga palju:

  • vastata lihtsatele päringutele (otsing, kuupäev/kellaaeg, taimer/stopper, ilm, arvutused, faktiküsimused, uudised jne);
  • helistada ja sõnumineerida;
  • hallata äratusi, kalendrit, märkmeid, meeldetuletusi jms;
  • suhelda ja käsutada erinevaid teenuseid (Gmail, Maps, Translate, Spotify, Facebook, Whatsapp jne);
  • juhtida teisi (toetatud) seadmeid kodus (valgustus, kütmine, televiisor, külmkapp jne);
  • ning – miks ka mitte – teha nalja ja rääkida niisama juttu.

Varsti eesti keeles?

Erinevate konkureerivate digiabilistega võrreldes on Google Assistant ainuke, kes on võrdlemisi avalikult näidanud välja huvi eesti keele digitaliseerimise vastu. Geenius.ee portaal teatas Google’i eestindamise plaanist juba käesoleva aasta juulis, mil otsiti eestlasi üle maailma erinevaid lausejuppe ette lugema. Novembri lõpus aga käivitati järgmine faas, kus lastakse eestlastel luua oma emakeeles erinevaid “OK, Google” algusega käsklusi.

Helge tulevik

See kõik on (eriti puuetega) eestlastele väga positiivne uudis, sest me pole veel arvutite loodud kvaliteetset eesti keelt kuulnud (olgem ausad, Elisa raamatu eestikeelne ettelugemisfunktsioon on ikka paras prügi). Usun, et eestikeelsetest assistentidest on palju abi just neile (puuetega) inimestele, kes muud suuremat keelt rääkida ei oska.

Tõsi, tegu ei ole ega saa olema vabavaralise lahendusega, kuid algatuseks on seegi hea. Google’i tegevus ärgitab loodetavasti ka teisi konkurente sama tegema ning ehk ühel päeval jõuab ka Tartu Ülikooli keelesüntesaator piisavalt heale tasemele.

Inimese ja arvuti suhtlus, ergonoomika ja kasutatavus

Too ajaveebiartiklis üks positiivne ja negatiivne näide kasutatavusest veebis (kasutada võib ülalmainitud Jakob Nielseni kasutatavuse komponente, aga ka muid kriteeriume).

Meediaväljaanded

Otsustasin eraldi positiivse ja negatiivse näite välja toomise asemel hoopis kahe Eesti meediaväljaande veebiversiooni kasutatavust võrrelda, ning seda Nielseni komponentide põhjal. Lõpetuseks toon ka välja teiste konkurentide head ja vead, kes kahe näite vahepeale jäid.

Positiivne näide – äripäev.ee

Kuigi pildil olev leht (äripäev.ee/uudised) ei ole Äripäeva avaleht, satub sinna nt Google’i otsingu kaudu või avalehel oleva menüü kaudu. Avaleht on reklaamide jm segajate poolest siiski kirjum. Otsustasin hinnata just seda lehte, kuna teised konkurendid nii reklaamivaba lehekülge ei pakugi.

  1. Õpitavus – lehte sirvides õpib kiiresti, kuhu klikkides satub uudisele ja kuhu vajutades kuskile reklaamlehele. Menüüde asetused on loogilised ning asukohad kiiresti leitavad.
  2. Tõhusus – ühelt uudiselt teisele liikumine on kiire ning kui aeg-ajalt ilmuvad veerand ekraani katvad reklaamid sulgeda, siis ka artikli saab mugavalt loetud.
  3. Meeldejäävus – kuna ma varem Äripäeva veebi külastanud ei ole, siis ei oska ma ka seda punkti kommenteerida. Küll aga arvan, et kuna siin midagi keerulist ei ole, pole ka midagi erilist meelde tuletada.
  4. Veakindlus – üldiselt on lehel raske midagi valesti teha, kui just täpselt reklaami peale ei kliki. Mingeid peidetud linke ega reklaame pole, mis avanevad tühjale kohale või menüüikoonil klikkides tagaplaanil.
  5. Rahulolu – reklaamid ja tasulised artiklid on küll tüütud, kuid mõistetavad, sest ka nemad peavad leiva lauale tooma. Üldiselt olen portaaliga rahul, kuna lugeja jalgealust reklaamidega ära ei tõmmatud.

Negatiivne näide – uudised.tv3.ee

TV3-e uudisteportaal on tänapäeva veebireklaamide õuduse musternäide. Kas me sellist lehte tahtsimegi domeenile uudised.ee? Pärast kolmeminutilist uudistelugemist on mul taustal lahti kuus ON24 veebilehte, kust ma mitte kunagi mitte midagi ostma ei hakka. Oleks siis olnud Euronicsi või Klicki lehed, siis oleks ka miskit võibolla sirvinud…

  1. Õpitavus – lehel surfates olen õppinud palju: 1) vähem klikke = vähem reklaamlehti taustal; 2) pool lehte täitva reklaami peab iga kord sulgema paremal-üleval nurgas asuva ristikesega; 3) automaatselt mängivad hakkavad heliga reklaamvideod on mõnus reaktsiooniharjutus, kes suudab kiiremini pausile vajutada; 4) üllatus-üllatus – selgub, et uudis on tegelikult reklaamvideo taga, niiet pane julgelt reklaam taas tööle; 5) pole hullu, reklaame näeb ka terve videouudise ajal…
  2. Tõhusus – ainuke asi, mida ma nüüd tõhusalt teha oskan, on terve veebilehe ristist kinni panemine. Või siis reklaamieemaldaja kasutusele võtmine.
  3. Meeldejäävus – kuigi kasutan ka TV3-e uudistelehte esmakordselt, tean juba teistest uudisteportaalidest, et uisa-päisa kuskile klikkida ei tasu. Äripäeva lehel polnud seda teadmist vaja, kuid siin on.
  4. Veakindlus – ütleme nii, et on väheseid kohti, kuhu klikkides ei satu lugeja mõne reklaami peale. Õnneks on parandamine suhteliselt lihtne: klõpsa aga ristikesele.
  5. Rahulolu – kui Äripäeva lehte kasutades tekib mõistmine, miks need reklaamid mul nina ees on, siis TV3-e puhul tekib ainult suur viha kogu selle portaali ja brändi vastu.

Kokkuvõte

Teised meediaväljaanded, nagu Delfi, Postimees ja Õhtuleht, olid võrreldes TV3-e omaga täiesti kasutatavad. Midagi ei lennanud vastu nägu, miski ei hakanud automaatselt mängima. Siiski oli reklaamide hulk suurem kui Äripäeval.

Võrdlus oli minu jaoks nagu eksperiment, mida uuesti korrata ei tahaks. Hea, et kasutan brauseriks Operat, millel on reklaamiblokeerija sisseehitatud. Mis puutub aga vaestesse ajakirjanikesse, siis neid ma võin toetada vaid juhul, kui nad pakuvad mulle võimalust selle sisu eest maksta või piirduvad vaid mõistliku reklaamimääraga (kuigi ka sel juhul võiks olla võimalus reklaame raha eest eemaldada).

Arendus- ja ärimudelid

Analüüsi ajaveebiartiklis üht tarkvara arendus- ja üht ärimudelit mõne konkreetse projekti näitel.

Wabariik

Näiteks võtan oma isikliku Minecraft serveri nimega Wabariik. Kasutan antud projekti nii tarkvara arendus- kui ka ärimudeli analüüsimiseks, kusjuures kindlat mudelit ma selle arenduseks ja müügiks kasutanud ei ole.

Kosemudel (waterfall)

Pilt Wikimediast

Iseeneselegi teadvustamata arendasin peaaegu täpselt kosemudeli järgi: kõigepealt kogusin infot, mida järgmisesse versiooni panna, siis disainisin uue versiooni, hakkasin seda arendama ning enne väljalaset ka testisin. Pärast avalikustamist jätkasin vigade parandusega ning jooksvate muudatustega, paralleelselt alustasin uue versiooni ettevalmistamisega.

Freemium

Ärimudelitest kasutasin freemium põhimõtet: serveris mängimine on kõigile tasuta, kuid müügil on erinevaid lisateenuseid ning -eeliseid, mille ostmisel on mängija “parem” kui teised. Tasulised teenused on enamasti ajalise kestvusega.

Võrkude rikkusː vabast tarkvarast vaba kultuurini

Loe läbi Eric S. Raymondi Hacker-HOWTO (eesti või inglise keeles) ja kirjuta ajaveebi selle kohta arvustus.

Kas mina olen häkker?

Sellist küsimust silmas pidades analüüsin ma Raymondi kirjutist enda vaatepunktist ning kui tuju tekib, vaidlen ka mõnes punktis vastu.

Häkkerlik suhtumine

  1. Maailm on täis imelisi probleeme, mis ootavad lahendamist – selline mõtteviis vajab optimistlikku aju, mis ei ole aga alati kõige ratsionaalsem. Optimistina leian aga, et see on täiesti tõsi ning tegelikult elu polegi midagi muud, kui mõttetute probleemidega maadlemine, sellest tuleb vaid rõõmu tunda.
  2. Ühtegi probleemi ei tuleks lahendada kaks korda – nii tõsi, kui see ka poleks, on seda raske täpselt piiritleda. Eriti probleemseks teeb asjaolu see, et ei ole kunagi universaalset lahendust ühele probleemile, nagu ei ole universaalset usku. Inimene, kes tahab ühte probleemi mitu korda lahendada, leiab selleks alati veenva põhjuse ning teda ei saa argumentidega takistada, sest tegu on tegelikult puhtalt usuga.
  3. Igavus ja nüridus on kurjast – mina ei ütleks selle kohta “kurjast”, kuna see on tihtipeale elu alustala. Stabiilsed asjad ongi igavad ja nürid, kuid ilma nendeta ei saa luua midagi uut ega huvitavat. Nagu ka kirjutises on hiljem väidetud, siis igavaid töid tuleb teha enese arendamiseks ja kommuuni panustamiseks.
  4. Vabadus on hea – selle punktiga nõustun samuti, kuigi inimkond ei ole siiani leidnud head tasakaalu anarhia ja autoritaarsuse vahel – oleme alati kahe vahel pendeldanud.
  5. Suhtumine ei asenda kompetentsi – ei asenda, kuid ilma selleta ka ei saa. Nagu vabadusega tuleb ka siin leida teatav kompromiss. Ise leian end pidevalt kahest spektri otsast – kord kiidan end liigselt, teinekord tunnen, et ma ei oskaks nagu midagi.

Kokkuvõttes võin öelda, et häkkerlik suhtumine on mul olemas.

Häkkeri põhioskused

  1. Õpi programmeerima – ja seda mitte ainult otseses mõttes. Programmeerimisoskus ei ole pelgalt programmijupi kirjutamine, mis lahendab mingi probleemi. Programmeerimisoskus on mõtteviis, mida kõigil ei ole. Mulle isiklikult tundub, et see ei ole midagi, mida saab lihtsalt niisama õppida (muidugi ma võin eksida), vaid see on osa isiksusest. Ise olen programmeerimise vastu huvi tundnud juba algusest peale ning tunnen umbes 3-4 keelt. Ühtegi neist ei tunne ma professionaalsel tasemel, kuid lugemisega saan vabalt hakkama küll.
  2. Hangi üks avatud lähtekoodiga Unixitest ja õpi seda kasutama – kirjutan seda postitust elementary OS-i kasutades, niiet siia võib panna ühe linnukese. Tõsi, ma pole Linuxi tööpõhimõtetesse niivõrd süvenenud, kui võiks, aga linnuke on linnuke. Siiski usun, et UNIX-id pakuvad juba tavakasutuseks piisavalt väljakutset, et ilma teatud häkkerlusoskuseta Windowsilt/macOS-ilt üle kolida ei saaks.
  3. Õpi kasutama veebi ja kirjutama HTMLi – ma ei loeks seda nii tähtsaks põhioskuseks, pigem on see hea koht, kust alustada. Mis puutub aga linnukesse, siis olen ka mitmete veebilehtedega tegelenud.
  4. Kui sa ei oska piisaval määral inglise keelt, õpi see ära – see on üks olulisemaid punkte, mis on tõepoolest seotud isiku väärtusega. Olen ka ise tähele pannud, et kui kasutaja internetis inglise keelt (või ükskõik, mis muud keelt) piisavalt ei oska (ehk korrektsuse nimel ei pinguta), ei ole ka erilise väärtuse looja. Emakeele tasemel ma inglise keelt küll ei oska ning mingiks eksperdiks end sel alal ei pea, kuid asja saan korrektselt aetud küll.

Kõik oskused on mul vähemalt pinnapealselt olemas, kuid eks neid on aega veel arendada küll.

Staatus häkkerikultuuris

  1. Kirjuta avatud lähtekoodiga tarkvara – ideaalses maailmas võiks see ju nii olla, kuid kahjuks ei maksa avatud lähtekoodiga tarkvara pooltki nii palju kui suletud. Mille poolt ma aga kindlalt olen, on koodi avalikustamine pärast raha teenimise lõppu. Samuti usun, et kui kood ei ole äriliseks kasutamiseks, toob selle lähtekoodi avaldamine ainult kasu. Ise olen kirjutanud nii avaliku kui kinnise koodiga tarkvara – vastavalt eesmärgile.
  2. Aita tarkvara testida ja siluda – väga hea soovitus, eriti algajatele ning on kasulik isegi siis, kui pole soovi kedagi ka tegelikult aidata: õppimisest saadav kasu endale on kordi suurem kui parandatud vead teistele. Ise olen tegelenud vaid vigadest teatamisega, kuid võiks ju ka teisi parandamisega aidata.
  3. Avalda kasulikku teavet – tegu on esimese “nüri ja igava” tööga, mida häkkerikultuuri staatuse välja teenimine nõuab. Igasugu kasulike dokumentide, teabelehtede ja KKK-de loomine on nagu koristamine – see on tüütu, kuid keegi peab seda aeg-ajalt tegema. Ise pole enda pead sellega eriti vaevanud, täpselt eelnimetatud põhjusel.
  4. Aita hooldada infrastruktuuri – e-postilistide haldamist ja tehniliste standardite loomist ühte patta panna on muidugi huvitav asjade üldistamine… Ütlen vaid seda, et kergemat sorti foorumi modereerimisega olen ka ise tegelenud ning see ei tundunud kaugeltki nii “must” töö, kui võiks arvata.
  5. Teeni häkkerikultuuri – mina ei näe mingit takistust igaühel häkkerikultuuri edendada ja levitada, see õigus ei ole ju piiratud vaid eliidile. Otseselt ma sellega ise tegelenud ei ole.

Selgelt joonistub välja, et mingit erilist staatust mul häkkerikultuuris ei ole, kuid pole hullu – see ei ole mu eesmärk kunagi olnud. Eks näis, mis tulevik toob.

Stiilipunktid

Igat punkti täpsemalt kommenteerima ei hakka, kuna neid on palju. Siin on lihtsalt minu kokkuvõtvad kommentaarid osade kohta:

  • Raske on aru saada, kas on kirjutama õppimise all mõeldud grammatikat või sisu. Igatahes on minul mõlemad täitsa käpas ning selle taga seisab ka riigieksami tulemus – 100%.
  • Ma ei taha üldse nõustuda häkkerluse sel moel raamidesse surumisega. Kuidas olen mina halvem häkker, kui ma ulmest, võitluskunstidest (püstolitest??), meditatsioonist, muusikast või sõnamängudest ei hooli? Ulmefännist hipi-laulja olemine ei pane inimest häkkeri mõtteviisi mõistma mitte üks raas kiiremini kui seda teeks krossisõitjast õudukasõber-ehitaja.
  • Kui nimi ei riku meest, siis kasutajanimi rikub? Võibolla. Ühel juhul on nimi mehele antud, teisel juhul ise valitud (kui see veel saadaval oli…). Küll aga ei ole enda isiku peitmine kasutajanime taha kuidagi seotud “lapsikuse ja tobedusega”. Kas Satoshi Nakamoto on tõesti “luuser”?

Selliste karmide kommentaaridega ma oma positiivselt alanud arvustuse lõpetan.

IT juhtimine ja riskihaldus

  • Kirjelda ajaveebiartiklis kaht tuntud IT-juhti (võivad olla nii Eestist kui mujalt), kes esindavad kaht erinevat juhitüüpi ülaltoodud jaotuses (juht, suhtleja, treener…).

Kõigepealt ei osanudki ühtki kindlat juhti välja tuua, kelle kohta avalikkus (või vähemalt minagi) piisavalt teaks ning kes oleks ka miskit tulemuslikku saavutanud. Siis aga pärast natukest ajuragistamist mõtlesin ka veidi kastist välja ning leidsin meie “IT-ministri” Urve Palo ning RIA peadirektori Taimar Peterkopi. Otsustasin hinnata mõlemi vastavusi materjalis toodud juhitüüpide osas tuginedes viimatistele meediaartiklitele.

Urve Palo

Meie praegune Ettevõtlus- ja Infotehnoloogiaminister on majandus- ning ärijuhtimistaustaga, mistõttu võib öelda, et Ettevõtlusministriks sobib ta väga hästi. Küll aga tekib küsimus infotehnoloogia poolega, millega tal igasugune (hariduslik) kokkupuude puudub ning seega ka võib paljud juhiomadused automaatselt maha arvata. Analüüsiks võtan aluseks 2017. aasta sügise päevakajalise teema – lairibavõrgu “viimase miili” arendamine lõppkasutajateni.

  • Juht (leader) – Palol kui juhil võib ju olla selge pilt sellest, kuhu ta tahab jõuda (kiire nett maainimesteni), kuid üle kivide ja kändude ei ole see vedamise osa eriti edukalt läinud. Suvel maakondadele õhutustöö tegemise järel ei ole järgmine loogiline samm sügisel riigihanke väljakuulutamine, sest see jätab pool meeskonnast (antud juhul maakonnad) pettunult tegevuseta.
  • Teavitaja/suhtleja (communicator) – ka selle ette ei saa linnukest panna, kuna kas a) maakonnad said suvel Palo entusiasmist ja rahaga lõõpimisest valesti aru või b) meie minister ei oska nüüd sügisel maakondadele piisavalt hästi oma plaanimuutusi selgitada, sest viimased on ju nördinud.
  • Treener/juhendaja (coach– selle punktiga on nüüd 50/50, kuna maakondade “arengut” suutis ta stimuleerida küll, kuid jällegi on probleeme meeskonnatööga.
  • Mentor/õpetaja (mentor) – siin on küll lihtne: IT teadmisi ja kogemusi on proua Palol kahendskaalal null (0, false).
  • Arengumootor (change agent) – tundub, et midagi ta siiski vedada üritab ja see miski ei ole ka väga vanamoeline, niiet siit saab ta plusspunkti.
  • Ülemus (power broker) – teine linnuke on kirjas: kes ikka suudab alguses lubada üht ning pärast teha kannapöörde ja jätta endised partnerid tunnustuseta, väärib ikka tõelise Ülemuse tiitlit, kes ei kohku tagasi oma võimu kasutamise ees.

Mina arvan, et IT-minister Palo esindab arengumootorist ülemuse rolli, teistes jääb tal natuke vajaka.

Taimar Peterkop

Tegemist on õigusteaduskonna taustaga reservohvitseriga, kes praegu töötab Riigi Infosüsteemi Ameti peadirektorina. Kuigi otsene IT haridus tal puudub, on ta varem töötanud Kaitseministeeriumis, kus ta vastutas info- ja kommunikatsioonitehnoloogia arendamise ning küberkaitse eest. Analüüsiks kasutan peamiselt ID-kaardi fiaskoga seotud ajakirjandusartikleid.

  • Juht (leader) – sihi pani ta juba paika peadirektoriks astudes ning viimase kahe aasta jooksul ei ole märgata olnud sellest sihist kõrvale kaldumist.
  • Teavitaja/suhtleja (communicator) – kuigi Peterkop ei ole ainus, kelle kaudu käis ID-kaardi turvaprobleemide selgitamine avalikkusele, ei saa talle selles osas midagi halba ette heita ning rahvast sai õigel ajal piisavas koguses teavitatud küll.
  • Treener/juhendaja (coach– kahjuks ei oska ma Peterkopi töötajate valikut ning koostöö edendamist kommenteerida, kuid vähemalt meedia ei ole selles osas probleeme näinud.
  • Mentor/õpetaja (mentor) – autoriteeti peaks tal jaguma arvestades varasemat kogemust ohvitserina ning küberkaitse arendamisega. Eriti tuleb ta “õpetaja” külg välja erinevates küberteemalistes ettekannetes.
  • Arengumootor (change agent) – erilist innovatsiooni temast ei kiirga, kuid riigiameti juhina ei ole see ka alati vajalik. Ta on öelnud, et püüab hoida tasakaalu funktsionaalsuse ja turvalisuse vahel, mis on igati mõistlik.
  • Ülemus (power broker) – ID-kaartide sertifikaatide sulgemises oli ka Peterkopil oma roll ning sellise otsuse tegemine ei ole lihtne. Praegu igatahes tundub, et kollektiivne otsus oli pigem õigustatud ning suurem oht sai seljatatud.

Raske on tuua välja kindlat kahte IT-juhi rolli, mis tema juhitüüpi domineerib. Pigem arvan, et tegu on igati tasakaalustatud oskustega juhiga, kes suudab hakkama saada kõigega, kuid samas ei hiilga millegi erilisega.

Kasutatud kirjandus:

  • https://www.mkm.ee/et/uudised/kuues-maakonnas-jatkub-kiire-interneti-baasvorgu-arendamine
  • https://geenius.ee/uudis/riik-investeerib-20-miljonit-eurot-et-maakohtadesse-internet-tuua/
  • https://www.ria.ee/ee/tanasest-on-ria-peadirektor-taimar-peterkop.html
  • http://www.ituudised.ee/uudised/2017/09/27/taimar-peterkop-kuberkuritegevus-on-uha-professionaalsem

Arpanetist Facebookiniː Interneti kujunemislugu

Kirjelda ajaveebiartiklis kaht erinevat nähtust (tehnoloogiat, praktikat, kommet jne) Interneti varasemast ajaloost (enne veebi tulekut ehk aastat 1991) – üht, mis võiks tänasele netikasutajale ikka veel tuttav olla (s.t. tuleb sealtmaalt tänasesse välja) ja teist, mis on tänaseks juba täiesti kadunud (kas asendunud uuemate tehnoloogiatega/tavadega või muul põhjusel välja surnud).

Loe edasi “Arpanetist Facebookiniː Interneti kujunemislugu”

Noppeid IT ajaloost

Nagu ka muudes tehnoloogia valdkondades, tuleb iga edukalt läbi löönud IT-lahenduse kohta mitu lootustandvat ja huvitavat mõtet, millest aga asja ei saanud (kas ei realiseerunud või ei suutnud turul piisavalt hästi toime tulla). Otsi kolm enda arvates õpetlikku näidet ja kirjelda neid ajaveebiartiklis.

Vaatasin läbi ka mõned kursusekaaslaste blogid ning üritasin samu punkte mitte kasutada. Samuti on minu näited pigem tänapäevasemad.
Loe edasi “Noppeid IT ajaloost”

Videod

1. video

CPU – Central Proccessing Unit

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. video

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.

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.

Lisaks veel palju nalja ja näiteid, paralleele päris eluga.

3. video

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. Video

Programm peab olema toodud kettalt mälusse ja paigutatud protsessi. Peamälu ja registrid on ainsad kohad, kuhu CPU saab otse ligi. Registrile ligipääs ühes CPU clockis (või vähem). Peamälu saab võtta endale mitu tsüklit. Vahemälu asub peamälu ja CPU registrite vahel. Mälu kaitse on vajalik, et töö korrektsus oleks tagatud.

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

Lehe tabeli struktuur:

  • Hierarhiline
  • Hashitud
  • Inverditud

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

Jällegi palju näiteid, seekord Intel Pentiumi näol.

Fail ja failisüsteem

Mis on fail? – Fail on loogiline andmekogum

  • Korrastamata/vormindamata – lihtsalt sõnade jada
  • Korrastatud/vormindatud:
    • Lihtsad kirjed – eri tüüpi andmete kogum, kasutatakse tervikuna
    • Keerukamad süsteemid – võivad sisaldada vorminguid: font, reavahed jms

Video, heli jms on ainult kahendsüsteemis. Kui sa vaatad videot, siis sa näed ainult kahendsüsteemi massi.

Faili omadused:

  • Olemas nimi – inimese jaoks
  • Faili tüüp – arvutis palju
  • Asukoht seadmel/kettal – viit – link, mis viitab mäluasukohale, antud juhul ketta asukohale
  • Suurus
  • Kaitse- või loabitid – õigused ja load, tegevused, kes mida teha võib
  • Ajatempel
  • Kasutajainfo
  • Faili kohta käiv info alati kaustastruktuuris

Operatsioonisüsteem hoiab avatud failist koopiat kuskil Temp kaustas.

Faili nimi on seotud ja faili laienditega. Enamasti on Windowsis faililaiendid välja lülitatud. Windowsis käivitatavad failid .exe, tekstifailid .txt, binary failid .bin jne.

Kõige esimestes arvutis polnud kaustasüsteeme, kõik failid olid ühes kohas. Kuid kuna failide arv arvutis võib olla väga suur, tekkis vajadus faile kuidagi sorteerida. Seetõttu jagati failid osadeks kaustadesse.

  • Juurkataloog (Windowsis C:)
    • Alamkataloog 1
      • Veel alam kataloog 1
    • Alamkataloog 2
      • Veel alam kataloog 2 jne

Info, mis paikneb ketta kaustas/failis:

  • Current lenght – hetke suurus
  • Maximum lenght – maksimum suurus
  • Ajatemplid – millal loodud, millal muudetud/uuendatud jne
  • Kasutajatunnused/-info
  • Kaitseinfo
  • Kasutajastatistika – kogutakse, et parandada toodet

Arvuti

Arvuti ei ole enam mänguasi, selle eesmärk on mingit protsessi või seadet juhtida.

Vood -> Arvuti -> Vood: Toimub pidev andmevahetus, tehnosuhtlus.

Modem = Modulate + Demodulate
NIC – Network Interface Card – võrgukaardi lühend
Sensor – tajur
Controller – kontroller

Erinevused I/O seadmetes:

  • Data rates – andmeedastuskiirus – tohutud kiiruste erinevused erinevates seadmetüüpides
  • Application – rakendus –
  • Complexity on control – juhtimise keerukus
  • Unit of transfer – info ülekandmise ühik
  • Data represations – andmete esitamise viis
  • Error Conditions – vigade tingimuste määramine

Põhja- ja lõunasild:

Põhjasild e Memory Controller Hub e MCH – ühendab kiireid seadmeid nagu mälu ja protsessor

Lõinasild e I/O Controller Hub e ICH – ühendab kõik muud aeglasemad seadmed

Arvuti arhidektuuris protsessori ja peamälu kombinatsioon on arvuti aju.

Device driver – seadme ajur

Algoritm – eeskiri

Interrupt e katkestus

Ühesiinilises arvutis on kõik asjad ühendatud ühe siiniga.

  • FIFO – First In First Out
  • SSTF – Short Service time First
  • SCAN
  • C-SCAN – Circualr SCAN
  • N-SCAN
  • P-SCAN

Mäluhaldus

Peamälu

5 põhimõtet:

  • Protsessi isoleerimine – protsessid peavad üksteisest olema eraldatud
  • Automaatne mälu hõivamine ja haldus – kui sa klikid hiirega rakenduse peal, ei pea sa mõtlema, kuhu määlu ta läheb ja mida ta teeb
  • Toetus modulaarsele süsteemile – kõikidel tänapäeva rakendustel on olemas modulaarne toetus
  • Mälu kaitsmine ja juurdepääs – mälule juurdepääs peaks olema ainult neile, kellel peaks sinna ligipääs olema, teisi sisse ei lasta
  • Pikaajaline hoidmine/talletamine – kui näiteks vahepeal arvuti välja lülitada või päev otsa tööl hoida

Programmid peaksid olema toodud mällu ja peaksid olema seotud mäluga, milles nad on.

Protsessor saab kasutada ainult peamälu (RAM) ja protsessori enda registrit (vahemälu/cache).

Registrite poole pöördumiseks läheb aega 1 protsessori takt. RAMi poole pöördumine on aeglane.

Vahemälu paikneb peamälu ja protsessori vahel (vahendab).

Mälu kaitsemehhanisme on vaja rakendada, et tagada tehete õigsust ja tehingute korrektsust.

Mõisted:

  • Frame ehk kaader – kindla pikkusega RAMi plokk
  • Page ehk lehekülg – kindla pikkusega andmeplokk, mis paikneb sekundaarmälus ehk kettal; võib ajutiselt kopeerida kaadrisse
  • Segment – muutuva pikkusega andmeplokk, mis paikneb sekundaarmälus

Virtuaalmälu

Kettal paiknev puhvermälu. Windowsis “page file”, Linuxis “swap” ehk saaleala. Tavaliselt 1.5x RAMi suurusest

Mäluhaldus on tehtud nii, et mälu saaks rahuldada järgnevaid mehaanisme:

  • Relocation – mälus ümberpaigutamine – swapi liigutamine ehk saalimine
  • Protection – mälu kaitsmine
  • Sharing – mälu jagamine
  • Loogiline mälu organiseerimine
  • Füüsiline mälu organiseerimine

Kui mälu pole PCBs, siis ta pole otseselt täitmisel ja selle võib saalida.

Põhimõtted:

  • Programmeerijale ei anta võimalust mälu hallata

Peamälu jaotatakse dünaamiliselt kindla suurusega tükkideks.

Best fit – parim paigutus, valitakse kõige lähedasema suurusega plokk.
First fit – esimene vaba ruum, kuhu vajalik protsess mahub
Next fit – alustab skannimist viimase paigutuse asukohast ja valib järgmine piisavalt suure ploki

Buddy system – kasutatakse kahte hõivamismeetodit korraga

  • Fixed,
  • Dynamic skeemid

Virtual Machine

 


Töötava protsessi juhtbloki andmestruktuuri vaatamine
Kohaliku tuuma „debugging“ käivitamiseks WinDbg-ga tuleb valida File menüüst Kernel Debug, 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), lisaks saab kasutada dt (display type) käsku ca 1000 parameetriga. Kernel 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 jne. 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äsl !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)
Eksperiment lk 387-391 koopia kuni 407
Lõime struktuuride vaatamine: dt nt!_etread ja edasi dt nt!_ETREAD Tcb. Mingi protsessilõimede vaatamiseks peaks kasutama kõigepealt !process käsku, valima sealt lõime ja kasutama siis !thread käsku, lõime keskkonnablokki saab vaadata !teb käsuga

Capture

Capture

OSi protsessi ressursijaotus

http://www.tutorialspoint.com/operating_system/os_process_scheduling.htm

Saalimine:
Medium Term Scheduler

Comparison between Scheduler

S.N. Long Term Scheduler Short Term Scheduler Medium Term Scheduler
1 It is a job scheduler It is a CPU scheduler It is a process swapping scheduler.
2 Speed is lesser than short term scheduler Speed is fastest among other two Speed is in between both short and long term scheduler.
3 It controls the degree of multiprogramming It provides lesser control over degree of multiprogramming It reduces the degree of multiprogramming.
4 It is almost absent or minimal in time sharing system It is also minimal in time sharing system It is a part of Time sharing systems.
5 It selects processes from pool and loads them into memory for execution It selects those processes which are ready to execute It can re-introduce the process into memory and execution can be continued.

Context Switch

FCFS:

First Come First Serve Scheduling Algorithm

SJF:

Shortest Job First Scheduling Algorithm

PBS:

Priority Scheduling Algorithm

RRS:

Round Robin Scheduling Algorithm

MQS:

Multi Queue Scheduling Algorithm

Lõim:

Single vs Multithreaded Process

Lõime on lihtsam luua ja lihtsam hallata kui protsesse.

Mitmelõimelised rankendused ei oma eelist mitmikprotsesside korral.

One to one mudelit enam ei kasutata, see on vana.

Protsess

See läheb käima topeltklikiga. Mõnikord kutsutakse protsessi tööks või ülesandeks.

Ühe töödeldava protsessiga võib olla seotud hulk lõimusid.

PCB – protsessi juhtblokk

SWAP – mälust väljakirjutamise protsess
SWAPPING – mälust välja kirjutamine kettale – saalimine
SWAP SPACE – saaleala

Sessiooni halduse alamsüsteem, mis vastustab kasutaja sessiooni loomise eest.

Koodiread

Debian on tõeline “lego”, seal saab teha, mis sa tahad.

Suuri asju kirjutatakse tänapäeval ikka koos tiimiga, ainult mobiilirakendusi või väiksemaid programme tehakse üksi. Windowsi kirjutamine võtaks ühel inimesel aega umbes 650 aastat.

Mida vähem koodiridu, seda kiiremini OS töötab, enamasti.

Protsessor

CPU – protsessor

PGA – jalakesed

LGA – kontaktplaadid

SOCKET – pesa

SIIN – kontaktide või jalgade komplekt

Protsessor käib emaplaadi socketisse. Mälu koosneb aadressmassiivist.

Turvalisus

On hea, kui küsitakse pidevalt Administraatori parooli. Muidu saaks iga programm teha arvutiga kõike, mis ta iganes soovib. Alates Windows 7-st on Windowsidel alati küsitud paroole.

Kernel

Kernel on OSi tuum, see sisaldab riistvara erisusi.

Riistvara ja tarkvara vahendaja, luuakse konkreetse arvuti jaoks OSi paigalduse käigus.
Tegeleb sisend/väljud päringutega mis tulevad tarkvara poole pealt ja tõlgendab ta need andmetöötluskorraldusteks.

Kernel tegeleb kolme asjaga:

  • CPU (ALU ja FPU)
  • Mälu (Memory)
  • Draiverid (Drivers)

Teegid on standartsed klotsid mida võib eeldada, et ühel või teisel kasutajal vaja võib minna, või et operatsioonisüsteemi tuum saaks tööd teha.

Windowsi kerneli suurus on 25 MB.

 

Operatsioonisüsteemid

Operatsioonisüsteem (OS/OPS) on TARKVARA, mis haldab arvuti ressursse (riistvara ja tarkvara) ja pakub arvutiprogrammidele ja kasutajale tavapäraseid vajalikke teenuseid.

Näiteks Android, Windows, Linux, IOS, OS X jpm. Kõik suuremad OSid põhinevad UNIX’il, va. Windows ja z/OS.

Android on eelkõige mõeldud puutetundlikele seadmetele, põhineb Linux kernelil.

Kernel on OS’i tuum.

Teegid on valmistehtud tarkvara, mis võimaldab meil kasutada vajalikke funktsioone ilma, et me neid ise ümber kirjutama peaks.

Windowsi failisüsteem NTFS.

Kernel on OS’i kõige olulisem osa.

CPU üks osa võib olla ALU ja FPU.

ALU – aritmeetika – loogika protsessor

FPU – ujuvkomaarvude protsessor