免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach
打印 上一主题 下一主题

[实践] 它山之石,可以攻玉--从内核中学到了什么(获奖名单已公布-2014-4-21) [复制链接]

论坛徽章:
1
摩羯座
日期:2013-11-29 18:02:31
41 [报告]
发表于 2014-03-16 13:21 |只看该作者
1. 内核的哪些数据结构以及 API 被用到或者移植到了和内核没有直接关系的工作中
具体的数据结构没有研究过,但是参考内核模块的生命周期性,将模块注册机制,生命周期特性移植到工作中。
我做的工作是写发动机控制ECU软件,这个对时序要求很严格,特定时期做特定的事情,使用模块的特性来实现,刚刚好。

2. 分享一下曾经解决了燃眉之急的某个内核新特性
内核的初始化函数是通过编译选项将其分配到统一的地址的,在这个地址范围内中的都是些初始化函数的指针,这样便于内存管理,也便于主干逐个通过函数指针调用来执行系统初始化。第一次看到这个用法,很是觉得惊奇。在工作中,就遇到了类似的问题,在实现发动机控制ECU时,为了方便应用程序内存管理和Bootloader设计,同时便于编译各个部分代码的大小,我参考Unix内核的做法,将初始化函数和周期函数分别通过编译命令放置到不同的位置。
这一点算是直接从内核中学习的。


3. 介绍一下个人曾经研究过的某个内核特性
曾经深入研究过内核的异步特性,并和Windows作对比,在了解其实现方式后,将这个特性移植到uCosII中。纯粹只是为了玩而已。

评分

参与人数 1可用积分 +6 收起 理由
Godbach + 6 感谢分享

查看全部评分

论坛徽章:
0
42 [报告]
发表于 2014-03-16 14:08 |只看该作者
1. 内核的哪些数据结构以及 API 被用到或者移植到了和内核没有直接关系的工作中
使用过list.h移植到用户处来使用,做链表队列非常好用

2. 分享一下曾经解决了燃眉之急的某个内核新特性
tmpfs, 曾经做开机恢复默认设置,开机后将就是使用的tmpfs将文件挂上去,把基本配置拷过去,将 /etc/resolv.conf链接到/tmp下, 保护nand flash尽量少擦写

3. 介绍一下个人曾经研究过的某个内核特性
主要看的是设备驱动框架,像iic, spi实际关联的驱动等,因为嵌入式linux移植必需折腾的

评分

参与人数 1可用积分 +6 收起 理由
Godbach + 6 感谢分享

查看全部评分

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
43 [报告]
发表于 2014-03-17 01:23 |只看该作者
看样子是和 lions 那本讲的相同的代码啊

论坛徽章:
1
技术图书徽章
日期:2014-07-11 16:30:58
44 [报告]
发表于 2014-03-17 10:35 |只看该作者
粗略的看了一遍 LINUX的1.1 版本的源码,了解发展史呀,以及当初LINUS设计时的当时的思想,内核存在的BUG等等,虽然不是从事内核的相关工作但是通过阅读对系统的启动流程,进程,线程的原理,以及进程间通信如何实现的有个更深入的了解。

论坛徽章:
0
45 [报告]
发表于 2014-03-17 11:15 |只看该作者
1. 内核的哪些数据结构以及 API 被用到或者移植到了和内核没有直接关系的工作中
工作中用VxWorks系统,本身也自带了list库,但是还是不如内核的list.h好用,list.h基本直接拿来就能用,移植工作很少
另外linux的XXX_initcall也是一个非常好用的机制,在我们的应用中很好的实现了底层和上层的分离。
printk实现的限制的打印信息频率的方法,也移植到vxworks,确实很好

2. 介绍一下个人曾经研究过的某个内核特性
主要看的是设备驱动框架,这是移植驱动必须的,
另外嵌入式实时系统中免费、优秀、可用的文件系统较少,曾想把UBIFS移植到vxworks,但是相关联的内容太多,还是放弃了。

评分

参与人数 1可用积分 +6 收起 理由
Godbach + 6 感谢分享

查看全部评分

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
46 [报告]
发表于 2014-03-17 11:17 |只看该作者
回复 39# gvim

gvim 大拿都出来了,赞一个,感谢分享。kernel 各种研究啊,应该可以考虑开讲坛了。


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
47 [报告]
发表于 2014-03-17 11:19 |只看该作者
回复 40# smalloc

高屋建瓴啊。

   

论坛徽章:
0
48 [报告]
发表于 2014-03-17 12:32 |只看该作者
1. 内核的哪些数据结构以及 API 被用到或者移植到了和内核没有直接关系的工作中
移植过openwrt,内核中对宏使用确实精妙,很值得借鉴
2. 分享一下曾经解决了燃眉之急的某个内核新特性
目前还没有
3. 介绍一下个人曾经研究过的某个内核特性
最近研究netfilter部分

评分

参与人数 1可用积分 +6 收起 理由
Godbach + 6 感谢分享

查看全部评分

论坛徽章:
1
技术图书徽章
日期:2014-04-24 15:46:21
49 [报告]
发表于 2014-03-17 13:00 |只看该作者
3. 介绍一下个人曾经研究过的某个内核特性
自己起步比较晚,工作以后才接触Linux。 最初从事分布式文件系统的开发,公司代码其实很多和内核的代码类似,至少思想是一致的。
工作中遇到过很多问题,

比如遇到过文件锁,导致大量进程阻塞,持有锁的进程,其实并不需要操作文件,只是无辜的从父进程继承了下来?如何定位哪个进程目前持有锁,文件锁父子进程之间是否继承,这个问题解决的很漂亮,分享在CU的博客,也分享在了公司内部。

了解内核cache机制,对Postgres DB的调优也有比较深入的理解,比如pgfincore,如果你了解Linux的fincore,上手就比较快了。
很多东西都是如此,学习内核,it will help you,but you don't know when。 平时留意工作中遇到的细节,往深处想,往内核处想,久而久之,功力自然提升。

我是一个没有耐心的人,你让我一板一眼的看大部头的书,我看不下去,让我一板一眼的看源代码我也看不下去。但是我喜欢把一个个小问题搞清楚,平时是点,时间久了,点就变成了线,时间在久了,就变成了面。

评分

参与人数 1可用积分 +6 收起 理由
Godbach + 6 感谢分享

查看全部评分

论坛徽章:
1
双子座
日期:2014-09-25 13:38:50
50 [报告]
发表于 2014-03-17 14:03 |只看该作者
个人感觉很多人把做驱动开发看成是内核开发, 其实不然, 驱动开发主要看重的是对硬件模块的databook的理解程度,相同的模块, 做得了windows驱动的人也做得了linux 驱动, 仅仅开发驱动, 真不需要多少内核知识, 需要内核知识主要是那些复杂的协议栈开发过程中的debug, 一般的驱动开发其实就是照葫芦画瓢而已。


回复 30# mgjrr16888


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP