Linux je ime raunarskog operativnog sistema koje je dobio po izvornom autoru Linusu Torvaldsu. Linus Torvalds je napravio svoje jezgro operativnog sistema koristei SunOS, danas pod nazivom Solaris.
This document provides a summary of SQL commands and functions:
- It outlines common SQL statements like SELECT, WHERE, ORDER BY, INSERT, UPDATE, DELETE and JOINs.
- It also describes aggregate functions such as COUNT, AVG, MIN, MAX, SUM that perform calculations on data sets.
- GROUP BY is explained as a way to group rows based on common attributes, and HAVING can be used to filter groups.
- Examples are provided for each concept to illustrate their usage in queries on database tables.
The full document contains detailed explanations and syntax examples of core SQL statements and functions for querying and managing data in relational database systems.
Dokument opisuje razliite metode pristupa raunarskim mre転ama, ukljuujui vi邸estruki pristup sa oslu邸kivanjem i izbegavanjem kolizije, token ring metodu, te metodu prioriteta. Detaljno su obja邸njene faze kao 邸to su oslu邸kivanje i otkrivanje sukoba, kao i struktura paketa koji se prenose kroz mre転u. Svaka metoda pru転a re邸enja za probleme kolizije i efektivno upravljanje podacima u mre転noj komunikaciji.
Dobra prezentacija kao osnova za dobro predavanje za inf14Dejan Stancic
油
Ad
Os ideo
2. Aplikativni
program je
namenjen re邸avanju
konkretnih
problema korisnika
i izradjuje ih sam
korisnik
(programer)
Sistemski softver je op邸ti naziv za svaki raunarski program koji je
namenjen da omogui raunaru samo pokretanje i izvr邸avanje osnovnih
funkcija.
Sistemski softver je zadu転an za upravljanje pojedinanim hardverskim
delovima. Sistemski softver izvr邸ava zadatke kao 邸to je prijenos podataka
sa memorije na disk, ispisivanja teksta na ekranu i tako dalje.
Sistemski softveri su:
Operativni sistemi
Drajveri
Programski alati
Kompajleri
Asembleri
3. Pod pojmom raunarski resursi podrazumevamo
SVE TO JE PROGRAMU POTREBNO ZA RAD.
HARDVERSKI resursi
procesori, operativna memorija, ulazno/izlazni ureaji, ...
SOFTVERSKI resursi
programi, podaci (fajlovi),...
4. User 1 User 2 User n
Compile Text processor Database system
System and Application Programs
Operating System
Hardware
OS (operativni sistem) je skup sistemskih
programa koji slu転i za upravljanje raunarskim
resursima i obezbeuju interfejs ka korisniku.
5. Operativni sistem je obezbeuje kori邸enje HARDVERA.
Hardver raunara predstavlja sirovu raunarsku snagu, a
zadatak OS je da hardverske mogunosti uini dostupnim i
udobnim za korisnika.
Dizajn i izrada OS je usko povezana sa hardverom kao
osnovom na kojoj se operativni sistem izgrauje, pa zato
proizvoai hardvera esto i proizvode operativne sisteme.
Korisnik vidi OS preko jezika OS (komandni jezik, kontrolno-
upravljaki jezik), a veina poslova koje obavlja OS za korisnika je
nevidljiva, tj. on o njima ne mora voditi rauna niti ih poznavati.
6. Operativni sistem ine :
o KERNEL (jezgro) program koji obavlja osnovne funkcije OS i
uvek se nalazi u memoriji.
o Skup uslu転nih sistemskih programa.
o SHELL (邸koljka) komandni ili grafiki korisniki interfejs (GUI)
prema funkcijama OS.
Prema dana邸njim shvatanjima operativni sistem obuhvata sve ovo i jo邸:
luksuzan GUI
skup uslu転nih aplikativnih programa
programi za Internet usluge
...
Dakle sve ono 邸to proizvoa isporui pod tim nazivom,...
7. Najni転i nivo svakog operativnog sistema je kernel (jezgro)
Kernel je prvi sloj softvera koji se uitava u raunarsku
memoriju pri pokretanju.
Kao prvi softverski sloj, on obezbeuje svom ostalom
softveru koji se potom uita u operativnu memoriju,
zajednike usluge jezgra.
Osnovne zajednike usluge koje pru転a jezgro su:
pristup diskovima,
upravljanje memorijom,
upravljanje procesima
pristup ostalim raunarskim ureajima.
8. Programi meusobno komuniciraju kroz aplikativni
programski interfejs (API), slino kao 邸to ljudi sa
raunarom komuniciraju kroz korisniki interfejs.
Ovo posebno va転i u komunikaciji izmeu korisnikih
programa i operativnog sistema.
Zajednikim uslugama jezgra operativnog sistema
korisniki programi pristupaju kroz API. Time
operativni sistem omoguuje komunikaciju
izmeu softvera i hardvera, to jest, programa i
ureaja.
9. Karakteristike OS su osobine koje OS ispoljava pri
upotrebi.
Neke od osnovnih osobina su:
o Paralelizam istovremenost (Concurrency)
o Deljenje resursa (Sharing).
o Pouzdanost (Reliability)
o Sigurnost (Security)
o Upotrebljivost (Usability)
o Modularnost (Modularity)
10. o Paralelizam
Paralelizam u radu podrazumeva uporedno odvijanje
vi邸e procesa u raunarskom sistemu. Ovu karakteristiku
poseduju oni OS koji su u stanju da odjednom zaponu
re邸avanje vi邸e zadataka i omogue njihovo istovremeno
odvijanje.
Sa strane korisnika, izvr邸ava se vi邸e programa
istovremeno, ali sa interne strane raunarskog sistema
(procesora) u datom trenutku izvr邸ava se tano jedan
proces.
(proces je programa u stanju izvr邸avanja)
11. Deljenje resursa (Sharing).
Deljenje resursa posledica je paralelizma koji postoji u
raunarskom sistemu. Razume se, deliti se mogu samo
resursi kojima to njihova konstrukcija dopu邸ta.
Ureaji mogu biti:
- deljivi (sharable) kao npr. operativna memorija jer mo転e vi邸e procesa
istovremeno da bude sme邸teno u njoj;
- nedeljivi (nonsharable) kao npr. disk jer ne mo転e vi邸e procesa da
istovremeno pristupa disku (ali nijedan proces ne dr転i disk sve vreme
izvr邸avanja nego izmeu dva uzastopna pristupa istog procesa mo転e biti
proizvoljan broj pristupa drugih procesa) i
- monopolski (dedicated) su takoe nedeljivi, ali kod njih izmeu
uzastopnih pristupa jednog procesa ne sme biti pristupa drugih procesa (npr.
tampa, Skener, ...), tj. oni se ne oslobaaju dok proces sa njima ne zavr邸i.
12. Pouzdanost (Reliability)
Pouzdanost je karakteristika OS koja govori o uestalosti
gre邸aka ili zastoja. Pouzdanost sistema zavisi ne samo od
operativnog sistema, ve i od spolja邸njih dogaaja i zahteva
poput: re転ima kori邸enja, konfiguracije sistema, zahteva
korisnika i slino.
Nprimer kod nekih real time sistema neophodno je obezbediti
neprekidno pouzdano funkcionisanje bez havarijskih situacija ili
prekidanje kontrole pri otkazu pojedinih ureaja.
13. Sigurnost (Security)
Sigurnost sistema je osobina koja omoguava OS
da za邸titi od neovla邸enog pristupa one delove u
raunarskom sistemu koje korisnik 転eli da za邸titi.
Naje邸e se radi o za邸titi podataka i programa.
Operativni sistem mora da za邸titi i samog sebe od
ostalih programa u sistemu.
14. Upotrebljivost (Usability)
Upotrebljivost je karakteristika koja podrazumeva da se
funkcije operativnog sistema moraju 邸to jednostavnije
koristiti.To se pre svega odnosi na komunikaciju izmeu
OS i korisnika, odnosno na kontrolno upravljaki jezik.
Meutim, pod upotrebljivo邸u OS podrazumevamo i druge
aspekte kori邸enja kao 邸to su: podr転avanje raznih re転ima
rada, mogunost izvr邸enja vi邸e programa, razliite
mogunosti pristupa i slino.
15. Modularnost (Modularity)
Modularnost je karakteristika koja ukazuje na
modularan pristup izgradnji samog operativnog sistema.
OS je NAPRAVLJEN (programiran) od delova MODULA
Ova karakteristika omoguava proizvoau da ga
modifikuje u delovima koje treba ili 転eli da promeni, a da
se pri tom ne menja itav sistem, a takoe i samom
korisniku da ga nadograuje.
16. Funkcije sistema su zadaci koje sistem mora da
realizuje.
OS su napravljeni (programirani) tako da predstavljaju skup modula.
Modul je posebna programska celina koja realizuje
jednu funkciju OS.
Pojedini moduli mogu funkcionisati nezavisno jedan
od drugog, ali i pozivati jedan drugog.
Funkcije modula se nadovezuju jedna na
drugu, a obino postoji modul koji
koordinira akcije svih ostalih.
17. Osnovne funkcije koje moraju biti re邸ene u svakom OS su
funkcije upravljanja resursima:
Upravljanje procesorima
Upravljanje operativnom memorijom
Upravljanje perifernim ureajima
Upravljanje podacima
18. Upravljanje procesorima
Radi sledee:
odluuje kojem procesu e dodeliti procesor za
izvr邸avanje
koliko dugo sme proces dr転ati procesor,
koliko procesa mo転e konkurisati za procesor i sl.
19. Upravljanje operativnom memorijom
Je ve転ano za efikasno kori邸enje operativne memorije.
Ono je neraskidivo vezano sa dodelom procesora i
upravljanjem perifernim ureajima.
20. Upravljanje perifernim ureajima
odnosi se na celokupan rad oko ulaznih, odnosno izlaznih
ureaja od njihovog dodeljivanja do izvr邸avanja zahteva
sa pojedinim ulazno/izlaznim operacijama.
Upravljanje podacima
odnosi se na rukovanje podacima na spolja邸njim memorijama :
nain sme邸tanja na eksterne memorije,
pristup podacima,
upisivanje i itanje podataka iz datoteka,
kreiranje, odr転avanje i brisanje datoteka,
upravljanje eksternim memorijama i drugo.
21. Zajedniko za module koji realizuju navedene
funkcije OS je:
voenje evidencije o resursu
dono邸enje odluke o dodeli resursa
alokaciju (zauzimanje) resursa i
dealokaciju (oslobaanje) resursa
22. Da bi realizovao upravljanje raunarskim resursima OS
koristi razne hardverske komponente raunarskog sistema.
Najva転nije od njih su:
kontroleri ulazno/izlaznih ureaja
sistem prekida
asovnik realnog vremena
privilegovan nain rada.
23. Kontroleri ulazno/izlaznih ureaja :
OS koristi kontrolere ulazno/izlaznih ureaja da bi realizovao I/O
operacije za korisnika. Kontroleri mogu biti:
- obini ( prenos podataka sa memorijom se obavlja preko procesora)
- sa direktnim pristupom memoriji DMA (prenos podataka sa
memorijom zaobilazi procesor i vr邸i se preko DMA sklopa i njenog
izdvojenog kanala za prenos.
Kanal (channel) ima mogunost direktnog pristupa memoriji sa jedne strane, a sa
druge je prikljuen na kontrolnu jedinicu (DMA) na koju mo転e biti prikljueno
vi邸e I/O ureaja.
Kanala, naravno, mo転e biti vi邸e u sistemu, a dele se na dve vrste: selektorski (rade
sa brzim jedinicama, tj. eksternim memorijama, i selektuju jednu od jedinica koju
zatim poslu転uju u odreenom vremenskom intervalu) i multiplekserski (rade sa
sporim jedinicama, npr. 邸tampaima, ali mogu simultano da poslu転uju vi邸e
jedinica).
24. Prekidi:
OS reaguje na prekide (interrupts).
Obrada prekida su sastavni deo OS, tj. jezgra (potrebni
su samo delovi u jezgru jer deo prekida mo転e obraditi
proces ili ak korisniki program; meutim, neki delovi se i
neophodno nalaze u jezgru jer mora neko da "aktivira"
proces).
25. asovnik:
(ekanje)
To je zapravo jedan obian programabilan broja u koji se
upisuje vrednost, a zatim (nezavisno od CPU)
dekrementira i pri dolasku na nulu izazove prekid.
Postoji i re邸enje da asovnik bude sastavni deo CPU.
26. Privilegovani re転im rada:
OS radi u sistemskom - privilegovanom re転imu rada (sve
naredbe izvr邸ive), a
korisniki procesi se izvr邸avaju u korisnikom
(neprivilegovanom) re転imu rada. Tu se neke naredbe ne
izvr邸avaju (npr. za promenu re転ima rada, za rad sa
privilegovanim registrima, za I/O...) jer bi inae OS mogao
ostati bez "kontrole".
27. Postoje brojne podele operativnih sistema na osnovu razliitih kriterijuma:
prema broju korisnika i/ili procesa, prema nainu obrade poslova, prema
distribuciji procesorske snage i ostalih resursa, prema nameni i funkcionalnim
osobinama.
Monokorisniki (single user):
ine najjednostavniju klasu OS, to su OS za raunare sa
samo jednim korisnikom na kojima se u datom trenutku
izvr邸ava samo jedan program (npr. MS-DOS)
Multikorisniki monoprogramski:
U takvim OS vi邸e korisnika koristi usluge istog programa
(npr. bankarski sistemi, rezervacija avionskih karata...).
28. Multikorisniki multiprogramski:
To je najop邸tija klasa OS. U takvim OS razliiti korisnici
izvr邸avaju razliite programe. Izvr邸avanje je konkurentno
(kvaziparalelno). Znai, vi邸e programa je istovremeno
prisutno u memoriji. Multiprogramski OS je uvek
multiprocesni jer se za svaki program koji uestvuje u
multiprogramskom re転imu rada formira bar jedan proces.
Nasuprot tome, monoprogramski sistem ne mora biti
monoprocesni jer se program mo転e razbiti na delove i za
svaki od tih delova formirati proces. Zbog toga se
pojavljuju i
Monokorisniki multiprocesni OS.
29. Multiprogramiranje
je uvedeno da bi se poveala iskori邸enost resursa, a time i
celog raunarskog sistema.
Su邸tina multiprogramskog rada obuhvata paraleni rad
periferijskih ureaja i procesora (centralnog, tj. CPU). Ideja je
da se CPU dodeli drugom programu (procesu) dok
periferijska jedinica radi za neki program (proces), tj. dok on
eka na I/O. Time mo転emo jedan program da paralelizujemo
u vi邸e procesa i izvr邸avanje e se ubrzati (ukupno vreme e
biti manje) jer dok jedan proces (deo programa) eka, drugi
proces se izvr邸ava. Npr. dok korisnik unosi znake sa tastature
(prilino sporo u odnosu na operacije sa diskom), mo転e se,
pri ekanju da znak bude pritisnut, CPU koristiti za, recimo,
itanje ili pisanje u cilju ke邸iranja diska.
30. Savremeni OS su u velikom broju sluajeva sistemi sa
raspodeljenim vremenom (time-sharing).
To se odnosi prvenstveno na multiprogramske sisteme. Da
jedan program (odnosno jedan korisnik), ne bi uzurpirali
procesor predvieno je kvantovanje, tj. raspodela vremena:
svakom programu, tj. procesu se dodeljuje kvant vremena.
Kada on istekne procesor se dodeljuje drugom procesu.
Ovo se realizuje kori邸enjem posebnog intervalnog asovnika
u koji se upisuje kvant vremena kada proces dobije CPU. Dok
se proces izvr邸ava, asovnik se autonomno dekrementira dok
ne doe na nulu. Tada se generi邸e prekid. OS zatim dodeljuje
CPU drugom procesu. Savremeni sistemi raspodeljenog
vremena su po pravilu multiprogramski, odnosno
multiprocesni.
31. OS u realnom vremenu
Kod ovih sistema zahteva se reakcija u nekom fiksiranom
vremenskom intervalu. U suprotnom sluaju mogu biti
izgubljeni neki vitalni podaci i nastati katastrofalne posledice.
To su uglavnom sistemi koji upravljaju procesima ili
ma邸inama, pa je vremenski interval odgovora odreen
karakteristikama procesa, odnosno ma邸ine. Dakle, zahteva se
reakcija u zadatom intervalu koji ne mora uvek biti tako mali.
Veinom su to namenski (dedicated) sistemi. De邸ava se esto
da nemaju diskove nego podatke uzimaju sa mernih
ureaja. Npr. upravljanje raketama je jedan takav sistem.
32. Mre転ni operativn isistemi
Mre転ne operativne sisteme karakteri邸u raunari povezani u
mre転u. Ovi raunari zadr転avaju relativno visok stepen
autonomije svaki raunar ima svoj operativni sistem a u
mogunosti su da meusobno razmenjuju podatke pomou
odgovarajuih protokola. Operativni sistemi mogu biti
razliiti, potreban je samo zajedniki protokol, tj. zajedniki
jezik za komunikaciju. Korisnik jednog raunara mo転e se
prijaviti na drugi, preuzeti neke datoteke itd. Korisnik zna da
nije sam u mre転i, tj. svestan je razliitih raunara s kojima
komunicira preko mre転e.
.
33. Distributivni operativn isistemi
su mnogo ozbiljnija varijanta u mre転nom okru転enju, zato 邸to osim
deljenja i migracije datoteka i 邸tampaa omoguavaju i deljenje
procesa, tj. programa. Korisnici ovaj sistem vide kao
jednoprocesorski sistem, ali se, u stvari, radi o operativnom
sistemu namenjenom za rad s vi邸e procesora koji su fleksibilno
povezani preko mre転e. To znai da postoji vi邸e raunara povezanih
u mre転u, ali samo jedan operativni sistem, upravlja svim resursima
u mre転i. U pravom distribuiranom sistemu, korisnik ne treba da
vodi rauna o tome gde su sme邸tene njegove datoteke ili gde se
izvr邸ava njegov program to je posao distribuiranog operativnog
sistema. Distribuirani operativni sistem se, dakle, pona邸a kao
jedinstvena celina. Korisnik ne mora znati da je umre転en s drugim
raunarima on ceo sistem vidi kao jedan raunar.
34. Da bi se upravljalo slo転eno邸u operativnih sistema i da bi se omoguilo
njihovo br転e projektovanje, lak邸e modifikovanje i nadogradnja, bilo je
neophodno dobro osmisliti strukturu softvera. Kori邸enje modularnog
pristupa kod OS iji kodovi imaju vi邸e miliona instrukcija nije bilo dovoljno,
pa su moduli grupisani u hijerarhijske nivoe. Generalno, mo転emo rei da
jednostavni operativni sistemi mogu imati monolitnu strukturu, a vei
slojevitu hijerarhijsku realizaciju.
Monolitni sistemi
Jednostavni mali OS imaju monolitnu strukturu, tj.
predstavljaju skup programa koje poziva korisniki program
i koji se meusobno pozivaju, bez ikakvih ogranienja.
Korisniki programi upotrebljavaju servise operativnog sistema na sledei nain: parametri
sistemskog poziva se sme邸taju na odreena mesta, kao 邸to su registri procesora ili stek, nakon ega
sledi pozivanje jezgra operativnog sistema. Ova operacija prebacuje procesor iz korisnikog re転ima
rada u sistemski re転im rada i kontrolu predaje operativnom sistemu. U sistemskom re転imu rada
dostupne su privilegovane komande kojima se ne mo転e pristupiti iz korisnikog re転ima. Posle
pozivanja jezgra, operativni sistem preuzima kontrolu i na osnovu parametara poziva odreuje
koju sistemsku proceduru treba pozvati. Nakon izvr邸enja procedure, kontrola se vraa
korisnikom programu.
35. Slojevita (hijerarhijska) realizacija
Za vee OS takva struktura je nepogodna, pa se preporuuje
slojevita struktura. Programi su grupisani u slojeve i
numerisani 0, 1, 2... Pritom, moduli sa sloja n pozivaju samo
module sa sloja n-1 (postoje i odstupanja, ali se trudi da ih
bude malo).
Primer 1: 5-fajl sistem, 4-upravljanje I/O ureajima, 3-gornji nivo upravljanja
procesima, 2-upravljanje operativnom memorijom, 1-donji nivo upravljanja
procesima, 0-hardver. Iznad vrha ovoga su korisniki programi. Sve se ovo zove
jezgro OS (kernel).
Primer 2: 4-file system, 3-upravljanje I/O ureajima, 2-upravljanje memorijom, 1-
kernel (upravljanje procesima), 0-hardver. U najjednostavnijoj varijanti jezgro OS
sadr転i samo module koji upravljaju procesima. Nije svejedno 邸ta je u jezgru jer, po
pravilu, programi jezgra rade u privilegovanom dok svi ostali programi rade u
korisnikom (neprivilegovanom) re転imu.
36. Klijent-server struktura
Trei, najnoviji, pristup je klijent-server koncepcija. Funkcije OS realizuju
se pomou procesa koji se nazivaju serveri, a korisniki programi su
klijenti (pozivaju te funkcije i dobijaju rezultate). Jezgro pritom slu転i samo
za organizaciju komunikacija izmeu klijenata i servera. Dakle, OS se deli
u celine od kojih svaka servisira neku funkciju sistema kao npr. fajl
servisi, terminal servisi ili memorijski servisi
Prednosti: ovakvog pristupa su: modularnost (npr, gre邸ka u fajl serveru
onemoguava samo funkcije fajl servera, a ostatak operativnog sistema
radi normalno), prilagodljivost distribuiranim sistemima (servisi mogu
da budu obezbeeni na udaljenim raunarima) i mogunost da se koriste
podsistemi okru転enja (tako npr. Windows 2000 mo転e da izvr邸ava
aplikacije napisane za druge OS).
.