“ God looked over everything he had made, and saw that it was very good. ” (Genesis 1:31)
Acest capitol ofera o vedere de ansamblu a sistemului Linux. In primul rand sunt descrise serviciile majore oferite de SO. Apoi, programele care implementeaza aceste servicii sunt descrise cu o mare lipsa de detalii. Scopul acestui capitol este de a intelege sistemul ca un intreg, iar fiecare parte este descrisa in detaliu il alta parte.
Un SO UNIX consta dintr-un kernel si cateva programe de sistem (system programs). Kernel-ul este inima SO. [1] El tine urma fisierelor pe disk, porneste programe si le ruleaza in paralel, atribuie memorie si alte resurse diferitelor procese, primeste pachete de pe si le trimite pe retea. Kernel-ul face putine de unul singur, dar furnizeaza suportul necesar pentru toate serviciile. Previne pe oricine sa acceseze hardul direct, obligand pe toti sa utilizeze interfata pe care o furnizeaza. Astfel, kernel-ul ii protejeaza pe utilizatori unul fata de celalalt. Interfata oferita de nucleu este accesata prin system calls; vezi a doua sectiune pentru informatii in plus.
Programele sistem folosesc interfata oferita de nucleu pentru a implementa diverse servicii care sunt cerute unui SO. Programele sistem, asemenea celorlalte programe, ruleaza `deasupra kernel-ului', in ceea ce se numeste user mode. Diferenta dintre programele de sistem si aplicatii este una de intentie: aplicatiile trebuie sa indeplineasca treburi folositoare (sau sunt jocuri), in timp ce programele sistem sunt necesare pentru functionarea sistemului. Un procesor de texte este o aplicatie; Comanda telnet este un prorgam de sistem. Diferenta dintre ele nu e tocmai clara, dar e importanta doar pentru o categorisire exhaustiva.
Un SO paote sa contina compilatoare si librariile corespunzatoare lor (GCC si libraria C in special pe Linux), desi nu toate limbajele de programare trebuie sa fie parte a SO. Documentatia si eventual jocurile, pot fi parti ale SO. Initial, SO fusese definit drept continutul casetelor sau discurilor de instalare; la Linux nu e atat de clar, deoarece este imprastiat pe multe servere FTP in lume.
[1] | De fapt, este de multe ori considerat gresit ca acest kernel este SO-ul propriu-zis, dar nu este asa. Un SO furnizeaza mult mai multe servicii decat un kernel simplu. |