在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 3845|回复: 11

LINUX编程白皮书

[复制链接]
发表于 2008-3-1 00:09:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本书对Linux操作系统及其编程作了整体的介绍,以支持用于开发软件的公开源码模型。对内存管理、进程及其通信机制、PCI、内核模块编程及内核系统结构作了详细的解释,且附有很多程序代码实例。对深入研究Linux下的编程有很大的帮助。
目      录
雷蒙序
简介
Linux文档工程小组“公告”
译者序
第一部分   Linux内核
前言   
第1章   硬件基础与软件基础    6
1.1   硬件基础    6
1.1.1   CPU    7
1.1.2   存储器    8
1.1.3   总线    8
1.1.4   控制器和外设    8
1.1.5   地址空间    9
1.1.6   时钟    9
1.2   软件基础    9
1.2.1   计算机语言    9
1.2.2   什么是操作系统    11
1.2.3   内核数据结构    13
第2章   内存管理    15
2.1   虚拟内存抽象模型    15
2.1.1   请求调页    17
2.1.2   交换    17
2.1.3   共享虚拟内存    18
2.1.4   物理寻址模式和虚拟寻址模式    18
2.1.5   访问控制    18
2.2   高速缓存    19
2.3   Linux页表    20
2.4   页分配和回收    21
2.4.1   页分配    22
2.4.2   页回收    22
2.5   内存映射    22
2.6   请求调页    23
2.7   Linux页缓存    24
2.8   页换出和淘汰    25
2.8.1   减少缓冲区和页缓存大小    25
2.8.2   换出System V共享内存页    26
2.8.3   换出和淘汰页    27
2.9   交换缓存    27
2.10   页换入    28
第3章   进程    29
3.1   Linux进程    29
3.2   标识符    31
3.3   调度    32
3.4   文件    34
3.5   虚拟内存    35
3.6   创建进程    36
3.7   时间和定时器    37
3.8   执行程序    38
3.8.1   ELF    39
3.8.2   脚本文件    40
第4章   进程间通信机制    41
4.1   信号机制    41
4.2   管道    42
4.3   套接字    44
4.3.1   System V的进程间通信机制    44
4.3.2   消息队列    44
4.3.3   信号量    45
4.3.4   共享存储区    47
第5章   PCI    49
5.1   PCI的地址空间    49
5.2   PCI配置头    50
5.3   PCI的I/O和存储地址空间    51
5.4   PCI-ISA桥    51
5.5   PCI-PCI 桥    51
5.5.1   PCI-PCI桥:PCI I/O和存储地址
           空间的窗口    51
5.5.2   PCI-PCI桥:PCI配置周期和PCI
          总线编号    52
5.6   Linux PCI初始化    53
5.6.1   Linux内核PCI数据结构    53
5.6.2   PCI设备驱动程序    53
5.6.3   PCI的BIOS函数    56
5.6.4   PCI修正过程    57
第6章   中断处理与设备驱动程序    60
6.1   中断与中断处理    60
6.1.1   可编程中断控制器    61
6.1.2   初始化中断处理数据结构    61
6.1.3   中断处理    62
6.2   设备驱动程序    63
6.2.1   测试与中断    64
6.2.2   直接存储器访问(DMA)    65
6.2.3   存储器    66
6.2.4   设备驱动程序与内核的接口    66
6.2.5   硬盘    69
6.2.6   网络设备    74
第7章   文件系统    77
7.1   第二个扩展文件系统EXT2    78
7.1.1   EXT2系统的inode节点     79
7.1.2   EXT2系统的超级块    80
7.1.3   EXT2系统的组描述符    80
7.1.4   EXT2系统的目录    81
7.1.5   在EXT2文件系统中查找文件    81
7.1.6   在EXT2文件系统中改变文件
           的大小    82
