免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lsstarboy

[FreeBSD] 大话Unix/Linux内核 [复制链接]

论坛徽章:
7
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序设计版块每日发帖之星
日期:2015-08-09 06:20:00每日论坛发贴之星
日期:2015-08-09 06:20:00程序设计版块每日发帖之星
日期:2015-08-22 06:20:00程序设计版块每日发帖之星
日期:2015-08-27 06:20:00
发表于 2015-08-07 00:04 |显示全部楼层
最想学的东西,没人带,自己搞好困难啊。

论坛徽章:
1
摩羯座
日期:2013-11-29 18:02:31
发表于 2015-08-08 14:01 |显示全部楼层
1、分享一下你对内核的理解。
内核是OS最核心的内容,也是最有技术价值的内容,它直接决定了一个OS性能和品位。
不管OS是大是小,内核都是必须要认真对待的。另外,内核设计可以说是系统设计的最高级
形式,也是OS设计的精华。它能集中体现一个人编程素质和设计能力,对编程技巧和架构能力
有着双重要求。


2、你编译过内核吗?为什么要重新编译内核?
以前尝试过自己下载源代码编译Linux内核,但是那配置步骤太复杂了,被吓到了,没有坚持下来。
自己编译内核只是为了玩,为了学习Linux知识,绝知此事要躬行啊。


3、怎样看待不同类别内核(单内核、双内核、微内核等)的优缺点?
其实内核的概念很类似于RISC和CISC一样,各有长短,真正的OS内核应该取长补短。现在的X86处理器不也是
兼容了RISC和CISC吗。现在Linux内核是单一的,但不是纯粹的单一,还是吸收了部分微内核的思想的。
单内核是指内核功能相对大而全,提供调度,文件系统,网络,设备驱动,存储管理等,
能实现的内容基本都在内核中实现。微内核正好相反,只包含一些必要的功能,比如调度,通信,设备驱动等,
像文件系统,存储管理等非核心功能都放到内核以外来实现。
双内核这个概念可能是二者兼而有之。
单内核共用一个地址空间,比较容易实现,是早期的OS普遍采用的一个实现方式,技术难度不大,缺点就是
单内核加载速度慢,各个内核模块间相关性强,不易于添加新功能。
微内核则只包含必要内容,其它的功能都作为模块动态添加,优点是大大的,你可以根据自己需要动态添加
或卸载模块,内核启动速度快,也便于移植,缺点,模块间消息传递引起开销。

4、分享一个你读/修改内核源代码的经历。
修改得不多,也就是比着《Linux边干边学》添加系统应用,
然后修改时钟Tick,再编译看看系统怎样反应。
读得比较多,只是兴趣爱好,读了就忘记了,有时间再读,乐此不彼。


5、如果让你自己设计一个内核,你认为内核中最难或最重要的部分是哪个?
内核中最难的我觉得应该是两个方面:
A:内核调度算法及实时性要求
B:内核提供什么机制

内核调度算法可以说中内核的内核,它直接对内核进行了性能定位,也直接决定了内核的使用场景。比如武器系统
中和手机的内核调度算法显然是不同的,因为其要求不同。
内核提供的机制直接决定了这个内核能为应用提供什么样的功能,它决定了内核的外延功能,是内核实用化的第一步。
同时,内核提供的机制也对内核的设计提出了特定要求。

论坛徽章:
19
处女座
日期:2014-07-18 14:50:5415-16赛季CBA联赛之北京
日期:2019-09-16 15:39:1415-16赛季CBA联赛之上海
日期:2019-09-15 15:29:0415-16赛季CBA联赛之山西
日期:2017-03-09 10:58:232017金鸡报晓
日期:2017-02-08 10:33:212017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之深圳
日期:2016-12-15 17:55:53C
日期:2016-10-25 16:00:1515-16赛季CBA联赛之新疆
日期:2016-07-21 14:02:0415-16赛季CBA联赛之江苏
日期:2016-06-30 12:15:04shanzhi
日期:2016-06-17 17:59:31平安夜徽章
日期:2015-12-26 00:06:30
发表于 2015-08-09 12:23 |显示全部楼层
1、分享一下你对内核的理解。
我对内核的理解:内核不是一个完整的操作系统,它操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。这正是Linux kernel和Linux发行版的区别,Ubuntu、Readhat、Suse、Debian等Linux发行版是操作系统,它们都是基于Linux kernel。

2、你编译过内核吗?为什么要重新编译内核?
编译过Linux内核。编译内核的原因:做嵌入式开发,需要在内核中添加新的设备驱动程序,这些驱动程序都是添加到内核driver目录中,然后编译到内核image中。

