OS Konpektas PDF
Document Details
Uploaded by QualifiedRuthenium
ITI Marconi
Tags
Summary
Šis dokumentas aprašo operacines sistemas, jų klasifikavimą, struktūrą ir rūšis. Dalyvaujama išsamiai nagrinėjant procesų planavimą, gijų tipus ir atminties valdymą. Tai yra tinkamas pagrindas informacinės technologijos studijoms.
Full Transcript
***OS KONSPEKTAS*** OS ir procesai -------------- **Kompiuterių˛ ir operacinių˛ sistemų˛ klasifikavimas, struktūra, rūšys** Klasifikavimas: - PC/desktop -- neprof. Vartotojam, dirbantiems autonominiu režimu. - Darbo stotys -- prof. Darbui, automatizuotam projektavimui. - Minikompiuteriai...
***OS KONSPEKTAS*** OS ir procesai -------------- **Kompiuterių˛ ir operacinių˛ sistemų˛ klasifikavimas, struktūra, rūšys** Klasifikavimas: - PC/desktop -- neprof. Vartotojam, dirbantiems autonominiu režimu. - Darbo stotys -- prof. Darbui, automatizuotam projektavimui. - Minikompiuteriai. - Didieji kompai / mainframes -- sudėtingiems skaičiavimams, didelėms vartotojų grupėm, tinklinėm bazėm aptarnauti. - Superkompiuteriai - skirti ypač sudėtingiem skaičiavimam. Gali būt arba specialiai suprojektuoti, arba turintys daug procesorių arba tiesiog daug kompiuterių sujungtų. HPC (HIGH PERFORMANCE COMPUTING) - Taip pat ir laptopai, internetiniai(netbooks/nettops), tabletai, tinklo kompiuteriai. Kompo sistemos struktūra: - Aparatinė įranga - Operacinė sistema - Programinė įranga - Vartotojai OS tikslas -- vykdyti vartotojo programas, valdyti sistema, efektyviai naudoti įranga. OS -- programinė įranga, kuri valdo CPU, įvestį/išvestį (I/O), atmintį. OS klasifikuojama pagal: - užduočių kiekį (vienprograminės, daugiaprograminės), - pagal CPU skaičių (vienprocesorinės, multiprocesorinės), - vartotojų kiekį (vienvartotojiškos, daugiavartotojiškos). OS rušys: - - - - **Procesų būviai:** - Vykdomas. - Nevykdomas. **Procesų atidėjimų priežastys** - - - - - **Procesų komunikavimo modeliai** **Bendros atminties** Turi procesai bendrus kintamuosius ir gali paveikt vienas kito ar duomenis ar ką ir komunikuoja jie ten taip laisvai, info gali dalintis lengvai, bendrą turėt. **Žinučių mechanizmas** Yra žinučių mechanizmas IPC. Send/receive. Dėl jo nereik dviem procesam turėt bendrų kintamųjų. Jei yra du procesai, jie tik sukuria komunikacijos ryšį ir per send/receive bendrauja. Būna tiesioginė ir netiesioginė komunikacija. Tiesioginė - turi tiksliai kad va P procesas sendima Q receivina vsio zjbs, aišku. Tokį ryšį sukuria automatiškai, susietas su viena pora procesų. Tarp kiekvienos poros egzistuoja tik po vieną ryšį. Būna vienkrypčių, bet dažniausiai dvikrypčiai. Netiesioginė - per portus komunikuoja. Tai jei turi abu procesai bendrą portą gali komunikuot. Bet tuo pačiu daug procesų susieta gali būt. Irgi gali būt vienkrypčiai dvikrypčiai. **Kaip veikia pertraukimai** Kai procesas išmeta klaidą, vykdomas pertraukimas. Sistema bando leist kažką, jei nėra pertarukimų tai sekančią komandą šauna ir all good. Jei pertraukimų, pertraukimų doroklis sudoroja visus. Pvz., I/O galima naudot vykstant kitiem procesam vien pertraukimų dėka. **Kas yra gija, skirtumai tarp gijos ir proceso, gijų nauda** Procesas - gijų rinkinys. Gijos kartu naudoja globalius kintamuosius ir naudoja dinaminę atmintį ir sisteminius kintamus. Bet kiekviena gija turi ir lokalius kintamus, būseną, registrų duomenis ir programos skaitliuką. Gali būt procesas su viena gija, gali būt su daugiau. Kadangi gijos naudoja tuos pačius kintamus, atmintį, tai jom komunikuot lengva. Tada gali kelis darbus daryt. Pvz., skaičiuot ir I/O tvarkyt arba būna vykdymas esant keletui procesorių. Komunikavimas tarp gijų greitesnis nei tarp procesų. Ir užbaigt pradėt gijas greičiau trunka nei procesus. **Gijų tipai (vartotojo, branduolio, hibridinė realizacija)** Vartotojo lygio - branduolys nežino apie gijų egzistavimą. Sistema ten gijų atsakinga už daug ką. Galima naudot bet kurioj OS. užsiblokavus vienai gijai, blokuojasi visas procesas, kitos gijos irgi neveikia\... Branduolio lygio -- branduolys saugo info apie gijas ir procesus, CPU laiką skirsto pagal gijas. Jau su blokavimais problemų nėra tų. Bet hujnią, nes mažiau efektyvu nei vartotojo buvo. Reik jungt branduolį jungiant gijas ir pereinant tarp gijų. Hibridinė realizacija -- sutankina vartotojo gijas į branduolio. Paima daug vartotojo ir sujungia į vieną branduolio. **Procesų planavimas** ---------------------- **Trijų lygių planavimas** 1 lygis -- atlieka pirminę atranką. Atrenka ar pagal resursus ar kuri užduotis trumpiausia. Po pirmo lygio procesai hujarina į sistemą. 2 lygis -- planuotojas praeina ir sumąsto kuriuos saugot diske, o kuriuos RAM. Taip pat nusprendžia kiek užduočių į RAM eis, nes per daug užduočių veltui naudoja CPU. Checkina pagal svarbumo procentą, proceso dydį, prieš kiek laiko buvo perkeltas iš/į diską ir kiek laiko jau išnaudojo procesoriaus (CPU) šitas procesas. 3 lygis -- planuotojas pažiūri kas pasiruošę darbui. Naudoja algoritmus ir su pertraukimais ir be. Bando CPU kuo daugiau užimtą padaryt. Žiūri daug į laiką. Per kiek vykdosi, per kiek atsaką gauna ir pan. Vertina prioritetus. **Procesų planavimo metodai** *Loterinis planavimas* Procesam išdalina bilietus naudot CPU laiką. Kuo daugiau bilietų tuo daugiau naudot gali. Naudojama atsisiuntimuose, multimedijose. *Garantuotas planavimas* Procesam išdalina lygiom dalim CPU laiką. *Prioritetinis planavimas* Planuotojas atrenka procesus pagal prioritetą. Pvz prioritetas bus laikas, tai greitus procesus meta į eilės priekį. Problema vėl badavimas procesų su mažu prioritetu. Bet lengvas sprendimas -- sendinimas. Laikui einant prioritetą didint. *Ciklinis planavimas* Kiekvienas procesas gauna laiko kvantą (10-100 ms) ir poto eina į eilės galą. Svarbu laiko kvantas. Kai per didelis, ilgas reagavimo laikas. Jei mažas, daug užtrunka prisijunginėt. *Trumpiausias procesas pirmas* Du variantai. Nepertraukiamas, kur vykdomo proceso neliečia. Ir pertraukiamas, kai vykdo procesą, bet atvaro trumpesnis tai permetą ir vykdo trumpesnį. Geras vidutinis atsakymo/laukimo laikas ir geras pralaidumas. Turi įvertint laiką. Ilgi procesai gali negaut cpu, jei bus daug trumpų. *Pirmas atvyko, pirmas aptarnautas* Lengva suprogramuot algoritmą. Iš eilės ateina ir iš eilės vykdo. *Sąžiningas planavimas* Keli vartotojai, bet po lygiai visiem vartotojam, nesvarbu proceso kiekio. Atminties valdymas ------------------ **Atminties valdymo funkcijos** - - - - **Atminties valdymo reikalavimai** - - - - - **Atminties skirstymo metodai** - **Dinaminis priskyrimas --** talpina į pgr atmintį, skiria vietos būtent tiek kiek reikia. Pradžioj labai geras metodas, bet vėliau susidaro išorinė fragmentacija, atsiranda mažų tarpų atminty, efektyvumas mažėja. Bet yra glaudinimas (compaction), kai procesus laikas nuo laiko prastumia, kad liestųsi ir taip panaikina tuos tarpelius. **Atminties talpinimo algoritmai** - - - **Puslapinė organizacija** Jei atmintis padalinta į vienodo dydžio nedidelius blokus, tie blokai vadinami puslapiais ir gali būt susieti su laisvais atminties blokais (frames, kadrais). Kiekvienas frame gali talpint vieną puslapį. Esant tokiai organizacijai išorinė fragmentacija neegzistuoja, o vidinė yra minimizuota paskutiniu proceso puslapiu. **Segmentacija** Segmentacija - atminties skirstymo būdas, kai programa ir jos duomenys skirstomi į aibė segmentų, kurie gali būt skirtingų dydžių. Segmentas - loginis vienetas, pvz pgr programa, procedūra, bendras blokas, stekas, masyvas, lokalūs/globalūs kintamieji, funkcija ir t.t. Puslapiavimas skaidrus programuotojui, bet pašalina išorinę fragmentaciją. Segmentacija matoma programuotojui, leidžia augančias duom struktūras, palaiko ten šūdų visokių. Bet atminties skirstymas ten kažkas negerai. Ir kaip visada, Skirstyt segmentus puslapiais. **Virtuali atmintis** Visi kreipiniai į atmintį proceso ribose pateikiami loginiu adresu, jis transliuojamas į fizinį vykdymo metu. Tai procesas gali būt ištrintas iš atminties į diską ir vykdymo metu gali būt skirtingose dalyse. Procesas gali būt padalintas puslapiais, segmentais. Tai visų psl ar segmentų buvimas pgr atminty vienu metu nėra būtinas. OS į pgr atmintį kelia tik kelis programos gabalus. Rezidentinis rinkinys -- ta dalis proceso kuri yra pgr atminty. Kai reik adreso kurio nėra pgr atminty, generuojamas psl trikio pertraukimas. OS perkelia procesą į blokuotą būvį, disko prašo I/O. Kitam procesui skiriamas CPU. Proceso metu visi kreipiniai vyksta į rezidentinę proceso dalį. Failų sistema ------------- **Failų struktūra** *Baitų seka* Pagal OS atmintis yra baitų seka. Lanksti sistema. Vartotojas daro ką nori. Naudojama šiuolaikinėse OS. *Įrašų seka* Atmintis sudalinta į vienodo dydžio blokus. Failus galima talpint į kelis blokus. Nuskaitymas/įrašymas grąžina vieną įrašą. Naudojo kompiuteriai naudojantys perfokortas. Perfokortą sudaro 80 stulp, todėl OS operavo failais sudarytas iš 80 simbolinių įrašų. Nebenaudojamas. *Įrašų medis* Failas - įrašų medis. Kiekvienas įrašas turi raktą. OS nusprendžia kur naują šaką jungt. Ieško įrašų dažniausiai pagal raktą. Įrašai gali būt skirtingų dydžių. Mainframes/didieji kompiuteriai naudoja. **Failų tipai** - - - - **Katalogų sistemos** - - - **Failų sistemos realizacija** *Nepertraukiamas failų išdėstymas* NAUDOJAMAS CD-ROM, DVD Iš eilės eina failai sudėti tvarkingai. *Vienkryptis sąrašas* Failas kaip rinkinys atminties blokų esančių diske, kurie sujungti į vienkryptį sąrašą. **Pros** kad blokai gali būt bet kur atminty ir kataloge reik saugot tik vieną 1 bloko adresą. **Cons** kad jei reik kreiptis į devintą bloką, OS turi perskaityt 8 blokus, reiškia su laiku problemos. Bloko rodyklei reik 2 Baitų. OS skaito 512B 1024B 2048B, tai rodyklei reiks papildomo bloko. *Vienkryptis sąrašas ir atminties lentelė* NAUDOJAMA MS-DOS FAT (File allocation table). Lentelė turi vieną įrašą vienam disko blokui. Visi blokai sujungti vienkrypčio sąrašo principu. Katalogai turi kiekvieno failo pirmo bloko numerį. FAT lentelė saugoma operatyvioj atminty. **Cons** kad FAT lentelė saugoma operatyvioj atminty ir joje yra visi failai. Visų failų rodyklės sumaišytos vienoj lentelėj. *I- mazgai* Kiekvienas failas turi lentelę I-mazgą. Per jį galima rast visus failo blokus. Mazge saugomi atributai ir blokų adresai. Leidžia laikyt skirtingų failų blokų sąrašą skirtingose vietose. **Pros** kad konkretus mazgas atminty turi būt tada, kai failas atidarytas. Tai čia daug mažiau nei FAT užima **Cons** kad kiekvienam failui išskiriamas fiksuotas adresų kiekis, o jo gali neužtekt. Vienas iš sprendimų rezervuot paskutinį bloką ne duomenim o papildomam adresų blokui. **Diskai** ---------- **Disko struktūra** Kietasis diskas (HDD) - sudarytas iš daug plokštelių, kurios yra padengtus iš abiejų pusių magnetine medžiaga. HDD būna 1-16 plokštelių ir sukas 3000-15000 RPM. Ir yra cilindras su rankom, kuris turi dvi operacijas -- nukreipia ranką į takelį ir skaityto/rašo. **Disko nuskaitymo strategijos** - - - **Disko planavimo metodai** *FCFS (***First come first served)** **Pros** kad eiliškumas aplikacijose, vienodas visoms užklausoms. **Cons** kad ilgas seek laikas. *SSTF (***Shortest seek time first) -** išrenka užklausą su mažiausiu seek laiku nuo esamos galvos pozicijos **Pros** minimizuoja seek laiką **Cons** užtrunka aktyviose zonose, todėl badavimas disko kraštuose. *SCAN (***Scan one direction, then the other) -** eina nuo krašto iki krašto, pakeliui nuskaito sutiktas užklausas. Tada eina atgal vėl skaito reikiamas **Pros** vienodos sąlygos visom užklausom ir išvengia badavimo **Cons** daugiau rankos judesių nei SSTF metode *C-SCAN (***Scan in one direction only) -** keliauja nuo vieno disko į kitą, pakeliui vykdo artimiausias užklausas. Kai pasiekia kraštą, šoka į disko pradžią ir kartoja ciklą. **Pros** tolygiau už SCAN **Diskų masyvų architektūra (RAID)** *Redundant Array of Inexpensive Disks* Panaudojant įvairius diskų ir diskų blokų sujungimo būdus padidinamas duomenų prieinamumas ir pasiekiamumas. Yra skirtingi lygmenys (nuo 0 iki 7). Dažniausi yra 0 1 3 5 6 RAID saugumas užtikrinimas naudojant paritetine info. Info yra perteklinė, todėl masyvuose naudinga talpa mažesnė už fizinę talpą. Duomenų atstatymas garantuojamas vieno ar dviejų diskų fizinio gedimo atvejais (priklauso nuo RAID). Tam masyve duomenys yra baitai/blokai, nebūtinai failai. 0: loginis diskas iš atskirų skirsnių skirtinguose diskuose. 1: Kiekvienas skirsnis po du kartus (toks pat pralaidumas, sugedęs diskas pakeistas kitu ir nukopijavus duomenis. Bet reik dahują diskų papildomų) 4: Atskiras diskas ahujienas stovi. Jei vienas sutrinka diskas, gali būt atstatytas iš kitų. (geras skaitymo greitis. Sutrikęs diskas atstatytas on the fly gali būt. Greitas praplėtimas -- tereik prijungt diską. Easy. Bet rašymo greitis hujovas) 5: Pariteto info rašo į visus diskus ten gudriai. Rašymas skaitymas lygiagrečiai nepriklausomai vyksta. Geras našumas labai. **Operacinių sistemų apsauga** ------------------------------ **Apsaugos metodai** *Fizinis atskyrimas* Skirtingi procesai naudoja skirtingus fizinius objektus *Atskyrimas laike* Procesai turintys skirtingus saugumo reikalavimus vykdomi skirtingu laiku *Loginis atskyrimas* Vartotojui sudaroma iliuzija, kad jokie kiti procesai neegzistuoja. OS apriboja priėjimą prie programos, programa neleidžia prieit prie objektų už leidžiamos srities. *Kriptografinis atskyrimas* Vartotojo procesai šifruoja savo duomenis, kad kitų vartotojų procesai jų neperskaitytų. **Atminties apsaugos priemonės** Apsaugot galima valdant atmintį ir pagal privilegijas. **Failų sistemos apsauga** Failai turi teises, operacijas dirbt su failais katalogais. **Tinklinės OS** ---------------- **OS struktūros tipai** - - - **Tinklinės OS architektūra** Tinklo OS yra kompiuterio OS, kuri įgalina kompiuterį dirbt tinkle. Tinklo OS struktūros dalys: - - - - Pirmos tinklo OS buvo kuriamos paprastai -- turimai lokaliai OS pridedamas tinklo apvalkas. Geriau yra tokias OS kurt iš anksto sumanytas kaip tinklo OS, tada funkcijos bus giliai integruotos į pgr sistemos modulius. Tai užtikrins loginį grakštumą, didesnį našumą, paprastesnį modifikavimą. Yra vieno rango tinklo OS (visi kompiuteriai gali būt ir klientai ir serveriai) ir dviejų rangų (kur vienas ar keli kompiuteriai yra tik serveriai. **Virtualizacija ir debesų kompiuterija** ----------------------------------------- VM -- virtuali mašina\...\...\...\... Tai programa, kurioj lyg fiziniam kompiutery instaliuojama OS ir programos. Fiziškai VM yra tik failų rinkinys. **Virtualizacijos technologijos** Skirstomos į dvi grupes: - resursų virtualizacija (sujungiama ar atskiriama kompiuterinės įrangos dalis, pvz hdd ar tinklo plokštės) - platformų virtualizacija (atskiriama OS nuo aparatūrinės kompiuterio dalies ją simuliuojant). Platformų virtualizacija toliau skirstom į: - - - - **Virtualizacijos privalumai ir trūkumai** **Privalumai:** - - - **Trūkumai:** nėra lol **Debesų kompiuterijos tipai** - - - - **Debesų kompiuterijos teikiamų paslaugų modeliai** - - - **Debesų kompiuterijos privalumai ir trūkumai** **PRIVALUMAI:** - - - - - - **TRŪKUMAI:** - - - -