3.1.2 Programska podrška

Programska podrška se uglavnom dijeli na sistemsku programsku podršku i korisničku programsku podršku. Sistemsku programsku podršku čini skup programa pripravljenih za prihvaćanje i izvršenje korisničkih programa. Korisničku programsku podršku čine programi za rješavanje određenog zadatka sastavljeni od korisnika računalnog sustava.

Program čini skup naredbi i podataka koji pobliže označavaju postupak riješavanja određenog zadatka. Kako temeljnu jedinicu za prikaz informacija digitalnog sustava predstavljaju binarne znamenke čije su vrijednosti 0 ili 1, programi i podaci se izražavaju znamenkama binarnog sustava. Programi pisani pomoću binarnih znamenaka 0 i 1 nazivaju se programima pisanim strojnim jezikom. Na toj razini programiranja naredbe, npr., za zbrajanje (ADD - zbroji) ili oduzimanje (SUB - oduzmi), su zapisane jedinstvenim uzorkom binarnih znamenaka koji sklopovlje digitalnog računala prepoznaje i neposredno izvodi. Pisanje programa naredbama strojnog jezika pomoću odgovarajućeg niza binarnih znamenaka je zamorno i sklono pravljenju pogrešaka. Uz to programer mora dobro poznavati građu digitalnog računala, budući su naredbe strojnog jezika prilagođene njihovom izvođenju na određenoj arhitekturi računala.

Teškoće programiranja strojnim jezikom se umanjuju kada se umjesto binarnih znamenaka 0 i 1 za pisanje programa koriste nazivi, simboli koji se lako pamte, mnemonici, kao ADD za zbrajanje ili SUB za oduzimanje. Programiranje na simboličkoj razini se naziva programiranje mnemoničkim jezikom ili asemblerskim jezikom. Naredbe pisane mnemoničkim jezikom jednoznačno su združene s naredbama pisanim strojnim jezikom. I kod pisanja programa mnemoničkim jezikom programer mora dobro poznavati građu digitalnog računala. Za prevođenje programa pisanih mnemoničkim jezikom u programe izražene strojnim jezikom služi program za prevođenje asembler. Kada se asembler izvodi na računalu za kojeg stvara strojni kod, asembler se naziva rezidentnim asemblerom. Kada se asembler izvodi za stvaranje strojnog koda na drugom računalu, asembler se naziva križnim (cross) asemblerom.

Premda pisanje programa mnemoničkim jezikom predstavlja napredak u odnosu na pisanje programa strojnim jezikom, još uvijek predstavlja računalu usmjereni način programiranja, tj. program napisan mnemoničkim jezikom za jedno računalo ne može se izvoditi na drugom računalu. Strojni i mnemonički jezici se nazivaju nižim programskim jezicima. Za razliku od programa pisanih u nižim programskim jezicima, programi pisani u višim programskim jezicima, npr., C, C++, Pascal, Fortran, BASIC, LISP, Prolog, mogu se izvoditi na praktički bilo kojem računalu. Viši programski jezici su problemski usmjereni jezici koji dozvoljavaju pisanje programa načinom bliskim izražavanju problema prirodnim jezikom. Pojedina naredba pisana u višem programskom jeziku prilikom prevođenja raščlanjuje se na više neposredno izvedivih strojnih naredbi.

Postoje dva načina prevođenja programa pisanog višim programskim jezikom u program izražen strojnim jezikom. Kada se pojedina naredba programa pisanog višim jezikom izvodi neposredno poslije prevođenja u odgovarajući skup naredbi strojnog jezika, sustav se ponaša kao jezični tumač (interpreter). Primjeri jezičnih tumača su programi za tumačenje upravljačkih naredbi sistemskih programa digitalnog računala. Kada se sve naredbe programa pisanog višim jezikom prevode u odgovarajući skup naredbi strojnog jezika, a tek potom pokreće njihovo izvođenje sustav se ponaša kao jezični prevoditelj (compiler). Nakon uspješnog prevođenja, program se može izvoditi koliko se puta želi bez potrebe ponovnog prevođenja. Suvremene više programske jezike moguće je prevoditi primjenom jezičnog prevoditelja, npr. C, Pascal, Fortran.

Poslove odabira jezičnog prevoditelja ili asemblera za prevođenje danog programa u strojni jezik, pokretanje i zaustavljanje izvođenja programa te gospodarenja različitim sredstvima računala izvodi skup sistemskih programa nazvan operacijskim sustavom digitalnog računala. Operacijski sustav gospodari sklopovljem, programskom podrškom i izmjenom podataka između računala i korisnika. Operacijski sustav čini niz programskih slojeva nad sklopovljem koji oslobađaju programera i korisnika od poslova neposrednog podržavanja i rukovanja sklopovljem, te se oni mogu posvetiti programima i podacima. Operacijski sustav se projektira za određenu računalnu arhitekturu, što znači da se svaki operacijski sustav ne može koristiti na svakom mikro, mini ili velikom računalu. Primjer operacijskog sustava raspoloživog i na mikro, mini i velikim računalima jest UNIX.

povratak