Odlomak

UVOD

Od davnina ljudi su stalno iskazivali potrebu za minimizacijom svog umnog i fizičkog rada koristeći određena pomagala, alatke i mašine. U početku su korišćena prosta oruđa napravljena sa ciljem da se olakša isključivo fizički rad. Kasnije, sa razvojem nauke i tehnike i pronalaskom specijalizovanih uređaja i mašina, stvorili su se uslovi da se rastereti i čovekov umni rad. Poslednjih sedamdeset godina intezivno se koriste razne vrste specijalnih mašina koje nazivamo računari.

Prvi računari su se pojavili kao odgovor na čovekovu težnju da se proces računanja pojednostavi, ubrza i učini tačnijim. Danas se računari koriste u gotovo svim sferama privatnog i poslovnog života ljudi. Koriste se za rešavanje širokog spektra složenih naučno-tehničkih problema (projektovanje i upravljanje procesima u industriji, saobraćaju, komunikacijama i sl.), u ekonomiji (za potrebe menadžmenta, knjigovodstva, bankarstva,…), u umetnosti i izdavaštvu (procesiranje i prelom teksta, crtanje, slikanje, sintezu, obradu i reprodukciju audio i video materijala), kao i u svakodnevnom životu (korišćenje kućnih uređaja poput radija i televizije).

Potreba za uspostavljanjem i održavanjem veza između ljudi, raznih organizacija, preduzeća i sl. predstavlja još jedan segment ljudskog interesovanja gde su računari zauzeli lidersko mesto. Upotrebom računara današnja era mobilne telefonije i intereneta podigla je nivo kvaliteta u komunikaciji omogućivši brzu i jednostavnu komunikaciju između ljudi, razmenu dokumenata i elektronske pošte, pretragu podataka, elektronsko bankarstvo i trgovinu, oglašavanje i reklamiranje i mnoštvo drugih javnih i privatnih servisa.

Svaki savremeni elektronski računar, pored svoje fizičke konstrukcije – hardvera poseduje i sistem programa – softver. Softver je niz naredbi koji je smešten u memoriji računara, izvršava se na nekom hardveru i neophodan je za svrsishodno delovanje jednog računarskog sistema. Pojam softver prvi je iskoristio John W. Tukey 1957. godine. Pojam je nastao kao analogija pojmu hardver. Na engleskom reč hardver označava čvrste, opipljive delove računara, dok je softver dobio naziv od engleske reči soft – meko.

Kritičan trenutak u razvoju softvera je softver Linus Torvalds-a studenta operativnih sistema iz Helsinkija. Linux se koristi i danas i besplatan je za sve korisnike, po odluci njegovog tvorca. Uspeh Linux-a inspirisao je proizvođače Apple, Sun, Hewlett Packard, Microsoft i druge da isporučuju programe sa otvorenim izvornim kodom.

Softver je skup raznovrsnih računarskih programa koji obavljaju različite funkcije. Svaki program je sačinjen iz niza programskih instrukcija koje su napisane sa ciljem izvršavanja određenog problema. Instrukcije se kodiraju i smeštaju u određene fajlove na hard disku.

Razvoj računarske tehnologije ne bi bio moguć bez začetka i razvoja određenih naučnih oblasti kao što su računarsko inženjerstvo, nauka o računarima i računarske tehnologije. Računarsko inženjerstvo se bavi projektovanjem i proizvodnjom fizičkih komponenti računara, nauka o računarima se bavi teorijskim aspektima arhitekture računara i računarskog softvera, dok se računarske tehnologije bave praktičnom primenom računara.

Primena sve savremenijih tehničkih sredstava, a posebno elektronskih računara za automatsku obradu podataka uslovila je razvoj još jedne naučne discipline kaja se naziva informatika.

 

 

Podela softvera

