什么是OS内核?它与操作系统有何不同?

时间:2010-01-06 15:22:54

标签: kernel operating-system

我无法理解内核和操作系统之间的区别。我看不出它们之间有什么区别。内核是操作系统吗?

11 个答案:

答案 0 :(得分:68)

操作系统的技术定义是“一个平台,由一组特定的库和基础架构组成,用于构建应用程序并相互交互”。从这个意义上讲,内核就是一个操作系统。

最终用户定义通常围绕“提供桌面的软件包,应用程序的快捷方式,Web浏览器和媒体播放器”。内核与该定义不匹配。

因此,对于最终用户来说,Linux发行版(比如说Ubuntu)是一个操作系统,而对于程序员而言,Linux内核本身就是一个完全有效的操作系统,具体取决于你想要实现的目标。例如,嵌入式系统大多只是内核,其上运行的专用进程数量非常少。在这种情况下,内核本身就成了操作系统本身。

我认为您可以在该操作系统之上运行的大多数应用程序确实需要这样做。如果它们中的大多数只需要内核,那么内核就是操作系统,如果大多数内核需要运行X Window系统,那么你的操作系统就变成了X +内核。

答案 1 :(得分:67)

内核是操作系统中调解对系统资源的访问的一部分。它负责通过控制对CPU,内存,磁盘I / O和网络的访问来使多个应用程序有效地共享硬件。

操作系统是内核和应用程序,使用户能够完成某些事情(即编译器,文本编辑器,窗口管理器等)。

答案 2 :(得分:36)

似乎最初为我们提供“内核”这个词的原始隐喻已经被遗忘了。比喻是操作系统是种子。种子的“内核”是操作系统的核心,为应用程序提供操作系统服务,应用程序由用户从外部看到的种子“shell”包围。

有些人希望将“内核”(事实上,“shell”)与特定内容联系起来。但实际上,操作系统之间存在很多差异。至少这些变体构成了一个“shell”(可以从Solaris'sh到Netware的控制台命令解释器到OS / 2的Workplace Shell和Windows NT的Explorer),但是也存在很多差异。操作系统到另一个是什么,而不是,“内核”的一部分(例如,可能包括或不包括磁盘I / O)。

最好记住这些术语是隐喻

进一步阅读

答案 3 :(得分:16)

嗯,内核和操作系统之间存在差异。如上所述的内核是管理操作系统核心功能的操作系统的核心,而如果在内核上添加了一些有用的应用程序和实用程序,则完整的包将成为操作系统。因此,很容易说操作系统由内核空间和用户空间组成。

所以,我们可以说Linux是一个内核,因为它不包括文件系统实用程序,窗口系统和图形桌面,系统管理员命令,文本编辑器,编译器等应用程序。因此,各种公司都添加了这些类型的应用程序在Linux内核上提供他们的操作系统,如ubuntu,suse,centOS,redHat等。

答案 4 :(得分:8)

内核是操作系统的一部分,而不是操作系统本身。我将遵循维基百科页面http://en.wikipedia.org/wiki/Kernel_%28computing%29而不是进入内核的所有内容。精彩,全面的概述。

答案 5 :(得分:8)

操作系统是一个通用名称,它给予构成整个系统的所有元素(用户界面,库,资源)。

内核是操作系统的“brain”,它控制从访问硬盘到内存管理的所有内容。无论什么时候你想做任何事情,它都会通过内核。

答案 6 :(得分:7)

内核是操作系统的一部分,它是引导加载程序加载到cpu上的第一件事(对于大多数操作系统),它是与硬件接口的部分,它还管理程序可以执行的操作硬件是什么,它实际上是操作系统的核心部分,它由驱动程序组成,驱动程序是一个与特定硬件接口的程序,例如:如果我为计算机制作数码相机,我会需要为它制作驱动程序,驱动程序是唯一可以控制计算机输入和输出的程序

答案 7 :(得分:3)

简单回答

内核是操作系统的核心部分。它本身不一定是操作系统。

其他一切都是围绕它建立的。

精心定义

Kernel (computing) - Wikipedia

答案 8 :(得分:2)

在计算中,'内核'是大多数计算机操作系统的核心组件;它是应用程序与硬件级别的实际数据处理之间的桥梁。内核的职责包括管理系统资源(硬件和软件组件之间的通信)。通常作为操作系统的基本组件,内核可以为应用软件必须控制以执行其功能的资源(尤其是处理器和I / O设备)提供最低级别的抽象层。它通常通过进程间通信机制和系统调用使这些工具可用于应用程序进程。

答案 9 :(得分:2)

内核驻留在操作系统中。实际上它是一个专门用于处理操作系统功能的内存空间。有些人甚至说OS处理系统资源和内核是操作系统的核心并维护,管理操作系统的操作。< / p>

答案 10 :(得分:1)

内核可能是操作系统,也可能是操作系统的一部分。在Linux中,首先加载并执行内核。然后它启动操作系统的其他位(如init)以使系统有用。

在微内核环境中尤其如此。内核具有最小的功能。其他所有内容,如文件系统和TCP / IP,都作为用户进程运行。