Jezgro operativnog sistema
Najniži nivo, sama osnova operativnog sistema, naziva se jezgro, odnosno kernel. Svi ostali delovi operativnog sistema oslanjaju se na kernel i funkcionišu zahvaljujući njemu. Kernel se sastoji iz nekoliko delova, od kojih su najvažniji podsistemi za upravljanje [1]:
- procesima,
- memorijom,
- ulazom / izlazom,
- datotekama.
Podsistem za upravljanje procesima služi za kontrolu programa koji se izvršavaju. Današnji operativni sistemi omogućuju rad više programa istovremeno, koristeći tzv. višeprocesni rad (multitasking). Svaki program se izvršava u zasebnom procesu i, kao da to nije dovoljno, svaki program može razgranati svoje izvršavanje u više niti (threads). Zbog toga je potreban visok nivo kontrole kako bi svi programi imali pristup računarskim resursima i procesorskom vremenu. Da bi se sprečilo da neki program, greškom ili namerno, potpuno preuzme računar, koristi se tzv. preventivni višeprocesni rad (preemptive multitasking), pomoću koga operativni sistem može i nasilno prekinuti izvršavanje programa i dodeliti resurse drugom programu.[2]
U bliskoj vezi sa kontrolom procesa je i podsistem za upravljanje memorijom. Kontrolisanje paralelnog izvršavanja programa je mnogo složenije ako se ima u vidu da jedan program može prebrisati memorijski prostor koji koristi drugi program, što u najboljem slučaju dovodi do blokiranja samih programa, a u najgorem do rušenja celog operativnog sistema. Zbog toga se danas programi izvršavaju unutar zasebnih virtuelnih mašina, koje predstavljaju simulaciju „računara u računaru“. Tako je svaki program smešten u svoj „bazen sa peskom“ (sandbox) i „misli“ da je jedini koji se u tom trenutku izvršava na računaru. Na ovaj način programi su odvojeni jedan od drugog, a konfliktne zahteve za memorijom i hardverom rešava sam operativni sistem.
Podsistem za upravljanje ulaznim i izlaznim operacijama u stvari predstavlja deo operativnog sistema pomoću koga programi pristupaju periferijskim uređajima računara. Ovaj pristup omogućen je preko posebnih upravljačkih programa – drajvera.
Kompjuter koji danas nazivamo PC računarom sastavljen je od komponenti velikog broja različitih proizvođača. Programeri ne moraju da s ebrinu oko toga iz kojih delova se sastoji vaš računar, pošto operativni sistem programima pruža standardizovani interfejs za upravljanje hardverom.
Drugim rečima, ako bi program u jednom trenutku trebalo da odsvira neki zvuk, ne bi direktno pristupao zvučnoj kartici, već bi se obratio operativnom sistemu koji bi, putem drajvera za tu konkretnu zvučnu karticu, reprodukovao zvuk.
Drajvere može isporučivati proizvođač operativnog sistema ili proizvođač uređaja. Obično su drajveri koje kreira proizvođač uređaja noviji i omogućuju korišćenje punih mogućnosti uređaja, ali su takođe i više podložni greškama, koje, budući da se radi o vitalnom delu operativnog sistema, mogu veoma loše da utiču na stabilnost celog sistema.
Ovaj podsistem u sebe uključuje još jednu važnu funkciju, a to je upravljanje prekidima (interrupts). Kada određeni uređaj (ulazni, odnosno ulazno-izlazni) prosleđuje podatke računaru, to radi preko zahteva za prekidom (IRQ – interrupt request). Tada procesor, odnosno kontroler na matičnoj ploči, „obrati pažnju“ na uređaj kako bi primio podatke. Najjednostavniji primer ovakvog funkcionisanja je komunikacija tastature sa računarom.
Još jedna veoma bitna funkcija operativnog sistema jeste pristup uređajima spoljne memorije, za koji je zadužen podsistem za upravljanje datotekama (fajlovima). Ovaj podsistem se oslanja na podsistem za kontrolu ulaza/izlaza, s tim što u sebe uključuje i fajl-sistem koji vrši alociranje fajlova na konkretnom uređaju spoljne memorije.
- Stallings, W. (2009), Operating Systems: Internals and Design Principles, New Jersey: Prentice Hall
- Doeppner, T.W. (2011), Operating Systems in Depth, Hoboken: John Wiley & Sons