Linux知识:什么是内核

 我来答
手机用户43781
2013-11-29 · TA获得超过302个赞
知道答主
回答量:129
采纳率:0%
帮助的人:179万
展开全部
一.总的来讲,操作系统只要能实现以下两点就可以了: 1.时间的假象和空间的假象 时间假象的作用是实现了多进程/多线程;空间假象的作用是实现了虚拟内存。无疑,这两点是现代操作系统的基石。 2.和硬件接口以及和用户态的接口 从硬件那里接收信息,这个用中断实现,和硬件互相读写,这个用基本IO实现;从用户接收请求,这个用系统调用...向用户发送信息,这个用信号...。无疑,这样就在接口层次满足了上层用户和底层硬件的要求,无疑,UNIX在这一点上是成功的(信号,IPC,POSIX...)。 二.大内核和微内核 如果我们把操作系统内核在其生命周期的前期按照时间分割,我们把它分为源码阶段和二进制阶段,大内核和微内核的区分是二进制阶段的区分。我们都知道,Linux是大内核,然而为何大而不乱呢?实际上看看它的源码就明白了,它的源码组织非常好,核心文件不到100个,其它的都是驱动或者体系结构相关的代码。毕竟,开发者知道,对于二进制文件,人是看不懂的,人所看的是源码,将二进制文件分开,无疑会增加维护的复杂性,更何况,将问题控制在源码阶段就节省了很多调试时间。 三.设备驱动开发 1.阅读datasheet,编写IO、中断例程 2.和操作系统内核接口,也就是插入内核最低端 3.和用户态接口,也就是在最上端导出一个用户接口,比如ioctl 4.编写用户态demo和工具进程,调用第3步的接口 5.试用,调试打包 6.总结,层次结构-从上到下:最终用户-应用程序员-系统程序员-驱动程序员-硬件工程师 四.到底应不应该在内核中解决fork炸弹 fork炸弹臭名昭著,一堆看似乱码的字符就能耗尽你的cpu:.(){.|.&};.。如果想在内核解决它,那是很简单的,那就是控制task_struct的层数,我们知道Linux进程是分层树形组织的,如果限制层数最多为5层,那么该炸弹最多也就是炸五次就无法发挥作用了,然而这却不是好方法,因为这会损害那些正好需要6层或以上的正常程序的利益。
sunzhilongme
2013-12-14
知道答主
回答量:1
采纳率:0%
帮助的人:1425
展开全部
简单来说,内核是对于底层硬件功能的配置驱动,就好比电脑,内核就相当于你电脑上装的系统,他把电脑能有的功能给你配置好了,比如网卡、声卡、显卡驱动等都是内核的一部分,你只有装上这些基本的驱动,电脑才能正常使用,在这基础上就可以安装别的功能软件做开发用了,软件就相当于linux系统开发中的文件系统。而bootloader就相当于电脑启动的BIOS,有了这个引导功能你才能把系统或者你自己的内核装进去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式