lunes, 23 de mayo de 2022

 kernel

El kernel es el núcleo de un sistema operativo y, por tanto, la interfaz entre el software y el hardware. Es por ello por lo que se está usando continuamente. En pocas palabras: el kernel es el corazón de un sistema operativo. Sin embargo, no solo es el núcleo del sistema, sino también un programa que controla todos los accesos al procesador y a la memoria, es responsable de los drivers (controladores) más importantes y puede acceder directamente al hardware. Un kernel es la base de la interacción entre el hardware y el software y gestiona sus recursos de la forma más eficiente posible.

¿Cómo funciona un kernel?

La cuestión de cómo funciona se aclara con una contra pregunta: ¿Qué no es un kernel? El kernel no es el núcleo del procesador, sino el núcleo del sistema operativo. Un kernel tampoco es una API ni un framework. 

En cambio, los sistemas operativos multikernel pueden utilizar diferentes núcleos de un procesador multinúcleo como una red de distintas CPU independientes. ¿Cómo funciona? A través de la estructura especial del kernel, que está formado por una serie de componentes diferentes:

  • Como su capa más baja está cerca de los componentes, puede comunicarse directamente con el hardware, el procesador y el almacenamiento. A lo largo de las cinco capas, las funciones del kernel difieren, desde la gestión de procesos hasta el gestor de dispositivos. La capa superior, en cambio, no tiene acceso a los componentes, pero establece la comunicación con el software.
  • Los programas de aplicación se ejecutan en el sistema independientemente del kernel y solo acceden a sus funciones. Sin el kernel, la comunicación entre el programa y el hardware no sería posible.
  • Varios procesos pueden ejecutarse al mismo tiempo a través de los multitasking kernel. Sin embargo, en principio, una CPU solo puede gestionar un proceso a la vez, a menos que se trate de un sistema multinúcleo. Es el Schedule el que genera una sensación de multitasking al realizar los cambios rápidos de proceso.

Las cuatro funciones del kernel pueden derivarse de sus componentes:

  1. Gestión del almacenamiento: controla cuánta memoria se utiliza y dónde.
  2. Gestión de procesos: determina qué procesos puede utilizar la CPU, cuándo y durante cuánto tiempo.
  3. Controlador de dispositivos: comunica el hardware con los procesos.
  4. Llamadas al sistema y seguridad: recibe peticiones de servicio de los procesos.

Las funciones de un kernel, cuando es implementado adecuadamente, permanecen invisibles para los usuarios. Funciona en su propio mundo, en el espacio del kernel. Los archivos, programas, juegos, navegadores, etc. en definitiva, todo lo que ve el usuario tiene lugar en el espacio del usuario. La interacción de ambos mundos se realiza a través de una interfaz de llamadas al sistema, el SCI.

El kernel en el sistema operativo

Para entender cómo funciona el kernel del sistema operativo, lo mejor es pensar que un ordenador está dividido en tres niveles:

  1. Hardware. La base del sistema que consiste en la memoria, el procesador y los dispositivos de entrada y salida. La CPU realiza la lectura y escritura de código al igual que los cálculos que requiere la memoria.
  2. Kernel. El núcleo de un sistema operativo. Indica a la CPU lo que debe hacer.
  3. Procesos de usuario. Todos los procesos en ejecución que gestiona el kernel. El kernel permite la comunicación entre procesos y servidores, también conocida como comunicación entre procesos (IPC).

Existen básicamente dos modos para el código de un sistema: modo kernel o modo usuario. El código en modo kernel tiene acceso ilimitado al hardware, mientras que el código en modo usuario tiene acceso restringido al SCI. Cuando se produce un error en el modo de usuario, no ocurre mucho: de hecho, en ese momento el kernel interviene y repara los posibles daños. Por otro lado, un fallo del kernel puede hacer caer todo el sistema. No obstante, existen precauciones de seguridad para evitarlo.


¿Cuáles son los tipos de kernel?

Un tipo de kernel ya se ha descrito en este artículo: si varios procesos se ejecutan en un kernel al mismo tiempo, existen los llamados multitasking kernel. Con la incorporación de la gestión de accesos, se convierte en un sistema multiusuario en el que varios usuarios pueden trabajar simultáneamente. La autenticación la realiza el kernel, que puede asignar o desvincular los procesos llamados.

Los tres tipos de kernel

Existen diferentes tipos de kernel para diferentes sistemas operativos y dispositivos finales. Conforme a sus características, pueden dividirse en tres grupos:

  1. Kernel monolítico. Un kernel grande para todas las tareas. Es el único responsable de la gestión de la memoria y de los procesos, de la comunicación entre procesos y proporciona funciones de soporte de drivers y hardware. Los sistemas operativos que usan el kernel monolítico son Linux, OS X y Windows.
  2. Microkernel. El microkernel se ha diseñado intencionadamente de un tamaño pequeño para que en caso de fallo no paralice todo el sistema operativo. No obstante, para que pueda asumir las mismas funciones que un kernel grande, está dividido en varios módulos. Como ejemplo de aplicación solo existe el componente Mach de OS X, ya que hasta ahora no hay ningún sistema operativo con microkernel.
  3. Kernel híbrido. La combinación del kernel monolítico y el microkernel se denomina kernel híbrido. En este caso, el kernel grande se hace más compacto y modulable. Otras partes del kernel pueden cargarse dinámicamente. Esto ya ocurre en cierta medida en Linux y OS X. 

¿Cuál fue la primera versión de Linux? 

El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux versión 0.02. Con esta versión Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los términos soporte, documentación, distribución.

OpenOffice: es una suite ofimática de código abierto Era una versión de código abierto del anterior StarOffice , que Sun Microsystems adquirió en 1999 para uso interno. Sun abrió la suite OpenOffice en julio de 2000 como competidor de Microsoft Office, lanzando la versión 1.0 el 1 de mayo de 2002.

OpenOffice incluía un procesador de texto (Writer), una hoja de cálculo (Calc), una aplicación de presentación (Impress), una aplicación de dibujo (Draw), un editor de fórmulas (Math) y una aplicación de administración de base de datos (Base).  Su formato de archivo predeterminado era OpenDocument Format (ODF), un estándar ISO / IEC , que se originó con OpenOffice.org. También podría leer una amplia variedad de otros formatos de archivo, con especial atención a los de Microsoft Office. OpenOffice.org se desarrolló principalmente para Linux ,Microsoft Windows Solaris , y posteriormente para OS X , con puertos a otros sistemas operativos . Se distribuyó bajo la Licencia Pública General Menor de GNU versión 3 (LGPL); Las primeras versiones también estaban disponibles bajo la licencia de fuente de estándares de la industria de Sun (SISSL).






No hay comentarios.:

Publicar un comentario

 kernel El kernel es  el núcleo de un sistema operativo   y, por tanto,   la interfaz entre el software y el hardware . Es por ello por lo ...