Lecture 1

Embed Size (px)

DESCRIPTION

Predavanje 1 OS

Citation preview

  • Praktikum iz operativnihsistema

    Lekcija 1: Uvodzima 2013/2014

    Prof. dr Branimir Trenki

  • O meni....

    Branimir M. Trenki Doktor tehnikih nauka, oblast raunarske i

    telekomunikacione mree Redovni profesor Fakulteta za kompjuterske nauke

    Megatrend Univerziteta e-mail: [email protected]

    [email protected] Molim da subject- linija Vaeg e-mail-a poinje sa

    kodom kursa (POP) telefon: (063)7489-292

  • O kursu....

    Obim: 2 + 2 (7 ESPB bodova) Termini:

    Predavanja: petak 15:00 17:00 Sala 10 Vebe: etvrtak po grupama

    Okosnica kursa:A) Analitiki pristup u analizi osnovnih

    funkcija operativnog sistemaB) Linux - korienje

  • O kursu....

    Nain polaganja: Aktivnost na nastavi Odbrana vebi - kroz 2 kolokvijuma Teorijski deo ispita - kroz 2 kolokvijuma Ispit je poloen polaganjem oba dela Redosled polaganja nije bitan

  • Osnovni materijal kursa

    Prezentacije predavanja (pdf format)(Obavezna distribucija svim polaznicima kursa!)

    Dodatni materijali korieni na predavanjima(Obavezna distribucija svim polaznicima kursa!)

    Zbirka reenih zadataka(Obavezna distribucija svim polaznicima kursa!)

  • Dodatni materijal kursa

    Knjiga (pdf format)(Distribucija na zahtev!)

  • Dodatni materijal kursa

    Knjiga (pdf format)(Moete je nai u biblioteci Faklteta)

    OPERATIVNI SISTEMITeorija, praksa i reeni zadaci

    Borislav orevi, Dragan Pleskonji, Nemanja Maek

    Napomena: Poglavlja 1, 2, 3 i 4

  • Cilj kursa Praktikum Upravljanje resursima i procesima

    raunarskog sistema Analitiki pristup u analizi ovih funkcija operativnog

    sistema Specifino okruenje u kome sistem funkcionie

    (vremenska uslovljenost) Praktino osposobljavanje za korienje Linux

    operativnog sistema Organizacija (sistem datoteka) Komande Shell programiranje

  • Nastavak.....

    Gde smo stali prolog semestra?

    Da li smo praktino reili problem? Naravno, nismo Program pasivni entitet u raunarskom sistemu Program mora da se izvri!

  • Uvod

    Operativni sistem u optem smislu, Skup programa koji (A) upravljaju resursima

    raunarskog sistema i (B) obezbeuju interfejska korisniku

    Prva funkcija upravljanje resursima raunara Resurs? Sve ono to je potrebno programu za rad

    Hardverski resursi (procesor, memorija, ulazno-izlazni ureaji)

    Softverski resursi (programi, podaci,...)

  • Uvod

    Oekivane funkcije jednog raunarskog sistema:1. Automatsko funkcionisanje

    Funkcionisanje bez intervencije operatera ljudske intervencije su znatno sporije od raunara

    2. Mogunost planiranja i rasporeivanja poslovaKome e biti dodeljen procesor. Jezik za upravljanje posl.

    3. Multiprogramiranje4. Eliminisanje zavisnosti U/I operacija

    I/O operacije su mnogo sporije od procesora treba ih izolovani od procesora (kanal - prekid), DMA prenos

  • Osnovne funkcije OS

    Na osnovu definicije operativnog sistema i oekivane funkcionalnosti: Upravljanje poslovima (rasporeivanje

    poslova) i interpretacija komandnog jezika; Rukovanje ulazno-izlaznim operacijama; Rukovanje grekama i prekidima; Upravljanje resursima; Omoguavanje viestrukog pristupa; Zatita resursa od zlonamernih napada, sluajnih

    greaka korisnika i greaka u korisnikom programu;

  • Osnovne funkcije OS

    Na osnovu definicije operativnog sistema i oekivane funkcionalnosti: Obezbeivanje dobrog interfejsa za operatera i

    korisnika; Obraun korienja raunarskih resursa.

  • Uvod Karakteristike operativnih sistema

    Konkurentnost Postojanje vie istovremenih, paralelnih aktivnosti Problem prelaska sa jedne aktivnosti na drugu

    Deoba resursa Konkurentne aktivnosti mogu da zahtevaju deljenje

    nekog resursa Postojanje dugotrajne memorije

    Potreba za trajnim skladitenjem podataka Nedeterminizam

    OS je deterministiki orjentisan sa nedeterministikim ponaanjem

  • Uvod

    Vrste operativnih sistema Klasifikacija prema broju korisnika i procesa Po broju korisnika:

    Jednokorisniki (single-user) Viekorisniki (multi-user)

    Po broju poslova (taskova): Jednoprocesni (single-tasking) Vieprocesni (multi-tasking)

  • Uvod

    Vrste operativnih sistema Klasifikacija prema nainu obrade poslova Sistemi sa grupnom (batch) obradom

    Korisnici predaju svoje poslove preko ulaznih jedinica

    Izvravaju se jedan za drugim u nizu (seriji) Interaktivni sistemi

    Time-sharing sistemi Kombinovani sistemi

  • Uvod

    Vrste operativnih sistema Klasifikacija prema funkcionalnim osobinama

    raunarskog sistema Operativni sistemi za velike raunarske sistema Operativni sistemi za sisteme sa deljenjem

    vremena Operativni sistemi za stone raunare Operativni sistemi za vieprocesorske sisteme

  • Uvod

    Klasifikacija prema funkcionalnim osobinama raunarskog sistema Mreni operativni sistemi Distribuirani sistemi Udrueni sistemi Operativni sistemi za upravljanje u realnom

    vremenu Runi sistemi

  • ta je to RT sistem?

    Definicija:Sistem u realnom vremenu je bilo koji sistem zaobradu informacija iji je odziv, na eksternogenerisanu ulaznu pobudu, unutar konanog ispecificiranog vremenskog intervala.

  • ta je to RT sistem? Definicija:To je sistem u kome korektnost ne zavisi samo odlogike ispravnosti izlaznih vrednosti, nego i od vremena kada su ti rezultati proizvedeni (dostupni)

    vremensko prekoraenje odziva je isto toliko loe kao i pogrean odziv!

  • ta je to RT sistem? Definicija:Sistem u realnom vremenu je sistem koji morazadovoljiti eksplicitne vremenske zahteve odziva(ograniene vrednosti) ili reskira ozbiljneposledice, ukljuujui i otkaz sistema

  • Realno vreme? Definicija:

    Pojam REALNO VREME znai da sistemsko vreme mora biti sinhronizovano sa vremenom u sredini na koju sistem deluje

  • Povezani pojmovi Reaktivni sistem - neprekidna interakcija sa

    okruenjem (za razliku od obrade podataka)

    Ugraeni (engl. embedded) sistem raunarski sistem postavljen u svoje okruenje (ureaj koji kontrolie): kombinacija raunarskog hardvera i softvera, namenjen u odreene svrhe

    Bezbednosno kritini sistem otkaz moe prouzrokovati povrede, gubitak ivota, znaajne finansijske gubitke

  • Ugraeni sistemi

    Glavna primena koncepta realnog vremena

    Znaajna primena: procenjuje se da je 99% svih proizvedenih procesora upotrebljeno u ugraenim sistemima

    Neemo ih specijalno razmatrati, ali ih treba uvek imati na umu

  • Tipian RT kontrolni sistem

  • Struktura RT kontrolnog sistema

    U svakoj upravljakoj (kontrolnoj) aplikaciji, mogu se razlikovati tri osnovne komponente

    Sistem koji treba kontrolisati moe obuhvatati senzore i aktuatore (pobuivae)

    Kontroler alje signale ka sistemu saglasno predhodno

    odreenim ciljevima kontrole Okruenje u kome sistem deluje

  • Detaljniji blok dijagram

  • Softverski prikaz

  • Tipovi kontrolnih sistema

    Zavisno od stepena interakcije sistem okruenje, moemo razlikovati tri tipakontrolnih sistema:

    Kontrolni sistemi monitorisanja ne modifikuju okruenje

    Blago spregnuti kontrolni sistemi komotna interakcija

    Kontrolni sistemi sa vrstom spregom vrlo tesna interakcija izmeu percepcije i akcije

  • Kontrolni sistemi monitorisanja

    Ne modifikuju (menjaju) okruenje Primeri: sistemi intezivne nege

  • Blago spregnuti sistemi Komotna ili je ak i nema: interakcija izmeu

    indikacije i upravljanja (kontrole) Primeri: roboti sortiranja, roboti za sklapanje

    (asembliranje),

  • Sistemi sa vrstom spregom

    Procesi indikacije i upravljanja (kontrole) su tesno spregnuti (feedback)

    Primeri: sistemi konrole letenja, vojni sistemi, sistemi bitni za ovekov ivot, .

  • Posledice

    Tesna interakcija sa okruenjem zahteva od sistema da njegova reakcija na dogaaj bude precizno vremenski uslovljena.

    Vremenska uslovljenost je nametnuta dinaminom prirodom okruenja

    => Operativni sistem mora omoguiti izvravanje

    poslova u okviru zadatih vremenskih uslova

  • Sistem za kontrolu nivoa tenostiCev

    Merenje protoka

    Slavina

    Interfejs

    RaunarVreme

    Ulaznooitavanje protoka

    Obrada

    Izlaz: ugaoslavine

  • Sistemi za Kontrolu ProcesaRaunar za

    kontroluprocesa

    HemikalijeiMaterijali

    Slavina TemperaturniPretvara MealicaKrajnjiProizvodi

    Proizvodni POGON

  • Ogranienja dananjih RTS-a Multi-tasking. Podrka paralelnom

    programiranju kroz skup sistemskih poziva za upravljanje procesima

    Rasporeivanje zasnovano na prioritetima Mogunost brzog odgovora na eksterne

    interapte Osnovni mehanizmi za komunikaciju i

    sinhronizaciju procesa. Binarni semafori za realizaciju meusobne iskljuivosti u korienju deljenih resursa. Bez protokola pristupa inverzija prioriteta

  • Ogranienja dananjih RTS-a

    Mali kernel i brzo prebacivanje konteksta. Mali kernel ograniava funkcionalnost a samim tim i predvidljivost sistema

    Podrka RT clock-a kao interne vremenske reference. U mnogim komercijalnim kernel-ima jedini mehanizam upravljanja vremenom

    Ti tipovi RT kernel-a su projektovani uzimajui u obzir istu osnovnu predpostavku sistema sa deljenim vremenom (timesharing) , gde se poslovi razmatraju kao nepoznate aktivnosti koje se sluajno aktiviraju

  • Tipian prigovor

    Nije isplativo investirati u teoriju sistema u realnom vremenu, pre svega zbog eksponencijalnog rasta brzine raunarskih sistema, sva vremenska uslovljavanja mogu bez problema biti ispinjena.

    ODGOVOR: Za proizvoljnu raunarsku brzinu, moraju se dati

    garancije da e postavljeni vremenski zahtevi biti ispunjeni. Testiranje NIJE dovoljno.

  • RT sistemi Brzi sistemi Sistem u realnom vremenu nije brz sistem. Brzina je uvek relativna u odnosu na odreeno

    okruenje Velika brzina procesiranja je poeljna, ali ne

    garantuje korektno ponaanje sistema

  • Brzina - Predvidljivost Cilj sistema u realnom vremenu je da garantuje

    vremensko ponaanje svakog individualnogposla (task)

    Cilj brzog sistema je da minimizira proseno vreme odziva skupa poslova

    Ne treba verovati prosenoj vrednosti kada treba garantovati individualnu performansu

    John Stankovi...

  • Ciljne funkcionalnosti RTS-a Blagovremenost

    Projektovan za vrna optereenja

    Predvidljivost Predvideti konsekvence bilo koje odluke rasporeivanja Za neki posao se ne moe u napred garantovati

    izvrenje unutar postavljenih vremenskih zahteva

    Otpornost na greke

    Jednostavan za odravanje

  • Predvidljivost Jedna od najznaajnijih osobina koju bi sistemi u

    realnom vremenu trebalo da poseduje je predvidljivost

    Sistem je u stanju da predvidi evoluciju poslova i garantuje da e strogi vremenski zahtevi biti zadovoljeni

    To omoguuju odreeni (i) mehanizmi jezgra operativnog sistema (kernel-a), kao i (ii) informacije koje se dodeljuju svakom poslu

    Pouzdanost tih garancija zavisi, meutim, od vrlo irokog spektra faktora

  • Izvori ne-determinizma... Arhitektonske karakteristike hardvera

    interna struktura samog procesora brza memorija (cache), interapti, DMA

    Interne karakteristike operativnog sistema rasporeivanje, sinhronizacija, tipovi semafora

    Programski jezik nedostatak eksplicitne podrke vremena

  • Izvori ne-determinizma... Programski jezici:Dananji programski jezici nisu dovoljno izraajnida bi mogli propisati odreena vremenska ponaanja i zbog toga nisu podesni za realizaciju predvidljivih aplikacija u realnom vremenu Ada Nema mogunosti definisanja eksplicitnih

    vremenskih zahteva koji se tiu izvrenja poslova

  • Izvori ne-determinizma... Ada delay naredba odreuje donju granicu vremena

    suspenzije izvrenja posla i ne postoje garancije u jeziku da izvrenje posla nee biti odloeno due od eljene gornje granice

    Postojanje ne-deterministikih naredbi, kao to je select, onemoguuju pouzdanu analizu najgoreg sluaja istovremenih aktivnosti

    Nepostojanje protokola pristupa deljenim resursima moe prouzrokovati da posao vieg prioriteta neogranieno eka kompletiranje posla nieg prioriteta

  • Izvori ne-determinizma... RT Euclidprogramski jezik koji je specijalno projektovan daomogui pouzdano i garantovano rasporeivanje usistemima realnog vremena Omoguuje programeru uvoenje (i) vremenskog

    ogranienja i (ii) timeout- izuzetaka u izvrenju svake programske petlje, wait- naredbi kao i naredbama pristupa periferalima

  • Izvori ne-determinizma... RT Euclid Pored toga, nametnuta su i neka programska

    ogranienja: Odsustvo dinamikih struktura Odsustvo rekurzije Ograniene programske petlje

    Omoguuje klasifikaciju procesa kao periodine ili aperiodine

    Poseduje naredbe kojima se mogu specificirati odreeni vremenski zahtevi (vreme aktiviranja, perioda), kao i sistemske vremenske parametre, kao to je vremenska rezolucija

  • Izvori ne-determinizma... RT Concurrent C Proirenje Concurrent C jezika sa mogunostima

    specifikacije periodinosti i deadline zahteva, Trai garancije za zadovoljenje postavljenih

    vremenskih zahteva, i definie alternativneakcije u sluaju nemogunosti ispunjenja zahteva ili nemogunosti garantovanja njihovog ispunjenja

  • Izvori ne-determinizma... RT Concurrent C Orjentisan ka dinamikim sistemima, gde poslovi

    mogu biti aktivirani i u vreme izvrenja programa Za razliku od RT Euclid jezika, koji je

    prevashodno projektovan da podri statikesisteme u realnom vremenu, u kojima se garancije ostvaruju u vreme prevoenja programa

  • Izvori ne-determinizma... RT Concurrent C Jo jedna vana odlika RT Concurrent C jezika je

    mogunost pridruivanja deadline-a svakoj naredbi, koristei sledeu programsku konstrukciju:within deadline (d) naredba-1[else naredba-2]

    Ako izvravanje naredbe-1 pone u trenutku t i ne zavri se u trenutku (t+d), tada se izvravanje prekida i izvrava se naredba-2.

  • Izvori ne-determinizma Bilo koja RT konstrukcija u programskom jeziku

    mora biti podrana od strane operativnog sistema kroz namenske servise kernel-a,

    Meu svim mehanizmima kernel-a, koji imajuuticaja na predvidljivost, algoritam rasporeivanjaje najznaajniji faktor

    Odgovoran kako za ispunjenje vremenskih zahteva, tako i za zadovoljenje zahteva po pitanju deljenih resursa

  • Tradicionalni pristup Uprkos veoma velikom domenu aplikacije, veina

    RT aplikacija je projektovano na osnovuempirijskih tehnika: Asemblersko programiranje Tajming na osnovu namenski konstruisanih

    tajmera Upravljanje kroz drajver- programiranje Manipulacija prioritetima

  • Nedostaci Veoma teko programiranje koje u mnogome

    zavisi od mogunosti samog programera Teko razumevanje programskog koda

    itljivost 1/efikasnost

    Teko odravanje softvera Kompleksne aplikacije sadre milione linija koda Razumevanje tee nego ponovo ga napisati Ali, ponovno pisanje je SKUPO i podlono

    grekama

  • Nedostaci Teko je verifikovati vremenske zahteve bez

    eksplicitne podrke alata i metodologija za analizukoda i rasporedljivosti

    Visoki stepen nepredvidljivosti!

  • Neki incidenti zbog softvera Prekoraenje posla (task overrun) u toku

    pristajanja LEM modula Prvi let Space Shuttle (sinhronizacija) Ariane 5 (number to overflow) Airbus 320 Pathfinder (reset for timeout) Patriot sistem u ameriko-irakom ratu

  • Misija Mars - Pathfinder

    04. Juli 97 sputanje na Mars (posle 6 meseci)

    15. Juli 97 sistem je stalno u resetu zbog istekavremenske kontrole robot prestaje saradom

    16. Juli 97 vest je obila svet: inenjeri poinju rad

    17. Juli 97 greka je identifikovana (verovatno. 10-6)

  • Misija Mars - Pathfinder

  • Misija Mars - Pathfinder

    Taskovi BCT i MT dele resurs buffer1Taskovi MT i SCT dele resurs results

  • Raspored bez konflikta

  • Konflikt na kritinoj sekciji

  • Konflikt na kritinoj sekciji

  • Lekcija je nauena

    if something can go wrong, it will go wrong Testiranja, mada neophodna, omoguuju samo

    deliminu verifikaciju ponaanja sistema Predvidljivost mora biti ostvarena na nivou jezgra

    operativnog sistema Upravljanje preoptereenjima, i otpornost na

    greke (fault tolerance) Kritini sitemi moraju biti projektovani na osnovu

    pesimistikih pretpostavki

    Praktikum iz operativnihsistemaO meni....O kursu....O kursu....Osnovni materijal kursaDodatni materijal kursaDodatni materijal kursaCilj kursaNastavak.....UvodUvodOsnovne funkcije OSOsnovne funkcije OSUvodUvodUvodUvodUvodta je to RT sistem?ta je to RT sistem?ta je to RT sistem?Realno vreme?Povezani pojmoviUgraeni sistemi Tipian RT kontrolni sistemStruktura RT kontrolnog sistemaDetaljniji blok dijagramSoftverski prikazTipovi kontrolnih sistemaKontrolni sistemi monitorisanjaBlago spregnuti sistemiSistemi sa vrstom spregomPoslediceSistem za kontrolu nivoa tenostiSistemi za Kontrolu ProcesaOgranienja dananjih RTS-aOgranienja dananjih RTS-aTipian prigovorRT sistemi Brzi sistemiBrzina - PredvidljivostCiljne funkcionalnosti RTS-aPredvidljivostIzvori ne-determinizma...Izvori ne-determinizma...Izvori ne-determinizma...Izvori ne-determinizma...Izvori ne-determinizma...Izvori ne-determinizma...Izvori ne-determinizma...Izvori ne-determinizma...Izvori ne-determinizmaTradicionalni pristupNedostaciNedostaciNeki incidenti zbog softveraMisija Mars - PathfinderMisija Mars - PathfinderMisija Mars - PathfinderRaspored bez konfliktaKonflikt na kritinoj sekcijiKonflikt na kritinoj sekcijiLekcija je nauena