3、怎样看待不同类别内核(单内核、双内核、微内核等)的优缺点?
我也是第一次知道单内核和双内核,看到后百度了一下,学习了。
我只了解微内核和宏内核,微内核的目标是将系统服务的实现和系统的基本操作规则分离开来。微内核只提供了很小一部分的硬件抽象,大部分功能由一种特殊的用户态程序:服务器来完成。Minix就是个微内核,Linux就是宏内核,内核代码中包含大量驱动程序,Linus就微内核和宏内核和Tanenbaum有一次论战。

4、分享一个你读/修改内核源代码的经历。
(1) 读内核源码
研究Linux内核的USB子系统,从USB设备插入系统中,被HUB driver识别,如何一步步添加到系统中,并和对应的driver 绑定到一起的过程。在分析的过程中,分析了Linux驱动子系统和sys文件系统。
(2) 修改内核代码
将Linux kernel中的通用USB蓝牙设备驱动修改来适配特定的蓝牙芯片,方法是现阅读源代码,搞懂driver的设计思想,然后添加firmware download机制,芯片reset。

5、如果让你自己设计一个内核,你认为内核中最难或最重要的部分是哪个?
我认为内核设计最难的部分是内存管理系统,内存是系统中最紧缺的资源,程序的执行都加载到内存中,内存管理系统设计好坏影响到系统性能。

论坛徽章:
0
发表于 2015-08-10 10:21 |显示全部楼层
想了解一下这方面的知识,希望有更多的大牛加入讨论

论坛徽章:
13
午马
日期:2015-01-19 14:08:552017金鸡报晓
日期:2017-01-10 15:13:29黑曼巴
日期:2016-11-07 11:24:56PHP
日期:2016-10-25 16:06:46黄金圣斗士
日期:2015-11-24 10:43:13IT运维版块每日发帖之星
日期:2015-09-25 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:002015亚冠之阿尔纳斯尔
日期:2015-07-27 11:17:582015亚冠之广州恒大
日期:2015-07-24 15:04:162015年亚洲杯之乌兹别克斯坦
日期:2015-04-01 13:28:012015年辞旧岁徽章
日期:2015-03-03 16:54:15处女座
日期:2015-01-22 16:09:16
发表于 2015-08-13 08:17 |显示全部楼层
1、分享一下你对内核的理解。
内核就是对硬件资源进行管理,并抽象出一系列系统调用供上层调用,是操作系统实现各种功能的必要基石。

2、你编译过内核吗?为什么要重新编译内核?
刚上班的几个月都在编译内核,当时是为了部署xen,要使用更适合的内核版本。

3、怎样看待不同类别内核(单内核、双内核、微内核等)的优缺点?
这个了解的不多,只知道基本都是和速度、体积、可扩展性相关的一下争论。

4、分享一个你读/修改内核源代码的经历。
改过一点xen内核,对整体的理解不够,改完了总会引起各种各样的问题。
概况起来就还是能力没达到可以改内核级的水平。

5、如果让你自己设计一个内核,你认为内核中最难或最重要的部分是哪个?
个人认为最重要的是文件系统,尤其对于linux这种一切皆文件的os,对文件的管理是核心。
最难的是内存管理,管理的不好会直接影响性能。

评分

参与人数 1可用积分 +10 收起 理由
lsstarboy + 10 赞一个!

查看全部评分

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
发表于 2015-08-19 15:22 |显示全部楼层
请教一下这本书的英文名是啥,Unix Internals - the new ????, 图片看不太清楚……

论坛徽章:
0
发表于 2015-08-20 17:20 |显示全部楼层
哪位有这本书的英文版闲置吗?

论坛徽章:
4
天秤座
日期:2015-01-09 16:08:43狮子座
日期:2015-01-10 12:54:442015年亚洲杯之卡塔尔
日期:2015-01-29 23:02:232015亚冠之卡尔希纳萨夫
日期:2015-10-17 10:41:11
发表于 2015-08-22 14:32 |显示全部楼层
nswcfd 发表于 2015-08-19 15:22
请教一下这本书的英文名是啥,Unix Internals - the new ????, 图片看不太清楚……


论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
发表于 2015-08-26 13:06 |显示全部楼层
本帖最后由 nswcfd 于 2015-08-26 13:07 编辑

回复 28# sleepcat
多谢!

很有意思的封面 :)

论坛徽章:
0
发表于 2015-08-28 16:44 |显示全部楼层
日常工作喜欢用linux,命令行秀的飞起。支持一下!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP