深入理解linux内核 书

第一章 绪论。操作系统,文件系统,linux介绍。单内核与微内核(VxWorks,微内核通常包含几个同步原语,一个简单调度程序和进程间通信机制,运行在微内核之上的几个系统进程实现如内存分配,设备驱动程序,系统调用等操作系统级功能。)linux采用模块来弥补。

内核本身不是一个进程,而是进程的管理者。除用户进程之外,unix系统还包括几个所谓内核线程的特权进程,其特点是:1以内核态运行在内核地址空间2不与用户直接交互3通常在系统启动时创建,一直活跃。

内核控制路径表示内核处理系统调用、异常或中断所执行的指令序列。内核控制路径的交错执行。

可重入内核可以包含非重入函数,并且利用锁机制保证一次只有一个进程执行一个非重入函数。

同步内核控制路径的方式可以有:非抢占内核、禁止中断、信号量、自旋锁、避免死锁。

unix信号(signal)提供了把系统事件报告给进程的一种机制。

IPC:信号量、消息队列、共享内存。

内核内存分配器特点(快,避免浪费,减少碎片,与其他内存管理子系统合作),主要有:资源图分配算法,2的幂次方空闲链表,buddy系统,zone分配算法,slab分配算法等。

第二章 内存寻址。内存地址,硬件分段,分页,linux的分段,分页。

区分:逻辑地址(包含在机器语言指令中用来指定一个操作数或一条指令的地址)、线性地址(也称虚拟地址)、物理地址(用于内存芯片级内存单元寻址)。关系:MMU通过一种称为分段单元的硬件电路把一个逻辑地址转换成线性地址,接着,分页单元的硬件电路把线性地址转换成物理地址。

硬件中的分段:段选择符和段寄存器,段描述符,快速访问段描述符,分段单元。

2.6版的linux只有在8086结构下才需要使用分段。

为了快速找到段选择符,处理器提供段寄存器,用于存放段选择符(段选择符是逻辑地址的一部分)。cs代码段寄存器,指向包含程序指令的段。ss栈段寄存器,指向包含当前程序栈的段。ds数据段寄存器,指向包含静态数据或者全局数据的段。此外还有es,fs,gs,可以指向任意数据段。cs指定特权级。

每个段由一个8字节的段描述符表示,它描述段的特征,放在全局描述符表或局部描述符表中。有几种不同的段及它们对应的段描述符:代码段描述符、数据段描述符、任务状态段描述符(用于保存处理器寄存器的内容)、局部描述符表描述符。

每个CPU有一个GDT全局描述符表,它包含18个段描述符。调用门存放在LDT表,用于在调用预定义函数时改变CPU的特权级。

硬件中的分页:常规分页,扩展分页,硬件保护方案。




第三章 进程。进程及其描述符,进程切换,创建,撤销,线程。

第四章 中断和异常。中断信号作用,处理程序,初始化中断描述符表,异常中断处理,软中断和tasklet,工作队列,从中断和异常返回。

第五章 内核同步。如何为请求提供服务,同步原语,对内核数据结构的同步访问。

第六章 定时测量。时钟和定时电路,linux计时体系结构,更新日期时间,更新系统计数,软定时器和延迟函数。

第七章 进程调度。调度策略,算法,数据结构,函数,多处理器系统中运行队列的平衡。

第八章 内存管理。叶匡,内存区管理,非连续内存区管理。(内核怎样给自己分配主存)

第九章 进程地址空间。内存描述符,线性区,缺页,创建和删除进程地址空间,堆的管理。(怎样给进程分配线性地址)

第十章 系统调用。posix api和系统调用,系统调用处理程序及服务例程,进入和退出系统调用,参数传递,内核封装例程。

第十一章 信号。信号作用,产生,传递。

第十二章 VFS。作用,数据结构,FS类型,处理,路径名查找,VFS系统调用的实现,文件加锁。

第十三章 IO体系结构和设备驱动程序。设备文件,设备驱动程序模型。

第十四章 块设备驱动程序。通用块层,块设备的处理,IO调度程序,打开块设备文件。

第十五章 页高速缓存。把块放在页高速缓存,脏页写回,sync(),fsync(),fdatasync()系统调用。

第十六章 访问文件。读写文件,内存映射,直接IO传送,异步IO。

第十七章 回收叶匡。回收算法,反向映射,PFRA实现,交换。

第十八章 EXT2和EXT3 FS。特征,磁盘数据结构,内存数据结构,创建,函数,管理磁盘。

第十九章 进程通信IPC。管道,fifo,system v ipc,posix消息队列。

第二十章 程序的执行。可执行文件,格式,执行域,exec函数。

附录一 系统启动。

附录二 模块。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值