330 likes | 559 Views
Operativni sistemi. Zadaci. interfejs između korisničkih aplikacija i računara koji je zadužen za koordinaciju i upravljanje aktivnostima i resursima zahvaljujući njemu, korisničke aplikacije ne moraju da poznaju detalje rada hardvera
E N D
Zadaci • interfejs između korisničkih aplikacija i računara koji je zadužen za koordinaciju i upravljanje aktivnostima i resursima • zahvaljujući njemu, korisničke aplikacije ne moraju da poznaju detalje rada hardvera • OS nudi niz servisa aplikacijama i korisnicima kroz standardni interfejs za aplikacije (API) • komande se zadaju kroz GUI ili CLI
Istorija • razvijaju se od početka razvoja računara, posebno od 1950-ih • IBM je razvio OS/360 za seriju servera • ovo je koncept koji su svi prihvatili: OS za različite računare, koji se prilagođava hardveru • mainframe računari su imali svoje OS • mikroračunari su obično učitavali minimalističke OS-ove – monitore – iz ROM • prvi OS koji je radio sa diskom je CP/M • MS-DOS • GUI se prvi put pojavio u Mac OS 1984.
Rasprostranjenost OS - 2011 • Procene • Apple: ~10.7% u US, u svetu do 5% • Microsoft: procena je da Mac i Linux imaju po ~5%, a ostalo da je Windows • procena je da je 25-35% WindowsXP ilegalnoo • Netbook: Windows, pa Linux (zbog Asus eePC) • Tablet: Mac vodi zbog iPad-a, sa rastućim udelom Androida (20%) • Mobilni uređaji:
Današnji OS za desktop računare • Mac OS X • Unix • Linux • BSD • Windows • Solaris
Unix • koristi se za servere i radne stanice • razvijen početkom 1970-ih zajedno sa C • razvijen je za servere i radne stanice • multi-tasking, više-korisnički, prilagodljiv za različite platforme, hijerarhijski FS, softverski alati, ... – Unix filozofija • namenjen je da bude bez GUI, ali ima razvijenih • da bi OS bio Unix mora da zadovolji “Single UNIX Specification” (POSIX) • iz Unix-a su se razvili i brojni drugi OS: Minix, Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, Solaris, HP/UX
BSD • 1977. – Berkley • Unix za radne stranice • različite licence: • FreeBSD – višenamenski, prvenstveno namenjen za x86 platformu • NetBSD – za različite platforme • OpenBSD – cilj je bezbednost • DragonFly – za višeprocesorske računare; cilj je da se dobije privid jednog računara • koristi se za akademska istraživanja, ugrađen je u uređaje posebne namene • može da se distribuira, ali pod strožijom licencom nego Linux
Linux1 • generički naziv za Unix-olike OS sa Linux kernelom • koristi se u serverima, ali i u kućnim računarima, uređajima posebne namene (kontrolerima, ADSL modemima, ...), mobilnim telefonima, satovima, super-računarima • razvio se od Unix-a, ali pod GNU licencom – copyleft licenca koja garantuje slobodu distribucije i modifikovanja proizvoda, pod uslovom da dobijeni modifikovani proizvodi zadovoljavaju prethodnu slobodu
Linux2 • sigurna, ali jako kompleksna platforma • postoji više distribucija koje sve koriste isti kernel koji je open source • kernel kontroliše procese, mrežu, periferijske uređaje, file system
Upotreba Linux-a • desktop Linux – ima GUI (GNU i KDE); siromašniji aplikacijama nego Windows; raste podrška; Wine aplikacija za izvršavanje Windows programa pod Linux-om • serveri – većina web servera je Linux; 443 u Top500 je Linux • LAMP – Linux, Apache, MySQL, PHP/Perl/Python • ugrađen – zamenjuje Symbian, WindowsCE, PalmOS
Linux – Ubuntu • baziran na Debian Linux • Linux za prosečne korisnike • sastoji se od više paketa koji se distribuiraju pod GNU • osnovni ciljevi su dostupnost i internacionalizacija • distribuiran sa OpenOffice, Firefox, GIMP, LAMP • sadrži i Wine da izvršava Windows programe • postoji Microsoft Assistant, za prebacivanje sa Windows na Ubuntu instalaciju • može da se pokrene sa USB diska
Mac OS X • razvijen je kao OS za radne stanice koje su imale specifičnu namenu, kao što je grafička obrada, obrada teksta, ... • bio je dosta upotrebljavan u kancelarijskim poslovima zbog jednostavnog korisničkog interfejsa • zaokružena celina sa hardverom • kvalitetan i stabilan OS u kombinaciji sa hardverom • zahteva malo održavanja, napada ga mnogo manje virusa i drugog malicioznog softvera • skup i ima slabu mogućnost nadogradnje • zasnovan je na Unix OS što se vidi u njegovoj instalaciji i administraciji • “X” znači 10
Solaris • razvija se od 1992. • može da se instalira, a može i da se koristi tako što se podigne sa udaljenog servera • podržava SPARC i x86/x86-64 arhitekture • podržava višeprocesorski rad
DOS • razvijao ga je Microsoft iz QDOS-a (razvijao SCP) • razvoj se obično sastojao u preuzimanju ili kopiranju mogućnosti konkurencije • poslednja verzija je 6.22 • novije verzije koje su u okviru Windows OS kao komandna linija su samo deo Windows CLI • za izvršavanje legacy programa pod Windows-om koristi se posebno virtualno okruženje • konkurencija: PC-DOS, DR-DOS, Novell DOS, Free-DOS • GUI – Norton, XTree, Windows
Windows1 • razvijao se kao GUI za DOS • 3.0 i 3.1 – virtualna memorija, drajveri • Windows 95 – plug and play, duga imena • Windows NT – veća pouzdanost za poslovnu namenu • XP – spajanje običnih i poslovnih korisnika • Windows Server – od 2003. posebno izdanje • Windows CE – za telefone, GPS • 64bit – podrška još od NT, za PowerPC, DEC, MIPS4000 • Windows 8
Windows2 • projektovan da bude lak za upotrebu i za jednog korisnika • od NT počinje da se vodi računa o bezbednosti i više da se radi sa mrežom • mnogo grešaka u programiranju i popularnost su doveli do pojave virusa i malicioznog softvera • ove probleme Microsoft rešava periodičnim zakrpama i service pack-ovima • ima široku podršku u third-party softveru
React OS • open-source Windows • napisan u C i C++ • distribuira se pod GNU licencom • TinyKRNL, Freedows
Google Chrome OS • najvljen za 2010, ali je pomereno za 15. jun 2011 – Samsung, pa Acer • baziran je na Linux-u • minimalistički pristup sličan Chrome web-browser-u • namenjen je za specifičan hardver; firmware obavlja dosta posla • aplikacijama se pristupa remotely
RTOS • real time OS • za aplikacije u realnom vremenu – industrijski roboti, svemirski brodovi, SCADA • u ovim sistemima su bitna vremenska ograničenja • složeniji mehanizmi kontrole • nemoguće maskiranje prekida da korisnik ne bi preuzeo punu kontrolu • QNX, RTLinux, VxWorks, Windows CE
Osobine OS – kernel1 • kernel – centralna komponenta svih OS; upravlja sistemskim resursima • monolitski kernel se ceo izvršava u istom adresnom prostoru da bi se dobilo na brzini • mikrokernel sadrži samo funkcije niskog nivoa – upravljanje memorijom, procesima i međuprocesnu komunikaciju; prednost je što jedan servis može da ne radi, ali ostali ostaju • hibridni kernel – marketinški trik – funkcionalnosti jesu modularne, ali nema prednosti kao kod mikrokernela
Osobine OS – kernel2 • podela • mikro – uglavnom specifični Unix sistemi • postoje i nano i piko kerneli • monolitski – Linux, BSD, Solaris, DOS, Windows (do Me), starije verzije MacOS, OpenVMS • hibridni – NT kernel, Plan9, BeOS, DragonFly BSD
Osobine OS – prekidi • asinhroni signal o događaju • hardverski – kada stigne, procesor čuva svoje stanje i počinje obradu prekida • softverski – slično, ali implementira kao skup instrukcija • koriste se umesto polling loop – periodične provere svakog od uređaja • maskirajući – hardverski, koji može da se ignosriše maskom u registru (IMR) • nemaskirajući – nikad ne može da se maskira (sat) • interprocesorski – u višeprocesorskom sistemu • lažni – neželjeni hardverski prekidi • prekidi se koriste za sistemski sat, disk, I/O, power-of, obradu korisničkih izuzetaka
Osobine OS – driver • omogućava da programi višeg nivoa koriste hardver na standardizovan način • prave se za određen hardver i određen OS • obično rade pomoću prekida • da bi se razvili, potrebno je poznavanje i hardvera i OS • u interesu proizvođača je da bude kvalitetno napisan • proizvođač piše PDD (physical device driver), a proizvođač OS piše LDD (logical device driver) • ima i open-source, obično za open-source OS • izvršava se ili u kernelu ili u korisničkoj memoriji • u kernelu je brže, ali opasnije po sistem
Osobine OS – način rada • supervisor – sistem je samo pod kontrolom kernela • protected – ograničen pristup sistemu • moguć je prelaz iz zaštićenog samo pomoću prekida • zaštićenost se najčešće ogleda u tome što proces ne može da pristupi nekom registru – ako proba, kernel preuzima kontrolu i rešava problem
Osobine OS – upravljanje memorijom • memorija se štiti i svaki proces ima pristup samo svojoj • tehnike zaštite – segmentacija i straničenje • memorija se deli na kernelsku (kernel, drajveri) i korisničku (korisničke aplikacije, svaka u svom prostoru)
Osobine OS – multitasking • izvršavanje više programa u, prividno, isto vreme • koristi se scheduler koji dodeljuje procesorsko vreme procesu • prebacivanje kontrole naziva se context-switch • preventivni multitasking – osigurava da svi dobiju deo procesorskog vremena
Osobine OS – ostali servisi • pristup disku • vrši se preko file system-a, a podaci su organizovani u stablo • disku se pristupa preko drajvera • pristup mreži • većina današnjih OS podržava različite protokole • većina koristi port/socket arhitekturu • bezbednost • OS mora da razlikuje zahteve koji treba da se izvrše od onih koji ne treba