Respostas:
A definição técnica de um sistema operacional é "uma plataforma que consiste em um conjunto específico de bibliotecas e infraestrutura para aplicativos a serem construídos e interagir entre si". Um kernel é um sistema operacional nesse sentido.
A definição do usuário final é geralmente algo em torno de "um pacote de software que fornece uma área de trabalho, atalhos para aplicativos, um navegador da web e um media player". Um kernel não corresponde a essa definição.
Portanto, para um usuário final, uma distribuição Linux (por exemplo, Ubuntu) é um sistema operacional, enquanto para um programador o próprio kernel Linux é um sistema operacional perfeitamente válido, dependendo do que você está tentando alcançar. Por exemplo, sistemas embarcados são na sua maioria apenas kernel, com um número muito pequeno de processos especializados sendo executados em cima deles. Nesse caso, o próprio kernel se torna o próprio sistema operacional.
Eu acho que você pode definir o que a maioria dos aplicativos executados em cima desse sistema operacional exige. Se a maioria deles requer apenas o kernel, o kernel é o sistema operacional; se a maioria deles exige a execução do X Window System, o sistema operacional se torna o kernel X +.
Um kernel é a parte do sistema operacional que medeia o acesso aos recursos do sistema. É responsável por permitir que vários aplicativos compartilhem efetivamente o hardware, controlando o acesso à CPU, memória, E / S de disco e rede.
Um sistema operacional é o kernel mais os aplicativos que permitem que os usuários façam algo (por exemplo, compilador, editor de texto, gerenciador de janelas, etc.).
Parece que a metáfora original que nos deu a palavra "núcleo" para isso em primeiro lugar foi esquecida. A metáfora é que um sistema operacional é uma semente. O "kernel" da semente é o núcleo do sistema operacional, fornecendo serviços do sistema operacional aos programas aplicativos, cercados pelo "shell" da semente que é o que os usuários veem de fora.
Algumas pessoas querem amarrar o "kernel" (e, de fato, o "shell") para serem mais específicos do que isso. Mas, na verdade, há muita variação entre os sistemas operacionais. Não menos importante, essas variações é o que constitui um "shell" (que pode variar de Solaris 'sh
através do Interpreter de Comando do Console da Netware ao Workplace Shell do OS / 2 e Explorer do Windows NT), mas também há muita variação de um sistema operacional para outro no o que é e o que não é parte de um "kernel" (que pode ou não incluir E / S de disco, por exemplo).
É melhor lembrar que esses termos são metáforas .
Bem, há uma diferença entre o kernel e o SO. O kernel, conforme descrito acima, é o coração do sistema operacional que gerencia os principais recursos de um sistema operacional. Se alguns aplicativos e utilitários úteis forem adicionados ao kernel, o pacote completo se tornará um sistema operacional. Portanto, pode-se facilmente dizer que um sistema operacional consiste em um espaço do kernel e um espaço do usuário.
Portanto, podemos dizer que o Linux é um kernel, pois não inclui aplicativos como utilitários de sistema de arquivos, sistemas de janelas e desktops gráficos, comandos de administrador de sistema, editores de texto, compiladores etc. Portanto, várias empresas adicionam esse tipo de aplicativo ao kernel do Linux e fornecer seu sistema operacional como ubuntu, suse, centOS, redHat etc.
O sistema operacional é um nome genérico dado a todos os elementos (interface do usuário, bibliotecas, recursos) que compõem o sistema como um todo.
O kernel é o "cérebro" do sistema operacional, que controla tudo, desde o acesso ao disco rígido até o gerenciamento de memória. Sempre que você quiser fazer alguma coisa, ela passa pelo kernel.
O kernel faz parte do sistema operacional, embora não seja o próprio sistema operacional. Em vez de analisar tudo o que um kernel faz, passarei à página da wikipedia: http://en.wikipedia.org/wiki/Kernel_%28computing%29 . Visão geral excelente e completa.
um kernel faz parte do sistema operacional, é a primeira coisa que o carregador de inicialização carrega na CPU (para a maioria dos sistemas operacionais), é a parte que faz interface com o hardware e também gerencia quais programas podem fazer o que com o hardware, é realmente a parte central do sistema operacional, é composta por drivers, um driver é um programa que faz interface com uma determinada peça de hardware, por exemplo: se eu fizesse uma câmera digital para computadores, precisaria fazer um driver para ele, os drivers são os únicos programas que podem controlar a entrada e a saída do computador
Resposta Simples
O Kernel é a parte principal do sistema operacional. Não é necessariamente um sistema operacional por si só.
Tudo o resto é construído em torno dele.
Definição elaborada
Na computação, o 'kernel' é o componente central da maioria dos sistemas operacionais de computadores; é uma ponte entre aplicativos e o processamento de dados real feito no nível do hardware. As responsabilidades do kernel incluem gerenciar os recursos do sistema (a comunicação entre os componentes de hardware e software). Normalmente, como um componente básico de um sistema operacional, um kernel pode fornecer a camada de abstração de nível mais baixo para os recursos (especialmente processadores e dispositivos de E / S) que o software aplicativo deve controlar para desempenhar sua função. Geralmente, esses recursos ficam disponíveis para os processos de aplicativos por meio de mecanismos de comunicação entre processos e chamadas do sistema.
O kernel pode ser o sistema operacional ou parte do sistema operacional. No Linux, o kernel é carregado e executado primeiro. Em seguida, inicia outros bits do sistema operacional (como init) para tornar o sistema útil.
Isto é especialmente verdade em um ambiente de micro-kernel. O kernel possui funcionalidade mínima. Todo o resto, como sistemas de arquivos e TCP / IP, é executado como um processo do usuário.
ruby -e "puts Kernel.methods"
e verá muitos métodos definidos.