Za avtorja operacijskega sistema Linux velja finski študent Linus Torvalds. Leta 1991 je spisal prvo jedro operacijskega sistema, ki se zgleduje po operacijskem sistemu Unix, vendar deluje na PC-združljivih 32-bitnih procesorjih. Že od začetka je kodo operacijskega sistema Linux objavil v internetu, zaradi česar se je projektu izgradnje Linux-a pridruževalo vedno večje število programerjev. Rezultat tega razvoja, ki je skoraj izključno potekal preko omrežja internet, je današnje jedro operacijskega sistema Linux. Današnje distribucije Linux poleg jedra vključujejo še obilo druge programske opreme, namenjene upravljanju s sistemom, enostavnejšo namestitev in nadgradnjo in kopico uporabniške programske opreme.
Mejniki v razvoju jedra se označujejo z števili. Stabilne različice jedra se končujejo s sodim številom (npr. verzija 2.4), razvojne različice pa z lihim številom (verzija 2.5).
Linux je večuporabniški in večopravilni operacijski sistem. Teče na številni, zelo različni strojni opremi. Jedro je enovito, podobno kot jedro operacijskega sistema Unix. Razlog za enovito jedro so boljše performanse. Ker so celotno jedro in podatkovne strukture v enem naslovnem prostoru je število preklapljanj konteksta precej manjše.
Pri načrtovanju jedra se veliko pozornosti posveča združljivosti s specifikacijami POSIX. Standard POSIX opisuje obnašanje operacijskega sistema.
sistemski programi za upravljanje sistema | uporabniški procesi | prevajalniki |
sistemske deljene knjižnjice | ||
Linux jedro | ||
naložljivi moduli jedra |
Slika: deli Linux sistema
Linux sistem sestoji iz jedra, sistemskih knjižnjic in sistemskih orodij. Naloga jedra je abstrakcija sistema v najširšem smislu. Sistemske knjižnjice opredeljujejo standarden nabor funkcij s pomočjo katerih lahko programi vzpostavi stik z jedrom. Izvršitev sistemskega klica pomeni prenos kontrole iz nepriviligiranega uporabniškega načina dela v priviligiran sistemski način delovanja. Način prenosa je na različnih sistemih lahko izvršen različno. Hkrati knjižnjice implementirajo funkcionalnosti operacijskega sistema, ki za svoje izvrševanje ne potrebujejo polnih pooblasti.
Sistemska orodja so programi, ki opravljajo določeno opravilo. Lahko se izvršijo samo enkrat, na primer ob zagonu, ali pa tečejo v ozadju kot servisi (daemons). Sem prištevamo vse programe, ki poskrbijo za inicializacijo sistema (nalaganje modulov, konfiguracija omrežja), programe, ki tečejo celoten čas delovanja sistema in čakajo na zahteve za prijavo v sistem, vzpostavitev povezav in čakalnih vrst za tiskanje, kakor tudi enostavne programe za delo z mapami in datotekami.
Linux jedro lahko dele svoje kode po potrebi naloži ali umakne iz pomnilnika. Ti deli imenovani moduli (kernel modules) tečejo v priviligiranem načinu delovanja in imajo polen dostop do vseh virov sistema. Moduli lahko v bistvu predstavljajo karkoli, lahko je to gonilnik naprave, datotečni sistem ali omrežni protokol.
Uporaba modulov ima vsaj dve prednosti. Linux jedro je prosto dostopno, tako lahko vsak napiše npr. gonilnik za neko novo napravo, ga prevede in vključi v jedro. Prevajanje celotnega jedra ni potrebno. Prav tako omogočajo moduli zaganjanje Linux sistema z minimalno velikostjo jedra. Vsak modul se naloži po potrebi.
MS Windows XP je proizvod podjetja Microsoft in ima svoje korenine v operacijskem sistemu MS Windows NT, le-ta pa v operacijskem sistemu OS/2, ki ga je podjetje Microsoft razvijalo skupaj s podjetjem IBM sredi 80-ih let prejšnjega stoletja. V Microsoftu so se kasneje odločili pretrgati navezo z IBM-om in tako je nastal operacijski sistem Windows NT, kot prvi 32-bitni operacijski sistem tega podjetja.
Operacijski sistem Windows NT je lahko tekel na različnih platformah, v kasnejšem razvoju pa se je Microsoft osredotočil na razvoj na sistemih osnovanih na Intel mikroprocesorjih. V osnovnih načrtih naj bi osnovno okolje bilo osnovano na OS/2 API (Application Programing Interface – vmesnik za programiranje aplikacij), vendar se je kot osnova vzel Win32 API, kot odraz naraščajoče priljubljenosti takratnega 16-bitnega operacijskega sistema Microsoft Windows 3.0. Razvoj Windows NT se je nadaljeval v Windows 2000. V oktobru 2001 je Microsoft izdal Windows XP kot nadgradnjo Windows 2000 in zamenjavo za Windows 95/98 operacijska sistema.
Windows XP je večuporabniški operacijski sistem z mikrojedrom. Sistem izkorišča arhitektura odjemalec-strežnik za realizacijo različnih podsistemov (POSIX, WIN32, DOS). Obstajajo vsaj tri različice operacijskega sistema Windows XP. Windows XP Home Edition je namenjen manj zahtevnim domačim uporabnikom in je mišljen kot nadomestilo za starejše operacijske sisteme Window 95 in Windows 98, manjkajo pa mu določene zmogljivosti, ki jih vključuje Windows XP Professional. Strežniške različice Windows XP nosijo oznako Windows .NET Server in poleg vseh komponent namiznih različic sistema vključujejo še vse zmogljivosti, ki so potrebne za izvrševanje najrazličnejših storitev.
Arhitekturo Windows XP lahko prikažemo kot plasen sistem modulov kot ga prikazuje slika. Glavne plasti so HAL (Hardware Abstraction Layer), jedro in executive, ki tečejo v zaščitenem načinu delovanja. Sisteme, ki tečejo v uporabniškem načinu delovanja lahko razdelimo v dva dela. V prvo skupino se uvrščajo sistemi, ki emulirajo delovanje različnih sistemov, v drugo skupino pa sistemi, ki skrbijo za varnost. Prednost take arhitekture je v enostavnosti komunikacije med posameznimi sistemi.
Plast HAL leži med strojno opremo in ostalimi višjimi plastmi. Skrbi za abstrakcijo strojne opreme in s tem omogoča prenosljivost sistema na druge platforme.
Jedro operacijskega sistema ostaja v pomnilniku ves čas delovanja računalniškega sistema in predstavlja osnovo za delovanje executive enote. Glavne naloge so razvrščanje niti, delo s prekinitvami, obnova delovanja po prekinitvi napajanja in sinhronizacija procesorjev. Jedro je objektno orientirano.