Softver ne može raditi bez hardvera, kao što hardver ne može raditi bez softvera. Na hardveru (kao što je hard disk) se nalazi softver (kao što je operativni sistem), softver upravlja hardverom. Obično, softver sa hard diska se učitava na RAM memoriju odakle se prosljeđuje procesoru koji izvšrava naredbe koje sadrži neki program (softver). Najniži nivo softvera je mašinski kod (binarni kod), najjednostavniji oblik programa koji je obično teško promjeniti. Softver se zato češće piše u programskim jezicima višeg nivoa koje ljudi mnogo bolje razumeju nego li nule i jedinice. Za prevođenje programskih naredbi se koristi kompajler koji ponovo prevodi taj kod u, najniži, mašinski kod koji računar razume (nule i jedinice).
Sve što računar radi, rezultat je sekvenci ekstremno jednostavnih aritmetičkih i logičkih operacija izvršenih velikom brzinom. Zadatak programera je da razvije instrukcije koje objedinjavaju ove operacije na upotrebljiv i odgovarajući način koji računar prepoznaje.

Algoritam je set procedura koje se izvršavaju korak po korak u cilju obavljanja nekog zadatka. Računarski program počinje sa nekim algoritmom napisanim na prirodnom jeziku, a zadatak programera je da algoritam prevede u program.

Na osnovu funkcija koje izvršava, softveri se dele na sledeće grupe:

  1. sistemski softver, koji koordinira rad hardvera i obavlja brojne operacije koje korisnici obično ne vide,
  2. aplikativni softver, koji služi kao proizvodni alat i pomaže korisnicima računara da reše određene probleme,
  3. kompajleri i drugi programi za prevođenje, koji omogućavaju programerima da kreiraju programe,
  4. drajveri i drugi uslužni programi, koji omogućavaju rad periferija računara, administraciju, održavanje i zaštitu računarskog sistema.

Da bi se olakšalo pisanje programa koji su nezavisni od hardverske platforme računara razvijeni su programski jezici višeg nivoa. Programski jezici su veštački jezici, ali kao i prirodni jezici, imaju svoju abecedu, reči, sintaksu i semantiku. Program prevodilac prilikom prevođenja vrši proveru da li je svaka naredba u programu napisana u saglasnosti sa pravilima jezika i ako nije, prijavljuje grešku. Program prevodilac ne može da otkrije greške u logici programa. U osnovne programske jezike ubrajaju se: FORTRAN, BASIC, ALGOL, PASCAL i C. Ovi programski jezici spadaju u grupu proceduralnih programskih jezika, pošto se njihov program zasniva na korišćenju procedura (funkcija, potprograma…). Naprednije verzije programskih jezika pripadaju klasi objektno orijentisanih programskih jezika. Njihov programski kod se bazira na objektno orijentisanom programiranju, koje se zasniva na upotrebi klasa iz kojih se kreiraju objekti. Objektno orijentisano programiranje poseduje osobinu koja se naziva nasleđivanje. To je tehnika kojom se izvode nove klase iz postojećih klasa. U ove jezike spadaju: C++, DELPHI, JAVA…

Programi napisani na nekom od pomenutih programskih jezika zovu se izvorni programi. Naredbe programskog jezika se formiraju koristeći reči iz rečnika programskog jezika i nazive koje programer dodeljuje memorijskim lokacijama u koje se skladište podaci sa kojima se radi u programu, a prema pravilima sintakse jezika. Naredbe se izvršavaju redosledom kojim su napisane ukoliko taj redosled nije izmenjen posebnim naredbama za izmenu toka programa.

Način na koji računar rešava neki problem potpuno je isti kao i kada bi ga samostalno rešavao čovek. Da bi se rešio neki problem primenom računara, računaru mora da se zada potpuni skup instrukcija u kome su precizno zadati svi potrebni koraci šta računar treba da uradi.

