Jedro (Linux)

Iz MaFiRaWiki

(Preusmerjeno iz Delovanje jedra)

Jedro operacijskega sistema je ogrodje, v katerem tečejo drugi programi. Ti se z jedrom sporazumevajo preko sistemskih klicev. Na primer: naše ukaze s tipkovnice prebere, raztolmači in prevede v sistemske klice program, ki se imenuje ukazna lupina. Jedro Linuxa je večinoma napisano v programskem jeziku C.

Podrobneje

Ko vklopimo računalnik, se začne samodejno izvajati program na določenem naslovu v trajnem pomnilniku. Tam je preprost program, ki se imenuje BIOS (Basic Input Output System) ali osnovni vhodno-izhodni sistem. BIOS ne zna kaj dosti več od tega, da preveri, ali sta priključena tipkovnica in disk. Na prvem disku, ki ga najde, poskuša na vnaprej določenem mestu najti zagonski nalagalnik (boot loader). V Linuxu prevladujeta dva zagonska nalagalnika

  • GRUB (Grand Unified Bootloader) in
  • LILO (Linux Loader).

Ko se naloži v pomnilnik, se začne nalaganje operacijskega sistema.


Ko je jedro naloženo, se najprej loti natančnejšega evidentiranja priključenih naprav. Pogleda tisti del naslovnega prostora, ki se imenuje vhodno-izhodna vrata (I/O port). To stopnjo lahko opazujemo ob zagonu, ko jedro sproti izpisuje na zaslon, katere naprave je našlo.


Naslednja stopnja je priklop diskov (mount). Vsako napravo moramo v Linuxu priklopiti, preden jo začnemo uporabljati.


Do tu je Linux tekel kot enoopravilni sistem. Edini proces, ki je tekel, je bilo jedro. Zdaj požene specializirane strežniške procese (daemon). To so programi, ki tečejo, ne da bi karkoli brali s tikovnice ali pisali na zaslon.


Večopravilnost prinaša dve težavi: procese moramo med seboj ločiti tako v času kot prostoru. Pravično dodeljevanje procesorskega časa je ena od nalog jedra. Del jedra, ki skrbi za to, se imenuje časovni razporejevalnik (scheduler).

Vsak proces potrebuje v pomnilniku dva dela:

  • del, v katerem so shranjeni v strojnem jeziku procesorja zapisani ukazi programa. To je programski segment. Iz njega je dovoljeno le brati, ne smemo pa ga spremenjati.
  • del za podatke. Imenuje se podatkovni segment. Ta je na voljo za branje in pisanje.

Procesi si programski segment lahko delijo, podatkovnega pa ne. Tako jedro prihrani nekaj prostora v pomnilniku.

Osebna orodja