Respuestas:
La definición técnica de un sistema operativo es "una plataforma que consiste en un conjunto específico de bibliotecas e infraestructura para que las aplicaciones se construyan e interactúen entre sí". Un kernel es un sistema operativo en ese sentido.
La definición del usuario final suele ser algo relacionado con "un paquete de software que proporciona un escritorio, accesos directos a aplicaciones, un navegador web y un reproductor multimedia". Un núcleo no coincide con esa definición.
Entonces, para un usuario final, una distribución de Linux (por ejemplo, Ubuntu) es un sistema operativo, mientras que para un programador, el núcleo de Linux en sí es un sistema operativo perfectamente válido dependiendo de lo que intente lograr. Por ejemplo, los sistemas integrados son principalmente kernel con un número muy pequeño de procesos especializados que se ejecutan sobre ellos. En ese caso, el núcleo se convierte en el sistema operativo.
Creo que puede trazar la línea en lo que requiere la mayoría de las aplicaciones que se ejecutan sobre ese sistema operativo. Si la mayoría de ellos solo requieren kernel, el kernel es el sistema operativo, si la mayoría de ellos requieren que se ejecute el sistema X Window, entonces su sistema operativo se convierte en X + kernel.
Un núcleo es la parte del sistema operativo que media el acceso a los recursos del sistema. Es responsable de permitir que múltiples aplicaciones compartan efectivamente el hardware controlando el acceso a la CPU, la memoria, las E / S de disco y las redes.
Un sistema operativo es el núcleo más aplicaciones que permiten a los usuarios hacer algo (es decir, compilador, editor de texto, administrador de ventanas, etc.).
Parece que la metáfora original que nos dio la palabra "núcleo" para esto en primer lugar ha sido olvidada. La metáfora es que un sistema operativo es una semilla. El "núcleo" de la semilla es el núcleo del sistema operativo, proporcionando servicios del sistema operativo a los programas de aplicaciones, que está rodeado por el "caparazón" de la semilla que es lo que los usuarios ven desde el exterior.
Algunas personas quieren vincular "kernel" (y, de hecho, "shell") para ser más específico que eso. Pero, en verdad, hay mucha variación entre los sistemas operativos. No menos importante es que estas variaciones constituyen un "shell" (que puede variar desde Solaris a sh
través del intérprete de comandos de consola de Netware hasta Workplace Shell de OS / 2 y el Explorador de Windows NT), pero también hay mucha variación de un sistema operativo a otro en qué es y qué no es parte de un "núcleo" (que puede incluir o no E / S de disco, por ejemplo).
Es mejor recordar que estos términos son metáforas .
Bueno, hay una diferencia entre kernel y OS. El núcleo, como se describió anteriormente, es el corazón del sistema operativo que gestiona las características principales de un sistema operativo, mientras que si se agregan algunas aplicaciones y utilidades útiles sobre el núcleo, el paquete completo se convierte en un sistema operativo. Por lo tanto, se puede decir fácilmente que un sistema operativo consta de un espacio de kernel y un espacio de usuario.
Entonces, podemos decir que Linux es un núcleo, ya que no incluye aplicaciones como utilidades de sistemas de archivos, sistemas de ventanas y escritorios gráficos, comandos de administrador de sistemas, editores de texto, compiladores, etc. Por lo tanto, varias compañías agregan este tipo de aplicaciones sobre el núcleo de Linux y proporcionar su sistema operativo como ubuntu, suse, centOS, redHat, etc.
El sistema operativo es un nombre genérico dado a todos los elementos (interfaz de usuario, bibliotecas, recursos) que componen el sistema en su conjunto.
El núcleo es el "cerebro" del sistema operativo, que controla todo, desde el acceso al disco duro hasta la administración de la memoria. Siempre que quieras hacer algo, pasa por el núcleo.
El kernel es parte del sistema operativo, aunque no es el sistema operativo en sí. En lugar de entrar en todo lo que hace un kernel, me referiré a la página de Wikipedia: http://en.wikipedia.org/wiki/Kernel_%28computing%29 . Gran resumen completo.
un kernel es parte del sistema operativo, es lo primero que el cargador de arranque carga en la CPU (para la mayoría de los sistemas operativos), es la parte que interactúa con el hardware, y también administra qué programas pueden hacer qué con el hardware, es realmente la parte central del sistema operativo, está formado por controladores, un controlador es un programa que interactúa con una pieza de hardware en particular, por ejemplo: si hiciera una cámara digital para computadoras, tendría que hacer un controlador para ello, los controladores son los únicos programas que pueden controlar la entrada y salida de la computadora
Respuesta simple
El Kernel es la pieza central del sistema operativo. No es necesariamente un sistema operativo en sí mismo.
Todo lo demás está construido a su alrededor.
Definición elaborada
En informática, el 'núcleo' es el componente central de la mayoría de los sistemas operativos de la computadora; Es un puente entre las aplicaciones y el procesamiento de datos real realizado a nivel de hardware. Las responsabilidades del núcleo incluyen la gestión de los recursos del sistema (la comunicación entre los componentes de hardware y software). Por lo general, como componente básico de un sistema operativo, un núcleo puede proporcionar la capa de abstracción de nivel más bajo para los recursos (especialmente procesadores y dispositivos de E / S) que el software de la aplicación debe controlar para realizar su función. Por lo general, pone estas instalaciones a disposición de los procesos de aplicación a través de mecanismos de comunicación entre procesos y llamadas al sistema.
El núcleo podría ser el sistema operativo o podría ser parte del sistema operativo. En Linux, el núcleo se carga y ejecuta primero. Luego, inicia otros bits del sistema operativo (como init) para que el sistema sea útil.
Esto es especialmente cierto en un entorno de micro-kernel. El núcleo tiene una funcionalidad mínima. Todo lo demás, como los sistemas de archivos y TCP / IP, se ejecuta como un proceso de usuario.
ruby -e "puts Kernel.methods"
y verá muchos métodos definidos.
El kernel reside en el sistema operativo. En realidad, es un espacio de memoria especialmente provisto para manejar las funciones del sistema operativo. Algunos incluso dicen que el sistema operativo maneja los recursos del sistema y el núcleo es uno de los principales del sistema operativo y lo mantiene, gestiona el seguimiento del sistema operativo.