Raunarski sistem i software Korisnik Aplikativni program Operativni

  • Slides: 25
Download presentation
Računarski sistem i software Korisnik Aplikativni program Operativni sistem Hardver Računarski sistem i software

Računarski sistem i software Korisnik Aplikativni program Operativni sistem Hardver Računarski sistem i software 1

Software n n n Software predstavlja skup instrukcija ili programa na osnovu kojih hardver

Software n n n Software predstavlja skup instrukcija ili programa na osnovu kojih hardver izvršava određene zadatke (obrada podataka, ulaz, izlaz. . . ) Dok je hardver predviđen za opšte namene, softver se može odnositi na specifične namene. Softver se deli u dve velike grupe: n n Sistemski softver i Aplikativni softver. 2

Sistemski i aplikativni softver n n Sistemski softver je skup instrukcija koje povezuju hardver

Sistemski i aplikativni softver n n Sistemski softver je skup instrukcija koje povezuju hardver i aplikativni softver (upravljanje resursima računara, ulazom/izlazom. . ) Aplikativni softver je skup instrukcija napisanih u nekom programskom jeziku koji se odnose na određenu oblast (aplikaciju). Dok sistemski softver kreira proizvođač računara ili operativnog sistema, aplikativni softver je specifičan i projektuje se za potrebe korisnika. Tako na primer, aplikativni softver za nabavku je specifičan za svakog korisnika zbog različitosti procedura nabavke, dokumenata nabavke, informacione infrastruvkure. . . 3

Programski jezici n Izrada i održavanje softvera vrši se pomoću programskih jezika. Iako postoje

Programski jezici n Izrada i održavanje softvera vrši se pomoću programskih jezika. Iako postoje razlike između programskih jezika za aplikativni i sistemski softver, osnovna funkcija programskih jezika je nepromenjena - davanje instrukcija računaru za obavljanje određenih operacija. S obzirom na prirodu ovih instrukcija, postoji veći broj podela. 4

Mašinski jezik n Mašinski jezik je jezik mašine, tj. računara, u kome su sve

Mašinski jezik n Mašinski jezik je jezik mašine, tj. računara, u kome su sve instrukcije i podaci dati kao kombinacija diskretnih veličina (0 i 1). Kombinacija ovih digita (ili bitova) se naziva bajt (byte). Zbog toga se program koji se koristi za obradu u računaru naziva program u mašinskom jeziku. Ovaj program je napisan za određenu mašinu i ne može se koristiti za drugi tip mašine. To je predstavnik prve generacije programskih jezika. Rad u mašinskom jeziku je vrlo otežan, pa se uz ovaj jezik koriste korisnički orijentisani jezici. Skup instrukcija napisanih u ovom korisnički orijentisanom jeziku naziva se izvorni program, a skup instrukcija dobijenih nakon prevođenja na mašinski jezik naziva se objektni program. 5

Jezici višeg nivoa n Jezici višeg nivoa obuhvataju: proceduralne i n neproceduralne jezike, n

Jezici višeg nivoa n Jezici višeg nivoa obuhvataju: proceduralne i n neproceduralne jezike, n kompajlere i interpretere i n prirodne jezike. n 6

Jezici višeg nivoa n n Proceduralni jezici opisuju procedure rada nad podacima, te su,

Jezici višeg nivoa n n Proceduralni jezici opisuju procedure rada nad podacima, te su, više ili manje, bliski prirodnim jezicima. Zbog toga se jedna instrukcija (naredba) iz ovih jezika prevodi u više mašinskih instrukcija. Najčešće korišćeni proceduralni jezici su FORTRAN, COBOL, BASIC, C, C++ i PASCAL. Kompajleri su programi koji prevode programe napisane u jezicima višeg nivoa u objektni kod, a ovaj proces se naziva kompajliranje. Interpreteri su kompajleri koji prevode i izvršavaju jednu naredbu izvornog programa u određenom periodu. Oni su, stoga, znatno jednostavniji od kompajlera. 7

Aplikativni softver n Aplikativni softver se sastoji iz instrukcija (naredbi) koje upravljaju radom računara

Aplikativni softver n Aplikativni softver se sastoji iz instrukcija (naredbi) koje upravljaju radom računara i odnose se na određenu oblast poslovanja ili aplikaciju, po čemu je ova grupa softvera dobila naziv. Pored naziva aplikativni softver, koristi se i naziv paket aplikacija ili aplikacija. Aplikativni softver može biti u vidu: n n n n elektronskih tabela, upravljanja podacima, obrade teksta, stonog izdavaštva, grafike, mulimedija i komunikacija. 8

