1 / 111

Operatsioonisüsteemid

5. Operatsioonisüsteemid. Meeldetuletus. Selleks, et lahendada kõrgema taseme ülesandeid, peab eelmine tase olema 77 >= Unustamiskõver langetab tulemust (aga see võib ikkagi roheline olla)

kyran
Download Presentation

Operatsioonisüsteemid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5 Operatsioonisüsteemid

  2. Meeldetuletus Selleks, et lahendada kõrgema taseme ülesandeid, peab eelmine tase olema 77>= Unustamiskõver langetab tulemust (aga see võib ikkagi roheline olla) Kodutöö lõpetamiseks (tulemuse saamiseks) tuleb vajutada nuppu “finish” peale ülesande edukat läbimist

  3. Meeldetuletus Järgmiseks reedeks (26.03.10 18.00) seisuga võetakse harjutusväljakult ja koduülesannete pealt teie hinne Kui pole alustatud kõiki ülesandeid tolleks ajaks, siis on võimalik saada hinne ikkagi, aga hiljem

  4. Sisukord • Tagasivaade • CPU kaitse • Mälu kaitse • Failide kaitse ja ühiskasutus • Erinevad OS-id

  5. Tagasivaade • Fail – universaalne loogiline salvestusühik. Seotud infokogum, mis on salvestatud välismällu • Failidega seotud operatsioonid • Faili loomine • Faili kirjutamine • Failist lugemine • Jooksva positsiooni muutmine • Faili kustutamine • Faili kärpimine

  6. Tagasivaade • Faili tüübid - Moodus liigendada faile kategooriatesse lähtudes sellest, mis moodi neid on võimalik kasutada • Struktuur • Määratud pikkusega kirjed • Muutuva pikkusega kirjed • Määramata pikkusega kirjed • 2 pöördumismeetodid • Otse • Jada

  7. Tagasivaade • Paljude failide hoidmine kettal vajab organiseerimist • Partitsioonid: • Ühel kettal (MS-DOS) • Läbi mitme keta (Unix) • Kataloogide funktsioonid: • Faili otsimine • Faili loomine • Faili kustutamine • Kataloogi kuvamine • Faili ümbernimetamine

  8. Tagasivaade • Kataloogide areng • Ühetasemeline • Kahetasemeline • Keeruline struktuur (puud, atsüklilised graafid) • Inode • Andmestruktuur Unixi-laadsetes failisüsteemides • Hoiavad baasinformatsiooni failide, kataloogide ja failisüsteemide kohta

  9. Tagasivaade • Failisüsteemi tasemed • Rakendusprogrammid • Loogiline failisüsteem • Failikorraldusmoodul • Baasfailisüsteem • Sisend-väljundi juhtimine • Failide paigutus kettal • Pidev paigutus • Lingitud paigutus • Indekseeritud paigutus

  10. Tagasivaade • Hashing: • idee seisneb valemi leidmises, mis arvutaks kataloogis faili kirje aadressi nii, et tema kättesaamiseks piisaks sama valemi kasutamisest. • Aadress arvutatakse faili nimest • Kollisioon – valem annab sama tulemuse erinevate sisendite puhul • Efektiivsus sõltub keskmine katsete arv vaid tabeli täidetusest ja ei sõltu objektide arvust.

  11. Tagasivaade • Erinevaid failisüsteeme • FAT • NTFS • Ext 2 ja Ext 3 • ReiserFS ja Reiser 4 • XFS • JFS • Journaling

  12. Väike enesekontroll

  13. Küsimus nr 1 • Fail on • Bittide jada • Koosneb numbritest ja tähemärkidest • Väikseim ühik, mida on võimalik salvestada • Info, mida on võimalik kasutada edasi ka programmi lõppedes

  14. Küsimus nr 2 • Faili op: kopeerimine saab järgnevatest põhioperatsioonidest: • Failist lugemine • Faili kirjutamine • Faili kustutamine • Faili loomine • Faili jooksva positsiooni muutmine • Faili kärpimine

  15. Küsimus nr 3 • Failitüüpe toetavad järgmised OS-id • Windows • Linux • Mac

  16. Küsimus nr 4 • Partatsioone • Tehakse ruumi kokkuhoiuks • Tehakse failide organiseerimiseks • Saab teha ühele ketale • Saab teha läbi mitme ketta Windowsi OS-is

  17. Küsimus nr 5 • Inode • On andmed Unixi laadses süsteemis • On andmestruktuur Unixi laadses süsteemis • Soft lingi korral peab inode viidete üle arvestust • Teab, kus faili andmeblokid asuvad

  18. Küsimus nr 6 • Millist mällu failide paigutust kirjeldatakse: Vabastab välisest fragmentratsioonist. Iga fail koosneb plokkidega seotud nimistutest. Faili pikkus ei ole ette määratud. Puudus lisamälu ja turvalisus • Pidev paigutus • Lingitud paigutus • Indekseeritud paigutus

  19. Küsimus nr 7 • Hashing • Kataloogide realisatsiooni juures: et failid oleks leitavad ühe arvutusega • Kollisioonivaba • Funktsioon • Open addressing on hashi tüüp

  20. Vastused • A,B,C,D • A,B,D • A,B • B,C • B,D • B • A,C,D

  21. Kaitsesüsteem • Kaitsesüsteem on üks OS-i komponentidest (loeng 2) • Kui süsteem lubab mitmel kasutajal käivitada mitmeid konkureerivad protsesse tekib vajadus kaitsta igat protsessi teise eest • Kaitsesüsteem peab • Tegema vahet lubatud ja lubamatu vahel • Tagama mälujuhtimise ainult protsessile lubatud piirkonnad

  22. I/O kaitse • Sisend-väljundoperatsioonid on privilegeeritud • Kasutaja ei saa otse pöörduda I/O seadmete poole. • OS on vahendaja • Kasutaja ei saa anda vigaseid I/O korralduse ja häirida seega süsteemi normaalset tööd

  23. CPU kaitse

  24. CPU kaitse • OS peab saama CPU enda käsutusse • Ei tohi võimaldada kasutajaprogrammil lõpmatusse tsüklisse jääda • Taimer: tekitab katkestuse teatud aja möödudes. OS saab alati kontrolli enda kätte tagasi

  25. Protsesside sünkroniseerimine • Koopereeruvad protsessid – protsessid, mis mõjutavad üksteise tegevust. Kasutavad ühiseid andmeid või koodi (nt lõimed). • Sünkroniseerimine vajalik koopereeruvate protsesside puhul, sest konkureeriv juurdepääs ühistele andmetele võib viia vigadeni

  26. Kriitiline sektsioon • - piirkond, mida on vaja kaitsta. • Sektsiooni sisemine ja väljumine eraldi funktsioonidena • Ühise ressursi muutmine toimub ainult kriitilises sektsioonis • Kriitilises sektsioonis saab olla korraga ainult üks koopereeruvatest protsessidest

  27. Kriitiline sektsioon • Lahendus peab tagama: • Vastastikuse välistamise: kui protsess tegeleb kriitilises sektsioonis, ei ole muid protsesse, mis tegutseksid oma kriitilises sektsioonides • Edasiliikumise: konkurents kriitilisse sektsiooni sisenevate protsesside vahel ei tohi takistada konkurentsi nende protsesside vahel, mis sektsiooni ei kasuta • Kriitilise sektsiooni siseneva protsessi selgumine lõpliku aja jooksul • Sõltumatuse protsesside sisust ja kiirusest

  28. Näitekood Process p1 { While true do { While turn=proc2 do;{ootab} kriitiline sektsioon Turn:=proc2; muu tegevus } //while }//p1 Process p2 { While true do { While turn=proc1 do;{ootab} kriitiline sektsioon Turn:=proc1; muu tegevus } //while }//p2

  29. 1 lahendus • Kriitilisse sektsiooni sisenemine reguleeritud ühise muutuja turn väärtusega • Täidab tingimusi? • Vastastikune välistamine: OK • Täidetakse ranges järjekorras: OK • Aga.. Kui turn==proc2 ja P1 tahaks kriitilisse sektsiooni minna, ei saa.. Isegi siis kui P2 on oma muu tegevuse sektsioonis

  30. Näitekood 2 Process p1 { While true do { While flag2 do; flag1=true; kriitiline sektsioon Flag1=false; muu tegevus } //while }//p1 Process p2 { While true do { While flag1 do; flag2=true; kriitiline sektsioon Flag2=false; muu tegevus } //while }//p2

  31. 2 lahendus • 1 algoritmi probleem: eeldab loa saamist teiselt protsessilt • Selle asemel mõlemal nüüd oma muutuja (flag) • Iga protsess muudab oma muutuja väärtust ja kontrollib vaid teise muutuja sisu. • Flag 1 ja flag 2 algväärtused on false • Vastastikune välistamine: ei ole ok

  32. Näitekood 3 Process p1 { While true do { flag1=true; While flag2 do; kriitiline sektsioon Flag1=false; muu tegevus } //while }//p1 Process p2 { While true do { flag2=true; While flag1 do; kriitiline sektsioon Flag2=false; muu tegevus } //while }//p2

  33. 3 lahendus • 2 algoritmi probleem: ei välista vastastiku • Parandus: jätame kaks muutujat, vahetame järjekorra • Välistamine: OK • Edasiliikumine : ei ole OK • Samaaegselt ootamas flag1=true flag2=true While flag2 do While flag1 do

  34. Näitekood 3 Process p1 { While true do { flag1=true; Turn=p2 While flag2 and turn=p2 do; kriitiline sektsioon Flag1=false; muu tegevus } //while }//p1 Process p2 { While true do { flag2=true; Turn=p1 While flag1 and turn=p1 do; kriitiline sektsioon Flag2=false; muu tegevus } //while }//p2

  35. Kombineeritud lahendus • Nn. pagaripoe algoritm • Flag1 ja flag2 algväärtus false • Et siseneda kriitilisse sektsiooni: • Protsess oma muutuja flag väärtuseks true • Muutujaga turn teatab, et nüüd on teise protsessi kord siseneda • Isegi kui flag mõlemal true, turn reguleerib sisenemist

  36. Riistvara toetus • Pessimistlik lähenemine • Enne kriitilisse sektsiooni sisenemist blokeeritakse kõik vähegi ohtlikud protsessid • Väljumisel võetakse blokeeringud maha • Optimistlik lahendus • Salvestatakse ühismuutujate väärtused • Muudetakse lokaalsete muutujate väärtusi • Võrreldakse ühismuutuja väärtusega. Kui see on muutumatu, salvestatakse lokaalne muutuja. Kui aga on vahepeal muutunud, alustatakse otsast peale

  37. Semafoorid • - ühine muutuja, mis on parameetriks kahele funktsioonile: • P ootamiseks kriitilisse sektsiooni sisenemiseks ja • V signaliseerimiseks kriitilisest sektsioonist väljumisel P(s) kriitiline sektsioon V(s) • Lihtsaim semafoor: binaarne (0 ja 1)

  38. Semafoorid • Semafori s muutmine peab olema peidetud. • Ajal, kui üks protsess semafoori muudab, ei saa ükski teine protsess teha sama.

  39. Ajadiagramm + semafor P1 P krit V Muu P2 P krit V Muu P3 P krit V Muu

  40. Mälu kaitse

  41. Mälu kaitse • OS on ju ka põhimälus • Seda tuleb kaitsta kasutajaprotsesside eest • Samuti vaja kaitsta kasutajaportsesse üksteise eest • Mälu kaitse on riistvara funktsioon

  42. Mälu kaitse • Igale programmile lubatud mälupiirkond. Väljaspool seda mälupiirkonda ei tohiks programm pääseda • Kaitse kahe registri abil: baasregister (esimene lubatud aadress) ja piirregister (lubatud osa pikkus) • Baas ja piirregistri väärtustamised privilegeeritud operatsioonid. Ainult OS saab.

  43. Mälu kaitse baas Baas+piir MÄLU CPU aadress jah >= jah <= ei ei Adresseerimise viga

  44. Mälu kaitse • Lehekülgmälus (fragmenteerumise vastu. Mälu jaotatud lk) kaitse lehekülgede tabeli kaudu • Igale freimile pannakse vastavusse lugemist ja kirjutamist lubav bitt. • Teine bitt näitab, kas lehekülg kuulub protsessile

  45. Failide kaitse

  46. Failide kaitse • Failide sisu üldjuhul tähtis ja vajab kaitset • Ohud • Välisseadme vigastused. Ohu maandamiseks teha andmetest pidevalt koopiaid mõnele teisele välisseadmele • Autoriseerimata kasutus. Ühekasutaja süsteemis seda polnud. Mitmekasutaja süsteemis hädavajalik kontrollida failide kättesaadavust ja pääsulube

  47. Failide kaitse • Tüüpiline lahendus: kättesaadavus sõltub kasutajast • Et mitte kirjeldada õigusi igale kasutajale eraldi -> kasutajagrupid • Õigused liigendatakse: • Nt lugemisõigus – faili saab kasutada aga mitte muuta ja kustutada. Võimalus kopeerida • Nt kirjutamisõigus – lubab muuta faili sisu või fail kustutada.

  48. Failide kaitse • Faili kättesaadavus üldjuhul määratud atribuutidega, mille väärtuseks on kombinatsioonid kasutaja ja õiguste liikidest • Teine võimalus: kasutada paroole • Paroole võimalik panna failidele ja kataloogidele • Ei erista kasutajaid ega kasutusliike

  49. Kasutajainfo Linuxis • Kasutajakonto info asub failides • kasutajad /etc/passwd, /etc/shadow, • grupid /etc/group, /etc/gshadow • Igal kasutajal on oma kodukataloog • /home/kasutajanimi • Iga fail kuulub mingile kasutajale (UID) ja grupile (GID) • Iga protsess kuulub mingile kasutajale ja grupile

  50. Kasutajainfo Linuxis • Passwdfail on kõigile loetav kasutaja:parool:1001:4:Kasutaja A konto:/home/kasutaja:/bin/bash • Sisaldab: kasutajanime, kodeeritud parooli, UID, GID, kommentaar, kodukataloogi, kesta • Shadow fail loetav vaid root õigustes kasutaja:parool:10808:0:99999:7:-1:-1:1234567 • Sisaldab: kasutajanimi, parool, muudetud, min ja max päevi mil parooli vahetada, hoiatus, lukustamine, aegumine, reserveeritud

More Related