Un sistema operativo es un programa básico (el más básico y necesario) que controla una computadora.
Un proceso importante, que controlan estos programas, es la interpretación de los comandos (órdenes) que permiten al usuario comunicarse con el ordenador.
Algunos de estos programas interpretan las instrucciones (órdenes) basadas en texto y exigen que estas sean tecleadas. Pero los más comunes, hoy en día, están basados en gráficos, y le permiten a un usuario comunicarse con la computadora señalando una acción sobre un gráfico. Como cuando se desplaza el puntero sobre un ícono y se hace clic sobre él, a través del mouse.
Por esto, cuando un usuario enciende su computador, con el primer programa que trabaja es con el sistema operativo, que es primero con el que debe de interactuar para poder realizar cualquier tarea.
En los computadores normales sólo existe un procesador; por eso, un sistema operativo multitarea solamente crea la ilusión de que varios procesos se ejecutan simultáneamente en un procesador.
El mecanismo más empleado para lograr esta ilusión es la multitarea por segmentación de tiempos, en la que cada proceso se ejecuta individualmente durante cierto periodo de tiempo. Si el proceso no concluye en este tiempo, se suspende y se ejecuta otro. Este intercambio de procesos se denomina conmutación de contexto.
El sistema operativo se encarga de controlar el estado de los procesos suspendidos. Un mecanismo planificador es el que determina el siguiente proceso que se debe ejecutar. Este planificador ejecuta los procesos en base a prioridades para minimizar el retraso percibido. Los procesos parecen efectuarse simultáneamente por la alta velocidad del cambio de contexto.
"La percepción sin comprobación ni fundamento
no es garantía suficiente de la verdad"
Bertrnad Rusell |
El kernel se define como el corazón del sistema operativo. Es el encargado de que el software y el hardware del ordenador puedan trabajar juntos.
El kernel de un sistema operativo actúa como intermediario entre los programas y el computador, es decir, proporciona una interfaz portable para que los programas hablen fácilmente con el hardware correspondiente.
Los programas interactúan con el kernel. Los programas invocan un conjunto de llamadas al sistema que ordenan al kernel realizar varias operaciones para ayudarlos, e intercambiar datos entre programa y kernel. En otras palabras, el kernel provee y define los servicios con los que cuentan todas las aplicaciones (programas) del sistema operativo.