Svaka instrukcija u algoritmu se kodira sa jednom ili većim brojem naredbi datog programskog jezika. Potpun skup instrukcija u informatici se naziva algoritam. Postoje različite mogućnosti za predstavljanje algoritma, ali se on najčešće predstavlja grafički pod imenom dijagrama toka programa. U ovom dijagramu pojedine akcije predstavljene su tačno određenim grafičkim simbolima čime se osiguravaju jednostavnost, preglednost i jednoznačnost zapisa algoritma.

Da bi program napisan na nekom od programskih jezika mogao da se izvršava, neophodno je da se prevede na mašinski jezik. U te svrhe koristi se program prevodilac – kompajler. Nakon prevođenja različitih logičkih i fizičkih delova izvornog programa potrebno je ove delove povezati u jedinstven modul. To se postiže programima za povezivanje – linkerima koji prevedene delove programa i delove određenih sistemskih biblioteka spajaju u jedan modul. Tek nakon povezivanja takav program se može učitati u RAM memoriju računara pomoću programa za punjenje – loader i po potrebi se izvršava.

Prevodilac, linker i punilac povezuju simbolička imena u programu sa konkretnim memorijskim lokacijama (adresama) RAM-a na koji su fizički uskladišteni podaci.
Pri traženju grešaka u programu koristi se poseban program – debuger, za otklanjanje grešaka.

 
SISTEMSKI SOFTVER

Sistemski softver je klasa programa orijentisana na obezbeđivanje efikasnog funkcionisanja računarskog sistema i koordinisanje aktivnosti hardverskih resursa u zavisnosti od zahteva aplikativnog softvera. Uloga sistemskog softvera je da uspostavi vezu između hardvera i aplikativnog softvera. To je skup programa i rutina odgovornih za kontrolu i upravljanje uređajima i računarskim komponentama kao i za obavljanje osnovnih sistemskih radnji. Sistemski softver upravlja CPU aktivnostima i memorijom (realnom i virtuelnom), kontroliše ulaz i izlaz podataka, obezbeđuje interfejs sa fajl sistemom i sl.

Razlikuju se tri vrste sistemskog softvera:

  • operativni sistemi,
  • programi prevodioci (kompajleri),
  • utility ili uslužni programi

 

 

Operativni sistem
Generalno, ne postoji kompletna i adekvatna definicija operativnih sistema. Lakše je definisati operativne sisteme po onome što oni rade, nego po onome što oni jesu. Postoji nekoliko različitih pogleda na operativne sisteme, koji su se razvijali uporedo sa razvojem istih, u kojima je počesto prisutna analogija sa nekim generalnim sistemima kao na primer u samom društvu. Operativni sistem se može uporediti sa vladom. Komponente računarskog sistema su hardver, softver, i podaci, a operativni sistem osigurava sredstva za pravilno korištenje navedenih komponenti. Poput vlade operativni sistemi ne izvršavaju operacije radi sebe samih, nego jednostavno osiguravaju okruženje u kojem drugi programi mogu obavljati koristan posao. Operativni sistem se može videti i kao raspoređivač resursa (en. resource allocator), koji se u računarskom sistemu ponaša kao upravitelj (en. manager) kompjuterskih resursa kao što su CPU time ili ciklusi na procesoru, memorija, ulazno-izlazni uređaji itd., koje operativni sistem dodeljuje specifičnim programima i korisnicima kako bi oni obavili “koristan” posao. Naravno, postoji još mnogo različitih pogleda i intuitivnih definicija operativnih sistema, ali ona koja se najčešće koristi u računarskim naukama kaže da je operativni sistem jedan program koji se cijelo vrijeme izvršava na kompjuteru, poznatiji pod nazivom kernel, s tim da se svi ostali dijelovi softvera posmatraju kao aplikativni programi. Najpoznatiji operativni sistemi su Microsoft Windows, Linux i Mac OS.

No votes yet.
Please wait…

Prijavi se

Detalji dokumenta

Više u Informacione tehnologije

Više u Seminarski radovi

Više u Skripte

Komentari