话说linux内核

内核和驱动、内核和应用程序、内核和文件系统的关系

内核和驱动的关系:

(1)驱动属于内核的一部分

(2)驱动就是内核中的硬件设备管理模块、

(3)驱动工作在内核态

(4)驱动程序故障可能会导致整个内核崩溃

(5)驱动程序漏洞会使内核不安全

内核的应用程序的关系:

(1)应用程序不属于内核,而是在内核之上的

(2)应用程序工作在用户态,是受限制的

(3)应用程序故障不会导致内核崩溃

(4)应用程序通过内核定义的API接口来调用内核工作

总结1:应用程序是最终目标

总结2:内核就是为应用程序提供底层资源管理的服务员

内核和根文件系统的关系:

(1)根文件系统提供根目录

(2)进程1存放在根文件系统中

(3)内核启动最后会去装载根文件系统

总结:根文件系统为操作系统启动提供了很多必备的资源--根目录、进程1

 

linux内核的模块化设计

1.模块化设计的由来

(1)linux内核很庞大,代码量也很大,如果设计时完全设计成一体(各个文件、各个函数之间紧耦合),复杂度将会超出人所能理解的范围,所以模块化设计是一种必要。

(2)内核的模块化设计就是内核中各个功能模块在代码上是彼此独立的,例如调度系统和内存管理系统之间并没有全局变量的互相引用,甚至函数相互调用也很少,就算有也是遵循一个接口规范的。模块化设计的目的就是实现功能模块的松耦合。

2.模块化设计的体现

(1)配置时可裁剪。linux内核在编译之前可以进行配置,配置时可以选择组成内核的成千上万个模块的任何一个要或者不要,要了之后还有更多的一些细节的配置。

(2)模块化编译和安装。为了操作方便,逐渐从静态的升级变成了动态的升级(不需要重启系统,更不需要重新烧录系统),这种动态的升级也是由模块化来支持的。

(3)源码中使用条件编译。这种在uboot中很常见。

3.模块化设计的好处

(1)功能可裁剪、灵活性

(2)可扩展性(动态安装卸载、新硬件支持)

(3)利于协作

4.模块化设计是一种普遍性的系统设计原则

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值