图书介绍
Linux操作系统内核分析【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

- 陈莉君编著(西安邮电学院) 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115083738
- 出版时间:2000
- 标注页数:380页
- 文件大小:24MB
- 文件页数:395页
- 主题词:UNIX操作系统
PDF下载
下载说明
Linux操作系统内核分析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.1 GNU与Linux的成长1
第一章 走进Linux1
1.2 Linux的开发模式和运作机制3
1.3 走进Linux内核4
1.3.1 Linux内核的特征5
1.3.2 Linux内核版本的变化5
1.4 分析Linux内核的意义6
1.4.1 开发适合自己的操作系统6
1.4.3 有助于计算机科学的教学和科研7
1.4.2 开发高水平软件7
第二章 Linux操作系统结构9
2.1 Linux的抽象结构10
2.1.1 概述10
2.1.2 Linux内核的作用11
2.1.3 Linux内核的抽象结构11
2.1.4 系统数据结构12
2.2 Linux的具体结构13
2.3.2 功能14
2.3 进程调度子系统14
2.3.1 子系统描述14
2.3.3 接口15
2.3.4 数据结构15
2.3.5 子系统结构16
2.3.6 子系统依赖关系16
2.4 内存管理子系统17
2.4.1 子系统描述17
2.4.2 功能17
2.4.4 数据结构18
2.4.3 接口18
2.4.5 子系统结构19
2.4.6 子系统依赖关系19
2.5 虚拟文件系统20
2.5.1 子系统描述20
2.5.2 功能21
2.5.3 接口22
2.5.6 子系统依赖关系23
2.5.4 数据结构23
2.5.5 子系统结构23
2.6 进程间通信(IPC)24
2.6.1 子系统描述24
2.6.2 功能25
2.6.3 接口26
2.6.4 数据结构26
2.6.5 子系统结构27
2.6.6 子系统的依赖关系27
2.7 网络接口28
2.7.1 Linux的网络层28
2.7.2 接口28
2.7.3 子系统描述29
2.7.4 数据结构30
2.7.5 子系统结构30
2.8 Linux内核源代码31
2.8.1 多版本的内核源代码31
2.7.6 子系统依赖关系31
2.8.2 Linux内核源代码的结构32
2.8.3 从何处开始阅读源代码33
2.9 常用术语的定义35
第三章 进程调度37
3.1 进程描述37
3.1.1 进程和程序(Process and Program)37
3.1.2 Linux中的进程概述39
3.1.3 task_struct结构描述41
3.1.4 task_struct数据结构47
3.2 Linux时间系统50
3.2.1 时钟硬件及时钟运作机制50
3.2.2 千年危机(千年虫)简介52
3.2.3 Linux时间系统54
3.2.4 时钟中断55
3.3 Linux的调度程序——Schedule()64
3.3.1 基本原理64
3.3.2 Linux进程调度时机66
3.3.3 进程调度的依据68
3.3.4 可运行队列(Runnable Queue)70
3.3.5 进程调度(调度正文)的工作流程71
3.3.6 调度程序流程图72
3.4 Linux内核机制76
3.4.1 内核机制的引入76
3.4.2 Linux内核机制77
3.4.3 任务队列(Task Queue)80
3.4.4 定时器内核例程序处理程序(time bottom half handler)82
4.1 虚拟存储器87
第四章 保护模式87
4.1.1 虚地址和虚地址空间88
4.1.2 段机制和分页机制88
4.1.3 保护89
4.2 描述符91
4.2.1 段机制91
4.2.2 描述符的概念92
4.2.3 系统段描述符93
4.2.4 门描述符94
4.3.1 描述符表95
4.3 描述符表和寻址方式95
4.3.2 选择器与描述符表寄存器96
4.3.3 描述符投影寄存器98
4.4 分页机制99
4.4.1 状态和控制寄存器组100
4.4.2 分页机构101
4.4.3 页面高速缓冲寄存器104
4.5.2 调用门105
4.5 控制转移和任务切换105
4.5.1 控制转移105
4.5.3 任务切换106
4.6 小结107
第五章 Linux启动系统109
5.1 初始化流程109
5.1.1 系统加电或复位110
5.1.2 BIOS启动110
5.2.1 处理器对初始化的影响111
5.2 初始化的任务111
5.1.3 Boot Loader111
5.1.4 操作系统的初始化111
5.2.2 其他硬件设备对初始化的影响112
5.3 Linux的Boot Loader112
5.3.1 软盘的结构112
5.3.2 硬盘的结构113
5.3.3 Boot Loader113
5.3.4 LILO114
5.3.5 LILO的运行分析117
5.4.1 Setup.S119
5.4 进入操作系统119
5.4.2 Head.S120
5.5 main.c中的初始化123
5.6 建立init进程130
5.6.1 init进程的建立130
5.6.2 启动所需的Shell脚本文件131
第六章 Linux内存管理135
6.1.1 Linux虚拟内存的实现结构136
6.1 Linux的虚拟内存管理136
6.1.2 多任务及保护137
6.1.3 内核空间和用户空间138
6.1.4 Linux虚拟内存实现机制间的关系140
6.2 地址映射机制141
6.2.1 地址映射的数据结构141
6.2.2 进程的虚拟内存145
6.2.3 内存映射147
6.3 请页机制149
6.3.1 页故障的产生149
6.3.2 页错误的定位150
6.3.3 页错误处理程序151
6.3.4 几点说明154
6.4 交换机制154
6.4.1 页交换的方法154
6.4.2 交换守护进程(kswapd)的分析155
6.4.3 交换空间的数据结构162
6.4.4 交换空间的应用163
6.5 内存分配和回收机制165
6.5.1 分配策略165
6.5.2 系统级调用分配过程和释放过程167
6.5.3 用户级内存分配释放函数169
6.6 缓存和刷新机制177
6.6.1 Linux使用的缓存177
6.6.2 缓冲区高速缓存179
6.6.3 翻译后援存储器(TBL)182
6.6.4 刷新机制184
6.7 进程的创建和执行187
6.7.1 进程的创建187
6.7.2 程序执行191
6.7.3 执行函数193
6.9 内存初始化199
6.9.1 内存初始化过程199
6.8 内存共享机制199
6.9.2 进入用户模式201
第七章 进程间通信203
7.1 管道203
7.1.1 Linux管道的实现机制204
7.1.2 管道的应用206
7.1.3 命名管道(FIFO)207
7.2 System V的IPC机制208
7.2.1 信号量209
7.2.2 消息队列216
7.2.3 共享内存221
7.3 信号(signal)223
7.3.1 信号的引入223
7.3.2 信号掩码225
7.3.3 系统调用226
7.3.4 典型系统调用的实现228
7.3.5 进程与信号的关系230
7.3.6 信号举例231
8.1 概述233
第八章 虚拟文件系统233
8.2 VFS中的重要数据结构235
8.2.1 VFS的超级块235
8.2.2 VFS的索引节点236
8.2.3 与进程联系的三个结构238
8.2.4 有关操作的数据结构242
8.3 高速缓存245
8.3.1 块高速缓存245
8.3.2 索引节点高速缓存249
8.3.3 目录高速缓存251
8.4 文件系统的注册、安装与卸载251
8.4.1 文件系统的注册251
8.4.2 文件系统的安装253
8.4.3 文件系统的卸载255
8.5 限额机制255
8.6 文件系统的系统调用258
8.6.1 open系统调用258
8.6.2 read系统调用260
8.6.3 fcntl系统调用261
第九章 EXT2文件系统263
9.1 基本概念264
9.2 EXT2的磁盘布局和数据结构266
9.2.1 EXT2的磁盘布局266
9.2.2 EXT2的超级块267
9.2.3 EXT2的索引节点270
9.2.4 组描述符273
9.2.5 位图274
9.2.6 索引节点表及举例275
9.2.7 EXT2的目录项及文件的定位276
9.3 文件的访问权限和安全277
9.4 链接文件279
9.5 错误处理280
9.6 分配策略281
第十章 模块机制283
10.1 概述283
10.1.1 什么是模块283
10.1.2 为什么要使用模块284
10.1.3 Linux内核模块的优缺点285
10.2 实现机制285
10.2.1 数据结构285
10.2.2 实现函数的分析288
10.2.3 模块的装入290
10.3 卸载(unload)一个模块291
10.4 编写内核模块292
10.4.1 内核的复制函数293
10.4.2 内核版本2.0.35与2.2.3之间的变化294
10.4.3 简单内核模块的编写295
10.4.4 内核模块的Makefiles文件296
10.4.5 内核模块的多个文件297
10.5 系统调用299
10.6 模块实用程序299
第十一章 设备驱动程序301
11.1 Linux的设备管理301
11.1.1 I/O软件302
11.1.2 设备驱动程序303
11.1.3 Linux驱动程序的几个通用函数305
11.2 中断306
11.2.1 硬件对中断的支持307
11.2.2 Linux对中断的管理307
11.2.3 Linux对中断的处理309
11.3 块设备驱动程序310
11.3.1 块设备驱动程序的登记310
11.3.2 块设备基于缓冲区的数据交换311
11.3.3 块设备驱动程序的几个函数312
11.3.4 RAM盘驱动程序的实现314
11.3.5 硬盘驱动程序的实现317
11.4 字符设备驱动程序321
11.4.1 字符设备的注册321
11.4.2 工作内存322
11.4.3 基本入口点323
11.4.4 一个字符设备驱动程序的实例324
11.4.5 驱动程序的编译与装载333
12.1 基本原理335
第十二章 Linux系统调用机制335
12.2 系统调用的初始化336
12.3 Linux系统调用的执行340
12.4 增加新的系统调用343
12.4.1 编写一个系统调用343
12.4.2 连接新的系统调用344
12.4.3 使用新的系统调用345
第十三章 网络347
13.1 概述347
13.2 网络协议348
13.2.1 网络参考模型349
13.2.2 TCP/IP协议工作原理及数据流349
13.2.3 Internet协议349
13.2.4 TCP协议351
13.3 套接字(socket)352
13.3.1 套接字在网络中的地位和作用352
13.3.2 套接字接口的种类353
13.3.3 套接字的工作原理354
13.3.4 socket的通信过程355
13.3.5 和套接字相关的数据结构357
13.3.6 socket为用户提供的系统调用359
13.4 套接字缓冲区(sk_buff)360
13.4.1 套接字缓冲区的特点360
13.4.2 套接字缓冲区操作基本原理361
13.4.3 sk_buff数据结构的核心内容363
13.4.4 套接字缓冲区提供的函数364
13.4.5 套接字缓冲区的上层支持例程365
13.4.6 sk_buff数据结构367
13.5 网络设备接口369
13.5.1 基本结构369
13.5.2 命名规则370
13.5.3 设备注册371
13.5.4 网络设备数据结构372
13.5.5 支持函数375
13.5.6 device数据结构377
13.6 本章小结380
热门推荐
- 2225141.html
- 1504622.html
- 1888652.html
- 2684765.html
- 1637786.html
- 215065.html
- 2851173.html
- 2546048.html
- 3725014.html
- 1063584.html
- http://www.ickdjs.cc/book_1050499.html
- http://www.ickdjs.cc/book_1252006.html
- http://www.ickdjs.cc/book_2445587.html
- http://www.ickdjs.cc/book_425653.html
- http://www.ickdjs.cc/book_3554967.html
- http://www.ickdjs.cc/book_2383706.html
- http://www.ickdjs.cc/book_2047643.html
- http://www.ickdjs.cc/book_2082203.html
- http://www.ickdjs.cc/book_1442219.html
- http://www.ickdjs.cc/book_1634972.html