Operacijski sustavi. Srednja stručna sprema? ulović dipl.ing. Strojarska. Gimnazija. Ekonomska. Kemijska. Elektro. Hotelijerska.

Tamanho: px
Começar a partir da página:

Download "Operacijski sustavi. Srednja stručna sprema? ulović dipl.ing. Strojarska. Gimnazija. Ekonomska. Kemijska. Elektro. Hotelijerska."

Transcrição

1 Operacijski sustavi Mr. sc.. Ante Dežulovi ulović dipl.ing. Srednja stručna sprema? Gimnazija Ekonomska Elektro Strojarska Kemijska Hotelijerska Ostalo 2 1

2 Koliko Vas ima kod kuće e računalo? Tko radi: 1. uopće 2. u info struci 3 LITERATURA 1. OPERACIJSKI SUSTAVI Prof. dr. sc. Leo Budin FER Zavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave Zagreb

3 LITERATURA 2. OPERATING SYSTEMS A concept-based approach D M Dhamdhere International Edition 2nd Edition Mc Graw Hill LITERATURA 3. OPERATIVNI SISTEMI B. Đorđević D. Pleskonjić N. Maček Teorija, praksa i rešeni eni zadaci Mikro knjiga Beograd 6 3

4 LITERATURA 4. OPERATING SYSTEMS Deitel Deitel Choffnes International Edition Third Edition Pearson Prentice Hall Pearson Education, Inc LITERATURA 5. OPERATING SYSTEM CONCEPTS Silberschatz, Galvine, Gagne Sixth Edition John Wiley & Sons, Inc

5 LITERATURA 6. MODERN OPERATING SYSTEMS Andrew S. Tanenbaum Second Edition Prentice Hall, Inc LITERATURA 7. OPERATING SYSTEMS Design and Implementation Andrew S. Tanenbaum Albert S. Woodhull Second Edition Prentice Hall, Inc

6 Uvod u OS SUSTAV... Tehnički... Informacijski... Računalski... ULAZ PROCES IZLAZ POVRATNA SPREGA 12 6

7 Obrada podataka Elektroničko ko računalo Priprema podataka Ulaz Obrada Izlaz Sklopovlje računala unala: Procesor Radni spremnik Vanjski spremnici Ulazno-izlazne naprave Podatak Komunik mreža Informacija Povijest Hardwarea Charles Babbage analytical engine,, prva svjet- ska programerka je bila Lady Ada Lovelace,, kćer k Lorda Byrona Prva generacija Elektronske vakum cijevi i programske ploče Druga generacija Tranzistori i Batch sustavi Treća a generacija Integrirani krugovi (IC) i Multiprogramiranje Četvrta generacija danas (LSI) Osobna računala i mreže 14 7

8 Moore-ov ov zakon Dr. Gordon E. Moore - Suosnivač Intel Corporation 1965 broj tranzistora x2 svakih 12 mjeseci i da će e se to nastaviti u slijedećoj dekadi 1975 broj tranzistora x2 svakih 24 mjeseci 2003/4 - snaga procesora x2 svakih 18 mjeseci a broj tranzistora x2 svakih 24 mjeseca Ključni je faktor da se trošak po tranzistoru u procesorima smanjuje eksponencijalno Danas-proglasio ga nevažećim jer se ušlo u u područje nanotehnologije (područje molekula.. Tranzistori se sastoje od nekoliko atoma.. Uskoro ograničenje sam atom) 15 PCB Printed circuit board (Integrirani-tiskani tiskani krugovi) Broj integriranih tranzistora Log skala Matičina ina ploča Motherboard Moore-ov ov zakon 1965 Cramming more components onto Integrated Circuits God 16 8

9 Funkcijski model računala - Von Neumann 1945 koncepcijski opisan 1. Ulazni dio 2. Izlazni dio 3. Radni ili glavni spremnik 4. Aritmetičko ko-logička jedinica (ALJ) CPU-procesor 5. Upravljačka jedinica (UJ) UJ sadrži i generator takta te skup registara koji služe e za privremeni smještaj raznih podataka. Skup naredbi određen je izvedbom aritmetičko ko- logičke (ALJ) i upravljačke jedinice (UJ) procesora. Ulazni podaci Naredbe Rezultati Ulazni dio Spremnik Izlazni dio Operandi Rezultati Aritmetičko ko-logička jedinica Naredbe PROCESOR-CPU CPU Upravljačka jedinica Podaci i naredbe Upravljački signali 9

10 Procesor- CPU CPU Central Processor Unit može e se smatrati automatom koji, nakon uključenja trajno izvodi naredbu za naredbom strojnog programa ponavljati { dohvatiti iz spremnika naredbu na koju pokazuje programsko brojilo; dekodirati naredbu - odrediti operaciju koju treba izvršiti iti; povećati sadržaj aj programskog brojila-pokazuje na slijedeću u naredbu; odrediti odakle dolaze operandi i kuda se pohranjuje rezultat; operande dovesti na ALJ; izvršiti iti zadanu operaciju; pohraniti rezultat u odredište te; } dok je (procesor uključen) en); U programsko se brojilo smješta adresa slijedeće e naredbe u redoslijedu izvršenja. 19 Procesor Fetch/decode decode/executeexecute ALU Izvršna jedinica Dobaviti Dekodirati Izvršiti Registri GP registers Control registers L1 naredbe cache L1 podaci cache L2 cache Bus sučelje Front side bus FSB MHz/GHz Data & address I/O channel 20 10

11 Skup procesorskih naredbi Određene izvedbom ALJ i UJ 1. Naredbe za premještanje sadržaja aja 2. Naredbe za obavljanje operacija 3. Naredbe za programske skokove-grananje 4. Naredbe za posebna upravljačka djelovanja 4. Naredbe se sastoje od 2 dijela: dio za smještaj operacijskog koda adresni dio naredbe 21 Naredba za premještanje sadržaja aja k p r pomaknuće registar kod operacije 22 11

12 Troadresna naredba za obavljanje operacije k p p p r operacijski kod registar rezultata registar 1. operanda registar 2. operanda modifikacija operacije 23 Naredba za programske skokove Narušava ava slijedno izvođenje programa k p r pomaknuće uvjet za skok operacijski kod Ako je uvjet ispunjen pomaknuće je adresa slijedeće e naredbe koju treba izvesti 24 12

13 Naredba za programske skokove Naredbe za bezuvjetne skokove (bez ispitivanja bilo kakvog uvjeta) Naredbe za uvjetne skokove (sadržaj aj programskog brojila se mijenja samo ako je ispunjen uvjet ) 25 Naredbe za poziv podprograma Programski zadatci koji se često ponavljaju se pripremaju kao podprogrami : procedura (procedure), funkcija (function( function), rutina (routine( routine, subroutine) Nakon izvršenog zadatka pomoću u podprograma, program mora nastaviti svoje izvođenje naredbom u redoslijedu na adresi iza naredbe kojom se poziva podprogram

14 Poziv podprograma (2) Početak podprograma Poziv (1) (5) (4) (3) (7) Poziv (6) (8) Kraj podprograma 2 posebne naredbe za izvršenje podprograma: a) Poziv podprograma b) Povratak iz podprograma (9) Kazaljka stoga 27 Gnježđenje podprograma Program Podprogram 1. razine Podprogram 2. razine Podprogram 3. razine 28 14

15 Blok shema računala Spremnik Sabirnica Ulazni pristup Procesor CPU Izlazni pristup Od ulazne naprave Ka izlaznoj napravi 29 Struktura računalskog sustava UJ-Upravlja Upravljačka jedinica CPU Procesor UJ diska UJ pisača UJ mag.jed. Sabirnica UJ memorije Memorija 30 15

16 Sabirnička građa računala Današnja nja računala su organizirana na principu sabirnice Sve potrebne razmjene podataka, naredbi i upravljačkih signala vrše e se preko zajedničkih vodiča a sabirnice Vrijeme se na sabirnici dijeli na sabirničke periode ili sabirničke cikluse 31 Sabirnički ciklus U jednom ciklusu trajanja T B ostvaruje se jedna veza, tj. prijenos jednog sadržaja aja T B =100 ns 100*10-9 =10-7 =10*10-6 (Deset miliona) Sabirnički ciklus 10 M * 4B = 40MB TB 32 16

17 Memorija - radni spremnik Radni spremnik memorija služi i samo za pohranjivanje nizova bitova Isto vrijedi i ostale za spremnike Interpretacija značenja tih nizova bitova događa se izvan spremnika 33 Adresiranje memorije (radnog spremnika) do svakog byta pomoću u adrese u binarnom obliku ako se za zapisivanje adrese koristi m bytova tada je veličina ina adresnog prostora 2 m 0-2 m-1 2 m -4 2 m -3 2 m -2 2 m

18 Hijerarhija memorija Registri Cache Glavna memorija Elektronički diskovi Diskovi Magnetski diskovi Optički diskovi Magnetske vrpce 35 Hijerarhija memorija Latency in procesor cycles Vrijeme čekanja SRAM ~10 SRAM (Static, faster, more exp) Registri L1 Cache L2 Cache Volatile media ~30 DRAM (Dynamic-refreshment) DDR (Double data rate) Rambus (Nintendo) SDRAM (Sync din RAM) Komunikacija između procesora Glavna memorija ~10 6 Hard disk Tape CDs DVDs Digtal versatile/vide disk Sekundarna i tercijarna memorijapristup pomoću robota Persistent auxiliary media 36 18

19 Hijerarhija memorija CPU Memory Management Unit MMU Cache memory Main Memory Disk CPU pristupa samo najbržoj memoriji. Ako podaci ili naredbe nisu prisutni moraju se prenijeti iz sporijih memorija. CPU preko MMU dobavlja podatke iz Cache memorije, ako ih tamo nema ide se dublje prema sporijoj memoriji u hijerarhiji. Cache memorija sadrži podatke i naredbe koji su se nedavno koristili a čitaju se novi jedino ako se traženi tamo ne nalaze. Efektivno vrijeme pristupa memoriji zavisi od toga kako često se taj prijenos nepostojećih mora odvijati. 37 SPREMNIK Bajtovi spremnika Registar adrese Registar sadržaja aja Adresni dio sabirnice Podatkovni dio sabirnice Upravljački dio sabirnice m=32 n=32 k PROCESOR Jednosmjerno Adresni međuregistar Dvosmjerno Podatkovni međuregistar Arhitektura računala 8/16/32/64 bita 38 19

20 Međusobne veze Procesor je povezan na sabirnicu preko međuregistara Adresni međuregistar - jednosmjerno Podatkovni međuregistar - dvosmjerno U jednom sabirničkom ciklusu može e se obaviti jedno pohranjivanje ( pisanje( pisanje ) ) u spremnik ili jedno dobavljanje sadržaja aja ( čitanje( itanje ) ) iz spremnika. 39 Povijest OS 1940-te bez OS, korisnički ki program u strojnom jeziku se unosio bit po bit putem prekidača, a, bušene kartice, Strojni jezik (Asembler( Engl. Kratice) 1950-te General Motors Research Lab prvi OS za IBM 701 Aktivan JEDAN JOB - specifičan niz međusobno povezanih računalskih zadataka kao na primjer plaće, inventura Single-stream batch-procesing system Intervencija operatera, ograničenje, mala-skupa memorija 40 20

21 1960-te Isto batch procesi, ali su se resursi računala koristili efikasnije-obradom VIŠE jobova istovremeno 1970-te MULTIPROGRAMING OS je upravljao s više različitih jobova istovremeno tako da je prebacivao aktivnosti (dodjeljivao vrijeme) procesora i U/I uređaja između različitih programa. Primarni cilj: dijeljenje resursa računala. Korisnici nisu bili prisutni kada se job obrađivao IBM System/360, 370, 390, zserija 41 Turnaround time (od predavanja job-a do povratka rezultata) se drastično smanjio na min i čak sek MULTICS je bio prvi OS koji je bio pisan u višem programskom jeziku EPL prema IBM - ovom PL/ te Time sharing -interaktivan rad TSS, MULTICS, CP/CMS... Koristili virtualnu memoriju Ken Thompson (B), Dennis Ritchie (C) MULTICS u UNIX (C) Doug Engelbart San Francisco miš GUI 42 21

22 1970-te ARPA Advanced Research Project Agency ARPAnet prethodnica Interneta projektiran za rad bez središnje kontrole US Department of defence TCP/IP standard Transmission Control Protocol/Internet Protocol LAN Ethernet standard te Real Time - rezervacijski sustavi Osobna računala i radne stanice GUI Distributed computing: klijenti i poslužioci (serveri) Više međusobno povezanih nezavisnih računala na zajedničkom zadatku Serveri - grafika, baze podataka, Web stranice Klijenti korisnička računala izdaju zahtjev 44 22

23 1990-te Distribuirani OS WWW World Wide Web Tim Berners-Lee HTML HyperText Markup Language Do tada su OS bili prvenstveno usmjereni na upravljanje računalima u lokalnoj mreži, a razvojem Weba zadaća se širi na svjetsku mrežu putem distribuiranih OS-a. Povećanje brzine (MIPS) i kapaciteta (GB) OOOS Object Oriented OS C++ SUN JAVA, Microsoft.NET (Visual Basic.NET Visual C++.NET, C#) Bill Gates Microsoft proprietary approach, licenca, korporativni razvoj - postaje dominantan Linus Torvalds LINUX Free Open System (source) 2000-te i dalje Middleware Software koji povezuje preko mreže 2 odvojene aplikacije (USA-Japan) Internet veze velike brzine preko kabelskih TV linija i DSL (Digital Subscriber Lines) Kurir između Web servera i servera baze podataka, omogućava i pojednostavljuje komunikaciju između različitih arhitektura. Web services Uključuje niz odgovarajućih standarda koji omogućuju bilo kakvu razmjenu podataka bilo kakva 2 računala

24 Svjedoci u zadnjih par dekada: Dramatično raste snaga računala a cijena pada Desktop radne stanice WS u MIPS-ima Superačunala GIPS Računala postaju sastavni dio skoro svih vidova ljudske aktivnosti: PC - dokumenti, izračuni, igre, muzika, video te osobne potrebe. Prijenosni uređaji kao laptop, PDA (Personal Digital Assistants), mobiteli te MP3 playeri svi sadrže procesore kao ključne elemente. Fiksne žične i bežične mreže povećavaju snagu komunikacija omogućavajući trenutno spajanje preko velikih udaljenosti. 47 Internet i World Wide Web su izazvali revoluciju poslovanja općenito stvarajući potrebe za velikim mrežama snažnih računala koje poslužuju brojne transakcije u sekundi. Mreže računala su postale tako snažne da se one danas upotrebljavaju u kompleksnim istraživačkim projektima i simulacijama: klima na zemlji, oponašanju ljudske inteligencije, dekodiranju ljudskog genoma te stvaranju 3D animacija

25 Što je Operacijski Sustav OS? Software koji kontrolira Hardware Danas... Računala evoluirala pa je potrebna šira definicija Proširenje zadataka koji se zahtijevaju danas od računala uvjetuje novu definiciju uloge i odgovornosti Operacijskih Sustava. Kako bi se povećala iskoristivost računalske opreme primjenski programi (applications) su projektirani tako da se izvršavaju istovremeno. Ako ti programi nisu pažljivo usklađeni, može se dogoditi da se međusobno pomiješaju interferiraju

26 Definicija OS-a OS je sloj programskog koda čiji je zadatak odvojiti međusobno različite ali istovremeno aktivne korisničke programe od elektroničkog sklopovlja (hardwera) te omogućiti da se svaki korisnički program odvija sigurno i učinkovito. 51 Sadržaj aj radnog spremnika: OS i korisnički ki programi Rezervirano za OS (Početak- Dno ) M e m o r i j a P1a P3a P1b P2b P2a P2c P3b P4a P4b P1c Rast adresa memorije P1a P3a P2a P2b P2c P4a P1b Vanjski spremnici P1c P3b P4b 26

27 Apstraktni pogled na komponente računalnog sustava Korisnik 1 Korisnik 2 Korisnik n Prevodilac Strojni jezik Uređivač teksta Sustav i primjenski programi Operacijski sustav Elekroničko ko sklopovlje Baza podataka Korisničko sučelje (User interface) Korisnički i ostali programi (Non-kernel prg.) Jezgra OS-a (Kernel OS) Računalno sklopovlje (Computer hardware) Primjenski - korisnički ki program (aplikacija) Omogućuje uje korisniku izvršavanje različitih itih postavljenih zadataka Transformira računalni sustav u odgovarajući virtualni stroj 54 27

28 Kako tko vidi OS? Učenik... mogućnost pristupa Internetu Programer... razvojni alat za korištenje računalnog sustava u različite ite svrhe Korisnik primjenskog programa... specifična primjena računalnog sustava Tehničar u procesnoj industriji... Mogućnost vođenja i kontrole proizvodnje 55 Apstraktni pogled na OS Nijedan od navedenih pogleda nije sveobuhva- tan,, ali je svaki od njih točan i pomaže e shvatiti korisniku na koje mu sve načine OS može e služiti odnosno biti njegova produžena ruka. Ti se pogledi nazivaju apstraktnim - usmjereni su na bitne karakteristike jednog entiteta sa stanovišta specifičnog promatrača! a! (Entitet: stvaran ili apstraktni objekt ili događaj o kojem se u informacijskom sustavu prikupljaju podaci) Posljedica: : apstraktni pogled sadrži i samo neke elemente realnosti ali zanemaruje ostale. 28

29 Logički pogled Fizički pogled Program P Podatci Program P Rezultati Podatci Programa P CPU OS Program P i njegovi podatci Ostali programi Pisač 57 Operacijski sustav je skup osnovnih programa koji omogućuju uju provođenje- izvršenje postavljenih zadataka na računalu Nekada ga je pisao proizvođač računala (IBM, Univac,, CDC...) a danas Microsoft (zatvoreni pristup) odnosno udruge Unix, Linux (otvoreni pristup) u skladu s nekim od standarda. Upravlja: 1. korisničkim kim programima i drugim programskim apstrakcijama koji za razliku od sklopovlja nisu fizički objekti. 2. resursima računala unala: : sklopovljem, s procesorom(ima), spremnicima, I/O uređajima eđajima,, komunikacijama 58 29

30 Dva pogleda prvi (zahtjev korisnika) 1. Sa strane korisnika - Top down: extended/virtual machine (proš ireni/virtualni stroj) JEDNOSTAVNOST UPORABE Zahtjev Izvršenje programa, poziv datoteč.. sustava Usluga Brz odgovor na zahtjeve za računal unal.. resurs. Prikladan Lako pamtljive naredbe, GUI WEB mogućnosti Organizacija WEB poslužitelja Razvoj Dodavanje novih uređaja i računala 59 Dva pogleda drugi (zadaća a OS-a) 2. Sa strane sustava - Bottom up: koordinator svih dijelova računala UPRAVLJANJE RESURSIMA Programi... Započimanje i završavanje. avanje. Osiguranje uvjeta da više e procesa radi u svrhu postizanja zajedničkog cilja onog programa kojem pripadaju Resursi...Osigurava raspoloživosti i dodjelu programima Podjela..Odluka kada i koliko dodijeliti CPU programima Zaštita... Programa i podataka od drugih korisnika 60 30

31 Uloga Posrednik između: korisničkog kog programa i elektroničkog kog računalskog sklopovlja (hardware( hardware-a) a) 61 Svrha Zadaci - Ciljevi OS-a Omogućuje uje okolinu/sučelje u kojem korisnik može e izvoditi program na način: 1. Prikladan - olakšava ava uporabu računala 2. Djelotvoran - iskorištavanje svih dijelova računala - Resource Manager 62 31

32 Učinkovitost : Prikladnost Mora osigurat ne samo učinkovitu u upotrebu rač. sustava nego i prikladno korištenje za korisnika (1968 se u 3.Maju programiralo u Asembleru). Potrebno težiti kompromisu između ova 2 zahtjeva, a koji najbolje odgovara zadanom radnom okruženju. Postoje brojni OS koji pružaju razne efekte isko- ristivosti.. Jedni daju brzi odgovor (kontrolni i rezervacijski sustavi) a drugi učinkovito u iskorišta ta- vaju resurse na uštrb vremena kako bi omogućili niže e troškove. U sredini su oni koji omogućuju uju različite ite kombinacije brzine i efikasnosti. 63 Prikladnost za korisnika Potreba... Mogućnost izvršenja programa, poziv datotečnog sustava Dobra usluga... Brz odgovor na zahtjeve User frendly... Lako pamtljive naredbe, GUI Nove progr. mogućnosi... Konkurentni programi Dodaci za eksperte... Stvaranje kompleks.strukt Web orjentirani... Mogućnost uključivanja WEB servera Razvoj... Mogućnost priključka ka novih dodataka i novih računala 64 32

33 OS i učinkovitostu Podrazumijeva široki spektar razmatranja od korisnički ki usmjerenog (interaktivni rad, vremenski kritičan an) do sustavnog (dobra raspodjela resursa, non-interaktivan rad). Učinkovitost: 2 vida upotrebe računalnih resursa: 1. od strane OS-a ( overhead - potpora korisniku ali na uštrb korisnikovog vremena) 2. od strane korisnika 2. Slaba učinkovitost u za korisnika može e imati 2 uzroka: previše zauzeća a od strane OS (neupotrebljivost za druge) ili nemogućnost nost oslobađanja slobodnih resursa što uzrokuje usporavanje drugih procesa. 65 Praćenje učinkovitostiu Može e se postići nekrekidnim praćenjem resursa i korektivnim akcijama u slučaju potrebe. Kako računalo ima više e resursa (I/O, CPU, memorija) opsežno praćenje resursa bi rezultiralo visokim zauzećem em procesora (t.j. overheadom )) pa se ili: fokusira samo na CPU i memoriju ili upravlja korisničkim kim programima u cilju jamstva visoke učinkovitosti. Ovo posljednje izbjegava praćenje resursa/izračunavanje unavanje učinkovitosti u što bi bio dodatan overhead.. Primjer su Batch i Multiprograming koji su za projektni zadatak imali učinkovitost u upotrebe

34 Programska struktura i odgovornost OS-a 1. Pojedina Pojedinačni ni program... Aktivirati/zaustaviti program, upravljati resursima 2. Niz pojedinačnih nih programa (Batch( Batch).. Kontrola međuzavisnosti,, zaustaviti niz ako je jedan program u greg rešci 3. Su-izvr izvršni programi (Co( Co-executiv)... Koordinirati vezu među njima te njihov završetak 67 Zajednički zadatci OS-a Zadatak Kada/tko 1. Popis ovlaštenih korisnika...sistem adminstrator 2. Popis resursa u rač.. sustavu...os kod starta 3. Započimanje izvršenja progr.....po naredbi korisnika 4. Pregled programskog zauzeća...kontinuirano a...kontinuirano za resursa te trenutnog stanja vrijeme operativnosti- svih programa aktivnosti OS-a 5. Pregled trenut.. stanja svih resur....u trenutku zahtjeva te pridruž.. program. na zahtjev ili otpuštanja tanja resursa 6. Usklađuje korišt.. dijeljenih res.....tijekom operat OS-a 7. Održava informacije o zaštiti...tijekom operat OS-a 8. Obrađuje zahtjeve od strane...na zahtjev korisnika korisnika i njihovih programa 34

35 Kako funkcionira OS Podržava višeprogramski rad Aktivan je u sustavskom kernel/supervisor mode.. Dio software-a a koji sadrži i središnjicu (core( core) ) OS-a a zove se JEZGRA (KERNEL) i cijelo je vrijeme smješten u rezerviranom dolnjem-po početnom dijelu memorije. Jezgra ispunjava cilj OS-a a izvođenjem niza kontrolnih funkcija. To je zbir programa a ne komad sklopovlja (hardware( hardware). Vrši i kontrolnu funkciju izvođenjem naredbi na CPU-u. Tako CPU poslužuje uje i korisničke ke programe i OS. Prvo predstavlja produktivnu upotrebu CPU-a a i doprinosi učinkovitosti računalnog sustava a drugo je neophodni dodatak ( overhead )) bez kojeg se ne može e a koji smanjuje učinkovitost. u Jezgra prebacuje (switch off) )... CPU s jedne aktivnosti na drugu. CPU obično radi za korisnika. Kada je jezgra pozvana izvesti kontrolnu funkciju, koja je njezin sastavni dio, CPU se mora najprije prebaciti na izvođenje jezgre,, a nakon završetka kontrolne funkcije CPU se (ovisno o uvjetima u tom trenutku) vraća: a: a) ili na izvršenje prekinutog korisničkog kog programa b) ili na izvršenje nekog drugog programa. Prebacivanje CPU-a a između korisničkih kih programa i jezgre je najkritičniji niji trenutak u radu OS-a