7.2   虚拟文件系统    83
7.2.1   VFS文件系统的超级块    84
7.2.2   VFS文件系统的inode节点    84
7.2.3   注册文件系统    85
7.2.4   装配文件系统    85
7.2.5   在虚拟文件系统中查找文件    87
7.2.6   卸载文件系统    87
7.2.7   VFS文件系统的inode缓存    87
7.2.8   目录缓存    88
7.3   缓冲区缓存    88
7.3.1   bdflush内核守护进程    90
7.3.2   update进程    90
7.4   /proc文件系统    91
7.5   特殊设备文件    91
第8章   网络    92
8.1   TCP/IP网络概述    92
8.2   Linux中的TCP/IP网络层次结构    95
8.3   BSD套接字接口    96
8.4   INET的套接字层    97
8.4.1   创建BSD套接字    98
8.4.2   为INET BSD Socket绑定地址    99
8.4.3   建立INET BSD Socket连接    99
8.4.4   INET BSD Socket侦听    100
8.4.5   接受连接请求    100
8.5   IP层    100
8.5.1   套接字缓冲区    100
8.5.2   接收IP报文    101
8.5.3   发送IP报文    102
8.5.4   数据分片    102
8.6   地址解析协议    103
8.7   IP路由    104
第9章   内核机制与模块    107
9.1   内核机制    107
9.1.1   Bottom Half控制    107
9.1.2   任务队列    108
9.1.3   定时器    109
9.1.4   等待队列    110
9.1.5   自旋锁    110
9.1.6   信号量    110
9.2  模块    111
9.2.1   模块载入    112
9.2.2   模块卸载    113
第10章   处理器    115
10.1   X86    115
10.2   ARM    115
10.3   Alpha AXP处理器    115
第11章   Linux内核源代码    117
11.1   怎样得到Linux内核源码    117
11.2   内核源码的编排    117
11.3   从何处看起    118
第12章   Linux数据结构    120
附录A   有用的Web和FTP站点    138
附录B   词汇表    139
第二部分   Linux内核模块编程指南
致谢
前言
第1章   Hello, World    145
1.1   内核模块的Makefiles文件    146
1.2   多重文件内核模块    147
第2章   字符设备文件    149
第3章   /proc文件系统    158
第4章   把/proc用于输入    162
第5章   把设备文件用于输入    170
第6章   启动参数    182
第7章   系统调用    185
第8章   阻塞处理    190
第9章   替换printk    199
第10章   任务调度    202
第11章   中断处理程序    207
第12章   对称多处理    211
第13章   常见错误    212
附录A   2.0和2.2之间的差异    213
附录B   其他资源    214
附录C   给出你的评价    215
第三部分   Linux程序员指南
第1章   Linux操作系统    219
第2章   Linux内核    220
第3章   Linux libc包    221
第4章   系统调用    222
第5章   “瑞士军刀”:ioctl    223
第6章   Linux进程间通信    224
6.1   介绍    224
6.2   半双工Unix管道    224
6.2.1   基本概念    224
6.2.2   用C语言创建管道    225
6.2.3   简便方法    229
6.2.4   管道的原子操作    233
6.2.5   关于半双工管道需要注意的几个
           问题    233
6.3   命名管道    234
6.3.1   基本概念    234
6.3.2   创建FIFO    234
6.3.3   FIFO操作    235
6.3.4   FIFO上的阻塞动作    236
6.3.5   SIGPIPE信号    237
6.4   系统V IPC    237
6.4.1   基本概念    237
6.4.2   消息队列    239
6.4.3   信号量    251
6.4.4   semtool:交互式信号量操作
          程序    260
6.4.5   共享内存    267
第7章   声音编程    274
7.1   内部扬声器编程    274
7.2   声卡编程    274
第8章   字符单元图形    276
8.1   libc中的I/O函数    277
8.1.1   格式化输出    277
8.1.2   格式化输入    278
8.2   termcap库    278
8.2.1   前言    278
8.2.2   获得终端描述    279
8.2.3   查看终端描述    279
8.2.4   termcap权能    280
8.3   Ncurses简介    280
8.4   初始化    282
8.5   窗口    283
8.6   输出    284
8.6.1   格式化输出    285
8.6.2   插入字符/行    286
8.6.3   删除字符/行    286
8.6.4   方框和直线    287
8.6.5   背景字符    287
8.7   输入    288
8.8   选项    289
8.8.1   输出选项    289
8.8.2   输入选项    290
8.8.3   终端属性    291
8.8.4   使用选项    291
8.9   更新终端    292
8.10   视频属性与颜色    293
8.11   光标和屏幕坐标    294
8.12   滚动    294
8.13   小键盘    295
8.14   软标签    295
8.15   杂项    295
8.16   低级访问    296
8.17   屏幕转储    296
8.18   Termcap模拟    296
8.19   Terminfo函数    296
8.20   调试函数    297
8.21   Terminfo权能    297
8.21.1   布尔型权能    297
8.21.2   数值型权能    298
8.21.3   字符串型权能    299
8.22   [N]Curses函数概述    306
第9章   I/O端口编程    307
9.1   鼠标编程    307
9.2   调制解调器编程    308
9.3   打印机编程    308
9.4   游戏杆编程    308
第10章   把应用程序移植到Linux上    309
10.1   介绍    309
10.2   信号处理    309
10.2.1   SVR4、BSD和POSIX.1下
             的信号    310
