1 / 87

OPERACIJSKI SUSTAVI

OPERACIJSKI SUSTAVI. Predavanja: 15 x 2 sata = 30*0.75 = 22.5 sati ( 0.75 ECTS) Vježbe: 15 x 2 sata = 30*0.75 = 22.5 sati ( 0.75 ECTS) Samostalno učenje: 45 sati ( 1 ECTS) Literatura: 30 sati ( 1 ECTS ) Vježba na računalu: 30 sati ( 1 ECTS ) Ukupno: 150 sati = 5 ECTS.

lysa
Télécharger la présentation

OPERACIJSKI SUSTAVI

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. OPERACIJSKI SUSTAVI Predavanja: 15 x 2 sata = 30*0.75 = 22.5 sati ( 0.75 ECTS) Vježbe: 15 x 2 sata = 30*0.75 = 22.5 sati ( 0.75 ECTS) Samostalno učenje: 45 sati ( 1 ECTS) Literatura: 30 sati ( 1 ECTS ) Vježba na računalu: 30 sati ( 1 ECTS ) Ukupno: 150 sati = 5 ECTS

  2. Uvod: što je operacijski sustav i povijesni razvoj Računalni sustav Upravljanje procesima Upravljanje memorijom Sustav I/O Distribuirani sustavi Zaštita i sigurnost Često korišteni operacijski sustavi: UNIX, LINUX, WINDOWS NT Sadržaj predavanja

  3. 1. UVOD • Što je operacijski sustav • Jednostavni “Batch sustavi” • Višeprogramski sustavi • Sustavi s podjelom vremena • Sustavi osobnih računala • Paralelni sustavi • Distribuirani sustavi • Sustavi u realnom vremenu

  4. 1.1 Što je operacijski sustav ? • Operacijski sustav je računalni program koji posreduje između korisnika i računalnog sklopovlja (hardware). • Namjena: osigurati radno okruženje u kojem korisnik može izvoditi svoje korisničke programe (aplikacije) na pogodan i učinkovit način. • Prateći razvoj operacijskih sustava od prvih “priručnih” do suvremenih, stjećemo uvid u to što i kako operacijski sustav radi. • Operacijski sustav • Jamči korektan rad računalnog sustava • Sprečava međudjelovanje (interferiranje) korisničkih programa • Osigurava određene servise korisničkim programima, kako bi programiranje ( izrada programa) bilo što jednostavnije i brže.

  5. Komponente računalnog sustava User 1 User 2 User 1 User 2 kompajler asembler tekst editor Baza podataka Sistemski i aplikacijski programi Operacijski sustav Računalno sklopovlje

  6. Korisnici, sklopovlje, korisnički program[users, hardware, application software] • Korisnici: ljudi, strojevi i drug aračunala koji nastoje uporabom računalnog hardvera riješiti svoje različite orobleme • Računalno sklopovlje ( hardver): univerzalna elektronička naprava koja nije pripremljena rješavati konkretan korisnikov problem. Zbog svoje univerzalnosti omogućava visokoserijsku proizvodnju -> niske cijene • Korisnički program: instruira računalno sklopovlje kako će rješavati konkretan korisnički problem. • Operacijski sustav: upravlja i usklađuje uporabu računalnog hardvera od strane različitih korisničkih programa i različitih korisnika. OS je poput vlade jedne države – ne radi ništa “korisno”, ali ostvaruje okruženje i preduvjete za normalno i nesmetano odvijanje drugih “proizvodnih procesa” (od kojih su neki korisni).

  7. OS upravlja • Strojnim resursima: I/O, memorijom, CPU, strojnim vremenom • Procesima: “istovremeno” izvođenje više procesa • Podacima: smještanje u radnoj memoriji i jedinicama za masovnu pohranu podataka

  8. Korisnički program Buffer Tipkovnica Tiskalnik Primjer 1: Tipkovnica Primjer 2: Tiskalnik Korisnički program Buffer

  9. Primjer 2: Memorija Korisnički Program I I II Korisnički Program II Memorija

  10. Upravljanje procesima • Program: skup instrukcija koje definiraju ponašanje računalnog sklopovlja (hardware-a) f Izlazi Y Ulazi X Y = f( X ) Program preslikava programske ulaze u programske izlaze Proces: program u izvođenju. Posjeduje vremensku komponentu. Promatra se kao niz instrukcija, te stanjem ulaza i izlaza prije, te poslije izvođenja.

  11. S0 = skup svih memorijskih lokacija pridruženih procesu prije izvođenja: početno stanje Sn = skup svih memorijskih lokacija pridruženih procesu poslije izvođenja: konačno stanje S0 -> S1 -> S2 -> ... Sn S1 ... Sn-1: međustanja procesa

  12. Operacije nad procesima • Stvori • Izvodi • Čekaj • Signaliziraj • Suspendiraj

  13. Upravljanje podacima • Memorijske strukture podataka • Datoteke ( files): zapis podataka na medijima za masovnu pohranu ( diskovi, diskete, CD/DVD, trake Povezuje strukture podataka opisane imenom, tipom, vremenom stvaranje, vremenom zadnje promjene, pravima pristupa itd s fizičkim zapisom na mediju. Direktorij ( folder): posebna datoteka koja evidentira druge datoteke Stablo direktorija: definiran odnos roditelj - dijete

  14. Operacije nad datotekama • Stvori ( kreiraj) • Piši • Čitaj • Izvodi • Uništi ( briši)

  15. Povijesni razvoj OS • Jednostavni “batch” sustav • Spooling • Višeprogramski batch sustav • Sustav s podjelom vremena • Sustavi osobnih računala • Paralelni sustavi • Raspodijeljeni (distribuirani) sustavi • Sustavi u realnom vremenu

  16. 1. Jednostavni “batch” sustavi • Razdoblje: 1945 – 1950 • Računalna konfiguracija: CPU, radna memorija s magnetskim jezgricama • ULAZ: čitač kartica • IZLAZ: linijski tiskalnik, bušač kartica

  17. X X X Kartice Kartice Kartice Tiskalnik Rezidentni OS Posao • Predaja bušenih kartica • “Poslovi” ( jobs) čekaju na stolu • Svrstavanje poslova prema srodnosti, tj. I/O operacijama i resursima koji se za njih montiraju • Postavljanje posla u čitač kartica • Čitanje kartica: 300-1200 u minuti ( 20 u sekundi ) • Obavljanje posla: 20.000 instrukcija u sekundi ( 1000 puta brže nego priprema čitanjem kartica) • Tiskanje rezultata: 120 linija u minuti ( 2 linije x 132 znaka u sekundi ) • Poruka o grešci na papiru

  18. X Kartice Tiskalnik 2. Spooling • S – Simultaneous • P – Peripheral • O – Operation • On – On • L - Line Disk CPU

  19. ALGORITAM UČITAVANJA KARTICA Kartica = 0 DOK postoji kartica u čitaču ČINI Učitaj karticu u memoriju AKO JE @RUN kartica TADA ZA SVAKU Oprema U potrebna oprema DOK NIJE montirana ČINI Traži montiranje Čekaj znak za nastavak Pozovi Izvođenje posla Kartica = Kartica +1 Slijedeća kartica

  20. 3. Višeprogramski batch sustav RezidentniOS Job 1 Job 2 Job 3 Job 4 Memorija

  21. Posao =0: Kartica = 1 DOK u čitaču postoji kartica ČINI učitaj karticu u memoriju Kartica = Kartica +1 AKO JE @RUN kartica TADA Spremi posao na disk Posao = Posao + 1 Kartica = 0 Broj poslova = Posao Posao = 0 DOK JE Posao < Broj poslova ČINI Učitaj POSAO u memoriju ZA i = 0 DO Potrebna oprema AKO NIJE Montirana TADA Traži montiranje opreme Čekaj znak za nastavak Posao = Posao + 1

  22. Rezidentni OS Disk buffer Printer buffer Posao 1 Posao 2 Posao 3 Tiskalnik Disk Brzina CPU = 1000 x brzina diska Koristi se mehanizam DMA za pristup I/O jedinicama: disku, tiskalniku DMA CPU IRQ

  23. CPU izvodi posao 1000 puta brže, nego čitaj/piši operacije prema vanjskim jedinicama • Primjer izračuna pristupnog vremena disku ( Disk Access Time ): ~ 8 ms • Želi se izbjeći čekanje poslova zbog sporih I/O operacija • Posao čita / piše u radnu memoriju “buffer” i time su s aspekta posla I/O operacije završene • Asinkrono se izvodi prijenos podataka iz buffera prema disku / tiskalniku • Ako je buffer pun kod piši, ili prazan kod čitaj, proces mora čekati dobavljanje podataka • Za to vrijeme se može izvoditi drugi posao IRQ: sporiji, jer se na stek sprema stanje registara, kako bi bio osiguran povratak nakon obavljene prekidne usluge DMA: odvija se “krađom ciklusa”. Izvođenje glavnog procesora se zaledi, i za to vrijeme memoriji pristupa DMA procesor

  24. 4. Sustav s podjelom vremena

  25. Svaki korisnik ima na raspolaganju sustav jedan vremenski odsječak, npr. 10 ms • Kada istekne vrijeme od 10 ms, timer prekida ( nemaskirani IRQ ) glavni procesor • Stanje CPU registara se sprema u Tablicu procesa • U CPU registre se učitavaju vrijednosti procesa koji je na redu izvođenja • Mogući problemi: interferencija procesa • Memoriji dodijeljenoj procesu ne mogu pristupati drugi procesi • Mogući problemi: interferencija ( međuutjecaj ) procesa • Primjer: Dva procesa čitaju disk i ispisuju na tiskalniku • Svaki proces ima isključivo pravo korištenja tiskalnika • Koristi tiskalnik sve dok ne završi • Mogući problem: A dobije disk i čeka tiskalnik, B dobije tiskalnik i čeka disk

  26. 5. Sustavi osobnih računala • Jednokorisnički • Jednoprogramski • Jednostavni procesi koji ne rade u privilegiranom modu • Program može neograničeno pristupati cijeloj memoriji • Korisnik ima neograničena prava pristupa datotekama

  27. 6. Paralelni sustavi • Usklađuje rad više procesora • Procesori dijele: memoriju, sabirnicu, takt • Svaki proces -> vlatiti procesor • Jedan program može izvoditi više procesora • Bitno usklađivanje izvođenja ( npr. Kvadratna jednadžba ) • Redudantnost procesora: u slučaju kvara jednog procesora, sustav radi, samo sporije • N – procesora ne ubrzava sustav N puta, nego nešto manje, jer se dio vremena troši na usklađivanje rada. • UNIX podržava 64, a Windows 8 CPU

  28. 7. Distribuirani sustavi • Više mrežno povezanih računala • Svaki CPU ima vlastitu memoriju • Komunikacija putem mreže 1 Gbit/sec • Klaster / node • Dijeljenje resursa • Osigurana redudantnost sklopovlja • Uravnoteženje (balans) opterećenja • Upravljač (kontroler) domene • Pristup datotekama na različitim sustavima pod kontrolom upravljača domene • Sustav aktivnih direktorija • Repliciranje datoteka • Primjer: “web farme”

  29. 8. Sustavi u realnom vremenu • Vremenska usklađenost izvođenja • Podražaji stižu od vanjskih procesa • Akcija prema procesu • OS osigurava interakciju vanjskog procesa i računala u zajamčenim vremenskim intervalima • Definira se vremensko ograničenje “time constraint” unutar kojeg moraju biti generirani programski izlazi • Program je korektan, ako generira definirane / očekivane izlaze za sve ulaze, te ako ih generira unutar vremenskog ograničenja

  30. 2. Računalni sustav • Operacije računalnog sustava • I/O ( Ulaz / Izlaz ) • Spremanje podataka • Memorijska hijerarhija • Hardverska zaštita

  31. 2.1 Operacije računalnog sustava CPU disk controller printer controller tape kontroler memory Controller memory Suvremeni računalni sustav

  32. 1. Von Neumanov model računala: programi i podaci dijele zajedničku memoriju 2. CPU : centralna procesna jedinica obavlja: a) Dohvat strojne instrukcije ( kod operacije i operandi ) b) Dekodiranje strojne instrukcije c) Dobavljanje opeanada d) Izvršavanje operacije • Suvremeni računalni sustavi su organizirani oko prekidnog sustava “interrupt driven”. • Ako: • niti jedan korisnik nije aktivan, pa mu ne treba “odgovarati” • nema I/O opreme za opsluživanje • nema procesa za izvođenje • Računalni sustav miruje, čekajući događaj na koji mora odgovoriti.

  33. 2.2 Struktura I/O 2.2.1 Prekidni prijenos • Računalo obavlja “glavni” posao P1 • Dobija zahtjev za opsluživanje vanjske jedinice, tzv. “I/O” transfer • Završava tekuću strojnu instrukciju • Sprema procesorske registre na složaj ( stack ) • Uzima u programsko brojilo početnu adresu prekidnog programa • Ako više uređaja može aktivirati istu IRQ liniju, nalazi koji je uređaj zatražio prekid • Izvršava potprogram za posluživanje prekida • Obnovi procesorske registre, vraćajući ih sa složaja • Vraća se na izvšavanje glavnog “prekinutog” programa Glavni posao IRQ I/O prijenos Glavni posao

  34. 2.2.2 DMA prijenos DMA = Direct memory access • Postojanje posebnog specijaliziranog procesora za prijenos podataka • Glavni i specijalizirani procesor moraju izmjenjivati podatka preko buffera • Glavni procesor upiše podatke u buffer i inicira ( probudi ) DMA procesor • Definira: adresu i veličinu buffera u memoriji, smjer prijenosa podataka ( na disk ili sa diska ), koordinate bloka podataka na vanjskoj jedinici • Kako glavni i DMA procesor ne mogu istovremeno pristupati istoj memoriji, jer bi došlo do interferencije signala, pristup je usklađen podjelom / krađom ciklusa

  35. 2.3 Spremanje podataka 2.3.1 Glavna memorija Glavna memorija i procesorski registri su jedine lokacije za spremanje podataka kojima CPU može direktno pristupati. Podaci na vanjskim jedinicama, moraju se stoga “dobaviti” u glavnu memoriju Prednost: velika brzina pristupa podatku, reda veličine nanosekunde Nedostatci: • Cijena • Ovisnost podataka o el. napajanju ( tzv. Ishlapivost podataka )

  36. 2.3.2 Magnetski disk • Vanjska jedinica • Sekundarana jedinica za masovnu pohranu podataka • Radi na principu magnetizacije fragmenata meko-mekomagnetskog materijala Sastoji se od: • Magnetske ploče ( plate ) • Osovina • Elektromotor • Aktuator ( pozicioner magnetskig glava ) • Magnetski rukavac • Magnetska glava • Princip rada: magneticacija elementarnog magnetića na magnetskoj ploći • Logička organizacija: “glava” ( ploča), traka, sektor

  37. Prednost: neovisnost podataka o napajanju Relativno visok kapacitet i niska cijene Nedostatak: • Brzina pristupa ( milisekund, dakle milion puta sporije nego podacima u primarnoj memoriji • Gubitak podataka za slučaj kvara jedinice

  38. Hijerarhija jedinica za pohranu podataka procesorski registri cache glavna memorija elektronički disk magnetski disk optički disk magnetska traka

  39. 2.4.1 Keširanje • Važno u računalnim sustavima • Brži pritup • Podatak se najprije traži u kešu • Ako nije u kešu, traži se njegovo dobavljanje ( primjer sekvencijalne datoteke) 2.4.2 Koherencija i konzistencija Ista “varijable” postoji u istom momentu na više različitih lokacija s, moguće različitim vrijedostima. • Diks • Glavna memorija • Cach • Procesorski registri Problem u više-procesnim sustavima, gdje treba tražiti varijablu prema memorijskoj hijerarhiju

  40. 2.5 Hardverska zaštita • Višekorisnički sustav omogućava izvođenje programa više “nepoznatih” korisnika. • Ekonomska nužda podjele strojnih resursa • Svaki korisnik ima jamstvo pune privatnosti • Njegovim podacima mogu pristupati drugi korisnici samo u onoj mjeri u kojima im on to dozvoli • Njegovi programi neće čekati na izvršenje duže, nego li programi ostalih korisnika • Dakle, korisnik ima dojam da radi sam na nešto sporijem hardveru

  41. Rad u dvojnom / privilegiranom modu • Obični korisnički program • Supervisor ( operacijski sustav ) • Zaštita I/O operacija: obavlja ih isključivo OS • Zaštita pristupa memoriji: pod kontrolom MMU Korisnik dobije memorijski segment definiran početnom apsolutnom adresom i veličinom segmenta MMU prevodi relativnu adresu korisnikova programa u apsolutnu adresu, provjeravajući kod svake instrukcije da je u korisnikovom memorijskom području. Pokušaj pristupa memoriji izvan dodijeljenog opsega dovodi do prekida ( sistemska greška: “pristup zaštićenoj memoriji” ) • Zaštita vremena: timerski prekid kojeg korisnik ne može maskirati

  42. 3 Struktura operacijskog sustava • Upravljanje procesima • Upravljanje glavnom memorijom • Upravljanje datotečnim sustavom (file system) • I/O sustav • Upravljanje virtualnom memorijom(“secondary storage”)

  43. 3.1 Upravljanje procesima • Kreiranje korisničkog i sistemskog procesa • Uništavanje procesa • Suspendiranje i oporavak procesa • Sinkronizacija dva ili više procesa • Komunikacija – izmjena podataka između dva ili više procesa • Rješavanje problema potpunog zastoja

  44. 3.2 Upravljanje glavnom memorijom • Ažuriranje informacije: koji su dijelovi memorije zauzeti i od strane kojih procesa • Koje procese, te koje njihove “dijelove” učitati u memoriju kada je memorija slobodna • Alociranje ( dodjela ) i dealociranje memorije procesima prema potrebi

  45. 3.3 Upravljanje datotekama(file system) • Kreiranje datoteke • Uništavanje ( brisanje ) datoteke • Kreiranje i uništavanje imenika (direktorija) • Primitive za manipulaciju datotekama i imenicima • Mapiranje datoteka i vanjskih spremnika • Back-up datoteka

  46. 4 I/O sustav • Upravljanje memorijom uključivo:- buffering- kešing ( cache )- spooling • Opći “device driver” interfejsi • Driveri za specifične uređaje

  47. 5 Upravljanje virtualnom memorijom • Upravljanje slobodnim prostorom • Alociranje segmenata • Raspoređivanje diska

  48. Hardware Opća struktura OS • Dixtra 1967. Korisnički program Ljuska ( shell) OS OS razine Sklopovlje

  49. Princip: Razina R(n) temelji svoje operacije na pozivima funkcija i procedure iz razine R(n-1) U pravilu nema preskakanja razina, dakle R(n) ne poziva funkcije iz R(n-2) direktno, nego samo preko razine R(n-1) Time se osigurava izmjenjivost pojedinih razina, a da se pri tome izbjegnu bugovi ( usporediti tzv. “DLL HELL”

  50. Struktura DOS sustava Korisnički program Rezidentni sistemski program MS-DOS device drivers ROM BIOS device drivers

More Related