otstarbe, sisu või omaduste järgi suurematesse gruppidesse või kaustadesse (kataloogidesse, teekidesse). 2. Erinevad kohalikud failisüsteemid 1.1. FAT Failipaigutustabel (FAT File Allocation Table) on failisüsteemi ehitus, mille puhul operatsioonisüsteem paigutab failid klastritesse. Iga fail kasutab minimaalselt üht klastrit. Klastrid koosnevad fikseeritud suurusega sektoritest ja on adresseeritud n-bitiste kannetega aadressiruumi (tabelisse), kus n on sõltuvalt FAT-i versioonist 12 (FAT12), 16 (FAT16) või 32 bitti (FAT32). · FAT12 viitab failisüsteemile, mida kasutas esimene IBM PC 1981. aastal. FAT12 kasutab klastrite adresseerimiseks 12-bitist aadressiruumi, võimaldades seega adresseerida kokku 4096 klastrit. Kuivõrd FAT-i peamine kasutus oli flopiketastel ja DOS ei toetanud suuremaid kui 16 MB kettaid, oli FAT12 maksimaalne võimalik suurus 16 MB (4 KB suuruse klastriga) esialgu piisav.
Lehekülge pole mälus => toome ta mällu ja jätkame Sarnane lehekülgede saalimisele, aga „laisem“ mällu toomisel. 3. Protsesside loomine Virtuaalmälu annab võimalusi efektiivsemaks protsesside loomiseks: Copy-on-Write Vanem- ja lapsprotsess jagavad esialgu leheküljetabeleid Leheküljed on mõlema jaoks readonly, esimesel kirjutamisel tehakse mõlemale koopia Efektiivsem protsesside loomine Aadressiruumi kaudu nähtavad failid (Memory-mapped files) mmap() primitiiviga seatakse faili sisu kättesaadavaks mingis aadressivahemikus Esimene pöördumine loeb andmeid mällu, faili sulgeminekirjutab kettale read()/write() vs mmap() 4. Mälu haldus 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
Selleks, et kaitsta OS'i kasutajarakenduste eest on OS'is kasutusel erinevad protsessori reziimid kernelile ehk kernelireziim (Kernel Mode või Supervisor Mode) ja kasutajarakendustele ehk kasutajareziim (User Mode). Kasutajarakendused töötavad kasutajareziimis ja OS'irakendused (süsteemi teenused ja seadmete draiverid) töötavad kernelireziimis. Selles reziimis rakendused jagavad ühtset virtuaalset aadressiruumi. Kernelireziim käivitatakse protsessori privilegeeritud käivitusreziimis, mis tagab juurdepääsu kõigile protsessori käskudele ja kogu süsteemimälule. Erinevate tööreziimide rakendamine võimaldab välistada, et vigane kasutajarakendus ohustaks süsteemi kui terviku stabiilsust. 5 Operatsioonisüsteemide erinevad tüübid Operatsioonisüsteemide jaotus töötluse liigi järgi: Pakktöötlus (batch) - selle puhul on tegemist OS'iga, kus mingi ülesande täitmiseks peab
Selleks, et kaitsta OS'i kasutajarakenduste eest on OS'is kasutusel erinevad protsessori reziimid kernelile ehk kernelireziim (Kernel Mode või Supervisor Mode) ja kasutajarakendustele ehk kasutajareziim (User Mode). Kasutajarakendused töötavad kasutajareziimis ja OS'irakendused (süsteemi teenused ja seadmete draiverid) töötavad kernelireziimis. Selles reziimis rakendused jagavad ühtset virtuaalset aadressiruumi. Kernelireziim käivitatakse protsessori privilegeeritud käivitusreziimis, mis tagab juurdepääsu kõigile protsessori käskudele ja kogu süsteemimälule. Erinevate tööreziimide rakendamine võimaldab välistada, et vigane kasutajarakendus ohustaks süsteemi kui terviku stabiilsust. Tavaliselt sisaldab tuum järgmisi osi: katkestusetöötleja, mis töötleb kõiki katkestusnõudeid ja omavahel tuuma teenuste pärast võistlevaid sisend-väljundoperatsioone
Failisüsteemid FAT Failipaigutustabel (FAT – File Allocation Table) on failisüsteemi ehitus, mille puhul operatsioonisüsteem paigutab failid klastritesse. Iga fail kasutab minimaalselt üht klastrit. Klastrid (loogilised üksused) koosnevad fikseeritud suurusega sektoritest (füüsilised üksused) ja on adresseeritud n-bitiste kannetega aadressiruumi (tabelisse), kus n on sõltuvalt FAT versioonist 12 (FAT12), 16 (FAT16) või 32 bitti (FAT32). Failipaigutustabel sisaldab iga kettal oleva faili algusklastri kannet, mis omakorda sisaldab viita järgmisele failiga seotud klastrile ja nii edasi, kuni faililõpu klastrini. FAT failisüsteem koosneb neljast erinevast sektsioonist: Reserveeritud sektorid. Esimene reserveeritud sektor (sektor 0) on alglaadur, milles sisaldub failisüsteemi info ja tavaliselt ka alglaade kood
andmebaasi failid. · Cross-site skriptimise turvaaugud veebirakendustes (nagu XSS Uss). · Programmides esinevad ärakasutatavad vead nagu puhvri ületäitumine, formaat string ja võidu-olek (race condition), mille puhul on võimalik tarkvarasse peidetud pahavaralise koodi käivitamine. Sellise õelvara tööd on võimalik raskendada sisseehitatud kaitsefunktsioonidega nagu täitmist blokeeriv bit (execute disable bit) ja/või aadressiruumi suvaline paigutus (address space layout randomization). PDF'ides, nagu HTML failideski, on võimalik viitamine kuritahtlikule koodile. PDF-failid võivad ka ise olla pahavaraga nakatunud. Operatsioonisüsteemides, kus kasutatakse faililaiendeid failide sidumiseks programmidega (nagu Microsoft Windows), võivad laiendid olla vaikeseadmena kasutaja eest peidetud. Selle tõttu on võimalik failide loomine, mille näiv tüüp ei vasta tegelikkusele (näiteks käivitatav fail ,,pilt.png
Ka Eesti suurematel teenustepakkujatel on oma IPv6 testvõrgud olemas. On olemas saidid, mis juba praegu võimaldavad juurdepääsu IPv6-protokolli kaudu, näiteks YouTube ja Google. Üleminek IPv6-protokollile ei saa olema lihtne ja võtab kindlasti aega. IPv6 kasutuselevõtt kõrvaldab aadressiprobleemi ja annab mitmeid lisaomadusi. Ainult suurem aadressiruum aga ei annaks vajalikku efekti kasvavate vajadustega toime tulemiseks. Oluline on lihtsustada ka selle suurema aadressiruumi haldamist ja marsruutimist. IPv6-ga on püütud lahendada ühtlasi ka muud Interneti kasvuga seotud probleemid, millest põhilistena võib välja tuua võrgu automaatse seadistamise, sisseehitatud turvalisuse ja parema mobiilsuse. IPv6 peaks aegamööda asendama IPv4, kuid mitmeteks aastateks jäävad nad veel koos eksisteerima. Kindlasti ei saa kõik praegu kasutuses olevad süsteemid omama IPv6 tuge.
juhtimine 6 Esimene generatsioon(1945-1955) Esimestel arvutitel ei olnud operatsioonisüsteeme. Need töötasid valdavalt elektronlampidel, olid ebatöökindlad ja hiigelsuured. Programmid laeti käskhaaval arvutisse kas perfokaarte või arvuti esiseinal asuvaid lüliteid kasutades. Seejärel seati paika programmi aadressiruumi algus ja lülitati programm nupust käima. Programmi tööd sai jälgida paneelil põlevate lampide abil. Vigade ilmnemisel võis programmi töö katkestada, uurida registrite ja mälu seisu ning parandada ja siluda programmi otse paneelilt. Programmi tulemused perforeeriti kaardile. Aja jooksul tuli kasutusele ka uus riistvara, kaardilugejad, magnetlingiseade jne. Suuremad probleemid tekkisid sisend-väljundseadmetega. Iga seade oli erisugune ja vajas eraldi
ülekandesks kasutatakse trigeri otsest või inverteeritud signaali. Ringloendur moodustatud nihkeregistrist, kui selle väljund ühendada sisendiga. Reaalselt on võimalik projekteerida mistahes vajamineva mooduliga loendur, luues iga loenduris sisalduva trigeri kõikide sisendite jaoks tarvilik loogikafunktsioon. 2. VIRTUAALMÄLU (LEHEKÜLGEDEKS JAGAMINE, SEGMENTEERIMINE) Mäluhaldustehnoloogia, mis kasutab nii riistvara kui ka tarkvara. Eesmärgiks laiendada aadressiruumi ehk mäluaadresside hulka, mida programmid kasutada saavad. LEHEKÜLGEDEKS JAGAMINE mälu jagatakse fikseeritud suurusega lehekülgedeks. Iga lehekülg koosneb eelsätestatud hulgast mäluaadressidest ja salvestatakse kettale, et sellele hiljem ligi pääseda. Kui programm vajab salvestatud mälulehekülge, kopeerib op.süsteem selle kettalt põhimällu ja tõlgib virtuaalsed aadressid füüsilise mälu aadressideks. SEGMENTEERIMINE virtuaalne ruum jagatakse segmentideks
arvuti turvalisuse tagamine käskude interpreteerimine 10 Esimene generatsioon(1945-1955) Esimestel arvutitel ei olnud operatsioonisüsteeme. Need töötasid valdavalt elektronlampidel, olid ebatöökindlad ja hiigelsuured. Programmid laeti käskhaaval arvutisse kas perfokaarte või arvuti esiseinal asuvaid lüliteid kasutades. Seejärel seati paika programmi aadressiruumi algus ja lülitati programm nupust käima. Programmi tööd sai jälgida paneelil põlevate lampide abil. Vigade ilmnemisel võis programmi töö katkestada, uurida registrite ja mälu seisu ning parandada ja siluda programmi otse paneelilt. Programmi tulemused perforeeriti kaardile. Aja jooksul tuli kasutusele ka uus riistvara, kaardilugejad, magnetlingiseade jne. Suuremad probleemid tekkisid sisend-väljundseadmetega. Iga seade oli erisugune ja vajas eraldi
salvestusseadmed, printerid, ekraanikuvad jm. arvutivõrkude tugi arvuti turvalisuse tagamine käskude interpreteerimine Esimene generatsioon(1945-1955) Esimestel arvutitel ei olnud operatsioonisüsteeme. Need töötasid valdavalt elektronlampidel, olid ebatöökindlad ja hiigelsuured. Programmid laeti käskhaaval arvutisse kas perfokaarte või arvuti esiseinal asuvaid lüliteid kasutades. Seejärel seati paika programmi aadressiruumi algus ja lülitati programm nupust käima. Programmi tööd sai jälgida paneelil põlevate lampide abil. Vigade ilmnemisel võis programmi töö katkestada, uurida registrite ja mälu seisu ning parandada ja siluda programmi otse paneelilt. Programmi tulemused perforeeriti kaardile. Aja jooksul tuli kasutusele ka uus riistvara, kaardilugejad, magnetlingiseade jne. Suuremad probleemid tekkisid sisend-väljundseadmetega. Iga seade oli erisugune ja vajas eraldi
jadamisi. Konveier täidab paralleelselt, kui ühe käsu käsuloendur on saatnud käsu aadressi mälu poole, et saada käsukood, siis ta laeb endasse järgmise käsu ja saadab ka selle teele. Samal ajal toimub juba esimese käsu salvestamine käsuregistrisse ja sellele järgneb käsu dekodeerimine. Virtuaalmälu ( lehekülgedeks jagamine, segmenteerimine). Virtuaalmälu on mäluhaldustehnoloogia, mis kasutab nii arvuti riistvara kui ka tarkvara. Virtuaalmälu eesmärgiks on laiendada aadressiruumi ehk mäluaadresside hulka, mida programmid kasutada saavad. Kui virtuaalmälu ei kasutataks, ei pruugiks programm, mis kasutab rohkem mälu, kui arvutil füüsiliselt olemas on, üldse töötada. Seevastu, kui kasutada virtuaalmälu, kopeeritakse põhimällu ainult need programmi osad, mida antud ajahetkel programmi tööks vajatakse. Seeläbi ei tule programmil töö käigus mälust puudust. Virtuaalmälu füüsilisse mällu kopeerimise hõlbustamiseks jagab operatsioonisüsteem
Kaasaegsetes operatsioonisüsteemides töödeldakse protsesse rööpselt. 13. Protsessid, lõimed, tegevuste järjestamine arvutis. Operatsioonisüsteemile kujutab programm teatavat mitteaktiivset üksust, ta ei ole protsess, vaid teatav kogum tööd, mida on kasutaja ette andnud. Protsess - töödeldav programm või selle osa. Programm võib koosneda ühest või enamast (üksteisest sõltumatult töödeldavaist) protsessist. Protsess omab temale eraldatud aadressiruumi. Protsess on „passiivne“, ta ei töötle ise midagi, vaid kasutab temas sisalduvaid lõimi. Igal protsessil on olemas vähemalt üks lõim (primaarne lõim). Lõim - sisaldub protsessis ning on protsessist väiksem üksus. Iga lõim on seotud konkreetse protsessiga. Protsess võib sisaldada üht või enam lõime. Kõiki protsessi kuuluvaid lõimi töödeldakse protsessi aadressiruumis. Lõim esindab üht kindlat käskude jada programmis
g= QI+ QI +1 Gray joodi loendur ei ole kahendloendur, kuid tema moodul on võrnde -ga n-järgulise koodi korral. Kood on kolmejärguline Gray koodi puhul lülitub korraga ainult 1 triger. Virtuaalmälu Kui programmid nõuavad rohkem mälu kui arvuti riistvara saab võimaldada, siis peab olemas olema mehhanism, mis programmi töö ajal võimaldab välismälust tuua põhimällu andmeid ja programmi käsukoode. Samas oleks hea, kui programmeerija saaks pidevalt kasutada kogu aadressiruumi. Välismälumaht on alati oluliselt suurem põhimälu mahust. Virtuaalmälu korral seotakse omavahel oluliselt suurem virtuaalse mälu ruum väiksema füüsilise põhimälu ruumiga. Mõned opsüsteemid (näit. MS Windows) kasutavad virtuaalmälu. See on kujutletav mälupiirkond, millest osa paikneb muutmälus ja osa kõvakettal. Virtuaalmälul on oma mäluaadresside süsteem ning programmid kasutavad reaalsete mäluaadresside asemel neid virtuaalseid aadresse käskude ja andmetesalvestamiseks
assitsiatiivmälu väga kalliks. Vahemälus saab olla kokkulangevus vaid ühes sõnad, sest iga plokk saab olla vaid ühes kohas vahemälus. 23 16. Virtuaalmälu (lehekülgedeks jagamine, segmenteerimine) (241-248) Virtuaalmälu on mäluhaldustehnoloogia, mis kasutab nii arvuti riistvara ja tarkvara. Virtuaalmälu eesmärgiks on laiendada aadressiruumi ehk mäluaadresside hulka, mida programmid kasutada saavad. Kui virtuaalmälu ei kasutataks, ei pruugiks programm, mis kasutab rohkem mälu, kui arvutil füüsiliselt olemas on, üldse töötada. Seevastu, kui kasutada virtuaalmälu, kopeeritakse põhimällu ainult need programmi osad, mida antud ajahetkel programmi tööks vajatakse. Seeläbi ei tule programmil töö käigus mälust puudust. Virtuaalmälu organiseerimiseks kasutatakse 3 mehhanismi: 1. lehekülgedeks jagamine 2
ära, mitu bitti aadressist on võrguaadress ja ülejäänud jääb hostide aadressiteks. IP-aadressi on võimalik saada nii, et see on võimalik konfigureerida arvutile ning see on fikseeritud IP-aadress, mis arvutil on ja ka jääb niikaua kuni võrguadministraator leiab, et see tuleb ära muuta. On ka teine võimalus IP- aadressi konfigureerida ja see on dünaamiline hosti konfigureerimise protokoll ehk DHCP. Aadressite jagamine toimub nii, et iga teenusepakkuja saab oma aadressiruumi, näiteks 20 bitine osa on aadresse ja võib selle jagada erinevate organisatsioonide vahel. IP-aadressiruumi jagab selline organisatioon nagu ICANN. Ta jagab aadressiruume, haldab nimeteenuseid ja domeeninimesid. Kui me paneme arvuti võrku siis meil on vaja: 1) IP-aadressi arvutile määrata 2) Võrgumaski määrata 3) Vaja teada lähima ruuteri IP-aadress, et teada kuhu meie arvutist paketid lähevad, et see edasi saaks marsruuditud
Ometi on eri mikroarvutite ehituses ja programmeerimises palju sarnasusi, mis võimaldavad ühe arvuti juures omandatud kogemusi rakendada ka teiste arvutitega töötamisel. Programmeerija jaoks tuleks koostada juhtraali või programmeeritava kontrolleri mudel, kus on ära näidatud kõik programmeerijale ligipääsetavad riistvara osad. Nendeks on aritmeetika-loogikaplokk, akumulaator, üldotstarbelised ehk üldregistrid ning mälu. Programmeerija peab tundma mälu aadressiruumi, millistesse pesadesse saab kirjutada programme, kus asuvad juhtseadme süsteemsed programmid ning millised aadressid on reserveeritud andmete salvestamiseks. Joonisel 2.9 on näidatud kolme siiniga 8-bitise mikroprotsessori (Intel 8080) ehitus ning põhilised komponendid. Mälu aadresside ja käskude kodeerimiseks kasutatakse antud juhul kuueteistkümnendarve. Märkigem, et mõne teist tüüpi protsessori korral kasutatakse ka kaheksandarve