LKD-第1&2章总结

LKD-第1&2章总结

总结

前两章主要是简略的描述了整个2.6版本的Linux内核的基本情况,为后续章节奠定了基础。

第一章

采用的版本是Linux 2.6.34版本,翻译者是西安邮电大学的陈莉君老师,陈老师还设计了相应的课程网站Linux内核之旅,非常值得借鉴。另外加一句,在Linux/C++学习过程中,华中科技大学的侯捷老师也是一位好老师和好译者。

Linux设计的原则:接口定义合理,代码风格一致,一次做一件事情并且做到完美。

本书对Linux内核核心开发者和外部设备驱动开发者都有帮助。应用程序员应该理解内部的操作系统实现,内核和库函数的设计者也要学会去使用自己的接口。所以在书中,既讨论了内核的设计原理,也讲了内核应该如何去使用。

一些Unix早期的版本:V6是第一次在外界被广泛使用的版本,AT&T提出的System V 版本,伯克利的BSD系列。

Unix的特点:简洁,万物文件,C语言编写,策略和机制分离,进程创建非常迅速,一个进程完成一件事情,进程之间有着丰富的IPC机制(丰富的进程间通信机制)。

Linux不是Unix,尽管Linux实现了Unix的绝大部分的API,但是有一些方面(一些内部调用函数的实现上),Linux甚至和Unix截然相反。

一个操作系统内核主要由以下几个方面组成:负责响应中断的中断处理程序;调度多个进程的调度模块;负责管理进程地址空间的内存管理程序;网络模块;进程间通信的模块等等。

Linux在中断处理这方面:很多操作系统(包括Linux)处理中断都是在一个独立的上下文环境中的!

实际上,我们可以将每个处理器在任何时间的活动归纳为以下三个方面:

图片说明

这里出现了一个对我比较陌生的概念:中断上下文环境,也就是说,处理中断的时候,与任何进程无关,处在一个特定的上下文内核环境中。

图片说明

单内核与微内核的概念

实际上在现代实用主义操作系统中,没有真正意义上的微内核……

图片说明

图片说明

图片说明

图片说明

Linux不区分线程和进程,在内核看来,线程和进程并没有什么本质上的区别……

图片说明

Linux同样丢弃了一些Unix中愚蠢的设计……

第二章

我已经下载了2.6版本的Linux内核程序,作为参考,但是先暂时不编译……

Linux2.6内核代码的目录工程结构

图片说明

图片说明

内核开发的时候需要注意的问题

图片说明

Linux内核中的内联函数,优先使用内联函数而不是宏(针对小模块经常使用的短时间函数可以使用inline)。

图片说明

优化:分支声明,likely和unlikely的使用

图片说明

用户栈和内核栈的概念,8kb和16kb的内核栈

图片说明

使用信号量和自旋锁去解决Linux中同步与互斥的问题。

图片说明

全部评论

相关推荐

2025-12-17 17:15
华东师范大学 运营
点赞 评论 收藏
分享
老粉都知道小猪猪我很久没更新了,因为秋招非常非常不顺利,emo了三个月了,接下来说一下我的情况吧本人是双非本 专业是完全不着计算机边的非科班,比较有优势的是有两段大厂实习,美团和字节。秋招面了50+场泡池子泡死的:滴滴 快手 去哪儿 小鹏汽车 不知名的一两个小厂其中字节13场 两次3面挂 两次2面挂 一次一面挂其中有2场面试题没写出来,其他的都是全a,但该挂还是挂,第三次三面才面进去字节,秋招加暑期总共面了22次字节,在字节的面评可以出成书了快手面了8场,2次实习的,通过了但没去,一次2面挂 最后一次到录用评估 至今无消息滴滴三面完 没几天挂了 所有技术面找不出2个问题是我回答不上来的,三面还来说我去过字节,应该不会考虑滴滴吧,直接给我干傻了去哪儿一天速通 至今无消息小鹏汽车hr 至今无消息美团2面挂 然后不捞我了,三个志愿全部结束,估计被卡学历了虾皮二面挂 这个是我菜,面试官太牛逼了拼多多二面挂 3道题也全写了 也没问题是回答不出来的 泡一周后挂腾讯面了5次 一次2面挂 三次一面挂,我宣布腾讯是世界上最难进的互联网公司然后还有一些零零散散的中小厂,但是数量比较少,约面大多数都是大厂。整体的战况非常惨烈,面试机会少,就算面过了也需要和各路神仙横向对比,很多次我都是那个被比下去的人,不过这也正常,毕竟谁会放着一个985的硕士不招,反而去招一个双非读化学的小子感觉现在互联网对学历的要求越来越高了,不仅仅要985还要硕士了,双非几乎没啥生存空间了,我感觉未来几年双非想要进大厂开发的难度应该直线上升了,唯一的打法还是从大二刷实习,然后苟个转正,不然要是去秋招大概率是炮灰。而且就我面字节这么多次,已经开始问很多ai的东西了,你一破本科生要是没实习没科研懂什么ai啊,纯纯白给了
不知名牛友_:爸爸
秋招你被哪家公司挂了?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务