- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux内核阅读感悟概要1
Table of Contents
读核感悟2
读核感悟-Linux内核启动-内核的生成2
读核感悟-Linux内核启动-从hello world说起3
读核感悟-Linux内核启动-BIOS5
读核感悟-Linux内核启动-setup辅助程序6
读核感悟-Linux内核启动-内核解压缩8
读核感悟-Linux内核启动-开启页面映射9
读核感悟-Linux内核启动-链接脚本11
读核感悟-伪装现场-系统调用参数13
读核感悟-伪装现场-fork()系统调用15
读核感悟-伪装现场-内核线程:17
读核感悟-伪装现场-信号通信19
读核感悟-kbuild系统-内核模块的编译22
读核感悟-kbuild系统-编译到内核和编译成模块的区别24
读核感悟-kbuild系统-make bzImage的过程26
读核感悟-kbuild系统-make menuconfig31
读核感悟-文件系统-用C来实现面向对象32
读核感悟-设计模式-用C来实现虚函数表和多态32
读核感悟-设计模式-用C来实现继承和模板33
读核感悟-设计模式-文件系统和设备的继承和接口34
读核感悟-设计模式-文件系统与抽象工厂36
读核感悟-阅读源代码技巧-查找定义37
读核感悟-阅读源代码技巧-变量命名规则42
读核感悟-内存管理-内核中的页表映射总结43
读核感悟-健壮的代码-exception table-内核中的刑事档案44
读核感悟-定时器-巧妙的定时器算法45
读核感悟-内存管理fault处理流程45
读核感悟-文件读写-select实现原理47
读核感悟-文件读写-poll的实现原理49
1 功能介绍:49
2 关键的结构体:49
3 poll的实现49
4 性能分析:50
读核感悟-文件读写-epoll的实现原理50
1 功能介绍50
2 关键结构体:51
3 epoll_create的实现53
4 epoll_ctl的实现53
5 epoll_wait的实现54
6 性能分析54
读核感悟-同步问题-同步问题概述55
1 同步问题的产生背景55
2 内核态与用户态的区别55
读核感悟-同步问题-内核态自旋锁的实现56
1自旋锁的总述56
2非抢占式的自旋锁56
3 锁的释放57
4 与用户态的自旋锁的比较57
5 总结58
读核感悟-内存管理-free命令详解58
读核感悟-文件读写-2.6.9内核中的AIO59
1 AIO概述59
2 内核态AIO的使用61
读核感悟-文件读写-内核态AIO相关结构体61
1 内核态AIO操作相关信息61
2 AIO上下文:63
3 AIO ring63
4 异步I/O事件的返回信息64
读核感悟-文件读写-内核态AIO创建和提交操作65
1 AIO上下文的创建-io_setup()65
2 AIO请求的提交:io_submit实现机制66
读核感悟-文件操作-AIO操作的执行66
1.在提交时执行AIO66
2.在工作队列中执行AIO66
3.负责AIO执行的核心函数aio_run_iocb67
4 AIO操作的完成67
读核感悟-文件读写-内核态是否支持非direct I/O方式的AIO67
读核感悟
读核感悟 -Linux内核启动 -内核的生成
这段时间在看《Linux内核源代码情景分析》,顺便写了一些感悟。
读内核源代码是一件很有意思的事。它像一条线,把操作系统,编译原理,C语言,数据结构与算法,计算机体系结构等等计算机的基础课程串起来。
我看内核源代码是用lxr +glimpse(不一定要自己架,可以直接访问校内外的lxr网站)的。如果在windows下也可以用source insight。以下的当前路径为内核源代码路径,通常为/usr/src/linux。内核版本为2.6.13,平台为x86
好,让我们开始Linux内核之旅。
我们的出发点是在CPU加电的一刹那,系统处于16位实地址模式下,终点是内核开始运行start_kernel(),系统处于32位页式寻址的保护模式下。那时内核映象bzImage已经解压完毕,运行于内核态。系统中已经有了一个叫swapper的0号进程,有自己的内核堆栈,情况就相对好理解得多。(尽管与用户态程序相比,还要多操心不少事,包括对硬件的直接操作,内核态各种数据结构的初始化,对页表的操作等等)。
不过,不妨先做些准备动作。
首先,什么是内核?
目前,只知道编译内核后,产生一个叫bzImage的压缩内核映象。它不同于任何普通的可执行程序。我们甚至不知道它从哪里开始执行。只知道把它往/boot/下一放,往bootloader的配置文件(例如grub的menu.lst)中写上相关信息,机子就顺利启动了。
因此,我对它的生成过程产生了浓厚兴趣。于是,我查看了相关资料,最直接的资料
您可能关注的文档
最近下载
- 地理七上.doc VIP
- 麦克维尔自然冷却风冷螺杆冷水机组 安装使用手册(1).pdf VIP
- 《职业生涯规划与就业指导》高职大学生就业指导全套教学课件.pptx
- 竣工图绘制合同协议.docx VIP
- 浙江省温州市2022-2023学年高一上学期期末教学质量统一检测政治试题.pdf VIP
- 匹克球理论考试试题库及答案.docx VIP
- 2024年福建省龙岩市新罗区西城街道招聘社区工作者真题带答案详解.docx VIP
- 北京市东城区东直门中学2024-2025学年七年级上学期分班考数学试卷.docx VIP
- 2024-2025学年人教版初中体育与健康九年级(全一册)教学设计.docx
- 冬季防寒防冻培训.pptx VIP
原创力文档


文档评论(0)