36 Dijelovi kernela jezgre OS-a PS... Proces scheduler planiranje aktivnosti-dodjela procesora procesima na osnovi nekog algoritma te osiguranje uvjeta za izvršenje MM... Memory manager - kada i koliko memorije se dodjeljuje izabranom procesu i što se događa kada se napuni glavna memorija I/O... I/O manager poslužuje uje ulazne i izlazne zahtjeve IPC... Inter Proces Communication manager omogućuje uje komunikaciju između različitih itih procesa FS... File system manager organizira imenovani skup podataka na vanjskim spremnicima te omogućuje uje korisničkim kim programima pristup do njih Korisnički program Korisnički prostor System call interface Jezgrin prostor Jezgrine (Kernel)) komponente MM IPC I/O PS FS Net... Dijelovi jezgre MM-Memory Memory manager PS-Process Process Scheduler IPC-Inetrprocesor Inetrprocesor Communication FS-File File system I/O-Input Input/Output Scheduler Net-Network Network manager 36

37 Registri: 2 tipa 1. Programski dostupni (opće e namjene) Program accessible (general purpose) Služe e za spremanje adresa ili podataka tijekom izvršenja programa. 2. Kontrolni (control( registers) Služe e za spremanje informacija koje kontroliraju/usmjeravaju samu aktivnost CPU-a. 73 Memorija Sabirnica Memory Management Unit Interrupts Zaštita I/O PSW Procesor-CPU Registri DMA Data path Control path Interrupt path Device controles Devices 37

38 PSW Program Status Word IM P IC MPI CC PC Pokazuje stanje kontrolnih registara računalnog sustava IM Interrupt Mask (prekidna maska) P - Privileged Mode (privilegirani/kernel mod 0/1) IC - Interrupt Code (kod prekida) MPI Memory Protection Info (info o zaštiti memorije) CC Condition Code (stanje zadnje aritmetičko/logi ko/logičke ke naredbe) PC Program Counter (Programsko brojilo-pokazuje na slijedeću naredbu u redoslijedu) Sadržaj aj PSW i registara kontinuirano pokazuje što CPU radi pa se kaže e da oni predstavljaju STANJE CPU-a. Promjena STANJA (na poziv) podrazumijeva promjenu procesa odnosno prebacivanja s jednog programa na drugi ili na jezgru. Korisnički i Jezgrin način rada (dual obrada) IM P IC MPI CC PC P - Hardwerski dodatak MODE BIT CPU radi na 2 načina: jezgrin-kernel mode i korisnički ki user. Korisnički - User mode 1 ( 0 - konvencija!!) Jezgrin - Monitor, supervisor, system, privileged, kernel mode 0 ( 1 ) U jezgrinom načinu radu izvode se kontrolne funkcije te start I/O operacija, drugi način je za korisnika. 38

39 I/O operacije se mogu izvesti na 3 načina: 1. Programirani U/I U/I (I/O) Podsustavi...operandi U/I naredbe pokazuju na detalje U/I operacije. CPU dekodira naredbu i šalje signal U/I uređajuu ređaju.. Protok P podataka između U/I U uređaja i memorije kroz CPU i on je zauzet čekanjem 2. Interrupt U/I... CPU izvrši i U/I naredbu s čime započne U/I operaciju koja teče e nezavisno od CPU-a. Nakon toga se CPU oslobodi kako bi izvršavao druge naredbe. Prekid se javlja kada je byte spreman za prenos iz U/I jedinice prema memoriji. CPU se aktivira te prekidnom rutinom šalje byte u memoriju. 3. DMA...U/I naredba pokazuje tip U/I operacije te broj i adresu bytova koje treba prenijeti. Sam CPU ne učestvuje u prijenosu nego U/I jedinica javlja prekid po završetku komletnog zadanog prijenosa. 77 Vrste prekida - Interupt Programski (software( software)... )... Uzrok unutar CPU-potrebna intervencija: aritmetički owerflow,, dijeljenje s 0, probijanje zašti tićenih granica memorije U/I (sklopovski).... Uzrokovan završetkom U/I operacije ili lošim funkcioniranjem U/I jedinice Vremenski (timer( )... Za nadgledanje pona... Za nadgledanje ponašanjaanja sustava - generiranje dozvoljenog vremenskog odsječka ka 78 39

40 Obrada prekida* Zahtjeva da se CPU prebaci (otkloni/divertira divertira) ) sa tekuće e aktivnosti kojom je zauzet u tom trenutku na obradu odgovarajuće e prekidne rutine u jezgri. To uzrokuje spremanje PSW-a tekuće e aktivnosti u memoriju te punjenje PSW-a koji će e usmjeriti CPU na obradu nastalog prekida. Jezgra ustanovi uzrok prekida i poduz- me odgovarajuću u akciju nakon čega ili vraća PSW prekinutog programa ili pokreće e PSW nekog drugog programa. *Vidi slide No IM P PC Prekidni vektor PSW IC ddd 2 ddd Spremljeno PSW stanje *Vidi slide No

41 1. Koraci prekidne akcije* 1. Postaviti prekidni kod Prekidno sklopovlje generira kod prekida (IC) koji opisuje uzrok prekida a upisuje se u IC polje PSW-a. Na pr. I/O završetak etak može e biti adresa I/O jedinice koja je izazvala prekid. Spremanje aktivnog PSW... sadržaj aj PSW-a a se sprema u odgovarajuće e područje memorije uključuju ujući PC=ddd (Programsko brojilo koje u trenutku prekida pokazuje na adresu slijedeće naredbe u redoslijedu) prekidnog vektora... u odgovarajuća polja PSW-a. IM-maska isključuje uje prekide manjeg prioriteta, P-privilegirani P mod,, diže e se jezgra, PC Program Counter-pokazuje na prvu adresu prekidnog vektora. 2. Spremanje aktivnog PSW 3. Punjenje prekidnog *Vidi slide No Poziv jezgre programskim prekidom System call Poziv OS-u da izvrši neku akciju: povećanje memorije ili početak U/I Pojava prekida Obrada prekida Raspored (Odluka o slijedećem) em) operacije. Izvršenje samog prekida te odluka o izboru slijedeće aktivnosti uzrokuje trošenje vremena CPU-a. Scheduling overhead se naziva vrijeme potrebno za donošenje odluke o slijedećoj aktivnosti koja će se aktivirati. Izlaz iz jezgre *Vidi slide No

42 Uloga prekida - *Vidi slide No 82 IM P IC MPI CC PC Privući i pažnju jezgre na uvjet ili događaj koji se upravo dogodio u rač.. sustavu. Rač.. sustav pridružuje uje numerički prioritet svakom prekidu. Ako ih se dogodi više e istovremeno, prekidni mehanizam omogućava najvišem da se obradi kao prvom u redoslijedu, dok ostale pamti. IC - jedinstveni prekidni kod pridružen svakom prekidu omogućava dovoljno informacija da jezgra poduzme odgovarajuću u akciju. Interrupt processing obrada prekida je naziv koji opisuje izvršenje takve akcije. 83 Maska prekida Interrupt Mask - IM IM P IC MPI CC PC U PSW-u u pokazuje koji su prekidi dozvoljeni da se pojave u bilo kojem trenutku. U polju IM se pojavljuje integer m koji određuje da se od tog trenutka dalje dozvoljavaju samo prekidi čiji je prioritet > m. Alternativno IM sadrži i i kombinaciju bitova gdje svaki pojedini bit pokazuje dali je nekom određenom prekidu dozvoljen događaj (enabled) odnosno zabranjen (masked)

43 Sučelje Čvrsto dogovorena pravila o načinu uspostavljanja veze odnosno komuniciranja između dviju,, inače e razdvojenih cjelina-razina. Aktivnosti operacijskog sustava pokreće: e: 1. korisnik preko korisničkog kog sučelja 2. program preko sučelja primjenskog programa Operacijski sustav preko tih sučelja povratno vraća: a: 1. rezultate zatraženih operacija 2. samo informacije o izvršenoj funkciji Hijerarhijska izgradnja OS-a Svaki se sustav izgrađuje po razinama Svaka se razina sastoji od objekata i operacija nad tim objektima Objekti i operacije razine izgrađuju se samo s pomoću u objekata i operacija prve neposredne niže e razine Detalji ostvarenja objekata i operacija pojedine razine su skriveni 86 43

44 Sučelje primjenskih programa Razina korisnika Razina primjenskih programa Razina operacijskog sustava Razina sklopovlja Sučelje programa i OS-a API Primjenski programi Operacijski sustav Računalno sklopovlje Korisničko sučelje Operacijskog sustava Sučelje programa i sklopovlja 87 VM Virtual Machine Program Linux Program Windows Program Unix Virtualni sloj sklopovlja (Virtualni hardware) Program Procesor Virtual Machine Operating System Memorija Program Disk Software Fizički sloj sklopovlja (Fizčki hardware) 44

45 Razine u hijerarhijskoj izgradnji sustava R i+1 Ri Sučelje Sučelje R i-1 Sučelje Sučelje 89 Razine* Korisnik Razina 4 Korisnički program Korisnički prostor Razina 3 Razina 2 Razina 1 Razina 0 I/O management Message interpreter Memory management Processor allocation and Process scheduling H S A K R L D O W P A O R V E LJ E Jezgra Kernel *Vidi slide No

