Sistemske biblioteke

Korisnički programi komuniciraju sa operativnim sistemom putem tzv. sistemskih poziva. Sistemski poziv je potreban svaki put kada korisnički program želi da izvrši neku operaciju koja je pod kontrolom operativnog sistema. Npr. da bi se pod Windows operativnim sistemom program prikazao korisniku, potrebno je da se otvori prozor. Program ne može sam da otvori prozor na ekranu, već poziva posebnu funkciju operativnog sistema (uz zadate parametre).

Ova komunikacija se odvija preko posebnih API-ja. API (Application Programming Interface) predstavlja biblioteku funkcija, konstanti i definicija tipova preko kojih programi mogu komunicirati sa operativnim sistemom, hardverom i sl. Ove funkcije su obično grupisane prema nekom određenom zadatku kome su posvećene.

Povezivanje softvera i hardvera preko operativnog sistema

Svaki ozbiljan programski jezik namenjen pisanju programa za npr. Windows pokriva WinAPI, preko koga se obavljaju sistemski pozivi. Jedan od najpoznatijih API-ja bio bi DirectX, koji služi za programiranje igara i multimedijalnih aplikacija.

hWnd = CreateWindow( "GenericAppClass", "Generic Application", WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL, 0, 0, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); ShowWindow( hWnd, nCmdShow );

U okviru se vidi primer poziva WinAPI funkcija u jeziku C/C++ za kreiranje i prikaz prozora na ekranu. Možda vam navedeni redovi izgledaju komplikovano i zastrašujuće, ali programeri veoma cene što mogu da se oslone na Windows kako bi u svega par redova programa dobili prozor u kome se izvršava aplikacija.

Primer

Sledeći koraci opisuju redosled operacija koje se odvijaju dok radimo u programu za obradu teksta (izazvane pritiskom samo jednog tastera).

  • Pritisak tastera na tastaturi kreira signal koji se preko zahteva za prekidom prenosi računaru.
  • Podatak o pritisnutom tasteru se putem upravljačkog programa (drajvera) za tastaturu prenosi do operativnog sistema.
  • Operativni sistem kreira tzv. događaj (event), koji se preko API-ja prosleđuje aplikacijama koje su aktivne.
  • Ovakav događaj obično reguliše aplikacija koja je u prvom planu, koja onda preuzima podatak o pritisnutom tasteru i proglašava događaj rešenim (u suprotnom bi se tekst koji kucamo npr. u Word-u pojavljivao i u svim programima koji su aktivni u pozadini).

Potom sledi reakcija aplikacije na pritisnut taster.

  • Aplikacija za ispis teksta tumači podatak dobijen sa tastature kao znak koji treba ispisati.
  • Aplikacija preko API-ja prosleđuje zahtev operativnom sistemu za iscrtavanje određenog znaka u svom prozoru.
  • Operativni sistem prihvata ovaj zahtev i na osnovu ranije zadatih karakteristika prozora (font, veličina slova...) definiše sliku u memoriji (već smo pisali o tome kako računar pamti grafičke podatke), koja treba da se pojavi na određenoj poziciji na ekranu.
  • Operativni sistem se zatim obraća grafičkoj karti putem njenog drajvera i zadaje nov grafički prikaz.
  • Grafička karta formira nov prikaz ekrana u svojoj memoriji i prosleđuje ga monitoru.

Na sličan način funkcioniše sva komunikacija između korisnika i aplikacije, koju omogućuju korisnički interfejs i API operativnog sistema.

Svi elementi sajta Web'n'Study, osim onih za koje je navedeno da su u javnom vlasništvu, vlasništvo su autora i ne smeju se koristiti, u celosti ili delimično bez pismenog odobrenja autora. To uključuje tekstove, slike, ilustracije, animacije, prateći grafički materijal i programski kod.
Ovaj sajt koristi tehnologiju kolačića (cookies). Detaljnije o tome možete pročitati u tekstu o našoj politici privatnosti.