3. SOFTVER RAČUNARSKOG SISTEMA
Transcript of 3. SOFTVER RAČUNARSKOG SISTEMA
3. SOFTVER RAČUNARSKOG SISTEMA
Softver = skup različitih računarskih programa
- Računarski program = niz elementarnih binarnih instrukcija koje obavijaju aritmetičke i logičke operacije a u cilju rešavanja određenog složenog problema
- Podela softvera:
SOFTVER
APLIKATIVNI office baze
podataka naučno-tehnički
programi razonoda …
SISTEMSKI
kompajleri editori linkeri za servisiranje
računara
operativni sistem
drajveri uređaja
mikro programi ugrađeni u hardver (firmware) – BIOS, …
HARDVER RAČUNAR KAO FIZIČKI UREĐAJ
3.1 OPERATIVNI SISTEM (OS)
• OS upravlja i kontroliše celokupni rad računara.
• OS obezbeđuje interfejs ka korisniku računara.
• Korišćeni OS
− Microsoft Windows,
− macOS,
− Linux OS,
− Android, … Linux
3.1.1. KLASIFIKACIJA OS
1. Prema broju programa koji može da se izvršava istovremeno:
monoprogramski (nekada) multiprogramski (danas)
2. Prema broju korisnika koji može da radi pod jednim OS:
jednokorisnički (PC) višekorisnički (serveri)
3. Prema načinu zadavanja komandi:
komandni (DOS) grafički (Windows)
4. Prema mogućnosti rada OS na različitim hardverskim konfiguracijama računara:
prenosni neprenosni
3.1.2. STRUKTURA OS
• Komponenate OS:
1. jezgro (kernel) – Predstavlja centralnu komponentu OS koja upravlja resursima sistema, tj. upravlja komunikacijom između hardverskih i softverskih komponenti. Omogućava drugim programima da se pokreću i koriste te resurse računara.
2. Ijuska (shell) – Deo OS koji obezbeđuje komandni ili grafički interfejs ka korisniku. Obezbeđuje pristup uslugama jezgra OS, zadavanjem komandi jezgru OS. Zove se lјuska, jer sakriva od korisnika detalјe o jezgru OS.
• Jezgro OS upravlja sledećim resursima računara:
1. procesorom i procesima 2. memorijom 3. ulazno-izlaznim uređajima 4. podacima, …
• Jezgro OS radi u zaštićenom režimu rada – bez direktnog uticaja korisnika.
3.1.3. UPRAVLJANJE PROCESOROM
• Program je pasivni entitet koji predstavlja sadržaj programske datoteke na hard disku.
• Proces je aktivni entitet koji predstavlja program ili deo programa koji je učitan u unutrašnju memoriju i stoji na raspolaganju procesoru radi izvršenja njegovih instrukcija.
• U unutrašnjoj memoriji se istovremeno nalazi više procesa koji naizmenično koriste uslugu procesora.
• Za vreme dok je procesor zaposlen izvršavanjem jednog od procesa, ostali procesi čekaju na izvršavanje.
• Upravljanje procesorom od strane OS podrazumeva dodelu i oduzimanje procesora procesima.
• U OS Windows aplikacija Task Manager prikazuje i nudi kontrolu nad tekućim procesima u računaru.
STANJA PROCESA
Tokom svog života proces može proći kroz 5 stanja: START, READY, RUN, WAIT, STOP
proces je pripravan i čeka u redu za
izvršenje
Pošetak novog
procesa
Dodela
procesora
proces je aktivan i izvršava se u
procesoru
proces se završio
novi proces
Oduzimanje
procesora
Završetak
procesa
izvršavanje programa za dati prekid
(štampanje)
desio se prekid procesa (npr. pojavio se zahtev za
štampu)
READY RUN
WAIT
START STOP
proces čeka izvršenje programa
za dati prekid
(štampač je slobodan?)
3.1.4. UPRAVLJANJE MEMORIJOM
• Da bi se proces formirao, a potom i izvršile njegove instrukcije u procesoru, potrebno je da se proces nalazi u unutrašnjoj memoriji računara.
• Deo OS koji nadgleda memoriju, vrši njeno zauzeće i oslobađanje za potrebe procesa naziva se memorijski menadžer ili sistem za upravljanje memorijom.
• Osnovne funkcije sistema za upravljanje memorijom su:
1. Evidencija memorije
evidencija slobodnih i zauzetih delova memorije koje procesi zauzimaju
2. Alokacija memorije
dodela memorije procesima
3. Dealokacija memorije
oduzimanje memorije završenom procesu
3.1.4.1. ALOKACIJA MEMORIJE
Vrste alokacije memorije:
1. kontinualna (nekada)
2. diskontinualna (danas)
A. DISKONTINUALNA ALOKACIJA MEMORIJE
Jedan proces se deli i smešta u više memorijskih particija.
Vrste diskontinualne alokacije:
• straničenje
− Proces se deli na fizičke celine jednakih veličina (stranice).
− Stranice se smeštaju u memorijske particije jednakih veličina (okviri).
• segmentacija
− Proces se deli na programske logičke celine nejednakih veličina (segmenti):
procedure, funkcije i dr. programski moduli različitih dužina
− Segmenti se smeštaju u memorijske particije nejednake veličine (segmenti).
B.1. METODA STRANIČENJA
− Memorija se deli na okvire fiksne veličine (0.5 KB, 8KB ili 16 KB).
− Proces se deli na stranice fiksne veličine koje odgovaraju veličini okvira memorije.
− Stranica procesa se upisuje u jedan okvir RAM memorije.
− Evidencija zauzeća memorije izvodi se pomoću tabele stranica.
Na koji način se vrši upis sadržaja stranica u odgovarajuće okvire memorije? Sadržaj stranica je adresiran logičkim adresama, a memorijske lokacije su adresirane fizičkim adresama, pa se vrši konverzija logičkih adresa procesa u fizičke adrese memorije.
…
stranica 3
stranica 4
stranica 5
stranica 6
…
stranice procesa
…
okvir 23
okvir 24
okvir 25
okvir 26
…
RAM memorija
Tabela stranica
Stranica Okvir
3 25
4 23
5 26
6 24
… …
upisivanje stranica procesa u RAM
SIMBOLIČKE ADRESE
FIZIČKE ADRESE
LOGIČKE ADRESE
Prevođenje
Povezivanje
Punjenje
Izvorni program
Program prevodilac
Izvršni program na HD
(EXE)
Program punilac
Izvršni program u
memoriji
Program u binarnom
obliku (OBJ) Dodatni moduli
(OBJ)
Program
linker
PROCES
Izvršavanje
Sistemska
biblioteka
Dinamička sistemska
biblioteka
VRSTE ADRESA
stranica 1
stranica 2
…
stranica n
okvir 1
okvir 2
…
okvir n
Konverzija logičkih adresa u fizičke adrese pri učitavanju procesa
Pri učitavanju procesa u memoriju vrši se konverzija logičkih adresa procesa (pd) u fizičke adrese (fd) memorije koristeći tabelu stranica.
• Logička adresa pd: p- redni broj stranice, d-pomeraj unutar stranice proc.
• Fizička adresa fd: f-adresa početka okvira, d-pomeraj unutar okvira memorije
stranica p d okvir f
d
p – viša reč u logičkoj adresi (redni broj stranice, bazna adresa stranice) d – pomeraj u odnosu na vrh stranice, odnosno okvira f – viša reč u fizičkoj adresi (redni broj okvira, bazna adresa okvira)
Primer alokacije
stranica 0stranica 1stranica 2stranica 3
novi procesi
lista slobodnihokvira
14
13
14
15
16
17
18
19
20
21
22
11
12
stranica 0stranica 1stranica 2stranica 3
novi procesi
lista slobodnihokvira
1413182015
13
14
15
16
17
18
19
20
21
22
11
12
stranica 1
stranica 0
stranica 2
stranica 314
13
18
20
0
1
2
3
tablica stranicaa) b)
15
Tabela stranica
memorija memorija Hard disk
slobodne lokacije u memoriji
stranice procesa
DELJENJE STRANICA
Identičnim stranicama, koje pripadaju različitim procesima, dodeljuju se isti okviri u RAMu. Ostale stranice (sa pripadajućim okvirima) su privatne i pripadaju samo datom procesu.
stranica okvir
Broj okvira
RAM Memorija
Notepad, Stranica 1 1 105 100
Notepad ,Stranica 2 2 106 101
Notepad, Stranica 3 3 109 102 2222222222222
11111111, Stranica 4 4 111 103
PROCES 1 Tabela stranica za proces 1
stranica okvir
104
105 Stranica 1
Notepad, Stranica 1 1 105 106 Stranica 2
Notepad ,Stranica 2 2 106 107
Notepad, Stranica 3 3 109 108
2222222, Stranica 4 4 102 109 Stranica 3
stranica okvir
PROCES 2 Tabela stranica za proces 2
110
111 111111111111111
Notepad, Stranica 1 1 105 112
Notepad ,Stranica 2 2 106 113
Notepad, Stranica 3 3 109 114
3333333, Stranica 4 4 115 115 3333333333333
PROCES 3 Tabela stranica za proces 3
116
Primer. Skladištenje deljenih i privatnih instrukcija i podataka u RAMu za tri Notepad pokrenuta procesa.
Proces 1 Proces 2
Proces 2 Deljene stranice
VIRTUELNA MEMORIJA
Problem: Veličina Programa > Veličina unutrašnje (operativne) memorije
Rešenje: Korišćenje virtualne memorije (VM)
Virtuelna memorija je strategija dodele memorije koja omogućava da se samo deo programa koji se izvršava nalazi u unutrašnjoj memoriji.
− Neke stranice procesa smeštaju se u unutrašnju memoriju (RAM)
− Preostale stranice procesa smeštaju se u posebno rezervisani prostor u spoljašnjoj memoriju (HD)
− Celokupni adresni prostor procesa predstavljen je virtuelnim adresama pri čemu se ne vode računa o tome da li će stranica procesa biti smeštena u unutrašnjoj ili spoljašnjoj memoriji.
− U svakom trenutku vrši se preslikavanje iz virtuelnog adresnog prostora procesa u fizički adresni prostor unutrašnje i spoljašnje memorije.
− Korisnik ima utisak da je radna memorija neograničena.
3.1.5 UPRAVLJANJE ULAZNO-IZLAZNIM UREĐAJIMA
Prenos podataka: procesor <---> U/I uređaji
U/I uređaji uvode dodatne probleme koji utiču na prenos podataka:
1. često se zaustavljaju nakon pokretanja, 2. rade na znatno manjim brzinama u odnosu na procesor, 3. brzine variraju od uređaja do uređaja, 4. prenos podataka može biti različit (npr. paralelni ili serijski)
Rešenje problema:
1. upotreba kontrolera uređaja (hardver) i 2. upotreba drajvera uređaja (softver).
Magistrala podataka
Upravljačka magistrala
generator takta
SPOLJAŠNJI UREĐAJI
Adresna magistrala
CPJ
KONTROLER UREĐAJA
Namena kontrolera: 1. upravlja radom uređaja 2. povezuje uređaj sa magistralom
Kontroler uređaja sadrži sledeće memorijske komponente: 1. registar podataka (privremeno skladišti podatke
pristigle iz procesora ili podatke koje je uređaj prikupio)
2. statusni registar (čuva podatke o tekućem stanju uređaja)
3. upravljački registar (skladišti upravljačke naredbe pristigle iz procesora)
DRAJVER UREĐAJA
- komponenta sistemskog softvera koja upravlja radom uređaja preko kontrolera
- povezuje U/I uređaj sa CPJ
- prevodi programske instrukcije procesa u komande koje U/I uređaj razume
- omogućava pisanje programa koji su nezavisni od hardvera računara
TEHNIKE U/I PRENOSA PODATAKA
USLOVNI (PROGRAMIRANI) PRENOS
Procesor ispituje status U/I uređaja tako što nadgleda statusni registar uređaja i čita jedan njegov poseban bit (zastavicu):
zastavica = 1 – uređaj nije spreman za prenos zastavica = 0 - uređaj je spreman za prenos
Ako je uređaj spreman, može da otpočne prenos podataka, inače se čeka.
TEHNIKA PREKIDA
- U/I uređaj inicira prenos podataka tako što CPU pošalje zahtev za prekidom preko linije (IRQ).
- Ukoliko je CPU spreman, šalje se signal potvrde IRQ ACK uređaju i pokreće se procedura za prenos podataka, inače se čeka da CPU postane slobodan.
- Ne postoji potreba za stalnim testiranjem statusa U/I uređaja od strane procesora.
DIREKTNI PRISTUP MEMORIJI (DMA)
Problemi pri prenosu podataka:
− Procesor se opterećuje stalnim zahtevima za U/I prenosom podataka
− Procesor se opterećuje pri prenosu većeg bloka podataka
Rešenje problema: - Oslobađanje procesora od U/I aktivnosti uvođenjem DMA kontrolera
Princip rada DMA prenosa:
1. Kada je potrebno preneti podatke sa U/I uređaja u unutrašnju memoriju ili obrnuto, CPU prepušta kontroleru DMA kontrolu nad magistralom.
2. DMA obavlja traženi prenos podataka bez učešća procesora.
3. Dok se vrši prenos podataka, CPU nastavlja da izvršava sledeće naredbe u programu.
4. Nakon završetka prenosa podataka, magistrala se ponovo vraća u posed procesoru.
3.1.6 UPRAVLJANJE PODACIMA NA SPOLJAŠNJOJ MEMORIJI
• Još jedna funkcija OS jeste upravljanje podacima koji se nalaze na spoljašnjoj memoriji (hard disku).
• Podaci se skladište na strogo organizovan način u obliku sistema datoteka.
• Sistem datoteka se sastoji iz:
− datoteka (skladište se podaci i programi) i
− direktorijuma (zaduženi su za organizaciju datoteka i čuvanje njihovih svojstava).
• Deo OS koji je zadužen za rad sa datotekama naziva se fajl sistem.
• Fajl sistem sadrži posebne sistemske datoteke (direktorijume, foldere) koje vode računa o:
− strukturi datoteka,
− imenovanju datoteka
− evidenciji datoteka,
− korišćenju datoteka
− organizaciji datoteka,
− zaštiti datoteka
− čuvanju svojstava datoteka.
Ratličiti OS imaju različite fajl sisteme.
Takođe, jedan OS može imati više varijanti fajl sistema.
Fajl sistemi OS Windows
FAT (File Allocation Table) starija verzija fajl sistema
FAT16 - 16 bita se koristi za adresiranje klastera.
- Koristio se kod: DOS, Windows 95
FAT32
- 32 bita se koristi za adresiranje klastera,
- 2TB najveća particija
- Koristi se kod: Windows 95/98/ME/XP/7/10
NTFS (New Technology File System)
- 64 bita se koristi za adresiranje klastera,
- Veličina particije skoro neograničena,
- 256 znakova za ime datoteke,
- Obezbeđuje dodatne zaštitne funkcije za podatke
- Koristi se kod: Windows NT/2000/XP/7/10,
3.1.6.1 FORMATIRANJE I PARTICIONISANJE DISKOVA
Pripreme HD za čuvanje podataka:
1. Fizičko formatiranje diska (formatiranje niskog nivoa)
• Vrši se u toku procesa proizvodnje.
• Cilj je podela diska na osnovne elemente: staze i sektore i formiranje klastera
2. Kreiranje particija (deljenje HD na delove)
• HD se deli na više logičkih delova (particija)
• OS vidi svaku particiju kao poseban disk.
• Vrste particija: primarna i proširena.
• Primarna particija (min 1, a max 4) - particija u kojoj se može instalirati OS.
• Proširena particija (min 0, max 1) - služi za skladištenje samo podataka.
• Proširena particija se može podeliti na veći broj logičkih delova (drajva).
• OS svakoj particiji i logičkom drajvu, dodeljuje po jedno slovo počevši od C (C, D,...)
3. Logičko formatiranje diska (kreira se fajl sistem, koristi se naredba format)
Program za upravljanje HD: Disc Management (Windows 10)
3.1.6.2 DATOTEKE (FAJLOVI)
Datoteka (fajl) = imenovani logički skup povezanih podataka koji reprezentuje fizički zapis podatka na HD (spoljašnjoj memoriji).
ATRIBUTI DATOTEKE
OS upravlja datotekama koristeći njihova svojstva (atribute).
U atribute datoteka spadaju:
Ime - Simboličko ime datoteke.
Tip - ukazuje na određeni tip datoteke.
Lokacija - mesto na HD gde je datoteka skladištena.
Veličina - Veličina datoteke; obično se izražava u B, kB, MB ili GB.
Vreme i datum - Zapisuje se u fazi kreiranja i poslednje promene datoteke.
Identifikacija korisnika - Datoteci se pripisuje ime korisnika računara
Zaštita - Sadrži informacije o pravu pristupa datoteci (pregled, editovanje, ..).
OPERACIJE NAD DATOTEKAMA
• Kreiranje datoteke (NEW)
• Upis u datoteku (SAVE, SAVE AS)
• Čitanje datoteke (OPEN)
• Brisanje datoteke (DELETE)
• Promena imena datoteke (RENAME)
• Kopiranje datoteke (COPY, CAT, PASTE)
• Pregled i promena svojstava datoteke (PROPERTIES)
3.1.6.3 DIREKTORIJUMI
Direktorijum je sistemska datoteka (fajl) koja opisuje datoteke i njihovu organizaciju.
U direktorijumu se čuvaju podaci o datotekama i drugim direktorijumima koji su u njima sadržani.
Direktorijumi su organizovani u SISTEM DIREKTORIJUMA.
Sistemi direktorijuma su organizovani hijerarhijski (u više nivoa), u obliku stabla.
Razlikujemo:
- koreni direktorijum (iz koga se izvode svi ostali poddirektorijumi)
To je početni direktorijum; direktorijum koji nije sadržan ni u jednom drugom; on direktno ili indirektno sadrži sve ostale direktorijume.
- sistema povezanih poddirektorijuma.
DIREKTORIJUMI U OBLIKU STABLA
korisnik1 korisnik2 korisnik3
prog1 prog2
prog data
korijen
data1 data2
prog dataprogr data
prog1 prog2
Sistem podidrektorijuma je organizovan po modelu: roditelj - deca
Dir. roditelj
Podirektorijumi direktorijuma
Podirektorijumi podirektorijuma
Direktorijum
Dir. dete
Dir. roditelj
Dir. dete
RAD SA DIREKTORIJUMIMA
Komande za rad sa direktorijumima obuhvataju:
• Kreiranje direktorijuma (NEW)
• Brisanje direktorijuma (DELETE)
• Promena imena direktorijuma (RENAME)
• Kopiranje direktorijuma (COPY, CAT, PASTE)
• Pregled i promena svojstava direktorijuma (PROPERTIES)
• Prelaz iz jednog na drugi direktorijum
• Prikazivanje sadržaja direktorijuma
Programi za rad sa direktorijumima i fajlovima
3.1.6.4 MS WINDOWS
• Grafički OS
• Verzije Windows-a:
1. Windows 3.1
2. Windows 95/98
3. Windows NT/Me/2000/2003
4. Windows XP
5. Windows Vista
6. Windows 7
7. Windows 8
8. Windows 10
Zadavanje komandi u Windows OS
1. tastatura 2. miša 3. tačped 4. tačskrin
Osnovne karakteristike Windows OS
1. Zajednički izgled svih Windows aplikacija.
2. Aplikacije se vizuelno izvršavaјu u prozoru.
3. Deljenje podataka između aplikacija pomoću Clipboard-a.
4. Nezavisnost rada OS od uređaja.
5. Višeprogramski rad (multitasking).
6. Višeprocesorski rad.
7. Klijent / server verzije OS
8. Kompaktibilnost sa aplikacijama starijeg datuma.
9. Sadrže ugrađenu plug and play tehnologiju
Elementi prozora i operacije nad njima
Elementi prozora
- naslovna linija
- statusna linija
- okvir prozora
- meni
- palete sa alatima
- radna površina prozora
- trake za skrolovanje
- dugmad za zumiranje i zatvaranje prozora
Operacija nad prozorima:
- otvaranje,
- zatvaranje,
- uvećavanje,
- smanjivanje
- pomeranje
Elementi Windows-a orjentisani ka korisniku
- desktop sa prečicama za pokretanje programa
- korpa za otpatke (Recycle Bin)
- traka sa zadacima
- start dugme
- programski meni
3.2 PROGRAMSKI JEZICI
Služe za pisanje sistemskih i aplikativnih programa. Podela:
Proceduralni programski jezici (klasični) - PPJ - Osnovni programski elementi su procedure, rutine, funkcije. - Pomoću njih se definišu sve aktivnosti u programu. - Podaci su odvojeni od funkcija - Predstavnici: C, Pascal, Fortran, Basic, Algol
Objektno-orjentisani programski jezici (napredni) - OOPJ - Programski elementi OOPJ su klase - složene programske strukture koje sadrže
zajedno podatke i funkcije za obradu tih podataka. - Klase predstavljaju korisnički tip podataka. - Koristeći ime klase mogu se kreirati objekti tipa te klase. - Pozivom funkcija članica klase mogu se zadavati i menjati osobine kreiranih objekata. - Osnovni koncepti OOPJ su: apstrakcija, enkapsulacija, nasleđivanje i polimorfizam. - Predstavnici: C++ , C#, JAVA, , ...
Problemski orijentisani jezici - POJ - Za rešavanje usko specijalizovanih problema. - Korisnik treba da samo opiše problem koji rešava, a sve ostalo se prepušta POJ-u. - Predstavnici: Matlab, Mathematica, …
3.3. EDITORI, PREVODIOCI, LINKERI, PUNIOCI
Editori
− za pisanje i editovanje softvera u odgovarajućem programskom jeziku
− u editoru su ugrađene odgovarajuće programske alatke za pisanje programa.
Prevodioci (kompajleri)
− prevode izvorni program u binarni oblik.
Linkeri
− vrše povezivanje prevedenih programskih modula i/ili odgovarajućih programskih biblioteka u jednu celinu.
Punioci (loaderi)
− učitavaju program u unutrašnju memoriju
3.5 APLIKATIVNI SOFTVER
obrada teksta (Word, KingSoft Writer, LaTex)
rad sa tabelama (Excel)
crtanje (CorelDraw, AutoCad)
obrada slika (Paint, Photoshop)
izrada prezentacija (PowerPoint, Publisher, Adobe Suite)
rad sa bazama podataka (Access, SQL, Oracle)
animacije (Adobe Flash, 3D Studio Max)
obradu zvučnih zapisa (SONY – Sound Forge, Adobe Audition)
proračuni u nauci i tehnici (Matlab, Mathematica, Maple, Aspen)
igre
virusi i antivirusni programi