Sistemska programska oprema

 

Najpogostejše orodje običajnega uporabnika sodobnih računalnikov je miška, saj z njo poganja programe. Dvo-klik na izbrano ikono in že se pred njim pojavi želeni program. Čudenje nad delujočimi funkcijami in razburjanje zaradi nedelujočih, to je njegov domet.

Malo izkušenejši uporabnik ve, da se za vsakim programom skriva programska koda: spremenljivke, funkcije, razredi, metode, klici, zanke, pogoji, ... Ve, da mora, preden omenjeni programski konstrukti "zaživijo", svojo vlogo opraviti prevajalnik oziroma, da se mora z njimi ukvarjati interpreter. Tudi to ve, da morata prevajalnik in interpreter programsko kodo, ki je danes običajno napisana v človeku razumljivih in dopadljivih oblikah, primerno obdelati, preden jo lahko procesor dejansko izvede. Tu pa se zgodba tudi za malo izkušenejšega uporabnika zaključi.

Le tisti najbolj zagnani računalničarji pa vejo, da se s programom od trenutka, ko je napisan, pa do trenutka, ko se dejansko začne izvajati, zgodi še marsikaj zanimivega. Svoje delo morajo med drugim opraviti zbirnik, povezovalnik in nalagalnik. Ali veste, kakšna je vloga zbirnika, katere naloge opravi in kako se posamezni zbirniki med seboj razlikujejo? Ali veste, zakaj program po zbiranju še ni pripravljen za izvajanje? Vas zanima, kaj vse se zgodi od miškinega klika do dejanskega zagona programa? Bi radi izvedeli, kakšne so razlike med "klasičnim" statičnim izvajanjem programov in izvajanjem v dinamičnem okolju (na primer z Javo)?

Če ste radovedne sorte in se boste pridružili predmetu Sistemska programska oprema, boste poleg odgovorov na zgornja vprašanja spoznali tudi nekatere druge sistemske programe, brskali po različnih formatih (binarnih in tekstovnih) sistemskih datotek in odkrivali globine delovanja sodobnih računalnikov.



Predmet SIstemska programska oprema pokriva naslednja področja:

  1. osnova zbirnih in strojnih jezikov;
  2. vsebina in organizacija  objektnih datotek;
  3. zbirnik, nalagalnik in povezovalnik;
  4. statično in dinamično povezovanje
  5. makro procesorji;
  6. sistemski klici in prekinitve;
  7. implementacija vhoda in izhoda ter orodja datotečnega sistema;
  8. upravljanje s pomnilnikom
  9. razhroščevalniki;
  10. jedro operacijskega sistema Linux;
  11. navidezni stroji.


Izvajalci

doc.dr. Tomaž Dobravec

Šifra predmeta

63264

Kreditne točke

6