46 Načini obrade u OS-u Program... niz funkcija ili modula uključuju ujući i one JOB... povučene iz biblioteke....niz povezanih koraka od kojih svaki predstavlja izvršenje jednog programa. Nema smisla izvršavati slijedeći i program ako prethodni nije uspješno završio. Proces... Predstavlja izvršenje dijela programa kada program dobije prostor (memoriju) i vrijeme (CPU) Proces Dretva-Nit (Thread( Thread) Vi Više e dretvi dijele zajedničke resurse sa procesom s time da svaka ima svoje specifične podatke (Thread( Thread-Specific Data) 91 Operacijski sustavi PC DOS Disk Operating system MSDOS Microsoft Windows Apple Macintosh OS/2 multitasking system 92 46

47 Klase OS-a Period Klasa Primarni zadatak Ključni koncept 1960 Batch.. Bolje koristiti CPU Spooling... Simultaneous Peripheral Operation On-Line 70-te Multiprog......Iskoristivost resur.. Programski prioriteti, Zamjena programa rama 70-te Time sharing... Brzi odgovor Vremenski odsječci, Kružno dodjeljivanje (Round( robin) 80-te Real time... Ispunjenje zahtjeva za promptni odgovor računalnog sustava 90-te Distributed... Podjela resursa Transparentnost, Distribuirana kontrola 93 Sustavi u realnom vremenu - Real time Kontrolni uređaj u strogo primjenskom programu Koristi se u slučaju kada je neophodan promptni-trenutni trenutni vremenski odgovor računala ili prihvat/pristup podatcima. Senzori prenose iz okoline-proizvodnog procesa podatke računalu koji ih obrađuje i vraća a u proizvodni proces s kojim upravlja. Rezervacijski sustavi (zrakoplovi, hoteli) 94 47

48 Učinkovitost Multi programing Time sharing Distributed OS Real Time OS Batch Prikladnost User convenience Potreba nužda Dobra usluga Podjela resursa 95 Izvršenje korisničkih kih zahtjeva u raznim OS Klasa Obrada Ključni način Batch Job Jedan po jedan job Multiprog. Programi job.. Programi unutar joba sekvencijalno (u nizu) OS preklapa obradu nekoliko programa kako bi se poboljšala iskoristivost resursa i učinkovitost u (izvođenje ođenje) rač.. sustava Procesi preklapanje procesa radi osiguranja brzog odgovora Procesi preklapanje procesa u svim programima kako bi se postigao planirani završetak ( deadline( deadline ) Procesi pristup udaljenim resursima putem mreže. e. Obrada procesa istog programa na raznim računalima u mreži i da bi se postigla raspodjela resursa i učinkovitost u Time sharing Procesi Real time Distributed Procesi 48

49 Multiprocesorski sustavi Paralelni sustavi - čvrsto povezani sustavi Tandem, SMP symmetric multiprocessing Jedno kučište CPU CPU CPU Memorija Simetrična multiprocesorska arhitektura 97 Distribuirani sustavi Client-server Compute-server systems File-server systems Peer-to to-peer Client Client Client Client Mreža Server 98 49

50 Distribuirani sustavi Mreža a (Network( Network) ) komunikacijski k kanal između dvaju ili više e sustava Razlikuju se po: komunikacijskom protokolu udaljenosti između čvorova transportnom mediju Sastoji se od 2 ili više čvorova, gdje je svaki čvor računalo sa vlastitom memorijom, mrežnim sklopovljem te mogućno nošću u vršenja kontrolnih funkcija nekog OS-a. 99 Mreža a i Distribuirani OS Disk Server Server Server Procesor Hub Client Client Client Client Client

51 Mrežni Protokoli TCP/IP (Windows( & UNIX) ATM Vezu između OS-a a i mrežnog protokola predstavlja: 1. sučelje (elektronički ki sklop*) 2. program za pripremu (razlaganje odnosno slaganje) podataka za slanje putem komunikacijskog kanala. *Vidi slide No Mreže e.. Podjela obzirom na udaljenost LAN local-area area network WAN wide-area network Metropolitan-area area network Small-area area network (BlueTooth)

52 Transportni medij Bakreni vodiči Optička vlakna Bezžični prijenos: sateliti, mikrovalne antene, radio 103 Handheld računala PDAs Personal digital assistants (dlanovnici) BlueTooth

53 Embedded Computing Od motora automobila preko robota do mikrovalnih peći. Fiksno unaprijed programirana funkcionalnost za definirano područje. 105 Moderni OS Korisnici započinju različite ite aktivnosti u modernom OS-u u pa on nemože koristiti jedinstvenu strategiju za sve procese. Na pr.. korisnik istovremeno: e mail,, editiranje, obrada i gledanje videa a to uključuje: uje: 1. Interaktivnost 2. Započeti proces u drugom čvoru distribuiranog sust. 3. Video-mek mekša a varijanta real-time OS mora koristiti kružno posluživanje ( round( round-robin ) za izvršenje programa, prioritetno raspoređivanje za video, te poziv udaljene procedure za aktivnost u udaljenom čvoru RPC (Remote( Procedure Call)

54 Prema tome moderni OS* Koristi strategije i tehnike batch obrade, multiprogramiranja, podjele vremena, real time i distribuiranih OS-a. Nemože koristiti različite ite strategije za različite ite tipove procesa nego upotrebljava jedinstvenu kompleksnu strategiju koja se prilagođava svakom individualnom procesu. Raspoređivanje na početku može e biti temeljeno na prioritetu kao u multiprogramiranju,, ali se temeljem prošlog ponašanja anja može odlučiti o tekućem em prioritetu. Prioritet: Real time najveći Interaktivni procesi srednji Non-interaktivni procesi - najniži Bit modernog OS-a a je u fleksibilnosti i mogućnosti prilagođavanja strategije zahtjevima procesa. *Vidi slide No 96 The End

55 Operacijski sustavi Mr. sc.. Ante Dežulovi ulović dipl.ing. Srednja stručna sprema? Gimnazija Ekonomska Elektro Strojarska Kemijska Hotelijerska Ostalo

56 Koliko Vas ima kod kuće e računalo? Tko radi: 1. uopće 2. u info struci 111 LITERATURA 1. OPERACIJSKI SUSTAVI Prof. dr. sc. Leo Budin FER Zavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave Zagreb

57 LITERATURA 2. OPERATING SYSTEMS A concept-based approach D M Dhamdhere International Edition 2nd Edition Mc Graw Hill LITERATURA 3. OPERATIVNI SISTEMI B. Đorđević D. Pleskonjić N. Maček Teorija, praksa i rešeni eni zadaci Mikro knjiga Beograd

58 LITERATURA 4. OPERATING SYSTEMS Deitel Deitel Choffnes International Edition Third Edition Pearson Prentice Hall Pearson Education, Inc LITERATURA 5. OPERATING SYSTEM CONCEPTS Silberschatz, Galvine, Gagne Sixth Edition John Wiley & Sons, Inc

59 LITERATURA 6. MODERN OPERATING SYSTEMS Andrew S. Tanenbaum Second Edition Prentice Hall, Inc LITERATURA 7. OPERATING SYSTEMS Design and Implementation Andrew S. Tanenbaum Albert S. Woodhull Second Edition Prentice Hall, Inc

60 Uvod u OS SUSTAV... Tehnički... Informacijski... Računalski... ULAZ PROCES IZLAZ POVRATNA SPREGA

61 Obrada podataka Elektroničko ko računalo Priprema podataka Ulaz Obrada Izlaz Sklopovlje računala unala: Procesor Radni spremnik Vanjski spremnici Ulazno-izlazne naprave Podatak Komunik mreža Informacija Povijest Hardwarea Charles Babbage analytical engine,, prva svjet- ska programerka je bila Lady Ada Lovelace,, kćer k Lorda Byrona Prva generacija Elektronske vakum cijevi i programske ploče Druga generacija Tranzistori i Batch sustavi Treća a generacija Integrirani krugovi (IC) i Multiprogramiranje Četvrta generacija danas (LSI) Osobna računala i mreže

62 Moore-ov ov zakon Dr. Gordon E. Moore - Suosnivač Intel Corporation 1965 broj tranzistora x2 svakih 12 mjeseci i da će e se to nastaviti u slijedećoj dekadi 1975 broj tranzistora x2 svakih 24 mjeseci 2003/4 - snaga procesora x2 svakih 18 mjeseci a broj tranzistora x2 svakih 24 mjeseca Ključni je faktor da se trošak po tranzistoru u procesorima smanjuje eksponencijalno Danas-proglasio ga nevažećim jer se ušlo u u područje nanotehnologije (područje molekula.. Tranzistori se sastoje od nekoliko atoma.. Uskoro ograničenje sam atom) 123 PCB Printed circuit board (Integrirani-tiskani tiskani krugovi) Broj integriranih tranzistora Log skala Matičina ina ploča Motherboard Moore-ov ov zakon 1965 Cramming more components onto Integrated Circuits God

63 Funkcijski model računala - Von Neumann 1945 koncepcijski opisan 1. Ulazni dio 2. Izlazni dio 3. Radni ili glavni spremnik 4. Aritmetičko ko-logička jedinica (ALJ) CPU-procesor 5. Upravljačka jedinica (UJ) UJ sadrži i generator takta te skup registara koji služe e za privremeni smještaj raznih podataka. Skup naredbi određen je izvedbom aritmetičko ko- logičke (ALJ) i upravljačke jedinice (UJ) procesora. Ulazni podaci Naredbe Rezultati Ulazni dio Spremnik Izlazni dio Operandi Rezultati Aritmetičko ko-logička jedinica Naredbe PROCESOR-CPU CPU Upravljačka jedinica Podaci i naredbe Upravljački signali 63

64 Procesor- CPU CPU Central Processor Unit može e se smatrati automatom koji, nakon uključenja trajno izvodi naredbu za naredbom strojnog programa ponavljati { dohvatiti iz spremnika naredbu na koju pokazuje programsko brojilo; dekodirati naredbu - odrediti operaciju koju treba izvršiti iti; povećati sadržaj aj programskog brojila-pokazuje na slijedeću u naredbu; odrediti odakle dolaze operandi i kuda se pohranjuje rezultat; operande dovesti na ALJ; izvršiti iti zadanu operaciju; pohraniti rezultat u odredište te; } dok je (procesor uključen) en); U programsko se brojilo smješta adresa slijedeće e naredbe u redoslijedu izvršenja. 127 Procesor Fetch/decode decode/executeexecute ALU Izvršna jedinica Dobaviti Dekodirati Izvršiti Registri GP registers Control registers L1 naredbe cache L1 podaci cache L2 cache Bus sučelje Front side bus FSB MHz/GHz Data & address I/O channel

65 Skup procesorskih naredbi Određene izvedbom ALJ i UJ 1. Naredbe za premještanje sadržaja aja 2. Naredbe za obavljanje operacija 3. Naredbe za programske skokove-grananje 4. Naredbe za posebna upravljačka djelovanja 4. Naredbe se sastoje od 2 dijela: dio za smještaj operacijskog koda adresni dio naredbe 129 Naredba za premještanje sadržaja aja k p r pomaknuće registar kod operacije

66 Troadresna naredba za obavljanje operacije k p p p r operacijski kod registar rezultata registar 1. operanda registar 2. operanda modifikacija operacije 131 Naredba za programske skokove Narušava ava slijedno izvođenje programa k p r pomaknuće uvjet za skok operacijski kod Ako je uvjet ispunjen pomaknuće je adresa slijedeće e naredbe koju treba izvesti

67 Naredba za programske skokove Naredbe za bezuvjetne skokove (bez ispitivanja bilo kakvog uvjeta) Naredbe za uvjetne skokove (sadržaj aj programskog brojila se mijenja samo ako je ispunjen uvjet ) 133 Naredbe za poziv podprograma Programski zadatci koji se često ponavljaju se pripremaju kao podprogrami : procedura (procedure), funkcija (function( function), rutina (routine( routine, subroutine) Nakon izvršenog zadatka pomoću podprograma, program mora nastaviti svoje izvođenje naredbom u redoslijedu na adresi iza naredbe kojom se poziva podprogram

68 Poziv podprograma (2) Početak podprograma Poziv (1) (5) (4) (3) (7) Poziv (6) (8) Kraj podprograma 2 posebne naredbe za izvršenje podprograma: a) Poziv podprograma b) Povratak iz podprograma (9) Kazaljka stoga 135 Gnježđenje podprograma Program Podprogram 1. razine Podprogram 2. razine Podprogram 3. razine

69 Blok shema računala Spremnik Sabirnica Ulazni pristup Procesor CPU Izlazni pristup Od ulazne naprave Ka izlaznoj napravi 137 Struktura računalskog sustava UJ-Upravlja Upravljačka jedinica CPU Procesor UJ diska UJ pisača UJ mag.jed. Sabirnica UJ memorije Memorija

70 Sabirnička građa računala Današnja nja računala su organizirana na principu sabirnice Sve potrebne razmjene podataka, naredbi i upravljačkih signala vrše e se preko zajedničkih vodiča a sabirnice Vrijeme se na sabirnici dijeli na sabirničke periode ili sabirničke cikluse 139 Sabirnički ciklus U jednom ciklusu trajanja T B ostvaruje se jedna veza, tj. prijenos jednog sadržaja aja T B =100 ns 100*10-9 =10-7 =10*10-6 (Deset miliona) Sabirnički ciklus 10 M * 4B = 40MB TB

71 Memorija - radni spremnik Radni spremnik memorija služi i samo za pohranjivanje nizova bitova Isto vrijedi i ostale za spremnike Interpretacija značenja tih nizova bitova događa se izvan spremnika 141 Adresiranje memorije (radnog spremnika) do svakog byta pomoću u adrese u binarnom obliku ako se za zapisivanje adrese koristi m bytova tada je veličina ina adresnog prostora 2 m 0-2 m-1 2 m -4 2 m -3 2 m -2 2 m

72 Hijerarhija memorija Registri Cache Glavna memorija Elektronički diskovi Diskovi Magnetski diskovi Optički diskovi Magnetske vrpce 143 Hijerarhija memorija Latency in procesor cycles Vrijeme čekanja SRAM ~10 SRAM (Static, faster, more exp) Registri L1 Cache L2 Cache Volatile media ~30 DRAM (Dynamic-refreshment) DDR (Double data rate) Rambus (Nintendo) SDRAM (Sync din RAM) Komunikacija između procesora Glavna memorija ~10 6 Hard disk Tape CDs DVDs Digtal versatile/vide disk Sekundarna i tercijarna memorijapristup pomoću robota Persistent auxiliary media

73 Hijerarhija memorija CPU Memory Management Unit MMU Cache memory Main Memory Disk CPU pristupa samo najbržoj memoriji. Ako podaci ili naredbe nisu prisutni moraju se prenijeti iz sporijih memorija. CPU preko MMU dobavlja podatke iz Cache memorije, ako ih tamo nema ide se dublje prema sporijoj memoriji u hijerarhiji. Cache memorija sadrži podatke i naredbe koji su se nedavno koristili a čitaju se novi jedino ako se traženi tamo ne nalaze. Efektivno vrijeme pristupa memoriji zavisi od toga kako često se taj prijenos nepostojećih mora odvijati. 145 SPREMNIK Bajtovi spremnika Registar adrese Registar sadržaja aja Adresni dio sabirnice Podatkovni dio sabirnice Upravljački dio sabirnice m=32 n=32 k PROCESOR Jednosmjerno Adresni međuregistar Dvosmjerno Podatkovni međuregistar Arhitektura računala 8/16/32/64 bita

74 Međusobne veze Procesor je povezan na sabirnicu preko međuregistara Adresni međuregistar - jednosmjerno Podatkovni međuregistar - dvosmjerno U jednom sabirničkom ciklusu može e se obaviti jedno pohranjivanje ( pisanje( pisanje ) ) u spremnik ili jedno dobavljanje sadržaja aja ( čitanje( itanje ) ) iz spremnika. 147 Povijest OS 1940-te bez OS, korisnički ki program u strojnom jeziku se unosio bit po bit putem prekidača, a, bušene kartice, Strojni jezik (Asembler( Engl. Kratice) 1950-te General Motors Research Lab prvi OS za IBM 701 Aktivan JEDAN JOB - specifičan niz međusobno povezanih računalskih zadataka kao na primjer plaće, inventura Single-stream batch-procesing system Intervencija operatera, ograničenje, mala-skupa memorija

75 1960-te Isto batch procesi, ali su se resursi računala koristili efikasnije-obradom VIŠE jobova istovremeno 1970-te MULTIPROGRAMING OS je upravljao s više različitih jobova istovremeno tako da je prebacivao aktivnosti (dodjeljivao vrijeme) procesora i U/I uređaja između različitih programa. Primarni cilj: dijeljenje resursa računala. Korisnici nisu bili prisutni kada se job obrađivao IBM System/360, 370, 390, zserija 149 Turnaround time (od predavanja job-a do povratka rezultata) se drastično smanjio na min i čak sek MULTICS je bio prvi OS koji je bio pisan u višem programskom jeziku EPL prema IBM - ovom PL/ te Time sharing -interaktivan rad TSS, MULTICS, CP/CMS... Koristili virtualnu memoriju Ken Thompson (B), Dennis Ritchie (C) MULTICS u UNIX (C) Doug Engelbart San Francisco miš GUI

76 1970-te ARPA Advanced Research Project Agency ARPAnet prethodnica Interneta projektiran za rad bez središnje kontrole US Department of defence TCP/IP standard Transmission Control Protocol/Internet Protocol LAN Ethernet standard te Real Time - rezervacijski sustavi Osobna računala i radne stanice GUI Distributed computing: klijenti i poslužioci (serveri) Više međusobno povezanih nezavisnih računala na zajedničkom zadatku Serveri - grafika, baze podataka, Web stranice Klijenti korisnička računala izdaju zahtjev

77 1990-te Distribuirani OS WWW World Wide Web Tim Berners-Lee HTML HyperText Markup Language Do tada su OS bili prvenstveno usmjereni na upravljanje računalima u lokalnoj mreži, a razvojem Weba zadaća se širi na svjetsku mrežu putem distribuiranih OS-a. Povećanje brzine (MIPS) i kapaciteta (GB) OOOS Object Oriented OS C++ SUN JAVA, Microsoft.NET (Visual Basic.NET Visual C++.NET, C#) Bill Gates Microsoft proprietary approach, licenca, korporativni razvoj - postaje dominantan Linus Torvalds LINUX Free Open System (source) 2000-te i dalje Middleware Software koji povezuje preko mreže 2 odvojene aplikacije (USA-Japan) Internet veze velike brzine preko kabelskih TV linija i DSL (Digital Subscriber Lines) Kurir između Web servera i servera baze podataka, omogućava i pojednostavljuje komunikaciju između različitih arhitektura. Web services Uključuje niz odgovarajućih standarda koji omogućuju bilo kakvu razmjenu podataka bilo kakva 2 računala

78 Svjedoci u zadnjih par dekada: Dramatično raste snaga računala a cijena pada Desktop radne stanice WS u MIPS-ima Superačunala GIPS Računala postaju sastavni dio skoro svih vidova ljudske aktivnosti: PC - dokumenti, izračuni, igre, muzika, video te osobne potrebe. Prijenosni uređaji kao laptop, PDA (Personal Digital Assistants), mobiteli te MP3 playeri svi sadrže procesore kao ključne elemente. Fiksne žične i bežične mreže povećavaju snagu komunikacija omogućavajući trenutno spajanje preko velikih udaljenosti. 155 Internet i World Wide Web su izazvali revoluciju poslovanja općenito stvarajući potrebe za velikim mrežama snažnih računala koje poslužuju brojne transakcije u sekundi. Mreže računala su postale tako snažne da se one danas upotrebljavaju u kompleksnim istraživačkim projektima i simulacijama: klima na zemlji, oponašanju ljudske inteligencije, dekodiranju ljudskog genoma te stvaranju 3D animacija

79 Što je Operacijski Sustav OS? Software koji kontrolira Hardware Danas... Računala evoluirala pa je potrebna šira definicija Proširenje zadataka koji se zahtijevaju danas od računala uvjetuje novu definiciju uloge i odgovornosti Operacijskih Sustava. Kako bi se povećala iskoristivost računalske opreme primjenski programi (applications) su projektirani tako da se izvršavaju istovremeno. Ako ti programi nisu pažljivo usklađeni, može se dogoditi da se međusobno pomiješaju interferiraju

80 Definicija OS-a OS je sloj programskog koda čiji je zadatak odvojiti međusobno različite ali istovremeno aktivne korisničke programe od elektroničkog sklopovlja (hardwera) te omogućiti da se svaki korisnički program odvija sigurno i učinkovito. 159 Sadržaj aj radnog spremnika: OS i korisnički ki programi Rezervirano za OS (Početak- Dno ) M e m o r i j a P1a P3a P1b P2b P2a P2c P3b P4a P4b P1c Rast adresa memorije P1a P3a P2a P2b P2c P4a P1b Vanjski spremnici P1c P3b P4b 80

81 Apstraktni pogled na komponente računalnog sustava Korisnik 1 Korisnik 2 Korisnik n Prevodilac Strojni jezik Uređivač teksta Sustav i primjenski programi Operacijski sustav Elekroničko ko sklopovlje Baza podataka Korisničko sučelje (User interface) Korisnički i ostali programi (Non-kernel prg.) Jezgra OS-a (Kernel OS) Računalno sklopovlje (Computer hardware) Primjenski - korisnički ki program (aplikacija) Omogućuje uje korisniku izvršavanje različitih itih postavljenih zadataka Transformira računalni sustav u odgovarajući virtualni stroj

82 Kako tko vidi OS? Učenik... mogućnost pristupa Internetu Programer... razvojni alat za korištenje računalnog sustava u različite ite svrhe Korisnik primjenskog programa... specifična primjena računalnog sustava Tehničar u procesnoj industriji... Mogućnost vođenja i kontrole proizvodnje 163 Apstraktni pogled na OS Nijedan od navedenih pogleda nije sveobuhva- tan,, ali je svaki od njih točan i pomaže e shvatiti korisniku na koje mu sve načine OS može e služiti odnosno biti njegova produžena ruka. Ti se pogledi nazivaju apstraktnim - usmjereni su na bitne karakteristike jednog entiteta sa stanovišta specifičnog promatrača! a! (Entitet: stvaran ili apstraktni objekt ili događaj o kojem se u informacijskom sustavu prikupljaju podaci) Posljedica: : apstraktni pogled sadrži i samo neke elemente realnosti ali zanemaruje ostale. 82

83 Logički pogled Fizički pogled Program P Podatci Program P Rezultati Podatci Programa P CPU OS Program P i njegovi podatci Ostali programi Pisač 165 Operacijski sustav je skup osnovnih programa koji omogućuju uju provođenje- izvršenje postavljenih zadataka na računalu Nekada ga je pisao proizvođač računala (IBM, Univac,, CDC...) a danas Microsoft (zatvoreni pristup) odnosno udruge Unix, Linux (otvoreni pristup) u skladu s nekim od standarda. Upravlja: 1. korisničkim kim programima i drugim programskim apstrakcijama koji za razliku od sklopovlja nisu fizički objekti. 2. resursima računala unala: : sklopovljem, s procesorom(ima), spremnicima, I/O uređajima eđajima,, komunikacijama

84 Dva pogleda prvi (zahtjev korisnika) 1. Sa strane korisnika - Top down: extended/virtual machine (proš ireni/virtualni stroj) JEDNOSTAVNOST UPORABE Zahtjev Izvršenje programa, poziv datoteč.. sustava Usluga Brz odgovor na zahtjeve za računal unal.. resurs. Prikladan Lako pamtljive naredbe, GUI WEB mogućnosti Organizacija WEB poslužitelja Razvoj Dodavanje novih uređaja i računala 167 Dva pogleda drugi (zadaća a OS-a) 2. Sa strane sustava - Bottom up: koordinator svih dijelova računala UPRAVLJANJE RESURSIMA Programi... Započimanje i završavanje. avanje. Osiguranje uvjeta da više e procesa radi u svrhu postizanja zajedničkog cilja onog programa kojem pripadaju Resursi...Osigurava raspoloživosti i dodjelu programima Podjela..Odluka kada i koliko dodijeliti CPU programima Zaštita... Programa i podataka od drugih korisnika

85 Uloga Posrednik između: korisničkog kog programa i elektroničkog kog računalskog sklopovlja (hardware( hardware-a) a) 169 Svrha Zadaci - Ciljevi OS-a Omogućuje uje okolinu/sučelje u kojem korisnik može e izvoditi program na način: 1. Prikladan - olakšava ava uporabu računala 2. Djelotvoran - iskorištavanje svih dijelova računala - Resource Manager

86 Učinkovitost : Prikladnost Mora osigurat ne samo učinkovitu u upotrebu rač. sustava nego i prikladno korištenje za korisnika (1968 se u 3.Maju programiralo u Asembleru). Potrebno težiti kompromisu između ova 2 zahtjeva, a koji najbolje odgovara zadanom radnom okruženju. Postoje brojni OS koji pružaju razne efekte isko- ristivosti.. Jedni daju brzi odgovor (kontrolni i rezervacijski sustavi) a drugi učinkovito u iskorišta ta- vaju resurse na uštrb vremena kako bi omogućili niže e troškove. U sredini su oni koji omogućuju uju različite ite kombinacije brzine i efikasnosti. 171 Prikladnost za korisnika Potreba... Mogućnost izvršenja programa, poziv datotečnog sustava Dobra usluga... Brz odgovor na zahtjeve User frendly... Lako pamtljive naredbe, GUI Nove progr. mogućnosi... Konkurentni programi Dodaci za eksperte... Stvaranje kompleks.strukt Web orjentirani... Mogućnost uključivanja WEB servera Razvoj... Mogućnost priključka ka novih dodataka i novih računala

87 OS i učinkovitostu Podrazumijeva široki spektar razmatranja od korisnički ki usmjerenog (interaktivni rad, vremenski kritičan an) do sustavnog (dobra raspodjela resursa, non-interaktivan rad). Učinkovitost: 2 vida upotrebe računalnih resursa: 1. od strane OS-a ( overhead - potpora korisniku ali na uštrb korisnikovog vremena) 2. od strane korisnika 2. Slaba učinkovitost u za korisnika može e imati 2 uzroka: previše zauzeća a od strane OS (neupotrebljivost za druge) ili nemogućnost nost oslobađanja slobodnih resursa što uzrokuje usporavanje drugih procesa. 173 Praćenje učinkovitostiu Može e se postići nekrekidnim praćenjem resursa i korektivnim akcijama u slučaju potrebe. Kako računalo ima više e resursa (I/O, CPU, memorija) opsežno praćenje resursa bi rezultiralo visokim zauzećem em procesora (t.j. overheadom )) pa se ili: fokusira samo na CPU i memoriju ili upravlja korisničkim kim programima u cilju jamstva visoke učinkovitosti. Ovo posljednje izbjegava praćenje resursa/izračunavanje unavanje učinkovitosti u što bi bio dodatan overhead.. Primjer su Batch i Multiprograming koji su za projektni zadatak imali učinkovitost u upotrebe

88 Programska struktura i odgovornost OS-a 1. Pojedina Pojedinačni ni program... Aktivirati/zaustaviti program, upravljati resursima 2. Niz pojedinačnih nih programa (Batch( Batch).. Kontrola međuzavisnosti,, zaustaviti niz ako je jedan program u greg rešci 3. Su-izvr izvršni programi (Co( Co-executiv)... Koordinirati vezu među njima te njihov završetak 175 Zajednički zadatci OS-a Zadatak Kada/tko 1. Popis ovlaštenih korisnika...sistem adminstrator 2. Popis resursa u rač.. sustavu...os kod starta 3. Započimanje izvršenja progr.....po naredbi korisnika 4. Pregled programskog zauzeća...kontinuirano a...kontinuirano za resursa te trenutnog stanja vrijeme operativnosti- svih programa aktivnosti OS-a 5. Pregled trenut.. stanja svih resur....u trenutku zahtjeva te pridruž.. program. na zahtjev ili otpuštanja tanja resursa 6. Usklađuje korišt.. dijeljenih res.....tijekom operat OS-a 7. Održava informacije o zaštiti...tijekom operat OS-a 8. Obrađuje zahtjeve od strane...na zahtjev korisnika korisnika i njihovih programa 88

89 Kako funkcionira OS Podržava višeprogramski rad Aktivan je u sustavskom kernel/supervisor mode.. Dio software-a a koji sadrži i središnjicu (core( core) ) OS-a a zove se JEZGRA (KERNEL) i cijelo je vrijeme smješten u rezerviranom dolnjem-po početnom dijelu memorije. Jezgra ispunjava cilj OS-a a izvođenjem niza kontrolnih funkcija. To je zbir programa a ne komad sklopovlja (hardware( hardware). Vrši i kontrolnu funkciju izvođenjem naredbi na CPU-u. Tako CPU poslužuje uje i korisničke ke programe i OS. Prvo predstavlja produktivnu upotrebu CPU-a a i doprinosi učinkovitosti računalnog sustava a drugo je neophodni dodatak ( overhead )) bez kojeg se ne može e a koji smanjuje učinkovitost. u Jezgra prebacuje (switch off) )... CPU s jedne aktivnosti na drugu. CPU obično radi za korisnika. Kada je jezgra pozvana izvesti kontrolnu funkciju, koja je njezin sastavni dio, CPU se mora najprije prebaciti na izvođenje jezgre,, a nakon završetka kontrolne funkcije CPU se (ovisno o uvjetima u tom trenutku) vraća: a: a) ili na izvršenje prekinutog korisničkog kog programa b) ili na izvršenje nekog drugog programa. Prebacivanje CPU-a a između korisničkih kih programa i jezgre je najkritičniji niji trenutak u radu OS-a

90 Dijelovi kernela jezgre OS-a PS... Proces scheduler planiranje aktivnosti-dodjela procesora procesima na osnovi nekog algoritma te osiguranje uvjeta za izvršenje MM... Memory manager - kada i koliko memorije se dodjeljuje izabranom procesu i što se događa kada se napuni glavna memorija I/O... I/O manager poslužuje uje ulazne i izlazne zahtjeve IPC... Inter Proces Communication manager omogućuje uje komunikaciju između različitih itih procesa FS... File system manager organizira imenovani skup podataka na vanjskim spremnicima te omogućuje uje korisničkim kim programima pristup do njih Korisnički program Korisnički prostor System call interface Jezgrin prostor Jezgrine (Kernel)) komponente MM IPC I/O PS FS Net... Dijelovi jezgre MM-Memory Memory manager PS-Process Process Scheduler IPC-Inetrprocesor Inetrprocesor Communication FS-File File system I/O-Input Input/Output Scheduler Net-Network Network manager 90

91 Registri: 2 tipa 1. Programski dostupni (opće e namjene) Program accessible (general purpose) Služe e za spremanje adresa ili podataka tijekom izvršenja programa. 2. Kontrolni (control( registers) Služe e za spremanje informacija koje kontroliraju/usmjeravaju samu aktivnost CPU-a. 181 Memorija Sabirnica Memory Management Unit Interrupts Zaštita I/O PSW Procesor-CPU Registri DMA Data path Control path Interrupt path Device controles Devices 91

92 PSW Program Status Word IM P IC MPI CC PC Pokazuje stanje kontrolnih registara računalnog sustava IM Interrupt Mask (prekidna maska) P - Privileged Mode (privilegirani/kernel mod 0/1) IC - Interrupt Code (kod prekida) MPI Memory Protection Info (info o zaštiti memorije) CC Condition Code (stanje zadnje aritmetičko/logi ko/logičke ke naredbe) PC Program Counter (Programsko brojilo-pokazuje na slijedeću naredbu u redoslijedu) Sadržaj aj PSW i registara kontinuirano pokazuje što CPU radi pa se kaže e da oni predstavljaju STANJE CPU-a. Promjena STANJA (na poziv) podrazumijeva promjenu procesa odnosno prebacivanja s jednog programa na drugi ili na jezgru. Korisnički i Jezgrin način rada (dual obrada) IM P IC MPI CC PC P - Hardwerski dodatak MODE BIT CPU radi na 2 načina: jezgrin-kernel mode i korisnički ki user. Korisnički - User mode 1 ( 0 - konvencija!!) Jezgrin - Monitor, supervisor, system, privileged, kernel mode 0 ( 1 ) U jezgrinom načinu radu izvode se kontrolne funkcije te start I/O operacija, drugi način je za korisnika. 92

93 I/O operacije se mogu izvesti na 3 načina: 1. Programirani U/I U/I (I/O) Podsustavi...operandi U/I naredbe pokazuju na detalje U/I operacije. CPU dekodira naredbu i šalje signal U/I uređajuu ređaju.. Protok P podataka između U/I U uređaja i memorije kroz CPU i on je zauzet čekanjem 2. Interrupt U/I... CPU izvrši i U/I naredbu s čime započne U/I operaciju koja teče e nezavisno od CPU-a. Nakon toga se CPU oslobodi kako bi izvršavao druge naredbe. Prekid se javlja kada je byte spreman za prenos iz U/I jedinice prema memoriji. CPU se aktivira te prekidnom rutinom šalje byte u memoriju. 3. DMA...U/I naredba pokazuje tip U/I operacije te broj i adresu bytova koje treba prenijeti. Sam CPU ne učestvuje u prijenosu nego U/I jedinica javlja prekid po završetku komletnog zadanog prijenosa. 185 Vrste prekida - Interupt Programski (software( software)... )... Uzrok unutar CPU-potrebna intervencija: aritmetički owerflow,, dijeljenje s 0, probijanje zašti tićenih granica memorije U/I (sklopovski).... Uzrokovan završetkom U/I operacije ili lošim funkcioniranjem U/I jedinice Vremenski (timer( )... Za nadgledanje pona... Za nadgledanje ponašanjaanja sustava - generiranje dozvoljenog vremenskog odsječka ka

94 Obrada prekida* Zahtjeva da se CPU prebaci (otkloni/divertira divertira) ) sa tekuće e aktivnosti kojom je zauzet u tom trenutku na obradu odgovarajuće e prekidne rutine u jezgri. To uzrokuje spremanje PSW-a tekuće e aktivnosti u memoriju te punjenje PSW-a koji će e usmjeriti CPU na obradu nastalog prekida. Jezgra ustanovi uzrok prekida i poduz- me odgovarajuću u akciju nakon čega ili vraća PSW prekinutog programa ili pokreće e PSW nekog drugog programa. *Vidi slide No IM P PC Prekidni vektor PSW IC ddd 2 ddd Spremljeno PSW stanje *Vidi slide No

95 1. Koraci prekidne akcije* 1. Postaviti prekidni kod Prekidno sklopovlje generira kod prekida (IC) koji opisuje uzrok prekida a upisuje se u IC polje PSW-a. Na pr. I/O završetak etak može e biti adresa I/O jedinice koja je izazvala prekid. Spremanje aktivnog PSW... sadržaj aj PSW-a a se sprema u odgovarajuće e područje memorije uključuju ujući PC=ddd (Programsko brojilo koje u trenutku prekida pokazuje na adresu slijedeće naredbe u redoslijedu) prekidnog vektora... u odgovarajuća polja PSW-a. IM-maska isključuje uje prekide manjeg prioriteta, P-privilegirani P mod,, diže e se jezgra, PC Program Counter-pokazuje na prvu adresu prekidnog vektora. 2. Spremanje aktivnog PSW 3. Punjenje prekidnog *Vidi slide No Poziv jezgre programskim prekidom System call Poziv OS-u da izvrši neku akciju: povećanje memorije ili početak U/I Pojava prekida Obrada prekida Raspored (Odluka o slijedećem) em) operacije. Izvršenje samog prekida te odluka o izboru slijedeće aktivnosti uzrokuje trošenje vremena CPU-a. Scheduling overhead se naziva vrijeme potrebno za donošenje odluke o slijedećoj aktivnosti koja će se aktivirati. Izlaz iz jezgre *Vidi slide No

96 Uloga prekida - *Vidi slide No 82 IM P IC MPI CC PC Privući i pažnju jezgre na uvjet ili događaj koji se upravo dogodio u rač.. sustavu. Rač.. sustav pridružuje uje numerički prioritet svakom prekidu. Ako ih se dogodi više e istovremeno, prekidni mehanizam omogućava najvišem da se obradi kao prvom u redoslijedu, dok ostale pamti. IC - jedinstveni prekidni kod pridružen svakom prekidu omogućava dovoljno informacija da jezgra poduzme odgovarajuću u akciju. Interrupt processing obrada prekida je naziv koji opisuje izvršenje takve akcije. 191 Maska prekida Interrupt Mask - IM IM P IC MPI CC PC U PSW-u u pokazuje koji su prekidi dozvoljeni da se pojave u bilo kojem trenutku. U polju IM se pojavljuje integer m koji određuje da se od tog trenutka dalje dozvoljavaju samo prekidi čiji je prioritet > m. Alternativno IM sadrži i i kombinaciju bitova gdje svaki pojedini bit pokazuje dali je nekom određenom prekidu dozvoljen događaj (enabled) odnosno zabranjen (masked)

97 Sučelje Čvrsto dogovorena pravila o načinu uspostavljanja veze odnosno komuniciranja između dviju,, inače e razdvojenih cjelina-razina. Aktivnosti operacijskog sustava pokreće: e: 1. korisnik preko korisničkog kog sučelja 2. program preko sučelja primjenskog programa Operacijski sustav preko tih sučelja povratno vraća: a: 1. rezultate zatraženih operacija 2. samo informacije o izvršenoj funkciji Hijerarhijska izgradnja OS-a Svaki se sustav izgrađuje po razinama Svaka se razina sastoji od objekata i operacija nad tim objektima Objekti i operacije razine izgrađuju se samo s pomoću u objekata i operacija prve neposredne niže e razine Detalji ostvarenja objekata i operacija pojedine razine su skriveni

98 Sučelje primjenskih programa Razina korisnika Razina primjenskih programa Razina operacijskog sustava Razina sklopovlja Sučelje programa i OS-a API Primjenski programi Operacijski sustav Računalno sklopovlje Korisničko sučelje Operacijskog sustava Sučelje programa i sklopovlja 195 VM Virtual Machine Program Linux Program Windows Program Unix Virtualni sloj sklopovlja (Virtualni hardware) Program Procesor Virtual Machine Operating System Memorija Program Disk Software Fizički sloj sklopovlja (Fizčki hardware) 98

99 Razine u hijerarhijskoj izgradnji sustava R i+1 R i R i-1 Sučelje Sučelje Sučelje Sučelje 197 Razine* Korisnik Razina 4 Korisnički program Korisnički prostor Razina 3 Razina 2 Razina 1 Razina 0 I/O management Message interpreter Memory management Processor allocation and Process scheduling H S A K R L D O W P A O R V E LJ E Jezgra Kernel *Vidi slide No

100 Načini obrade u OS-u Program... niz funkcija ili modula uključuju ujući i one JOB... povučene iz biblioteke....niz povezanih koraka od kojih svaki predstavlja izvršenje jednog programa. Nema smisla izvršavati slijedeći i program ako prethodni nije uspješno završio. Proces... Predstavlja izvršenje dijela programa kada program dobije prostor (memoriju) i vrijeme (CPU) Proces Dretva-Nit (Thread( Thread) Vi Više e dretvi dijele zajedničke resurse sa procesom s time da svaka ima svoje specifične podatke (Thread-Specific Data) 199 Operacijski sustavi PC DOS Disk Operating system MSDOS Microsoft Windows Apple Macintosh OS/2 multitasking system

101 Klase OS-a Period Klasa Primarni zadatak Ključni koncept 1960 Batch.. Bolje koristiti CPU Spooling... Simultaneous Peripheral Operation On-Line 70-te Multiprog......Iskoristivost resur.. Programski prioriteti, Zamjena programa rama 70-te Time sharing... Brzi odgovor Vremenski odsječci, Kružno dodjeljivanje (Round( robin) 80-te Real time... Ispunjenje zahtjeva za promptni odgovor računalnog sustava 90-te Distributed... Podjela resursa Transparentnost, Distribuirana kontrola 201 Sustavi u realnom vremenu - Real time Kontrolni uređaj u strogo primjenskom programu Koristi se u slučaju kada je neophodan promptni-trenutni trenutni vremenski odgovor računala ili prihvat/pristup podatcima. Senzori prenose iz okoline-proizvodnog procesa podatke računalu koji ih obrađuje i vraća a u proizvodni proces s kojim upravlja. Rezervacijski sustavi (zrakoplovi, hoteli)

102 Učinkovitost Multi programing Time sharing Distributed OS Real Time OS Batch Prikladnost User convenience Potreba nužda Dobra usluga Podjela resursa 203 Izvršenje korisničkih kih zahtjeva u raznim OS Klasa Obrada Ključni način Batch Job Jedan po jedan job Multiprog. Programi Time sharing Procesi Real time job.. Programi unutar joba sekvencijalno (u nizu) OS preklapa obradu nekoliko programa kako bi se poboljšala iskoristivost resursa i učinkovitost (izvođenje) rač.. sustava Procesi preklapanje procesa radi osiguranja brzog odgovora Procesi preklapanje procesa u svim programima kako bi se postigao planirani završetak ( deadline( deadline ) Procesi pristup udaljenim resursima putem mreže. e. Obrada procesa istog programa na raznim računalima u mreži i da bi se postigla raspodjela resursa i učinkovitost u Distributed Procesi 102

103 Multiprocesorski sustavi Paralelni sustavi - čvrsto povezani sustavi Tandem, SMP symmetric multiprocessing Jedno kučište CPU CPU CPU Memorija Simetrična multiprocesorska arhitektura 205 Distribuirani sustavi Client-server Compute-server systems File-server systems Peer-to to-peer Client Client Client Client Mreža Server

104 Distribuirani sustavi Mreža a (Network( Network) ) komunikacijski k kanal između dvaju ili više e sustava Razlikuju se po: komunikacijskom protokolu udaljenosti između čvorova transportnom mediju Sastoji se od 2 ili više čvorova, gdje je svaki čvor računalo sa vlastitom memorijom, mrežnim sklopovljem te mogućno nošću u vršenja kontrolnih funkcija nekog OS-a. 207 Mreža a i Distribuirani OS Disk Server Server Server Procesor Hub Client Client Client Client Client

105 Mrežni Protokoli TCP/IP (Windows( & UNIX) ATM Vezu između OS-a a i mrežnog protokola predstavlja: 1. sučelje (elektronički ki sklop*) 2. program za pripremu (razlaganje odnosno slaganje) podataka za slanje putem komunikacijskog kanala. *Vidi slide No Mreže e.. Podjela obzirom na udaljenost LAN local-area area network WAN wide-area network Metropolitan-area area network Small-area area network (BlueTooth)

106 Transportni medij Bakreni vodiči Optička vlakna Bezžični prijenos: sateliti, mikrovalne antene, radio 211 Handheld računala PDAs Personal digital assistants (dlanovnici) BlueTooth

107 Embedded Computing Od motora automobila preko robota do mikrovalnih peći. Fiksno unaprijed programirana funkcionalnost za definirano područje. 213 Moderni OS Korisnici započinju različite ite aktivnosti u modernom OS-u u pa on nemože koristiti jedinstvenu strategiju za sve procese. Na pr.. korisnik istovremeno: ,, editiranje, obrada i gledanje videa a to uključuje: uje: 1. Interaktivnost 2. Započeti proces u drugom čvoru distribuiranog sust. 3. Video-mek mekša a varijanta real-time OS mora koristiti kružno posluživanje ( round( round-robin ) za izvršenje programa,, prioritetno p raspoređivanje za video, te poziv udaljene procedure za aktivnost u udaljenom čvoru RPC (Remote Procedure Call)

108 Prema tome moderni OS* Koristi strategije i tehnike batch obrade, multiprogramiranja, podjele vremena, real time i distribuiranih OS-a. Nemože koristiti različite ite strategije za različite ite tipove procesa nego upotrebljava jedinstvenu kompleksnu strategiju koja se prilagođava svakom individualnom procesu. Raspoređivanje na početku može e biti temeljeno na prioritetu kao u multiprogramiranju,, ali se temeljem prošlog ponašanja anja može odlučiti o tekućem em prioritetu. Prioritet: Real time najveći Interaktivni procesi srednji Non-interaktivni procesi - najniži Bit modernog OS-a a je u fleksibilnosti i mogućnosti prilagođavanja strategije zahtjevima procesa. *Vidi slide No 96 The End

109 Operacijski sustavi Procesi i dretve Kako bi ostvario maksimalnu učinkovitost u i ispunio korisnikove potrebe OS izvršava mnoge aktivnosti istovremeno (paralelno - simultano). Koristi apstraktne pojmove proces i dretva kako bi pratio i upravljao paralelnim aktivnostima

110 Mnogi sustavi u prirodi imaju mogućnost izvoditi više aktivnosti istovremeno. Ljudsko tijelo izvršava razne aktivnosti paralelno odnosno konkurentno -istovremeno: disanje, cirkulacija, razmišljanje, šetnja, probava a može i istovremeno aktivirati osjetila: pogled, opip, miris, okus, sluh. Računalo također: uobičajeno može istovremeno prevoditi program, slati datoteku na pisač, tražiti Web stranicu, prikazivati video isječak te u istom trenutku primati e-poštu. 219 Razčlamba programa Program na procese, proces na dretve Računalo koristan zadatak izvođenjem programa pisanih u višem programskom jeziku Kada se program, prevede u strojni oblik i pokrene dobiva vremenske atribute: početak etak,, trajanje, završetak. Program u izvođenju se zove računalnim procesom ili samo procesom

111 U raznim fazama svog odvijanja procesi koriste različite ite dijelove računalnog sustava pa je svrsishodno posao organizirati tako da se u istom vremenskom razdoblju izvodi više programa kako bi se povećala mogućnost simultanog korištenja resursa. Više e procesa može e istodobno napredovati ako se odvijaju u različitim itim dijelovima računalnog sustava, pa ako na pr. jedan proces čeka na završetak ulazne operacije kako bi nastavio sa izračunavanjem, drugi za to vrijeme može e izvoditi svoje naredbe. 221 Pojedini, jasno razlučivi dijelovi sklopovlja računala nazivaju se računalnim sredstvima ili sredstvima (resources) Višezada ezadačni ili višeprogramski rad (multitasking( multitasking, multiprograming) omogućuje: uje: 1. Bolje korištenje svih sredstava računalnog sustava 2. Olakšava ava organizaciju poslova u računalnom sustavu Odvijanje procesa vrši i se izvođenjem njegovog podniza naredbi tj.. izvođenjem i njegovih dretvi. Da bi proces bio aktivan mora biti prepoznatljiva barem jedna dretva

112 Da bi izvršio program P mora OS rezervirati u memoriji njegov adresni prostor (stog je naziv dijela memorije namijenjen smještaju tekućih sadržaja registara), pridružiti pisač, osigurati vezu s podatcima P na disku te rasporediti P za izvršenje. CPU je nacrtan isprekidano jer on ne izvršava stalno program P budući ga OS dijeli između P-a i ostalih programa. Program P Podatci P CPU Naredbe Podatci Stog Adresni prostor programa P Pisač Program je bezživotni entitet. Tek kad mu OS dodijeli procesor i vrijeme odnosno udahne život postane aktivan entitet koji se zove proces. 223 RAČUNALNI PROCES Program napisan na papiru je statička tvorevina. Kada se smjesti u radni spremnik te pokrene (dobije vrijeme) postane dinamičan an t.j. postaje proces. To nije samo izvođenje naredbi već i sve ostale popratne radnje. OS mora osigurati sve uvjete za nesmetano odvijanje procesa - t.j.. s spremnički prostor i procesor te ostale resurse na zahtjev

113 Definicija (prvi puta u MULTICS-u u 60-tih) Proces (task)).. program p u izvođenju manifestiran je (opisan) postojanjem strukture podataka tzv. proces descriptor ili Proces Control Block PCB a pridruženi su mu procesor (i) i izvršne U/I jedinice. Program u izvršenju: note muzika Proces je entitet koji ima vlastiti adresni prostor koji se sastoji od 3 dijela: tekst (naredbe), podatci i stog. 225 Adresni prostor procesa Tekst.. sadrži i naredbe koje procesor izvršava Podatci..varijable i dinamički pridruženi dijelovi radnog spremnika koje procesor koristi u izvršenju Stog.. Sadrži lokalne varijable aktivnih procedura. Veličina ina se povećava brojem aktivnih a smanjuje brojem procedura koje predaju kontrolu nakon završetka

114 Konkurentni program Proces Dretva Proces Dretva Proces Dretva R A Z Č L A M B A Sekvencijalni program Proces Proces Proces Dretva Dretva Dretva OS koristi procese kako bi postigao izvršenje programa bilo konkurentno bilo sekvencijalno. 227 Za postojanje uistinu konkurentnih - simultanih sustava potrebno je isto toliko procesora koliko i procesa. OS mora osigurati svakom procesu dovoljnu količinu inu procesorskog vremena

115 Opisnik - PCB(Process Control block) Dio strukture podataka jezgre koja koristi 3 osnovne funkcije da bi kontrolirala procese: 1. Planiranje (Scheduling) slijedećeg eg aktivnog procesa temeljem nekog algoritma 2. Početak/nastavak izabranog procesa dodjelom procesorskog vremena (Dispatching) 3. Spremanje informacije o aktivnom procesu kada je njegovo izvršenje prekinuto (Context switching) 229 Osnovne funkcije kontrole procesa Događaj Spremanje informacije Obrada događaja Planiranje procesa Početak/nastavak procesa

116 Opisnik- Process Control Bock-PCB (Process Descriptors) Proc IDent Jedinstv broj Proces table PID n PCB Programsko brojilo Registri Stanje (aktivan,spreman blokiran) Prioritet Adresni prostor Roditelji Djeca Otvorene datoteke PSW*.. Ostale zastavice Process Control Block Program Counter Registers State (run,ready,blocked) Priority Address space Parent Children Open Files PSW.. Other Flags *Vidi Uvod 02 Uvod slide No Operacije procesa Create (Stvori) Destroy (Uništi) Suspend (Zaustavi) Resume (Nastavi) Change priority (Promijeni prioritet) Block (Blokiraj) Wake up (Probudi) Dispatch (Dodijeli vrijeme) Enable interproc comm Omogući i interproc kom 116

117 Zamjena stanja - OS zaustavlja tekući i proces i započinje izvršavanje prethodnog spremnog (ready( ready) ) procesa P1 aktivan P1 Glavni spremnik Poslije prekida jezgra odlučuje uje aktivirati novi proces i započima zamjenu stanja Procesor P1 Procesor Jezgra puni PCB procesa P2 iz njegove adrese u glavnom spremniku Proces P1 PCB Proces P2 PCB P2 aktivan P2 Zamjena stanja - Context switching 233 Stanje procesa: životni ciklus Za vrijeme svog životnog ciklusa proces prolazi kroz seriju diskretnih stanja: 1. Aktivan (running) Spreman (ready) Blokirani (Blocked) dodijeljen mu je CPU... čeka na dodjelu CPU... čeka na neki događaj OS održava popise (liste): 1. Spremnih (ready)... slo 2. Blokiranih (blocked) složena po prioritetima... nije složena

118 Osnovna prijelazna stanja procesa Probuđen Blokiran-na na spavanju Dodjela vremena Dispatch Novi proces Spremni Ready Aktivni Tekući Runnung Isteklo vrijeme Zamjena procesa Timer runout Probudi - Wake up Dodijeljen resurs ili završeno čekanje Inicira OS Gotov proces Blokiraj Čeka resurs ili vrijeme Block Blokirani Blocked Inicira proces 235 Kad korisnik započne program, stvaraju se procesi koji se upisuju na Listu Spremnih (Ready) i pomiču prema vrhu liste kako se procesi ispred u redosljedu završavaju. Kada proces stigne na vrh liste čeka da mu se dodijeli procesor. Za prelaz iz spremnog u aktivno stanje (State Transition) zadužen je entitet jezgre a samo pridruživanje procesora prvom procesu na listi spremnih zove se dodjela vremena.* *Vidi Uvod slide No

119 Zaustavi - Nastavi su dva dodatna prelazna stanja koja su se nekada vršila ručno intervencijom operatera a s vremenom su automatizirana. Predstavljaju i danas mogućnost vremenskog odgađanja aktivnosti umjesto prekida (abort), u slučaju otkrivanja nekih malicioznih prijetnji te prilikom testiranja. 237 Prijelazna stanja procesa Zaustavi-Nastavi Spremni Ready Zaustavi Nastavi Isteklo vrijeme Završen U/I ili događaj Dodijeli vrijeme Zaustavi Zaustavi Aktivni Tekući Runnung Čekanje UI ili događaj Blokirani Blocked Zaustavi Nastavi Aktivna stanja Zaustavljen spreman Susp-ready Završen U/I ili događaj Zaustavljen Blokiran Susp-blocked Zaustavljena stanja

120 Ada - progamski jezik Lady Ada Lovelace, kćer Lorda Byrona Ada je nastao 1970-tih i ranih 80-tih unutar US Department of Defence DoD a bio je jedan od prvih jezika koji su omogućili explicitno konkurentne funkcionalne module. Rani OS su omogućavali računalima izvršenje više e programa konkurentno, ali tadašnji programski jezici nisu omogućavali programe- rima specificirati konkurentne aktivnosti unutar istog programa. 239 Danas su programski jezici Java C# Visual C++.Net Visual basic.net Python stavili na raspolaganje konkurentne module (primitives) koji omogućuju uju programiranje dijelova programa kao dretve te konkurentno izvođenje sa ostalim dretvama u okruženju (multithread). One verzije C i C++ koje to pružaju nisu dio ANSI/ISO standarda

121 Pisanje takvih programa može e biti zamršeno, iako ljudski um može e izvršavati više e funkcija istovremeno A B C Izbor knjige Izbor retka Kratko čitanje Pamćenje Povezati sadržaj 1 2 Index K=A Index R=1 Ponovi Čitaj R(A) Čitaj R(B) Čitaj R(C) R=R+1 Ako nije Zstr Go to Ponovi End 241 Dretva nit (thread) predstavlja takav način izvršenja aktivnosti koje koristi postojeće e okruženje procesa: naredbe, podatke i resurse. Ako više e dretvi koristi okruženje istog procesa one dijele njegove naredbe, podatke i resurse. OS koristi tu činjenicu da bi smanjio svoj overhead,, to jest opterećenje enje računala vremenom i prostorom uslijed aktivnosti samog OS-a a a koje se troši i na prebacivanje aktivnosti između dretvi

122 Dretva Procesi-zadaci se dijele u podzadatke: 1. Lakše se savladava složenost programskih sustava 2. Unutar jednog procesa bolje se koriste računalna sredstva resursi. U operacijske sustave su uvedeni mehanizmi koji podržavaju izvođenje procesa s više e paralelnih dretvi ili višedretvenost (multithreading) Zajedničko svim modernim OS. 243 Dretve unutar jednog procesa dijele sva sredstva koja im OS stavi na raspolaganje u tom procesu, posebice adresni prostor. Dretve unutar jednog procesa mogu neposredno pristupiti do svih adresa adresnog prostora svog procesa. Međutim,, dva procesa ne mogu jedan drugome neposredno adresirati varijable. Ako je potrebno izvršiti iti razmjenu podataka između dva procesa,, onda se to čini posredno pomoću u mehanizma koje osigurava OS

123 Odvijanje procesa Izvodi se dretva: naredba za naredbom Ako računalo ima više e procesora može e se izvoditi i više e dretvi istovremeno Spremnik se dijeli tako da svaka dretva dobije svoj dio adresnog prostora iz kojeg pripadni procesor čita (dohvaća) a) naredbe i podatke. 245 PROCES Zajednički podatci svim dretvama u procesu Lokalni podatci pojedine dretve Adresni prostor Globalni podatci procesa Registri Registri Stog Stog Maska Maska TSD TSD Registri Stog Maska TSD TSD Thread-Specific Data

124 Razlog projektiranja dretvi Projektiranje softwarea.. Obzirom na modularnost projektiranja prevodioca (compiler) mnogi današnji nji primjenski programi sadrže e dijelove koji se mogu izvršavati nezavisno od ostatka. Odvajanje nezavisnih dijelova koda u pojedine dretve može e poboljšati ponašanje anje programa te u svezi s time i pojednostaviti prikazivanje paralelnih aktivnosti. 247 Razlog projektiranja dretvi Učinkovitost.. Programi samo s jednom dretvom nemogu se izvršavati na višeprocesor eprocesor- skim sustavima već samo na jednoprocesorskim i to sekvencijalno. U višedretvenim programima dretve mogu dijeliti procesor(e) tako da se višestruke aktivnosti mogu izvršavati paralelno što može e značajno ajno smanjiti ukupno vrijeme potrebno za završetak procesa - aktivnosti

125 Razlog projektiranja dretvi Kooperacija.. Mnogi primjenski programi su temeljeni na nezavisnim komponentama koje moraju međusobni komunicirati te biti sinkronizirane. Ponašanje anje višedretvenih paralelnih sustava u odnosu na procese ima prednost jer se međusobno komuniciranje odvija unutar zajedničkog adresnog prostora. 249 U današnjim njim računalima su višedretvene aktivnosti nezaobilazne. Web server: prima udaljene zahtjeve za Web stranicama, slikama i drugim datotekama. Server odgovara na svaki zahtjev odvojenim dretvama. Proces koji prima zahtjev sadrži i jednu dretvu roditelja koja sluša ulazne pozive. Za svaki zahtjev inicira se nova dretva dijete koja ga analizira, pronađe stranicu te ju šalje klijentu. Nakon iniciranja nove dretve dijete, roditelj može e nastaviti slušati druge zahtjeve. Budući i su Web serveri multiprocesorski sustavi višekratni se zahtjevi mogu ispunjavati konkurentno od strane različitih itih dretvi poboljšavaju avajući i i protok i odgovor računalnog sustava. Overhead koji se javlja zbog Stvaranja (Create) i Uništenja (Distroy) dretvi kako bi se poslužio svaki zahtjev je značajan. ajan. Zbog toga serveri održavaju niz (pool) dretvi koje se dodjeljuju novim zahtjevima kada stignu. Te se dretve nakon akcije ne uništavaju već se vraćaju aju natrag u niz

126 Word procesori Koriste dretve u smislu povećanja produktivnosti i poboljšanja interaktivnosti. Svaki puta kada korisnik pritisne slovo na tipkovnici, OS dobiva signal prekida koji pretvara u prekid Word procesoru. Word procesor odgovara spremanjem znaka u memoriju te prikazivanjem na zaslonu. Kako danas računala izvršavaju stotine miliona procesorskih naredbi između dva utipkana znaka, Word procesor može e izvršavati u međuvremenu razne druge dretve (ispravak gramatike, spašavanje avanje podataka) iako mu napr. jedna dretva može biti blokirana uslijed U/I operacije. 251 Naredbena dretva Sadržaj aj spremnika se dijeli u 3 dijela: 1. Dio u kojem se nalazi program-niz naredbi 2. Dio rezerviran za stog 3. Dio za smještanje podataka Sadržaji aji su u procesoru smješteni u registre: 1. Programsko brojilo 2. Registar stanja 3. Registar kazaljke stoga 4. Registri za pohranjivanje podataka i adresa

127 Spremnik i procesor radno okruženje za izvođenje niza naredbi SPREMNIK PROCESOR Strojne naredbe Podatci Registri procesora Stog Procesor provlači naredbenu dretvu ili dretvu (thread( thread) kroz niz naredbi. 253 Petlja Potprogram DRETVA

128 Višeprocesorska računala U računalima s više e procesora (višeprocesorska računala) može e se proces podijeliti na više e dretvi. Svaki procesor provlači svoju dretvu kroz naredbe i tako neki zajednički posao može e biti brže e obavljen-multithreading multithreading. Višedretveni se rad može e provesti i u jednoprocesorskom računalu i to tako da jedini procesor naizmjence izvodi sve dretve - vrijeme se podijeli između više e dretvi tako da se one prividno izvađaju istovremeno-simultano. simultano. Sadržaj aj registara procesora - tzv. kontekst dretve treba pri prekidanju izvođenja jedne dretve pohraniti izvan procesora i u registre staviti sadržaj aj dretve koju se želi pokrenuti. 255 Više procesora SPREMNIK Dretva 1 PROCESOR 1 Registri procesora Dretva 2 PROCESOR 2 Registri procesora Dretva 3 PROCESOR 3 Registri procesora

129 Jedan procesor SPREMNIK Dretva 1 Kontekst dretve 1 Dretva 2 PROCESOR Registri procesora Kontekst dretve 2 Dretva 3 Kontekst dretve 3 crtkano podrazumijeva naizmjence 257 Zaključak U jednoprocesorskom sustavu se višedretveno edretvenošću ne postiže e ubrzanje odvijanja procesa, ali se može e postići i da proces izvodi jednu od dretvi dok druga čeka zbog nekog razloga Ako se promjena sadržaja aja procesa obavi ispravno stvara se privid da svaka dretva ima vlastiti procesor Promjena konteksta dretve je temeljni mehanizam na kojem počiva ostvarenje svih funkcija OS-a

130 The END 259 Processes and Threads There is nothing more requisite in business than dispatch. (Ništa nije nužnije nije u poslu od hitnog izvršenja). Learn to labor and to wait. (Uči i se raditi i čekati)

131 Dretva (Thread) The spider s s touch, how esquisitely fine! Feels at each thread,, and lives along the line. (Alexander Pope) You cannot conceive the many without the one. (Platon) 261 Operacijski sustavi Višedretveno izvršenje zadataka 131

132 Sustav podzadataka Ima smisla ako se pri planiranju ostvarenja prepoznaju jasno razlučive cjeline odnosno podzadatke kao na primjer: 1. čitanje ulaznih podataka 2. obradu 3. obavljanje izlaznih operacija Ti se podzadatci unutar jednog zadatka moraju obavljati navedenim redoslijedom. Međutim ako se programski zadatci ponavljaju onda se pojedini podzadatci mogu obavljati istodobno (paralelno) odnosno vremenski preklapati

133 Načelo cjevovodnog rada A B C D E F G Ulazna dretva A B C D E F Radna dretva A B C D E Izlazna dretva Ne može e se očekivati o da će e pojedine faze višedretvenog ostvarenja opisanog zadatka trajati jednako. Zbog toga je potrebno predvidjeti eti mehanizme sinkronizacije dretvi. 265 Sinkronizacija Ulazna dretva mora nekako dojaviti radnoj dretvi da su ulazni podatci stigli 1. Ako je radna dretva u tom trenutku zauzeta obradom podataka prethodnog zadatka, novi se podaci moraju negdje privremeno pohraniti 2. Ako je radna dretva već obavila prethodnu obradu, ona se dolaskom novih podataka odmah pokreće. e. Isto važi i i za sinkronizaciju radne i izlazne dretve. Mehanizam međusobnog isključivanja ivanja (mutual exclusion) osigurava da dretve mogu nesmetano jedna od druge pristupiti nekom sredstvu

134 Model višedretvenosti Proces koji raspolaže e svim resursima za svoje izvođenje ima i svoj adresni prostor.. Taj prostor je na raspolaganju svim dretvama tog procesa. Svaka dretva zauzima svoj dio adresnog prostora a taj je podijeljen na 3 dijela: 1. Dio u kojem su naredbe dretve 2. Dio u kojem je smješten stog dretve 3. Dio u kojem su smješteni lokalni podaci dretve U procesnom adresnom dijelu prostora postoji još i jedan zajednički dio koji mogu dohvaćati ati sve dretve. U tom dijelu prostora smještaju se zajedničke (globalne) varijable svih dretvi. 267 PROCES Zajednički podatci svim dretvama u procesu Adresni prostor Globalni podatci procesa Lokalni podatci pojedine dretve Registri Stog Maska TSD Registri Stog Maska TSD Registri Stog Maska TSD TSD Thread-Specific Data

135 Dretveni prostor dretve D1 Dretveni prostor Lokalni podatci dretve Stog dretve Procesni prostor Dretveni prostor dretve D2 Dretveni prostor dretve D3 Naredbe dretve Dretveni prostor dretve Dn Zajednički prostor 269 Složeni programski zadatak može e se sastojati od više podzadataka. Za svaki se par zadataka mora utvrditi zavisnost ili nezavisnost. Ako su zadatci zavisni mora se utvrditi redoslijed njihova izvođenja. Sustav podzadataka koji će e se pri izvođenju pretvoriti u sustav dretvi zajedničkim će djelovanjem obaviti zadatak. Suradnjom dretvi obavlja se cjeloviti proces rješavanja zadataka

136 Sustav podzadataka-sustav dretvi Čvorovi - pojedine dretve Strelice - redoslijed izvođenja D1 D2 D3 D4 D5 D6 D7 D1 < D2, D1 < D3, D1 < D4 D2 < D5 D3 < D5, D3 < D6 D4 < D6 D5 < D7 271 D6 < D7 Razčlanjivanje zadataka na podzadatke razmještene na što je više e moguće paralelnih putova je osnovni preduvjet za dobro iskorištenje višeprocesorskih sustava. Dretve koje se nalaze na paralelnim putovima mogu se izvoditi paralelno. Stvarno istodobno ako za svaku od njih stoji na raspolaganju jedan fizički procesor Prividno istodobno ako se više e njih izvodi na istom procesoru

137 Paralelizam u izvođenju nekih složenijih poslova poželjan je na razini iznad dretvi, to jest na razini procesa. Može e se pretpostaviti da će e dretve jednog procesa biti nezavisne sa svim ili sa velikom većinom dretvi drugog procesa 273 Zaključak postoje mehanizmi za: 1. Pokretanja dretvi, 2. Zaustavljanje dretvi, 3. Sinkronizaciju dretvi. 3. Za zavisne dretve postoje mehanizmi za razmjenu podataka: 1. Najjednostavnije kada jedna piše neposredno u domenu druge dretve 2. Pomoću u poruka dogovorenog oblika u posebno rezerviranom dijelu zajedničkog spremnika

138 Suradnja dretvi Prethodno je bilo govora o konceptu jedinice za obradu: procesi i dretve. Većina onoga što je rečeno eno za dretve može e se primijeniti i na procese. Kada se istovremeno više e od jedne dretve izvodi u računalu onda se kaže e da su dretve konkurentne. Dvije se dretve mogu odvijati potpuno nezavisno ili se mogu izvršavati u suradnji - kooperaciji. Za dvije se dretve kaže e da se izvršavaju asinkrono kad se odvijaju nezavisno ali povremeno moraju komunicirati radi izvršenja kooperativnih zadaća Kada jedna dretva čita a druga piše e ili obratno može e se dogoditi neodređeni rezultat. Rješenje: enje: svakoj dretvi dozvoliti isključivi ivi (ekskluzivni) pristup dijeljenoj varijabli. Dok jedna dretva povećava dijeljenu varijablu sve druge moraju čekati-međusobno isključenje Kada jedna dretva završi i pristup dijeljenoj varijabli OS će e dozvoliti jednoj od dretvi na čekanju da nastavi (serijski pristup dijeljenoj varijabli), pa na taj način dretvama nije moguć istovremeni pristup dijeljenoj varijabli

139 Primjer a: e 2 dretve d konkurentno surađuju na zajedničkom brojaču u poruka: LOAD mail Count... iz memorije u registar ADD 1... zbrajanje u registru STORE mail Count... iz registra u memoriju Na pr. trenutno mail Count = Prva: LOAD + ADD > ; prekinuta nakon ADD prije STORE = ; u registru mail Count = Druga: LOAD + ADD + Store > ; završila = ; u memoriji Prva nastavlja sa STORE: iz registra u memoriju u memoriji A TREBALO BI BITI 21689!!?? 277 Rješenje: enje: Sinkronizacija Taj se problem riješava tako da se svakoj dretvi (i procesu) dozvoljava ekskluzivna upotreba zajedničke varijable. Dok jedna povećava brojač sve ostale koje žele učinitiu isto su prisiljene čekati ( (exclusive use). ). Kada aktivna dretva završi i pristup dijeljenoj varijabli OS će omogućiti nekoj drugoj dretvi koja čeka da nastavi. Takav pristup dijeljenoj varijabli zove se serijski a dretvama onemogućava da pristupaju dijeljenim podacima istovremeno već samo jedna po jedna u redoslijedu. Takav se postupak zove međusobno isključenje (mutual exclusion) ) a upravljanje dretvama koje čekaju u redoslijedu da pristupe dijeljenoj varijabli mora biti vrlo pažljivo izvedeno kako bi im se omogućilo da nastave svoju aktivnost unutar razumnog vremena

140 Kritički odsječak (Critcal section) Međusobno se isključenje primijenjuje samo kad dretve pristupaju dijeljenim promijenljivim podacima. Ako dretve izvode operacije koje nisu međusobne konfliktne OS im mora omogućiti da nastave izvođenje konkurentno. Kada dretva pristupa dijeljenim promijenljivim podacima kaže e se da se nalazi u kritičkom kom odsječku (Critical section) a OS mora osigurati da samo jedna dretva u jednom trenutku može e izvršavati naredbe u kritičkom kom odsječku za određeni resurs. 279 OS mora pažljivo kontrolirati pristup kritičkom odsječku, ponašanje u njemu te izlazak iz njega, jer dretva u njemu ima ekskluzivno pravo pristupa dijeljenim promijenljivim podacima dok istovremeno sve ostale dretva koje žele isto moraju čekati. Dretva se u kritičkom odsječku treba zadržati čim kraće i nesmije se u njemu blokirati. (na pr. petlja) Ako se dretva u kritičkom odsječku zaustavi, bilo namjerno ili nenamjerno, OS mora intervenirati kako bi isključio međusobno isključenje, te omogućio drugim dretvama da uđu u kritički odsječak

141 Sirovi kod za međusobno isključenje while (true) { Receive //aktivnost van kritičkog kog odsječka entermutualexlusion () // zahtjev za ulaz u kritički ki odsječak IncrementmailCount // aktivnost u kritičkom kom odsječku exitmutualexlusion () // izlaz iz kritičkog kog odsječka } Kad T1 stiže e na kritički ki odsječak (entermutualexclusion( entermutualexclusion) ) OS mora ustanoviti dali je T2 u kritičkom kom odsječku. Ako je T2 izvan, T1 ulazi, poveća a dijeljenu varijablu za 1 i izlazi. Ako je međutim T2 u kritičkom kom odsječku T1 mora čekati da T2 izađe nakon čega T1 može e ući u i u kritički ki odsječak ak. Za istovremeni zahtjev postoje mehanizmi OS-a a koji to isključuju. uju. 281 Međusobno isključenje Potrebno je imati na raspolaganju mehanizam međusobnog isključenja koji osigurava da se sredstva računalnog sustava koriste pojedinačno no Kritični odsječak (critical section) su dijelovi dretve koji koriste neko zajedničko sredstvo Dretve,, koje su inače e nezavisne, smiju prolaziti kroz svoj kritični odsječak samo pojedinačno no Kada se dretve izvode u preostalom dijelu to jest u nekritičnom nom odsječku, one se mogu izvoditi proizvoljnom brzinom i redoslijedom

142 Neprekidivi dijelovi niza naredbi su kritički ki odsječci Ako se dretva izvodi u jednoprocesorskom sustavu ona može e osigurati svoj isključivi ivi rad tako da onemogući i prekidanje. Nakon onemogućavanja prekida niti jedan prekid više e ne prolazi do procesora. Kada dretva obavi svoj kritički ki odsječak ona programski omogućava prekid i prelazi u nekritički ki odsječak 283 U skupu naredbi procesora uz naredbe za izazivanje i omogućavanje programskog prekida postoje i posebne naredbe za onemogućavanje prekida U višeprocesorskom sustavu zabrana prekidanja jednom procesoru ne rješava problem Pretpostavka: cikličko ko ponašanje anje dretvi

143 Cikličke ke dretve Načelo cjevovodnog rada A B C D E F G Ulazna dretva A B C D E F Radna dretva A B C D E Izlazna dretva Ne može e se očekivati o da će e pojedine faze višedretvenog ostvarenja opisanog zadatka trajati jednako. Zbog toga je potrebno predvidjeti eti mehanizme sinkronizacije dretvi dretve Ulazna dretva se uzastopno ponavlja prihvaćaju ajući i u svakom prolazu kroz petlju novu skupinu podataka i prenoseći i ih radnoj dretvi Radna dretva prihvaća a ulazne podatke koje joj predaje ulazna dretva, obrađuje o ih,, te predaje rezultate izlaznoj dretvi i vraća a se na početak, gdje čeka nove podatke Izlazna dretva prihvaća a rezultate radne dretve, prosljeđuje ih u izlaznu napravu i vraća a se na svoj početak, gdje čeka nove rezultate

144 Cikličke ke dretve Ulaz Ulazni podaci Rezultati Izlaz Ulazna dretva Radna dretva Izlazna dretva 287 D1 D2 D3 D4 D5 D6 D

145 Međusobno isključivanje ivanje 2 dretvi Pretpostavka: 1. Višedretveni proces na čvrsto povezanom višeprocesorskom sustavu 2. Svaka dretva u jednom procesoru 3. Sve dretve mogu pristupiti do zajedničkog spremnika u kojem su smještene zajedničke varijable 4. U uzastopnim spremničkim ciklusima do zajedničkog spremnika mogu pristupiti različiti iti procesori (dretve) i pri tome obaviti samo jedno: ili čitanje ili pisanje. 289 Sabirnica Zajednički adresni prostor Dijeljeni spremnik Lokalni Spremnik 0 Lokalni Spremnik 1 Lokalni Spremnik n-1 D 0 D 1 D N-1 Procesor 0 Procesor 1 Procesor n-1 T(0) D(0) D(1) T(1) Dodjeljivač sabirnice D(N-1) T(N-1)

146 Sve su dretve međusobno nezavisne Mehanizam međusobnog isključivanja ivanja mora djelovati i u uvjetima kada su brzine izvođenja dretvi različite ite Kada je jedna dretva u nekritičkom kom dijelu ona ne smije spriječiti iti ulazak druge dretve u kritički ki odsječak Izbor jedne od dretvi koja smije ući u i u kritički ki odsječak mora biti obavljen u konačnom nom vremenu 291 ZASTAVICA = 0 slobodan ulaz u kritički ki odsječak ZASTAVICA = 1 zabranjen ulaz u kritički ki odsječak (druga dretva se već nalazi u kritičkom kom odsječku ku)

147 Veći i broj dretvi - Lamportov protokol Lamport s backery algorithm Svaka dretva dobiva svoju varijablu u koju zapisuje broj prilikom prijave BROJ(N) Dodatna nadzorna varijabla koja označava ava da se dretva upravo nalazi u fazi dodjele broja ULAZ(N) U zajedničkom spremniku smješteni su BROJ(N) i ULAZ(N) te dodatno varijabla ZADNJI_BROJ koja se na početku inicijalizira s Dretva koja želi ući u i u kritički ki odsječak dolazi do svog broja: ULAZ (I) = 1 ; čitati ZADNJI_BROJ ; BROJ (I) = ZADNJI_BROJ + 1 ; ZADNJI_BROJ = BROJ (I) ; ULAZ (I) = 0 ; Dretva D I uspješno prolazi ispitivanje kada su sve dretve koje su prije nje najavile ulazak u kritični odsječak vratile svoje brojeve na

148 Dretva koja želi ući u i u kritični odsječak neće moći i jednostavnom instrukcijom ispitati i postaviti (ustanoviti) smije li ući u i u kritični odsječak, već će e to činiti pozivom odgovarajuće funkcije jezgre koja će: 1. ili dozvoliti ulazak u kritični odsječak 2. ili dretvu izbaciti iz procesora (pohraniti njezin kontekst) i pokrenuti drugu dretvu 295 Dretva koja izlazi iz kritičnog odsječka neće neposredno zapisivati 0 u varijablu zastavice već će e pozivom jezgrine funkcije: 1. ili zastavicu postaviti u prolazno stanje 2. ili pokrenuti slijedeću u dretvu koja je čekala na ulazak u kritični odsječak Na taj su način sklopovski detalji povezani s međusobnim isključivanjem ivanjem na razini programiranja dretvi sakriveni - međusobno isključivanje ivanje obavlja jezgra koja ima odgovarajuće e pouzdane mehanizme za tu funkciju

149 The End 297 Operacijski sustavi U/I Ulazno-izlazne naprave (I/O Input-Output Units) 149

150 Struktura računalskog sustava UJ-Upravlja Upravljačka jedinica CPU Procesor UJ diska UJ pisača UJ mag.jed. Sabirnica UJ memorije Memorija 299 Obavljanje U/I operacija Prekidni rad Priključivanje ivanje U/I naprava preko UJ U: tipkovnica, miš,, komunikacijski kanal I: zaslon, pisač,, disk, magnetska vrpca, CD U/I: zaslon, disk, magnetska vrpca, CD, komu- nikacijski kanal

151 U/I naprave vrlo šarolike Brzine naprava su vrlo različite ite Kako je odvijanje posla u napravama nezavisno o brzini odvijanja rada u procesoru potrebno je posebnu pažnju posvetiti sinkronizaciji rada između procesora i ulazno-izlaznih naprava. Sustavnost: * svaka svoj vlastiti upravljački elektronički ki sklop * spojena na pristupni sklop računala 301 Spremnik Sabirnica Prilagodba sabirnici Procesor U/I Pristup Upravljački elktronič.. sklop U/I Naprava Prilagodba U/I napravi

152 2 skupine Prijenos pojedinačnih nih znakova (baytova( baytova) Prijenos blokova znakova (niz uzastopnih baytova) 303 Prenošenje enje pojedinačnih nih znakova - prekidni rad ( Radno čekanje) Spremnik Podatkovni reg. Registar stanja adrese podatci upravljanje Registar Procesor Sklop za prepoz. adr. PR RS Upravljački dio pristupa od ili prema U/I napravi

153 Izgled sa strane sabirnice podsjeća a na izgled spremnika Postoje 2 registra: podatkovni registar (PR( PR) registar stanja (RS( RS) Pri obavljanju izlazne operacije procesor: jednom naredbom dobavlja sadržaj aj iz glavnog spremnika u svoj registar drugom naredbom prenosi taj znak u podatkovni registar pristupnog sklopa 305 Pri obavljanju ulazne operacije procesor: jednom naredbom dobavlja znak iz podatkovnog registar pristupnog sklopa u svoj registar drugom naredbom prenosi taj znak iz svog registra u glavni spremnik

154 Označavanje avanje završetka operacije Sinkronizacija U RS pristupnog sklopa poseban bit Izlazna zastavica bit koji ostaje postavljen dok U/I naprava nije pročitala znak (procesor postavlja zastavicu sa novim sadržajem ajem u PR) Isto tako u RS Ulazna zastavica bit koji ostaje postavljen dok procesor ne pročita znak (U/I naprava postavlja zastavicu sa novim sadržajem ajem u PR) 307 na sabirnicu podatkovni registar PR bitovi sadržaja U/I NAPRAVA 8 1 Signal UPISATI samo kada je zastavica spuštena 1 2 bit zastavica na sabirnicu S R registar stanja RS signal ZASTAVICA automatsko brisanje pri čitanju PR

155 Sa strane procesora sinkronizacija je programska LDR r0, (r1) ;prenijeti u r0 sadržaj aj s ;adrese koja se nalazi u r1 STR r0, (r1) ;prenijeti sadržaj aj r0 na ;adresu koja se nalazi u r1 ADR r1, SIMB_IME ;smjestiti u r1 adresu ;čije je simb.ime SIMB_IME CMP r0, #0 ;usporedba r0 sa 0 BEQ PETLJA ;skočiti na PETLJA ako ;usporedba daje jednakost BAL ;skočiti uvijek 309 Odsječak programa za čitanje 1 znaka ADR r1, RS ; ADR r2, PR ; PETLJA LDR r0, (r1) ;čitati RS CMP r0, #0 ; BEQ PETLJA ; LDR r0, r2 ;čitati PR

156 Pripadni pseudokod čitati registar stanja RS; dok je (ZASTAVICA=0) {čitati registar stanja RS}; čitati registar PR; //time se automatski // briše e zastavica ako se ovako čita niz znakova onda ovu petlju treba ponavljati u nekoj nadređenoj petlji pri tome sadržaj aj iz podatkovnog registar treba prenositi u radni spremnik 311 IGRA na vodičima ima UPISATI i ZASTAVICA Pristupni sklop određuje protokol komuniciranja između U/I U naprave i računala UPISATI ZASTAVICA čitanje PR Dvožično rukovanje two-wire wire handshaking

157 Nedostatak Programiranog U/I* Programsko ispitivanje registra stanja Procesor izvodi naredbe petlje čekanja čekajući i događaj podizanja ZASTAVICE Procesor troši i svoje vrijeme izvodeći bespotrebne naredbe i troši i sabirničke cikluse koji bi se mogli bolje iskoristiti *Vidi Uvod slide No Prekidni način rada procesora* (Interrupt U/I) Pristupni sklop je modificiran tako da je podizanje bita ZASTAVICA u registru stanja popraćeno generiranjem električkog kog signala koji se putem posebnog vodiča a dovodi do procesora Procesor se nadopunjuje tako da on na kraju izvođenja svake naredbe ispituje dali se pojavio prekidni signal *Vidi Uvod slide no

158 Prekidni signal* Prebacuje procesor u sustavski način rada Pozivaju se potprogrami koji sačinjavaju jezgru operacijskog sustava ( (jezgreni način rada-system ili kernel mode) Proces koji se pojavom prekidnog signala prekida najčešće e izvodi neki korisnički ki posao u korisničkom kom načinu (user mode) *Vidi Uvod slide No 69,70, Način rada procesora Onemogućuje uje daljnje prekidanje Adresira sustavski dio spremnika (za razliku od korisničkog) kog) Aktivira drugi sustavski registar kazaljke stoga koji se nalazi u procesoru (time se omogućuje uje ostvarenje posebnog sustavskog stoga u jezgrinom dijelu adresnog prostora) Pohranjuje trenutni sadržaj aj programskog brojila na sustavski stog U programsko brojilo stavlja adresu na kojoj počinje potprogram za obradu prekida (u jezgrinom adresnom prostoru)

159 Adresa koja se stavlja u programsko brojilo* trajno je spremljena u jedan od skrivenih registara procesora pri njegovoj proizvodnji Na tu se adresu smješta prva naredba programskog odsječka za posluživanje prekida Prekidni signal djeluje kao sklopovski izazvani poziv potprograma *Vidi Uvod slide No Obrada prekida Interrupt Processing Prekidi omogućavaju softwareu-jezgri da odgovori na signale koji dolaze od hardwarea. OS ima u sebi definiran niz naredbi tzv Interrupt handler koji se izvršavaju zavisno od svakog pojedinog tipa prekida. To omogućuje OS-u da preuzme kontrolu nad procesorom kako bi upravljao resursima računala. 1. Interrupt controller slaže prekide po priotitetu 2. Kada se dogodi prekid procesor mora zaustaviti tekući proces i spremiti sve podatke o stanju tekućeg procesa u njegov dio u glavnom spremniku da bi ga kasnije opet reaktivirao. 3. Procesor dodjeljuje kontrolu odgovarajućem interupt handleru 4. Inter handl izvodi odgovarajuću akciju ovisno o tipu prekida 5. Kada inter handl završi obradu prekida, stanje prekinutog procesa se regenerira (ili započne neki drugi proces a jezgra prethodno izvrši zamjenu stanja - Context switching)

160 Processor control (1) Proces P1 Vrijeme Interrupt Prekidni sat (2) Interrupt vector (5) (3) Interrupt handler (4) Tekući i sadržaj aj spremljen u privremenu lokaciju memorije (6) Proces P2 319 Zamjena stanja -Context switching se naziva aktivnost koju izvađa jezgra OS-a a u cilju spremanja (arhiviranja) trenutnog stanja aktivnog procesa koji se zbog nekog razloga prekida a u svrhu zamjene s nekim drugim procesom. Isto tako, OS mora i vratiti spremljeno stanje prekinutog procesa prije nego mu se dodjeli procesor

161 Procesor ima u svojim registrima pohranjene sadržaje aje sa trenutni stanjem procesa koji se upravo izvodi Taj se sadržaj aj-kontekst mora spremiti na sustavski stog kako bi se prekinuti proces mogao kasnije nastaviti Prvi zadatak potprograma za obradu prekida je pohranjivanje sadržaja aja svih registara procesora na sustavski stog Postoje posebne naredbe za spremanje registara na stog ( (push) 321 Nakon što se sačuva kontekst prekinutog procesa: Može e se obaviti stvarna obrada prekida (na pr. prenošenje enje sadržaja aja iz podatkovnog registra pristupnog sklopa u spremnik) Nakon što je potprogam za posluživanje prekida završio svoj posao, treba ponovo pokrenuti prekinuti proces Najprije se sa sustavskog stoga posebnim naredbama (pop, pull) ) vraćaju aju sadržaji aji registara obrnutim redoslijedom Nakon izvođenja te operacije na stogu ostaje samo sadržaj aj programskog brojila

162 Prije vraćanja anja programskog brojila mora se omogućiti prekidanje Posebna naredba omogućuje uje prekidanje (enable interrupt) Ta naredba djeluje odgođeno tako da će prekidanje biti omogućeno tek nakon što se posebnom naredbom u procesor vrati sadržaj aj programskog brojila Naredba koja vraća a sadržaj aj programskog brojila sa stoga mora aktivirati adresiranje u korisničkom kom adresnom prostoru kroz korisnički ki registar kazaljke stoga 323 Primjer Režim čekanja (Programirani U/I) Procesor 10MIPS, znakovi stižu brzinom 1000/sec Za spremanje jednog znaka 10-tak naredbi Produkt. : neprodukt. 10*1000/10*10 6 =10-3 =0,001 0,1% produktivno 99,9% neproduktivno čekanje Režim prekida (Interrupt U/I) Procesor 10MIPS, znakovi stižu u brzinom 1000/sec Za spremanje i obnovu konteksta 200 naredbi Neproduk. : produkt. 200*1000/10 7 =2*10-2 =0,02 162

163 Podsustav za prihvat prekida Računalo ima više U/I naprava pa se mora računati s više e mogućih izvora prekidnih signala Svaka U/I naprava priključena preko svog pristupnog sklopa može e generirati prekidni signal Pretpostavka da se svi prekidni signali mogu spojiti zajedno i time postići i da se prekid pojavi na ulazu procesora kada bilo koji pristup (barem jedan) generira prekidni signal 325 SPREMNIK SABIRNICA Prekidni vodič PROCESOR Pristup 1 Pristup 2 Pristup n

164 Pri pojavi prekidnog signala procesor će e reagirati kao i u prethodnom slučaju: 1. Zabranjuje daljnje prekidanje 2. Sprema programsko brojilo na stog 3. U programsko se brojilo upisuje adresa prve naredbe potprograma za posluživanje prekida U tom odsječku treba najprije ustanoviti koji je od pristupnih sklopova izazvao prekid uzastopnim čitanjem registara stanja pristupnih sklopova Obraditi ustanovljeni prekid 327 Ispitni lanac Ispituje redom zastavice u RS pojedinih pristupnih sklopova Ako se ustanovi da je neka zastavica postavlje- na dogoditi će e se skok na dio programa za obradu tog prekida Ispituje se i zadnji pristup radi otkrivanja eventualno lažnog Ako se u međuvremenu nije pojavio neki novi ili lažni prekid obnavlja se kontekst prekinutog procesa

165 Nedostatci Tijekom obrade prekida zabranjeno svako drugo prekidanje Znači i da obrada nekog prekida čija obrada zahtjeva trenutno reagiranje ne može e biti prihvaćena ako traje obrada nekog drugog manje važnog prekida koji se pojavio ranije i pri tome može e biti dugotrajan 329 Podsustav za prihvat prekida razvrstanih po prioritetima Primjer: prioriteti su označeni prirodnim brojevima tako da veći broj ima značenje većeg eg prioriteta Opisani ispitni lanac ( *Vidi slide No 29 ) koji počinje ispitivanje s većim indeksima uvesti će e redoslijed obrade za prekide koji su se pojavili istodobno, ali neće e prihvatiti prekid višeg prioriteta nakon što obrada nižeg prioriteta započne

166 Primjer Pretpostavka: 5 pristupnih sklopova Razvrstani u 5 razina prioriteta Želja je obraditi prekid tako da pojava prekida višeg prioriteta može prekinuti obradu nižeg prioriteta Uz pretpostavku slijeda vremenskih događaja kao u tablici želja je omogućiti obradu tako da prekid višeg može e prekinuti obradu nižeg prioriteta t1 t2 t3 t4 T5 P3 P4 P1 P2 P5 331 Korisnički proces P1 P2 P3 P4 P5 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 P3 P4 P1 P2 P

167 Pretpostavke Program se sastoji od neprekidivih dijelova (obrada kućanskih poslova-spremanje spremanje konteksta dretve) i prekidivih dijelova (sama obrada prekida) Svi prekidi, bez obzira na prioritet, prihvaćaju aju se onda kada se program nalazi u prekidivom dijelu, Ako je novo prispjeli prekid nižeg prioriteta on se stavlja u listu čekanja, a ako ima viši i prioritet on se počinje obrađivati Kada završi i obrada nekog prekida nastavlja se obrada slijedećih ih (onih koji su bili prekinuti ili onih na listi čekanja) Ako niti jedan prekid više e ne čeka nastavlja se s obradom korisničkog kog programa 333 Program mora imati prikladnu strukturu podataka u koju se mogu pohraniti svi važni podatci uključuju ujući i i kontekst procesa koji se izvode Pretpostavka: za N pristupa mora postojati mogućnost pohranjivanja konteksta za ukupno N+1 proces N za obradu N pristupa i N+1 koja izvodi korisnički ki program Korisnički proces ima najniži i prioritet označen brojem

168 Dvojaki učinaku Ako mu je prioritet veći i od onog koji se upravo obrađuje njegova će proces biti pokrenut Ako mu je niži i od tekućeg eg njegova će pojava biti samo zabilježena ena u oznaci čekanja 335 Korisnički proces Kućanski poslovi P1 P2 P3 P4 P5 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 P3 P4 P1 P2 P

169 U ovom rješenju enju s minimalnom sklopovskom opremom mora se obaviti mnogo neproduktivnog kućanskog posla Taj se kućanski posao vrši uz svaki događaj: 1. Događaj dolaska prekida ili 2. Događaj završetka obrade prekida Prekidi Sklopovska oprema za ostvarenje višestrukog prekidanja Različita ita rješenja enja Prekidni vodiči i od pojedinih pristupnih sklopova ne dovode se neposredno na procesor već na ulaze posebnog sklopa za prihvat prekida Taj sklop vrši i selekciju i prema procesoru propušta samo onaj prekidni signal koji ima veći prioritet od dretve koju procesor upravo izvodi. Do procesora dolazi samo 1 prekidni signal i to samo onda kada je to uistinu potrebno

170 SPREMNIK PRIHVAT Sklop za prihvat prekida PREKID P1 P2 PN SABIRNICA PROCESOR PRISTUP 1 PRISTUP 2 PRISTUP N Procesor u trenutku kada prihvaća prekid (na kraju izvođenja neke instrukcije) postavlja signal PRIHVAT. 339 SKLOP ZA PRIHVAT PREKDA PRIHVAT PREKID PREPOZNAVANJE PRIORITETA TABLICA ADRESA 1 2 N 1 2 N K_Z T_P P_1 P_2 P_N Registar kopija zastavica K_Z Registar tekućeg eg prioriteta T_P Pomaknuće e za računanje adrese SABIRNICA

171 SADRŽAJ AJ SKLOPA 1. Registar kopija zastavica K_Z u čije se bitove zapisuje jedinica čiji pristupni sklop zatraži i prioritet 2. Registar T_P u koji se zapisuje prioritet dretve koja se upravo izvodi (1 u odgovarajući i bit registra-kada su svi bitovi = 0 izvodi se korisnička ka dretva) Sklop propušta pekid prema procesoru samo onda kada je prioritet zahtjeva veći i od onog zabilježenog enog u registru T_P. 341 Istodobno s propuštanjem prekidnog signala prema procesoru mora se izbrisati bit u registru K_Z, te generirati pripadnu vrijednost kazaljke usmjerenu na tablicu adresa. Tablica sadrži i adrese (ili pomaknuća) a) na kojima počinje odsječak programa za obradu prekida koji je propušten prema procesoru Sadržaj aj se tablice pod utjecajem signala PRIHVAT prenosi na sabirnicu gdje ga procesor prihvaća a i oblikuje adresu na koju treba skočiti

172 U trenutcima t 3 i t 4 nailaze prekidi P_1 i P_2 ali procesor uopće e ne biva prekidan Korisnička dretva Kućanski poslovi P_1 P_2 P_3 P_4 P_5 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 P_3 P_4 P_1 P_2 P_5 343 Redosljed događaja U trenutcima t3 i t4 kada k nailaze prekidi P_1 i P_2 2 događa d se promjena samo u registru kopija zastavica K_Z. Prekidi ne dolaze do procesora Registar tekućeg eg prioriteta T_P i sadržaj aj stoga se ne mijenjaju

173 Prekidi generirani unutar procesora, poziv sustavskog potprograma* U raznim djelovima procesora mogu se pri izvođenju dretvi pojaviti neka nenormalna stanja (dijeljenje s 0, adresiranje nepostojeće adrese, dekodiranje nepostojećeg eg oper. koda) U takvim slučajevima treba prekinuti izvođenje dretve i po mogućnosti dojaviti uzrok prekida *Vidi Uvod slide no Skup naredbi procesora sadrži i naredbu koja omogućuje uje izazivanja prekida iz programa- to je tzv programski prekid (software interrupt) Djelovanje te naredbe je slično djelovanju sklopovskog prekida-prevodi prevodi procesor u sustavski način rada. Izazivanje prekida je namjerno i predviđeno pa kontekst ima potpuno predviđeni sadržaj aj U jedan od registara procesora pohranjen kod funkcije koju se želi pokrenuti tim programskim prekidom. *Vidi Uvod slide no

174 Registri procesora služe e i za prenošenje enje parametara iz programa u tu funkciju koju pokreće programski prekid kao i za vraćanje anje rezultata Mehanizam programskog prekida koristi se za pozivanje potprograma koji se izvode u sustavskom ili jezgrenom načinu rada procesora pa se za takve naredbe koristi naziv poziv sustava ili poziv jezgre (system call, supervisory call) *Vidi Uvod slide no Zaključak ak: Sklop za prihvat prekida nije poseban sklop već je sastavni dio procesora. Svi prekidi (vanjski i unutarnji) objedinjeni su u jedan podsustav i jasno razvrstani u prioritetne razine

175 DMA - Prenošenje enje blokova znakova neposredni pristup spremniku Mnoge su aktivnosti računala povezane s prenošenjem enjem većeg eg broja znakova - blokova Razmjena sadržaja aja između radnog i vanjskih spremnika na pr. diska Radni spremnik video spremnik pristupnog sklopa zaslona-ekrana Prenošenje enje sadržaja aja prema komunikacijskim pristupnim sklopovima 349 Memorija Sabirnica Memory Management Unit MMU Interrupts Zaštita U/I PSW Procesor-CPU Registri DMA Data path Control path Interrupt path Device controles Devices 175

176 Prenošenje enje pojedinačnih nih znakova bloka u prekidnom načinu rada zahtijeva mnogo kućanskog posla Procesor je prekidan pri prijenosu svakog znaka, a nakon svakog prekida prenosi se samo po jedan znak Pri tome procesor obavlja vrlo jednostavan posao koji se sastoji od izvođenja samo nekoliko naredbi. Taj se zadatak prepušta pristupnom sklopu. 351 Pristupni sklop sadrži i 2 registra: 1. podatkovni registar PR 2. registar stanja RS nadopunjuje se s još 2 registra 1. adresni registar AR u kojem se nalazi adresa u spremniku na koju (ili s koje) će se obaviti prijenos pojedinačnog nog znaka 2. brojilom BR u kojem se nalazi broj znakova koje još treba prenijeti Ta 2 dodatna registra imaju svoje adrese tako da su programski dohvatljiva. *Vidi slide No

177 Detaljni pogled na pristupni sklop SPREMNIK SABIRNICA PRISTUPNI SKLOP PROCESOR RS PR AR BR Regist. stanja Podatk reg Adr reg Brojilo 353 Operacija prenošenja enja bloka znakova počima tako da procesor zapiše: 1. u AR početnu adresu bloka u spremniku 2. u BR broj znakova koji se želi prenijeti Nakon toga se upisom odgovarajućeg sadržaja aja u registar stanja RS pokreće e prijenos bloka. Odvijanje prijenosa cijelog bloka između dvaju prekida obavlja se bez sudjelovanja procesora. Zbog toga i naziv takvog načina prijenosa DMA (Direct Memory Access)

178 DMA Direct memory access RAM 2 Procesor Memorija 1 2 U/I Kontrolna jedinica Proc U/I zahtjev U/I kontr jed Disk Proces nastavlja rad 2 Disk podatke U/I kontr k jed - DMA naredba određuje adresu u RAM-u u i dužinu 3 Disk šalje prekid procesoru po završetku U/I operacije 355 Vremenska linija prekida CPU Korisnički proces U/I obrada prekida U/I uređaj Neaktivan Aktivan-prijenos U/I zahtjev Transfer završen U/I zahtjev Transfer završen

179 DMA struktura (Direct memory access) Direktan-neposredan neposredan pristup memoriji Asinkroni U/I se pridružuje uje niskom prioritetu 1 prekid po bytu (znaku, riječi - tipkovnica) Diskovi, mreža a...visoki prioritet Zato se za U/I visoke brzine koristi DMA. 1 prekid po bloku 357 Asinkrono Nije sinkronizirano - t.j. ne događa se na unaprijed određen način u pravilnim razmacima Neredovito - a ne u stalnom i mirnom protoku Problem: razlikovati podatke (poruku) od šuma START-STOP STOP Većina komunikacija između računala i uređaja (U/I, periferije, Interneta) bilo kada u neredovitim vremenskim intervalima

180 Sinkrono Događa se na unaprijed određen način u pravilnim razmacima Redovito - u stalnom i mirnom protoku Komunikacija unutar računala je sinkrona i upravljana unutarnjim satom (clock rate) Signali po sabirnici (bus) samo sinkrono u točno određenim vremenskim točkama - intervalima 359 Asinkrono : Sinkrono Kada se neki događaj dogodi asinkrono s procesom misli se na to da se dogodio nezavisno od procesa. U/I operacija se može e izvoditi istovremeno (simultano - konkurentno) sa operacijom na CPU. Kada U/I završi šalje prekidni signal koji proces može e odmah obraditi ili ga ostaviti za kasniji prikladan trenutak. Polling je sinkroni mehanizam kojim procesor ponavljajuće e ispituje uređaj očekujuo ekujući i završetak U/I operacije. Sinkroni mehanizam gubi vrijeme na čekanje dok se aktivnost ne dogodi, a asinkroni mehanizam nastavlja sa drugim aktivnostima ne gubeći i vrijeme na događaj koji se NIJE dogodio što općenito popravlja učinkovitost. u

181 U/I prekidi Korisnik Zahtjev Čekanje Zahtjev Prekid Korisnik Upravljačka jedinica U/I Upravljačka jedinica U/I Jezgra Obrada prekida Obrada prekida Jezgra hardware hardware Prijenos podataka Prijenos podataka vrijeme vrijeme Sinkroni Asinkroni 361 Tablica stanja uređaja Tipkovnica Stanje neaktivan Pisač Stanje aktivan Miš Stanje neaktivan Zahtjev za pisačem Adresa Dužina 1372 Disk 1 Stanje neaktivan Disk 2 Stanje aktivan Zahtjev za disk 2 file xxx Operacija read Adresa Dužina Zahtjev za disk 2 file yyy Operacija read Adresa Dužina

182 Spooling Simultaneous Peripheral Operations Online Operacija gdje se pomoćno (međusredstvo eđusredstvo) kao napr. disk d interpolira između procesa i U/I U uređaja niske brzine (ili ograničenog kapaciteta - buffera) Ako proces pokuša a tiskati podatke, a pisač je zauzet drugim poslom, proces umjesto da čeka, upisuje izlazne podatke na disk Kada se pisač oslobodi,, tiskaju t se podatci koji su u međuvremenu bili pohranjeni na disku 363 Ispitivanje - Pooling međutim je tehnika za otkrivanje stanja uređaja njihovim ponavljajućim ispitivanjem. Može e se upotrijebiti kao zamjena za prekide ali tipično smanjuje učinkovitost u zbog povećanog overheada (angažiranjem CPU-a)

183 U/I struktura Small computer-system interface SCSI sučelje Kontroler sadrži i lokalni buffer storage (pomoćnu memoriju) i niz registara specijalne namjene 365 Magnetski Diskovi 1,8-5,25 inc (4,6-13,4 cm)

BIJELI STROP-JEDNOSTRUKE GREDICE

BIJELI STROP-JEDNOSTRUKE GREDICE BIJELI STROP-JEDNOSTRUKE GREDICE 1. HIPOTETSKA RAVNA PLOČA (6,90m x 3,08m) GREDICE 11x3,20 35,2 m' 45,00 1.584,0 kn LEŽAJNICE 2x10 20 kom 6,00 120,0 kn STROPNI BLOK 12x10 120 kom 22,50 2.700,0 kn MORT

Leia mais

4. Trigonometrija pravokutnog trokuta

4. Trigonometrija pravokutnog trokuta 4. Trigonometrija pravokutnog trokuta M-2-Trigonometrija 4.1. Definicije trigonometrijskih funkcija šiljastog kuta 1. 1 1. 4.1. 2 Br. specijal-"bos-ov"cjenik 2017. 20-60% POPUSTA NA ZBIRKE IZ TABLICE PO

Leia mais

materijali preuzet sa matika.com/ _sistem Operativni sistemi prikupio i obradio Miroslav Mihaljišin

materijali preuzet sa  matika.com/  _sistem Operativni sistemi prikupio i obradio Miroslav Mihaljišin materijali preuzet sa http://www.znanje.org/abc/ /tutorials/operatingsystems/01/operatingsystems.htmm (Autori: Eugenija Mihal i Bojan Stojković) (Autori: Borislav Đorđević, Dragan Pleskonjić, Nemanja Maček)

Leia mais

Nuno Carlos de Almeida v. raspored. Vježbe, samostalni zadaci. 60 sati lektorskih vježbi

Nuno Carlos de Almeida v. raspored. Vježbe, samostalni zadaci. 60 sati lektorskih vježbi Portugalski jezik VI Naziv studija Naziv kolegija PDS španjolskog jezika i književnosti Portugalski jezik VI Status kolegija Izborni Godina 3 Semestar 2 ECTS bodovi 4 Nastavnik e-mail vrijeme konzultacija

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução

Leia mais

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1 Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução

Leia mais

Evolução de Sistemas Operacionais. Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!!

Evolução de Sistemas Operacionais. Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!! Evolução de Sistemas Operacionais Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!! 1 Um pouco de História A história dos sistemas operacionais acompanha a história

Leia mais

Infraestrutura de Software. CIn.ufpe.br

Infraestrutura de Software. CIn.ufpe.br Infraestrutura de Software Introdução Sistema Operacional Mecanismo de abstração dos dispositivos subjacentes Gerenciador de recursos (ex. processador, memória, impressora) Middleware Plataforma de suporte

Leia mais

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 30/09/2016 Profª Valeria Menezes Bastos 1

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 30/09/2016 Profª Valeria Menezes Bastos 1 UFRJ IM - DCC Departamento de Ciência da Computação Sistemas Operacionais II 30/09/2016 Profª Valeria Menezes Bastos 1 1965 Projeto MULTICS MULTiplexed Information and Computing Service Projeto conjunto

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais Introdução aos Sistemas Operacionais Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda Conceitos Básicos Tipos de Sistemas Operacionais Histórico Geração Breve Evolução Referências 2 Conceitos Básicos

Leia mais

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

Nuno Carlos de Almeida. v. raspored. - vježbe; - samostalni zadaci; 60 sati lektorskih vježbi

Nuno Carlos de Almeida. v. raspored. - vježbe; - samostalni zadaci; 60 sati lektorskih vježbi Portugalski jezik II Naziv studija PDS španjolskog jezika i književnosti Naziv kolegija Portugalski jezik II Status kolegija Izborni Godina 1 Semestar 2 ECTS bodovi 3 Nastavnik Nuno Carlos de Almeida e-mail

Leia mais

Propozicija 1 Za svaki program za makro stroj postoji program za RAM stroj koji je ekvivalentan

Propozicija 1 Za svaki program za makro stroj postoji program za RAM stroj koji je ekvivalentan 2 Makro stroj Dosta je teško pisati programe za RAM stroj jer na raspolaganju imamo samo četiri tipa instrukcija. Sada ćemo uvesti nove tipove instrukcije. To će zapravo biti pokrate za čitave nizove osnovnih

Leia mais

Breve Histórico de Sistemas Operacionais

Breve Histórico de Sistemas Operacionais Breve Histórico de Sistemas Operacionais A primeira geração dos computadores ocorreu de 1945 a 1955 e tinha como principal característica o uso de válvulas e painéis de programação. Eram enormes e ocupavam

Leia mais

Introdução. Sistemas Operacionais

Introdução. Sistemas Operacionais FATEC SENAC Introdução à Sistemas Operacionais Rodrigo W. Fonseca Sumário Definição de um S.O. Características de um S.O. História (evolução dos S.O.s) Estruturas de S.O.s Tipos de Sistemas Operacionais

Leia mais

Evolução de Sistemas Operacionais. Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!!

Evolução de Sistemas Operacionais. Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!! Evolução de Sistemas Operacionais Evolução ao longo da História da Computação!! UNIX: Um breve apanhado de sua evolução!!! 1 Um pouco de História A história dos sistemas operacionais acompanha a história

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana e Prof. Dra. Regina Helena Carlucci Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum Introdução Apresentação

Leia mais

Gestão de Sistemas de Informação / Tecnologia da Informação

Gestão de Sistemas de Informação / Tecnologia da Informação Gestão de Sistemas de Informação / Tecnologia da Informação Assuntos O Que é Computação? O Que é Informação? O Que é o Computador? Gerações dos Microcomputadores Dispositivos do Computador Partes que Compõe

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Fevereiro, 2018 1 / 41 Sumário 1 Evolução 2 O Sistema Operacional Gerência de processos

Leia mais

Infra-Estrutura de Software. Sistemas Operacionais Revisão

Infra-Estrutura de Software. Sistemas Operacionais Revisão Infra-Estrutura de Software Sistemas Operacionais Revisão Sistema Computacional em Camadas Não pode executar instruções que afetam o controle da máquina ou fazem E/S GUI ou shell Acesso completo a todo

Leia mais

Estrutura dos Computadores. Arquitetura de Computadores

Estrutura dos Computadores. Arquitetura de Computadores Estrutura dos Computadores Arquitetura de Computadores Noções de Computador Hardware: Componentes mecânicos e eletroeletrônicos Software: Sequência de instruções e comandos que fazem o computador realizar

Leia mais

Organização de Computadores I

Organização de Computadores I Organização de Computadores I Prof. Cláudio C. Rodrigues Bibliografia: 1. Arquitetura e Organização de Computadores: Projeto para o Desempenho, 5ª edição - William Stallings - Prentice Hall. livro texto

Leia mais

Windows NT 4.0. Centro de Computação

Windows NT 4.0. Centro de Computação Windows NT 4.0 Centro de Computação Tópicos Introdução Instalação Configuração Organização da rede Administração Usuários Servidores Domínios Segurança Tópicos È O sistema operacional Windows NT È Características:

Leia mais

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais Prof. Dr. Ruy de Oliveira CEFET-MT O que é um Sistema Operacional? Um software que abstrai as complexidades do hardware de um usuário/programador

Leia mais

Conceitos básicos sobre computadores

Conceitos básicos sobre computadores SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores Prof. Vanderlei Bonato: vbonato@icmc.usp.br Sumário O que é um computador e onde podemos encontrá-los? Divisão:

Leia mais

Univerzitet u Novom Sadu Filozofski fakultet Broj: Datum:

Univerzitet u Novom Sadu Filozofski fakultet Broj: Datum: Univerzitet u Novom Sadu Filozofski fakultet Broj: Datum: 31.1.2017. Zapisnik o popisu osnovnih sredstava na dan 31.12.2016. godine Komisija za popis inventara u sastavu: 1. Miladin Trifković 2. Maja Hovanjski

Leia mais

CHPC Computational Platforms

CHPC Computational Platforms CHPC Computational Platforms Dorah Thobye Acting Technical Manager Slide 1 OUTLINE CHPC HPC PLATFORMS IBM IBM E1350 LINUX CLUSTER BLUE GENE/P CHALLENGES MACHINE USAGE STATS SUN MICROSYSTEMS SUN Fusion

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 3 Princípios de Sistemas Operacionais Prof. Belarmino Existem dezenas de Sistemas Operacionais executando nos mais variados tipos de maquinas. Os mais conhecidos

Leia mais

Introdução. Arquitetura e Organização de Computadores I. Programa. Arquitetura e Organização de. Computadores. Capítulo 1.

Introdução. Arquitetura e Organização de Computadores I. Programa. Arquitetura e Organização de. Computadores. Capítulo 1. Arquitetura e Organização de Computadores I Prof. Cláudio C. Rodrigues Arquitetura e Organização de Computadores I Objetivo: Entender a regra dos componentes de um sistema computador e como eles trabalham

Leia mais

Memória é um dispositivo capaz de armazenar informação. Logo, podemos dividir dos dispositivos que podem armazenar dados em Quatro tipos:

Memória é um dispositivo capaz de armazenar informação. Logo, podemos dividir dos dispositivos que podem armazenar dados em Quatro tipos: Memória Memória é um dispositivo capaz de armazenar informação Logo, podemos dividir dos dispositivos que podem armazenar dados em Quatro tipos: Memória Principal ROM RAM Memória Secundária Disco rígidos,

Leia mais

Computação e Programação

Computação e Programação Computação e Programação Acetatos: João Miguel da Costa Sousa Miguel Pedro Silva Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas, Grupo de Controlo Automação e Robótica Informação

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Julho, 2016 1 / 37 Sumário 1 Evolução 2 O Sistema Operacional Gerência de processos Gerência

Leia mais

Sistemas Operacionais. Prof. Marcos Ribeiro Quinet de Andrade Instituto de Ciência e Tecnologia - ICT Universidade Federal Fluminense - UFF

Sistemas Operacionais. Prof. Marcos Ribeiro Quinet de Andrade Instituto de Ciência e Tecnologia - ICT Universidade Federal Fluminense - UFF Sistemas Operacionais Prof. Marcos Ribeiro Quinet de Andrade Instituto de Ciência e Tecnologia - ICT Universidade Federal Fluminense - UFF Bibliografia Bibliografia Básica: TANENBAUM, A. S. Sistemas Operacionais

Leia mais

Hierarquia de memória

Hierarquia de memória Hierarquia de memória Capítulo 6, Secção.{3..} Caches Slides adaptados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João Pedro Patriarca (jpatri@cc.isel.ipl.pt)

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 1ª Aula Introdução e Histórico Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano

Leia mais

TÉCNICAS DE WEBDESIGN PROF. MARCELO CASTRO WEB DESIGN: INTRODUÇÃO

TÉCNICAS DE WEBDESIGN PROF. MARCELO CASTRO WEB DESIGN: INTRODUÇÃO WEB DESIGN: INTRODUÇÃO Breve Histórico dos Computadores Década de 1940 Um dos primeiros computadores eletrônicos, o ENIAC, foi desenvolvido na Universidade da Pensilvânia em 1945 Década de 1940 Miniaturização

Leia mais

Infra-Estrutura de Software. Introdução

Infra-Estrutura de Software. Introdução Infra-Estrutura de Software Introdução Objetivos das duas próximas aulas Ao final da aula de quinta-feira você deverá ser capaz de: Descrever os componentes básicos de um computador Explicar como o sistema

Leia mais

Visão Geral de Sistemas Operacionais

Visão Geral de Sistemas Operacionais Visão Geral de Sistemas Operacionais Sumário Um sistema operacional é um intermediário entre usuários e o hardware do computador. Desta forma, o usuário pode executar programas de forma conveniente e eficiente.

Leia mais

Prof. Gregorio Perez gregorio@uninove.br 2007

Prof. Gregorio Perez gregorio@uninove.br 2007 Sistemas Operacionais I Parte I Introdução Roteiro Prof. Gregorio Perez gregorio@uninove.br 2007 1 Introdução 1.1 O que é um Sistema Operacional? 1.2 Motivações 2 Breve História 2.1 Décadas de 1940s e

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Slides N. 2 B / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares Slides elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo

Leia mais

Sistemas Operacionais. Introdução a Sistemas Operacionais

Sistemas Operacionais. Introdução a Sistemas Operacionais Introdução a arliones.hoeller@ifsc.edu.br baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto 1 Sistemas de computação Hardware CPU + memória + dispositivos de E/S Aplicações Objetivo

Leia mais

Nível do Sistema Operacional

Nível do Sistema Operacional Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/1 Introdução Hardware Provê os recursos básicos

Leia mais

Sistemas Operacionais - Introdução. Sistemas Operacionais - Funções. FACENS - Faculdade de Engenharia de Sorocaba

Sistemas Operacionais - Introdução. Sistemas Operacionais - Funções. FACENS - Faculdade de Engenharia de Sorocaba Sistemas Operacionais - Introdução Aplicações Compiladores Editores Interpretadores de comando Sistema Operacional Linguagem de Máquina Microarquitetura Dispositivos Físicos Sistemas Operacionais - Funções

Leia mais

Disciplina INFORMÁTICA

Disciplina INFORMÁTICA Disciplina INFORMÁTICA Aulas 1 - Software Prof.º Adriano M. Soares CONTEÚDO PROGRAMÁTICO: Sistemas Operacionais; Linguagem de Programação Aplicativos e Utilitários Cuidados com as Bancas SOFTWARES Sistemas

Leia mais

Sistemas Operacionais Introdução. Thiago Leite

Sistemas Operacionais Introdução. Thiago Leite Sistemas Operacionais Introdução Thiago Leite thiago.leite@udf.edu.br TANENBAUM, Andrew S. SISTEMAS OPERACIONAIS MODERNOS. 3ª Edição. Pearson Education do Brasil LTDA. São Paulo. 2003. Bibliografia SILBERSCHATZ,

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Operating System Concepts, Abraham Silberschatz, Peter Baer Galvin, 6ª Ed., Addison-Wesley, 2002 [cap.1, 2 e 3] Operating Systems, Third Edition Harvey M. Deitel, Prentice

Leia mais

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação - Definições - Ementa - Objetivos - Unidades de Ensino - Bibliografia - Processo de Avaliação Paulo César do Amaral Pereira SISTEMA COMPUTACIONAL

Leia mais

Nuno Carlos de Almeida. - vježbe; - samostalni zadaci; 90 sati lektorskih vježbi

Nuno Carlos de Almeida. - vježbe; - samostalni zadaci; 90 sati lektorskih vježbi Portugalski jezik IV Naziv studija PDS španjolskog jezika i književnosti Naziv kolegija Portugalski jezik IV Status kolegija Izborni Godina 2 Semestar 2 ECTS bodovi 4 Nastavnik Nuno Carlos de Almeida e-mail

Leia mais

A primeira geração dos computadores ocorreu de 1945 a 1955 e tinha como principal característica o uso de válvulas e painéis de programação.

A primeira geração dos computadores ocorreu de 1945 a 1955 e tinha como principal característica o uso de válvulas e painéis de programação. A primeira geração dos computadores ocorreu de 1945 a 1955 e tinha como principal característica o uso de válvulas e painéis de programação. Eram enormes e ocupavam salas inteiras com dezenas de milhares

Leia mais

Sistemas Operacionais João Bosco T. Junior. Sistemas Operacionais João Bosco Junior - V1.3

Sistemas Operacionais João Bosco T. Junior. Sistemas Operacionais João Bosco Junior - V1.3 João Bosco T. Junior Apresentação da Disciplina Bibliografia Sistemas Operacionais Modernos (3ª Ed.) Ed Prentice Hall, A. S. Tanenbaum Sistemas Operacionais (3ª Ed.) Sagra Luzzatto, Rômulo, Alexandre e

Leia mais

Fundamentos de Sistemas de Operação (FSO)

Fundamentos de Sistemas de Operação (FSO) Fundamentos de Sistemas de Operação (FSO) Lic. Eng. Informática 2009/2010 Docentes: José A. Cardoso e Cunha Hervé Paulino, Rui Marques Área Científica de Arquitectura de Sistemas Computacionais, Dep. Informática

Leia mais

Noções de Informática INSS. Novo Curso. Aula 01

Noções de Informática INSS. Novo Curso. Aula 01 127767 Noções de Informática INSS Novo Curso Aula 01 http://facebook.com/profricardobeck contato@profricardobeck.com.br Mensurando Dados Sistema de numeração Binário (0 e 1) Fax/Modem 56 Kbps Placa de

Leia mais

Apresentação e Introdução

Apresentação e Introdução Apresentação e Introdução Sistemas Operativos Apresentação da UC Breve enquadramento histórico Definição Arquitectura geral Alguns slides adaptados de slides do Eng. João Patriarca 26-09-2014 1 Avaliações

Leia mais

Windows NT 4.0. Centro de Computação

Windows NT 4.0. Centro de Computação Windows NT 4.0 Centro de Computação Tópicos Introdução Instalação Configuração Organização da rede Administração Usuários Servidores Domínios Segurança Tópicos È O sistema operacional Windows NT È Características:

Leia mais

- Campus Salto. Disciplina: Sistemas Operacionais Docente: Fernando Santorsula

- Campus Salto. Disciplina: Sistemas Operacionais Docente: Fernando Santorsula Disciplina: Sistemas Operacionais Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Conteúdo programático: Os primeiros sistemas de computação, no final dos anos 40 e início dos anos 50, não

Leia mais

Sistema de Memórias COMPUTADOR CONTROLE ENTRADA VIA DE DADOS SAÍDA PROCESSADOR MEMÓRIA S E TO R R EC RE CEI TA S T EM S E TO R C A RNE S

Sistema de Memórias COMPUTADOR CONTROLE ENTRADA VIA DE DADOS SAÍDA PROCESSADOR MEMÓRIA S E TO R R EC RE CEI TA S T EM S E TO R C A RNE S Sistema de Memórias COMPUTADOR S E TO R R EC EIT AS 0 16 32 RE CEI TA S 4 8 12 20 24 28 36 40 44 CONTROLE S E TO R T EM PER OS VIA DE DADOS ENTRADA 0 48 52 64 68 80 84 1 56 72 88 2 3 60 76 92 4 S E TO

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O propósito

Leia mais

Infraestrutura de Software. CIn.ufpe.br

Infraestrutura de Software. CIn.ufpe.br Infraestrutura de Software Introdução Sistema Operacional Mecanismo de abstração dos dispositivos subjacentes Gerenciador de recursos (ex. processador, memória, impressora) Middleware Plataforma de suporte

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura

Leia mais

Sistemas Operativos. Introdução. Slides adaptados dos slides do professor Jorge Martins. Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Sistemas Operativos. Introdução. Slides adaptados dos slides do professor Jorge Martins. Centro de Cálculo Instituto Superior de Engenharia de Lisboa Sistemas Operativos Introdução Slides adaptados dos slides do professor Jorge Martins Centro de Cálculo Instituto Superior de Engenharia de Lisboa João Pedro Patriarca (jpatri@cc.isel.ipl.pt) Avaliação

Leia mais

Informática I. Aula 2. Ementa

Informática I. Aula 2.  Ementa Informática I Aula 2 http://www.ic.uff.br/~bianca/informatica1/ Aula 2-29/08/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e

Leia mais

Apresentação. Sistemas Operativos. Apresentação da UC Definição Requisitos de hardware Breve enquadramento histórico 08/03/2017 1

Apresentação. Sistemas Operativos. Apresentação da UC Definição Requisitos de hardware Breve enquadramento histórico 08/03/2017 1 Sistemas Operativos Apresentação Apresentação da UC Definição Requisitos de hardware Breve enquadramento histórico 08/03/2017 1 Programa Enquadramento 1 semana Implementação de system call Gestão de memória

Leia mais

Tržišne strukture: potpuna konkurencija i monopol. Predavanje br. 5

Tržišne strukture: potpuna konkurencija i monopol. Predavanje br. 5 Tržišne strukture: potpuna konkurencija i monopol Predavanje br. 5 Tržište potpune konkurencije Tržišna struktura Tržišna struktura odnosi se na fizičke karakteristike tržišta unutar kojih poduzeća djeluju.

Leia mais

Aula 16: Memória Principal e Memória Virtual

Aula 16: Memória Principal e Memória Virtual Aula 16: Memória Principal e Memória Virtual Memória Principal Performance na memória principal: Latência: Miss Penalty na Cache Access Time: tempo entre requisição e retorno de palavra Cycle Time:

Leia mais

Slika 12: RJ45 konektor

Slika 12: RJ45 konektor Kablovska i konektorska oprema računarskih mreža obuhvata široki spektar alata i opreme koji su danas u upotrebi. Svaka mrežna tehnologija koristi različitu vrstu konektorske i kablovske opreme u svom

Leia mais

Uma visão geral sobre computadores e Internet

Uma visão geral sobre computadores e Internet Uma visão geral sobre computadores e Internet O que é um computador? Breve histórico do computador Como um computador funciona? Por dentro das tecnologias A rede mundial (Internet) Sistemas operacionais:

Leia mais

Apresentação e Introdução

Apresentação e Introdução Apresentação e Introdução Sistemas Operativos Apresentação da UC Definição de SO Breve enquadramento histórico Alguns slides adaptados de slides do Eng. João Patriarca 05-03-2016 1 Programa Enquadramento

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

Estrutura do tema ISC

Estrutura do tema ISC Introdução aos Sistemas de Computação (3) num computador (1) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. num computador 4. O

Leia mais

Gestão de Sistemas Operacionais

Gestão de Sistemas Operacionais Gestão de Sistemas Operacionais Prof. Guilherme Nonino Rosa guinonino@gmail.com http://proguilherme.wordpres.com Aula 1 Como usar o Hyper-V para fazer virtualização. Pré-requisitos Sistema operacional

Leia mais

Synology DiskStation DS212/DS212+ DS213/DS213+ Upute za brzu instalaciju

Synology DiskStation DS212/DS212+ DS213/DS213+ Upute za brzu instalaciju Synology DiskStation DS212/DS212+ DS213/DS213+ Upute za brzu instalaciju Synology_QIG_2Bay2_20111018 Dio Prije samog početka Chapter 1: 1 Prije nego počnete provjerite sadrž aj paketa, kako bi bili sigurni

Leia mais

Organização de Computadores

Organização de Computadores Capítulo 2-B Organização de Computadores Orlando Loques setembro 2006 Referências: principal: Capítulo 2, Structured Computer Organization, A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization

Leia mais

Redes de Computadores 1. Prof. Olavo José Luiz Junior

Redes de Computadores 1. Prof. Olavo José Luiz Junior 1 Prof. Olavo José Luiz Junior olavo.junior@ifpr.edu.br Sobre a Disciplina Disciplina: Redes de Computadores 1 Carga Horária: 80 h/a (4 semanais) 2 Horários: Aulas: às segundas-feiras Permanência para

Leia mais

Seminarski rad iz kolegija Uvod u matematičke metode u inženjerstvu

Seminarski rad iz kolegija Uvod u matematičke metode u inženjerstvu SVEUČILIŠTE U ZAGREBU FAKULTET KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE SVEUČILIŠNI DIPLOMSKI STUDIJ PRIMIJENJENA KEMIJA Seminarski rad iz kolegija Uvod u matematičke metode u inženjerstvu Studenti: Jelena

Leia mais

sistema de armazenamento (SAN) ligado com um switch fibre dois sistemas de inteligação Myrinet 10 Gb Ethernet 1 Gb

sistema de armazenamento (SAN) ligado com um switch fibre dois sistemas de inteligação Myrinet 10 Gb Ethernet 1 Gb SEARCH Cluster SEARCH Vista Geral Alguns números 46 nós de computação com 1U de altura 92 processadores Xeon a 3.2 Ghz 92 GB de Ram 8 processadores Nvidia 7900GT 920 Gbps Myrinet 10Gb www.di.uminho.pt/search/equipamento.htm

Leia mais

Computação e Programação MEMec - LEAN

Computação e Programação MEMec - LEAN Computação e Programação MEMec - LEAN 2009-2010 Docentes: Miguel Pedro Silva - Responsável José Borges João Reis Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Programa 1. Introdução

Leia mais

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica.

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica. TIC Conceitos Básicos Técnica - Conjunto de processos que constituem uma arte ou um ofício. Aplicação prática do conhecimento científico. Tecnologia - Conjunto de instrumentos, métodos e processos específicos

Leia mais

Disciplina de Organização de Computadores I

Disciplina de Organização de Computadores I USP - ICMC - SSC SSC 0610 - Eng. Comp. - 2o. Semestre 2010 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional SISTEMA OPERACIONAL Definição (MACHADO/MAIA, 2007) Conjunto de rotinas executadas pelo processador Controlar o funcionamento de um

Leia mais

SOP Sistemas Operacionais Módulo 03: História e Evolução

SOP Sistemas Operacionais Módulo 03: História e Evolução SOP Sistemas Operacionais Módulo 03: História e Evolução Prof. Charles Christian Miers e mail: charles.miers@udesc.br História dos Computadores / SOs Primeira Geração (1945 1955): válvula Sem SO, programação

Leia mais

História dos SOs. Tópicos

História dos SOs. Tópicos História dos SOs Cap. 1 - Tanenbaum Prof. Alexandre Beletti Ferreira 1ª Geração 2ª Geração 3ª Geração 4ª Geração Tópicos 1 1ª Geração 1ª Geração: 1945 a 1955 Computadores: em meados da década de 40 Máquinas

Leia mais

8. Računarski bukvar. Slika #-2: Jezici četvrte generacije

8. Računarski bukvar. Slika #-2: Jezici četvrte generacije 8. Računarski bukvar # 2D Two (2) Dimensional Opšti izraz u oblasti računarske grafike koji definiše zajedničke atribute (dve dimenzije, širina i visina) crteža, slike, grafičkog sistema, radnih stanica,

Leia mais

Estrutura Interna Computador. Modelo simples de um processador

Estrutura Interna Computador. Modelo simples de um processador Estrutura Interna Computador Arquitectura de von Neumann Overview Conceitos Informáticos Sistemas Informáticos Input Devices Primária CPU Secundária Output Devices O computador executa uma sequência de

Leia mais

APRESENTAÇÃO. Profº José Chiconato Jr. Disciplina - INFORMÁTICA. Aula 1 - Software. Concursos Profº José Chiconato Jr.

APRESENTAÇÃO. Profº José Chiconato Jr. Disciplina - INFORMÁTICA. Aula 1 - Software. Concursos Profº José Chiconato Jr. APRESENTAÇÃO Profº José Chiconato Jr Disciplina - INFORMÁTICA Aula 1 - Software Concursos Profº José Chiconato Jr. - Informática 1 Software/Programas Subdivisão Sistemas Operacionais Linguagens de Programação

Leia mais

Aula 16: Memória Principal e Memória Virtual

Aula 16: Memória Principal e Memória Virtual Aula 16: Memória Principal e Memória Virtual Memória Principal Performance na memória principal: Latência: Miss Penalty na Cache Access Time: tempo entre requisição e retorno de palavra Cycle Time: tempo

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Profa. Regina Borges de Araujo Livro Texto Sistemas Operacionais Modernos. Tanenbaum, A., Pearson Prentice Hall, 2003 Outras Referências Operating Systems Deitel, H., Deitel, P. &

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS 1 SISTEMAS OPERACIONAIS Profª Josiane T. Ferri Licenciada em Computação prof.jositf@yahoo.com.br facebook.com/josiferri AVALIAÇÕES A avaliação se dará mediante a observação dos seguintes pontos: Organização

Leia mais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais Introdução Pedro Cruz EEL770 Sistemas Operacionais Roteiro Informações úteis Motivação Definições Revisão de arquitetura 2 Contato Site da disciplina www.gta.ufrj.br/~cruz/courses/eel770 Email cruz@gta.ufrj.br

Leia mais

Objetivos de um SO. Transformar o hardware numa máquina simples de usar Obter o máximo rendimento do Hardware. A vida sem um Sistema Operativo

Objetivos de um SO. Transformar o hardware numa máquina simples de usar Obter o máximo rendimento do Hardware. A vida sem um Sistema Operativo Introdução Objetivos de um SO Transformar o hardware numa máquina simples de usar Obter o máximo rendimento do Hardware os computadores são dispositivos dispendiosos cedo se viu que poderiam fazer várias

Leia mais

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR IZ RAČUNALNE FORENZIKE BMP format (.bmp) Marina Krček Zagreb, siječanj, 2016. Sadržaj BMP format datoteka...3 Rasterska grafika...3 Formati

Leia mais

TI SO do Ponto de Vista do Programador de Aplicações

TI SO do Ponto de Vista do Programador de Aplicações TI SO do Ponto de Vista do Programador de Aplicações SO do Ponto de Vista do Programador de Aplicações Interface Coerente para as Aplicações Especialmente importante se: Há várias plataformas hardware

Leia mais

Disciplina de. Organização de Computadores Digitais

Disciplina de. Organização de Computadores Digitais USP - ICMC - SSC SSC 0511 - Sist. Informação - 2o. Semestre 2014 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Introdução à Computação

Introdução à Computação Informática Introdução à Computação Prof. Paulo H R Gabriel (com base no material do Prof. André Backes) Informática é informação automática Informática pressupõe o uso de computadores eletrônicos no trato

Leia mais

PLANO DE ENSINO. 1 Objetivos da Disciplina. 2 Ementa do Programa

PLANO DE ENSINO. 1 Objetivos da Disciplina. 2 Ementa do Programa CURSO: Engenharia de Software PERÍODO LETIVO: 2019/1 DISCIPLINA: Fundamentos de Sistemas Operacionais CÓDIGO: 201286 CARGA HORÁRIA: 60 horas CRÉDITOS: 04 PROFESSOR: Bruno Ribas TURMA: A PLANO DE ENSINO

Leia mais

Sistemas Operacionais & Sistemas de Programação II

Sistemas Operacionais & Sistemas de Programação II Informações Gerais Sistemas Operacionais & Sistemas de Programação II http://www.inf.ufes.br/~pdcosta/ensino/20 08-1-sistemas-operacionais/ Introdução (Aula 1) Prof a. Patrícia Dockhorn Costa Prof a. Patrícia

Leia mais

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução. Processadores Atuais Eduardo Amaral Sumário Introdução Conceitos Básicos Microprocessadores Barramentos Bits internos e bits externos Clock interno e clock externo Memória cache Co-processador aritmético

Leia mais