千家信息网

操作系统内核的一些事

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一.总的来讲,操作系统只要能实现以下两点就可以了:1.时间的假象和空间的假象时间假象的作用是实现了多进程/多线程;空间假象的作用是实现了虚拟内存。无疑,这两点是现代操作系统的基石。2.和硬件接口以及和
千家信息网最后更新 2026年11月03日操作系统内核的一些事

一.总的来讲,操作系统只要能实现以下两点就可以了:
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层或以上的正常程序的利益。其实还有很多解决办法:1.利用cpu组调度,限制它们可以使用的资源;2.修改oom killer的核心算法,优先砍掉那些过于长,然而却很瘦的树枝,这也符合园艺工人的操作方式,因为这种枝丫会带走过多的养分!

内核 用户 接口 系统 源码 硬件 操作系统 二进制 假象 时间 程序 阶段 也就是 作用 文件 程序员 进程 驱动 信号 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网是第几次科技革命的成果 深圳互联网科技公司 互联网科技集团 唐信互联网科技 艾特科技互联网 腾讯科技 互联网女皇 互联网科技公司做什么 科技与互联网的利与弊 深圳前海聚择互联网科技有限公司 深圳市优智互联网科技有限公司 互联网科技扶贫时间 国大互联网教育科技有限公司工作 本届互联网博览会上的黑科技 区块链结合互联网科技 工业互联网山东科技大学 南通创西澳互联网科技有限公司 云南省自由互联网科技有限公司 浙南科技城互联网大厦招聘 富国互联网科技002692 东营紫格互联网科技 中国互联网科技工作委员会毛军 厦门中拓互联网络科技有限公司 互联网科技小贷 宁波青枫互联网科技有限公司 宁夏众和广鑫互联网科技有限公司 中国航天科技大学国际工业互联网 新兴科技互联网创新大赛颁奖典礼 世界互联网领先科技成果获奖 锡山区互联网智能科技产品供应 互联网营销推广黑科技
0