Elektronske tabele n Elektronske tabele (spreadsheets) predstavljaju jednostavan tip aplikativnog softvera u kome korisnik

Elektronske tabele n Elektronske tabele (spreadsheets) predstavljaju jednostavan tip aplikativnog softvera u kome korisnik (programer) unosi u polja tabele određene numeričke ili tekstualne podatke i matematičke relacije između redova i kolona tabele. Ove relacije se definišu pomoću makro naredbi, koje mogu uključiti aritmetičke operacije, statističke funkcije, logičke operacije i tekstualne operacije. Softver ovog tipa pogodan je kao simulacioni softver i u slučaju čestih izmena relacija između elemenata (redova i kolona) u elektronskoj tabeli. Najčešće korišćeni softverski paket ove vrste je EXCEL. 9

Aplikativni softver za upravljanje podacima n Aplikativni softver baziran na upravljanju podacima je karakterističan

Aplikativni softver za upravljanje podacima n Aplikativni softver baziran na upravljanju podacima je karakterističan za aplikativni softver, zato što se upravljanjem podacima podržavaju operacije memorisanja, pretraživanja i manipulacije podacima. Razlikuju se dva osnovna tipa upravljanja podacima i to: sistemi datoteka i n sistemi baza podataka. n 10

Sistemski softver n Sistemski softver je skup programa koji kontrolišu i podržavaju rad računarskog

Sistemski softver n Sistemski softver je skup programa koji kontrolišu i podržavaju rad računarskog sistema. On je opštijeg tipa u odnosu na aplikativni softver i obično nezavistan od tipa aplikativnog softvera. Njegov primarni zadatak je da podrži rad aplikativnog softvera tako što upravlja osnovnim funkcijama računara. Tako npr. pri uključivanju računara, jedan od programa sistemskog softvera (program za inicijalizaciju) priprema i pokreće sve uredjaje računara, tako da je računar spreman za obradu podataka. 11

Podela sistemskog softvera n Sistemski softver se najčešće grupiše na sledeći način: n n

Podela sistemskog softvera n Sistemski softver se najčešće grupiše na sledeći način: n n n softver za upravljanje sistemom ili operativni sistem koji obuhvata programe za upravljanje hardverom, softverom i informacionim resursima za vreme obrade podataka. Karakterističan predstavnik ovog softvera je operativni sistem, softver za podršku sistemu, koji obuhvata programe za podršku operacijama koje vrši korisnik pri korišćenju računara. Karakteristični predstavnici ovog softvera su pomoćni (utility) programi za prikazivanje statusa obrade i programi za zaštitu informacionih resursa, softver za razvoj sistema, koji obuhvata raspoložive programe za razvoj aplikativnog softvera i procedura za njihovo korišćenje. Karakteristični predstavnici ovog softvera su kompajleri, interpreteri i prevodioci. 12

Softveri za upravljanje sistemom (operativni sistemi) n Softveri za upravljanje sistemom (operativni sistemi) su

Softveri za upravljanje sistemom (operativni sistemi) n Softveri za upravljanje sistemom (operativni sistemi) su glavna komponenta sistemskog softvera. Već sam naziv ukazuje da ovaj softver nadgleda izvršavanje svih operacija računara, uključujući praćenje rada računara, rad u slučaju prekida rada programa, kontrolisanje procesa na ulazu i izlazu iz računara itd. Kod velikih računarskih sistema istovremeno upravlja većim brojem informacionih resursa, pa se često koristi analogija sa raskrsnicama na kojoj se automatski uredjuju tokovi saobraćaja. Na nivou mikroračunara, softver za upravljanje sistemom upravlja komunikacijama preko ekrana, štamača i memorije računara. Oni primaju i upućuju ulaze sa tastature i drugih ulaznih uredjaja ka odredjenim destinacijama. Na taj način softver za upravljanje sistemom predstavlja interface izmedju korisnika hardverskih resursa. 13