10.2.2   Linux信号选项    310
10.2.3   Linux下的信号    310
10.2.4   Linux支持的信号    311
10.3   终端I/O    311
10.4   进程信息和控制    311
10.4.1   kvm过程    312
10.4.2   ptrace和/proc文件系统    312
10.4.3   Linux下的进程控制    312
10.5   可移植条件编译    313
10.6   补充说明    314
附录   以字母顺序排列的系统调用    315
第四部分   Linux内核概念系统结构
摘要    323
前言    324
第1章   系统结构    325
1.1   系统概述    325
1.2   内核的目标    325
1.3   内核结构的概述    325
1.4   支持多个开发人员    327
1.5   系统数据结构    328
1.5.1   任务列表    328
1.5.2   内存映射    328
1.5.3   索引节点    328
1.5.4   数据连接    329
第2章   子系统的系统结构    330
2.1   进程调度程序系统结构    330
2.1.1   目标    330
2.1.2   模块    330
2.1.3   数据表达    331
2.1.4   依赖性、数据流和控制流    331
2.2   内存管理程序系统结构    331
2.2.1   目标    331
2.2.2   模块    331
2.2.3   数据表示    331
2.2.4   数据流、控制流和依赖性    332
2.3   虚拟文件系统系统结构    333
2.3.1   目标    333
2.3.2   模块    333
2.3.3   数据表示    333
2.3.4   数据流、控制流和依赖性    334
2.4   网络接口系统结构    334
2.4.1   目标    334
2.4.2   模块    334
2.4.3   数据表示    335
2.4.4   数据流、控制流和依赖性    335
2.5   进程间通信系统结构    335
第3章   结论    336
附录A   术语定义    337
附录B   参考文献    338
第五部分   Linux内核具体系统结构
摘要    341
第1章   前言    342
1.1   目标    342
1.2   Linux介绍    342
1.3   软件系统结构的背景知识    342
1.4   方法与途径    343
1.5   适用本书的读者    344
1.6   本部分的章节安排    344
第2章   系统结构    345
第3章   子系统结构    346
3.1   进程调度程序    346
3.1.1   目标    346
3.1.2   外部接口    346
3.1.3   子系统描述    346
3.1.4   数据结构    347
3.1.5   子系统结构    348
3.1.6   子系统依赖性    348
3.2   内存管理程序    348
3.2.1   目标    348
3.2.2   外部接口    349
3.2.3   子系统描述    349
3.2.4   数据结构    350
3.2.5   子系统结构    350
3.2.6   子系统依赖性    351
3.3   虚拟文件系统    352
3.3.1   目标    352
3.3.2   外部接口    352
3.3.3   子系统描述    353
3.3.4   设备驱动程序    353
3.3.5   逻辑文件系统    354
3.3.6   模块    354
3.3.7   数据结构    355
3.3.8   子系统结构    355
3.3.9   子系统依赖性    355
3.4   进程间通信    355
3.4.1   目标    355
3.4.2   外部接口    357
3.4.3   子系统描述    357
3.4.4   数据结构    358
3.4.5   子系统结构    359
3.4.6   子系统依赖性    359
3.5   网络接口    360
3.5.1   目标    360
3.5.2   外部接口    361
3.5.3   子系统描述    361
3.5.4   数据结构    362
3.5.5   子系统结构    363
3.5.6   子系统依赖性    363
第4章   结论    365
附录A   术语定义    366
附录B   参考文献    368
第六部分   附      录
附录A   Linux文档工程拷贝许可证    372
附录B   GNU通用公共许可证    374

LINUX编程白皮书.part1.rar

2.86 MB, 下载次数: 72 , 下载积分: 资产 -2 信元, 下载支出 2 信元

LINUX编程白皮书.part2.rar

2.86 MB, 下载次数: 69 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2008-3-1 00:12:00 | 显示全部楼层
LINUX编程白皮书

LINUX编程白皮书.part3.rar

2.86 MB, 下载次数: 60 , 下载积分: 资产 -2 信元, 下载支出 2 信元

LINUX编程白皮书.part4.rar

2.86 MB, 下载次数: 68 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2008-3-1 00:13:29 | 显示全部楼层
LINUX编程白皮书

结束

LINUX编程白皮书.part5.rar

2.35 MB, 下载次数: 74 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2008-3-29 15:12:34 | 显示全部楼层
xia look
发表于 2008-4-1 11:37:19 | 显示全部楼层
有目录不错
发表于 2008-4-1 11:39:52 | 显示全部楼层
想下但没有分了
发表于 2008-4-7 15:44:35 | 显示全部楼层
非常好的東西!謝謝!
发表于 2008-12-15 22:47:33 | 显示全部楼层
这么好的东西真的要 感谢你
发表于 2010-12-26 00:25:37 | 显示全部楼层
好东西,谢谢
发表于 2010-12-26 11:59:06 | 显示全部楼层
thank u for sharing
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 19:30 , Processed in 0.031475 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表