Dupa cum se stie, o parte a programelor de comanda si control sunt rezidente in RAM alcatuind nucleul sistemului de operare (Kernel) incarcat odata cu pornirea sistemului de calcul. Nucleul sistemului se operare UNIX este acea parte a programelor de comanda si control care activeaza si controleaza alocarea timpului masina, spatiul de memorie, canalele de comunicatie catre diverse taskuri executate de utilizator la un moment dat. Kernel-ul este un program care constituie nucleul central al unui sistem de operare calculator. Acesta are control complet asupra tot ceea ce are loc in sistem. Un nucleu poate fi contrastat cu un shell (cum ar fi bash, csh sau ksh in sistemele de operare Unix-like), care este parte exterioara a unui sistem de operare si un program care interactioneaza cu comenzile utilizatorului. Kernel-ul in sine nu interactioneaza direct cu utilizatorul, ci interactioneaza cu shell-ul si alte programe, precum si cu dispozitivele hardware de pe sistem, inclusiv procesor (numit, de asemenea, unitatea centrala de prelucrare sau CPU), memorie si hard disc. 1. Structura si functii Nucleul sistemului de operare este: o partea rezidenta a SO, care controleaza alocarea timpului masinii, a spatiului de memorie si a canalelor de comunicatie intre procesele existente. o alcatuit din aproximativ 10000 de linii ce constituie codul programului care, in functie de sistem, se transforma intr-un numar mai mare sau mai mic de cuvinte masina (sau bytes); dintre acestea, 5 - 10% din totalul codului programelor (Shell, utilitare, KERNEL si celelalte) este variabil in functie de sistemul de calcul si de setul de utilitare ( Fig 1). o alcatuit din urmatoarele programe principale: - programul supervizor central; - rutine de serviciu pentru o serie de activitati (scrierea in memorie, gestiunea ceasului sistem, etc). Principalele functii indeplinite de nucleul sistemului de operare sunt: - planificarea, coordonarea si gestionarea executiei proceselor; - furnizarea de servicii de sistem cum sunt: tratarea operatiilor de intrare/iesire si gestiunea fisierelor; - manipularea operatiilor dependente de hardware, intreruperile si functiile de sistem; - gestiunea memoriei. Primitivele de sistem sunt specifice fiecarui sistem de calcul si contin: - operatii de intrare/iesire de baza; - comutarea executiei intre procese; - permiterea sau inhibarea intreruperilor hardware; - resetarea prioritatilor intreruperilor; - alte operatii. Accesarea primitivelor de sistem se realizeaza prin apeluri de sistem (system calls) din programe in C sau in limbaj de asamblare. Fig. 1 - Structura si arhitectura nucleului UNIX 2. Procese si stari Un sistem de calcul poate sa lucreze la un moment dat in doua moduri: o utilizator, cand executa un program sau proces; o sistem (Kernel), cand executa un cod sistem. Comutarea intre modul utilizator si KERNEL se realizeaza prin 3 mecanisme: o ceasul - care intrerupe orice alt program cu frecventa de 60 Hz; - rutina de ceas permite reevaluarea prioritatilor proceselor si implicit schimbarea procesului; - in absenta altor intreruperi, ceasul realizeaza divizarea timpului, ceea ce permite ca sistemul sa fie impartit intre mai multi utilizatori; o apeluri de sistem, prin care utilizatorul solicita diverse servicii oferite de sistemul de operare; cele care realizeaza operatii de intrare/iesire conducand la suspendarea procesului apelator pe durata transmiterii datelor; o cereri de serviciu ale perifericelor de intrare/iesire. Procesul este un program in executie, care contine imaginile fisierelor executate in memorie (zona de cod, date, stiva) si resursele din momentul executiei (registrii, fisiere deschise). Pentru un program activ, pot exista mai multe procese active- numite instante: - din punct de vedere al procesului, operatiile nucleului sunt prioritare; - din punct de vedere al nucleului, procesele sunt structuri de date catalogate. Executia proceselor se face pe doua niveluri: - utilizator (user) -procesele isi pot accesa doar propriile zone de cod si date; - nucleu (kernel) -procesele isi pot accesa spatiul de adresa al nucleului. Mecanisme de trecere de la: - user -nucleu - se face prin apeluri sistem; - nucleu -user - intoarcerea din apelul sistem.
,,Sisteme de operare"- Conf. univ. dr. RADU MARSANU ,,Sisteme de operare" - Conf. Dr. CARMEN TIMOFTE
Ne pare rau, pe moment serviciile de acces la documente sunt suspendate.