Operativni sistem n n n Operativni sistem – program (napisan u nekom programskom jeziku,

Operativni sistem n n n Operativni sistem – program (napisan u nekom programskom jeziku, preveden, testiran i debagiran) Operativni sistem pomaže korisniku da razvije i izvrši program. Operativni sistem realnu mašinu zamenjuje virtuelnom mašinom. Funkcije operativnog sistema: n Startovanje i prekidanje programa, kao i deljenje procesora (upravljanje procesima), n Upravljanje memorijom, n Tehnike preklapanja ulaza i izlaza sa procesiranjem (upravljanje ulazno-izlaznim uređajima), n Upravljanje datotečnim sistemima (upravljanje podacima), n Zaštita (više korisnika, više programa, jedan procesor, jedna memorija), n Komunikacija sa drugim računarima u mreži, n Upravljanje greškama i oporavak sistema. Operativni sistem – softver koji hardver čini korisnijim i 14 pristupačnijim krajnjem korisniku (“user friendly”).

Različiti interfejsi sa operativnim sistemom Korisnik GUI Aplikacija Interpreter komandi Sistemski servisi Operativni sistem

Različiti interfejsi sa operativnim sistemom Korisnik GUI Aplikacija Interpreter komandi Sistemski servisi Operativni sistem 15

Operativni sistem n n n Kako operativni sistem radi? (Poznavanje rada operativnog sistema pravi

Operativni sistem n n n Kako operativni sistem radi? (Poznavanje rada operativnog sistema pravi razliku između nekoga ko se profesionalno bavi računarskim sistemima i nekoga ko je samo krajnji korisnik) Donošenje odluke o izboru operativnog sistema Svi operativni sistemi se mogu podešavati (“tuning”). Postoji veliki broj parametara koji utiču na performanse sistema. Nakon instalacije najčešće su to “default” vrednosti. Promenom “default” vrednosti peformanse se mogu poboljšati. Operativni sistemi mogu biti od pomoći i programerima. Operativni sistemi pripadaju najvećim softverskim sistemima koji su do sada napisani. 16

Operativni sistem n n n n n 40 -tih godina prošlog veka postojao je

Operativni sistem n n n n n 40 -tih godina prošlog veka postojao je samo hardver. Operativni sistem nije postojao. Programer je istovremeno bio i korisnik i projektant. Programer je morao da radi sve ono što danas radi operativni sistem. Uvođenje virtuelne memorije – omogućilo je izvršavanje velikih programa bez dodatne finansijske cene (pri tome se izgubilo u brzini izvršavanja programa). Značaj operativnih sistema – višekorisnički rad, “time-sharing” 80 -tih godina značajan razvoj računarskih mreža. Došlo je do fuzije oblasti iz operativnih sistema i računarskih mreža. Pojava mrežnih operativnih sistema – Windows for Workgroups, Novell Net. Ware itd. 90 -tih godina – distribuirani operativni sistemi otvoreni sistemi Opšti operativni sistemi (na primer, Linux) 17

Tipovi operativnih sistema n n n n “Batch” sistemi – paketna obrada Interaktivni sistemi

Tipovi operativnih sistema n n n n “Batch” sistemi – paketna obrada Interaktivni sistemi (jednokorisnički i višekorisnički) Sistemi opšte namene (“time sharing”, interaktivni, “batch” obrada) Mrežni operativni sistemi (deljenje resursa, kao što su štampači i baze podataka u mreži) – na primer Windows NT Server, UNIX Distribuirani sistemi (migracija podataka i programa od jednog računara do drugog, pri čemu korisnik ne upravlja ovom migracijom) – grupa računara koja radi kao jedan računar Specijalno projektovani operativni sistemi – sistemi za rad u realnom vremenu (na primer hemijska postrojenja, …) – maksimalno vreme odgovora sistema mora biti u fiksnom vremenu Sistemi za rezervaciju avionskih karata, bankarski sistemi – primeri sistema za procesiranje transakcija 18

Projektovanje OS Operativni sistem – veoma veliki softver n Da bi se projektovao, implementirao

Projektovanje OS Operativni sistem – veoma veliki softver n Da bi se projektovao, implementirao i održavao veliki softverski sistem potreban je pogled visokog nivoa - Kako je sistem struktuiran? Kako različite komponente rade zajedno? n Operativni sistem se može dekomponovati u module koji obezbeđuju sledeće funkcije: n n n Upravljanje procesima, Upravljanje memorijom, Upravljanje ulazom/izlazom, Upravljanje datotekama (korišćenje ulaza/izlaza i dodavanje zaštite i sigurnosti), Upravljanje mrežom. 19

Cilj OS n n n Cilj operativnih sistema je deljenje resursa. Šta je resurs?

Cilj OS n n n Cilj operativnih sistema je deljenje resursa. Šta je resurs? Zašto deliti resurse? Operativni sistem obezbeđuje da privatni resursi budu zaštićeni od neautorizovanog pristupa i da deljenim resursima mogu pristupati samo relevantni procesi. Problemi: n n n Omogućiti da sistem radi, Omogućiti da sistem efikasno radi (korišćenje uređaja, propusna moć sistema, vreme odziva sistema), Omogućiti da sistem korektno radi (ograničavanje efekata “bug“ova, sprečavanje neautorizovanog pristupa podacima, modifikacije podataka i korišćenja resursa). 20

Savremeni OS Kako izgledaju savremeni operativni sistemi? n Obezbeđuju jednostavno korišćenje računara (korišćenjem apstrakcije),

Savremeni OS Kako izgledaju savremeni operativni sistemi? n Obezbeđuju jednostavno korišćenje računara (korišćenjem apstrakcije), n Obezbeđuju standardan interfejs (portabilnost), n Obezbeđuju efikasno deljenje resursa, n Troše resurse. n Složen softverski sistem – konkurentnost (konkurentan rad U/I uređaja sa centralnim procesorom) i asinhroni rad. n Skoro je nemoguće potpuno “debug“-ovati operativni sistem. 21

Linux n n LINUX je višekorisnički, višeprogramski operativni sistem. Glavni ciljevi kod projektovanja LINUX-a

Linux n n LINUX je višekorisnički, višeprogramski operativni sistem. Glavni ciljevi kod projektovanja LINUX-a su bili: n n n brzina, efikasnost i standardizacija. LINUX potpuno implementira standardni mrežni model UNIX-a. LINUX programski interfejs odgovara semantici UNIX-a SVR 4. LINUX: upravljanje modulima, registracija “driver”-a i razrešenje konflikata 22

Softver za podršku sistemu n Ova komponenta sistemskog softvera obuhvata : pomoćne programe, n

Softver za podršku sistemu n Ova komponenta sistemskog softvera obuhvata : pomoćne programe, n programe za praćenje performansi i n programe za praćenje bezbednosti sistema. n 23

Softver za podršku sistemu n n n Pomoćni programi omogućavaju realizaciju pomoćnih aktivnosti, kao

Softver za podršku sistemu n n n Pomoćni programi omogućavaju realizaciju pomoćnih aktivnosti, kao naprimer sortiranje, kopiranje ili trajno čuvanje (back up). Kod MS DOS-a pomoćni programi obuhvataju i proveru integriteta magnetnih diskova, kreiranje direktorijuma i subdirektorijuma, ponovno memorisanje oštećenih i obrisanih slogova, lociranje file-ova sa strukturom direktorijuma, upravljanje memorijom, upućivanje izlaza ka odredjenom uredjaju itd. Programi za praćenje performansi prate odvijanje poslova na računarskom sistemu. Pri tome se, pored praćenja performansi, automatski formiraju izveštaji sa statistikom korišćenja informacionih resursa. Posebno su značajni izveštaji o procesorskom vremenu, memorijskom prostoru, ulazno/izlaznim uredjajima i aplikativnom softveru. Ovi izveštaji se koriste radi analize rada računarskog sistema i posebno informacionog sistema, a u cilju planiranja efikasnijeg rada u budućnosti, posebno kod mainframe ili servera računarske mreže. Programi za praćenje bezbednosti sistema omogućuju zaštitu informacionih resursa od neovlašćenog (neautorizovanog) pristupa ili destrukcije, što se ostvaruje na različite načine (identifikacioni kod ili lozinka). Ovi programi takodje kontrolišu rad informacionih resursa i ne dozvoljavaju destrukciju informacionog sistema. U poslednje vreme ovi programi omogućavaju dobijanje izveštaja o pristupima sistemu radi analize bezbednosti i frekvencije korišćenja sistema. 24

Razvoj softvera n S obzirom na ubrzan razvoj informacione tehnologije , od softvera se

Razvoj softvera n S obzirom na ubrzan razvoj informacione tehnologije , od softvera se zahteva da može da omogući: veću otvorenost informacionog sistema, n veću sigurnost informacionog sistema, n veću odgovornost za podatke, n jednostavnost u obuci korisnika i primeni , n niže troškove razvoja i korišćenja itd. n 25