Kernel: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Esokernel: stumpa
Nessun oggetto della modifica
Riga 1:
In [[informatica]], il '''kernel''' è la parte fondamentale di un [[sistema operativo]]. Si tratta di un [[software]] con il compito di fornire ai programmi in esecuzione sul computer un accesso sicuro e controllato all'[[hardware]]. Siccome possono esserci più programmi in esecuzione simultanea, e l'accesso all'hardware è limitato, il kernel ha anche la responsabilità di assegnare una porzione di tempo macchina e di accesso all'hardware a ciascun programma, funzione detta [[multiplexing]]. L'accesso diretto all'hardware può essere anche molto complesso, quiniquindi i kernel usualmente implementano uno o piuùpiù tipi di ''[[astrazione dell'hardware]]''. Queste astrazioni servono a "nascondere" la complessità e a fornire un'interfaccia pulita ed uniforme all'hardware sottostante, in modo da semplificare il lavoro degli sviluppatori software.
 
<!-- An operating system kernel is not strictly needed to run a computer. Programs can be directly loaded and executed on the "bare metal" machine, provided that the authors of those programs are willing to do without any hardware abstraction or operating system support. This was the normal operating method of many early computers, which were reset and reloaded between the running of different programs. Eventually, small ancillary programs such as [[program loader]]s and [[debugger]]s were typically left in-core between runs, or loaded from [[read-only memory]]. As these were developed, they formed the basis of what became early operating system kernels. -->