Nucleu (sistem de operare)![]() Nucleul (engleză kernel) unui sistem de operare este componenta fundamentală a acestui sistem. Nucleul controlează accesul la diferitele resurse ale calculatorului și permite celorlalte componente — hardware și software — să interopereze. Nucleul oferă mecanisme de abstractizare a resurselor hardware (materiale), în special în ceea ce privește memoria, procesor, și transferurile de informație între programe și perifericele materiale. Nucleul unui sistem de operare este el însuși un program, dar nu poate utiliza mecanismele de abstractizare pe care le oferă celorlalte programe utilizator. Diferite motive justifică această limitare. Printre alte cauze, gestiunea întreruperilor, a spațiului de adresă a memoriei virtuale. Rolul său central îi impune exigențe de performanță ridicate. Aceasta face din nucleu partea cea mai critică a unui sistem de operare și face ca și conceperea și implementarea sa să fie cât se poate de delicată. Un exemplu din comunitatea open-source este nucleul Linux. Funcțiile unui nucleu
Dacă un virus reușește să ruleze în modul kernel, acesta poate prelua controlul asupra computerului, adică citește fișierele, șterge informații sau monitorizează rețeaua. De exemplu, dacă un „rootkit” infectează nucleul, se folosește de autoritatea nucleului de a accesa orice resursă a calculatorului. Deoarece virusul rulează în cel mai înalt nivel de privilegii, face ca eliminarea lui să fie foarte dificilă. Tipuri de nucleeExistă patru tipuri majore de nuclee: Nucleu monoliticUn nucleu monolitic este o arhitectură de nucleu în care întregul nucleu rulează în spațiul nucleului și în mod administrator. Fiecare parte a nucleului poate schimba registrele hardware și accesa toată memoria. În nucleul monolitic toate driverele sunt compilate împreună pentru a forma un singur program. Principalele dezavantaje ale nucleelor monolitice sunt dependențele dintre componentele sistemului, o eroare într-un driver de dispozitiv ar putea bloca întregul sistem. Exemplu: Articol principal: Nucleu monolitic
MicronucleuMicronucleul este un nucleu de dimensiuni mici, care asigură minimul de servicii ale sistemului de operare. Micronucleele au mult mai puține linii de cod decât sistemele monolitice și sunt folosite în special pentru implementare în sisteme de operare înglobate. Articol principal: Micronucleu
Nucleu hibridUn nucleu hibrid sau modular este un tip de arhitectură a nucleului care combină caracteristicile micronucleului și ale celui monolitic. Ideea din spatele unui nucleu hibrid este aceea de a avea o structură similară cu cea a unui micronucleu, dar de a pune în aplicare în maniera unui nucleu monolitic. Într-un nucleu hibrid, serviciile sistemului de operare sunt încă în spațiu de nucleu și nu în zona utilizatorului. Avantajele nucleului modular:
Exemple:
Exonucleu![]() Într-un exonucleu (exo = în afară) sistemul funcționează în spațiul utilizatorului și nu în spațiul nucleu. Studiul și dezvoltarea acestui tip de nucleu a început în 1995 la Massachusetts Institute of Technology (MIT), pentru ExOS și recent XOK. [3]. Un alt concept numit Nemesis a fost dezvoltat de universitățile din Cambridge și Glasgow, Cisco Systems și Institutul Suedez de Informatică. Exonucleul se limitează la cât mai puține abstracțiuni posibil. În acest mod, nucleul este aproape complet eliminat, mutînd toate funcțiile acestuia în biblioteci (Library Operating System - LibOS) ca legate de procesele utilizatorilor similar cu cel al sistemelor de operare convenționale, dar mai flexibil. Aceasta permite programelor să acceseze direct blocurile de memorie, zonele de hard disk etc, toate operațiile se pot executa la întreaga viteză a microprocesorului, fără apeluri de sistem. Exonucleul are volumul de cod foarte mic, sub 5000 de linii. [4] Referințe și note
Vezi șiLegături externe |
Portal di Ensiklopedia Dunia