计算机书店 | 医学书店 | 外语书店 | 少儿书店 | 法律书店 | 生活书店 | 经管书店 | 小说书店 | 文学书店 | 动漫幽默 | 在线阅读 | 更多
首页 | 励志图书 | 编辑推荐 | 销售排行 | 关注排行 | 上架新书 | 名家名作 | 名社精品 | 分类浏览 |  在线阅读 | 专题汇总
购物搜索: 当当 卓越 蔚蓝
所有图书类目>> 计算机书店>> 操作系统>>图书详情

| 本类热销图书TOP10
 
Linux操作系统原理与应用       
Linux操作系统原理与应用实际尺寸图片
原价: ¥24.00(以下报价瞬息万变,建议您点击全部站点比对)
|通过以下方式购买,或许更便宜:
卓越网: 运费0元 去看看
当当网: 运费2元 去看看
蔚蓝网: 专业图书 去看看
【卓越网】340个城市送货上门货到付款,免送货费
【当当网】145个城市送货上门货到付款,送货费2元
【作 者】 陈莉君 康华
【开 本】16   【版 次】1次
【分 类】 计算机书店>>操作系统
【页 数】 246   【字 数】 0
【日 期】 2006年1月
【装 帧】 简装
【出版社】 清华大学出版社
【ISBN】 0
【关注程度】已有620人关注该图书
【版本状态】『全图版』  
 
| 图书大类分区
我要购书网的承诺:本网上购书中心所出售的"Linux操作系统原理与应用"图书保证正版,您在本购书中心享有收到图书七天内无条件退货!收到商品15日之内换货的待遇!
  退货规定:从本网上书店所购买的图书如有质量问题(字迹模糊/缺页/倒装/开线/开胶/折页/封皮破损/缺少随书赠品),可在收到商品7日之内可退货
  换货规定:从本购书中心所购买"Linux操作系统原理与应用"图书如有质量问题(字迹模糊/缺页/倒装/开线/开胶/折页/封皮破损/缺少随书赠品),可在收到商品15日之内换货
编辑推荐
 
本书从原理、设计思想的角度对Linux操作系统的核心内容进行全面的阐述,包括进程管理、中断、内核同步、内存管理、文件系统、I/O设备管理等。书中各章还配以相应的实例分析及习题,便于读者把所学原理与实际开发结合起来,加深理解。在此基础上设立了专门的教学辅导网站,随时解答读者提出的问题。
本书对于希望深入Linux操作系统内部、阅读Linux内核源代码以及进行内核级程序开发的读者具有非常高的参考价值。本书可作为高等院校计算机相关专业的本科生、研究生的教材,同时,Linux应用开发人员、嵌入式系统开发人员、系统程序员、系统管理员以及对Linux感兴趣的读者均可从本书的阅读中获益。
内容简介
 
图书目录
 
第1章 操作系统概述 1
1.1 认识操作系统 1
1.1.1 从使用者角度 1
1.1.2 从程序开发者角度 2
1.1.3 从操作系统在整个计算机系统中所处位置 2
1.1.4 从操作系统设计者的角度 3
1.2 操作系统的发展 4
1.2.1 操作系统的演变 4
1.2.2 硬件的发展轨迹 5
1.2.3 软件的轨迹 6
1.2.4 单内核与微内核操作系统 7
1.3 开放源代码的Unix/Linux操作系统 8
1.3.1 Unix的诞生和发展 8
1.3.2 Linux的诞生 9
1.3.3 操作系统标准POSIX 9
1.3.4 GNU和Linux 9
1.3.5 Linux的开发模式 10
1.4 Linux内核 10
1.4.1 Linux内核的位置 10
1.4.2 Linux内核的作用 11
1.4.3 Linux内核子系统 11
1.5 Linux内核源代码 13
1.5.1 多版本的内核源代码 13
1.5.2 Linux内核源代码的结构 13
1.5.3 Linux内核源代码分析工具 14
习题1 15
第2章 内存寻址 17
2.1 内存寻址简介 17
2.1.1 Intel x86 CPU寻址方式的演变 18
2.1.2 IA32寄存器简介 19
2.1.3 物理地址、虚拟地址及线性地址 21
2.2 分段机制 22
2.2.1 地址转换及保护 24
2.2.2 Linux中的段 24
2.3 分页机制 25
2.3.1 页与页表 25
2.3.2 线性地址到物理地址的转换 28
2.3.3 分页示例 28
2.3.4 页面高速缓存(cache) 29
2.3.5 Linux中的分页机制 30
2.4 Linux中的汇编语言 31
2.4.1 AT&T与Intel汇编语言的比较 31
2.4.2 AT&T汇编语言的相关知识 32
2.5 Linux系统地址映射示例 33
习题2 35
第3章 进程 37
3.1 进程介绍 37
3.1.1 程序和进程 37
3.1.2 进程的层次结构 38
3.1.3 进程状态 39
3.1.4 进程实例 40
3.2 进程控制块 41
3.2.1 进程状态 42
3.2.2 进程标识符 43
3.2.3 进程之间的亲属关系 43
3.2.4 进程控制块的存放 44
3.3 进程的组织方式 45
3.3.1 进程链表 45
3.3.2 散列表 46
3.3.3 可运行队列 47
3.3.4 等待队列 47
3.4 进程调度 48
3.4.1 基本原理 48
3.4.2 时间片 50
3.4.3 Linux进程调度时机 50
3.4.4 进程调度的依据 51
3.4.5 调度函数schedule()的实现 52
3.5 进程的创建 54
3.5.1 创建进程 55
3.5.2 线程及其创建 56
3.6 与进程相关的系统调用及其应用 58
3.6.1 fork系统调用 58
3.6.2 exec系统调用 59
3.6.3 wait系统调用 60
3.6.4 exit系统调用 62
3.6.5 进程的一生 63
3.7 与调度相关的系统调用及应用 63
习题3 65
第4章 内存管理 67
4.1 Linux的内存管理概述 67
4.1.1 虚拟内存、内核空间和用户空间 67
4.1.2 虚拟内存实现机制间的关系 69
4.2 进程用户空间的管理 70
4.2.1 进程用户空间的描述 71
4.2.2 进程用户空间的创建 74
4.2.3 虚存映射 76
4.2.4 进程的虚存区示例 76
4.2.5 与用户空间相关的系统调用 78
4.3 请页机制 79
4.3.1 缺页异常处理程序 79
4.3.2 请求调页 81
4.3.3 写时复制 83
4.4 物理内存的分配与回收 83
4.4.1 伙伴算法 85
4.4.2 物理页面的分配 86
4.4.3 物理页面的回收 88
4.4.4 slab分配模式 89
4.4.5 内核空间非连续内存区的分配 93
4.5 交换机制 95
4.5.1 交换的基本原理 95
4.5.2 页面交换守护进程kswapd 99
4.6 内存管理实例 99
4.6.1 相关背景知识 100
4.6.2 代码体系结构介绍 100
4.6.3 实现步骤 103
4.6.4 程序代码 103
习题4 108
第5章 中断和异常 110
5.1 中断的基本知识 110
5.1.1 中断向量 110
5.1.2 外设可屏蔽中断 111
5.1.3 异常及非屏蔽中断 112
5.1.4 中断描述符表 112
5.1.5 相关汇编指令 113
5.2 中断描述符表的初始化 114
5.2.1 IDT表项的设置 114
5.2.2 对陷阱门和系统门的初始化 115
5.2.3 中断门的设置 116
5.3 中断处理 116
5.3.1 中断和异常的硬件处理 116
5.3.2 中断请求队列的建立 117
5.3.3 中断处理程序的执行 119
5.3.4 从中断返回 121
5.4 中断的下半部处理机制 121
5.4.1 为什么把中断分为两部分来处理 122
5.4.2 小任务机制 122
5.4.3 下半部 124
5.4.4 任务队列 125
5.5 中断应用——时钟中断 125
5.5.1 时钟 125
5.5.2 时钟运作机制 126
5.5.3 Linux的时间系统 127
5.5.4 时钟中断处理程序 128
5.5.5 时钟中断的下半部处理 129
5.5.6 定时器及其应用 129
习题5 132
第6章 系统调用 133
6.1 系统调用与应用编程接口、系统命令、内核函数的关系 133
6.1.1 系统调用与API 133
6.1.2 系统调用与系统命令 134
6.1.3 系统调用与内核函数 134
6.2 系统调用处理程序及服务例程 135
6.2.1 初始化系统调用 136
6.2.2 system_call()函数 136
6.2.3 参数传递 137
6.2.4 跟踪系统调用的执行 139
6.3 封装例程 140
6.4 添加新系统调用 141
6.5 实例——利用系统调用实现一个调用日志收集系统 143
6.5.1 代码体系结构 143
6.5.2 把代码集成到内核中 146
6.5.3 实现步骤 148
习题6 148
第7章 内核中的同步 149
7.1 临界区和竞争状态 149
7.1.1 临界区举例 149
7.1.2 共享队列和加锁 150
7.1.3 确定保护对象 151
7.1.4 死锁 152
7.1.5 并发执行的原因 153
7.2 内核同步方法 153
7.2.1 原子操作 153
7.2.2 自旋锁 155
7.2.3 信号量 156
7.3 并发控制实例 157
7.3.1 内核任务及其并发关系 158
7.3.2 实现机制 158
7.3.3 关键代码解释 162
7.3.4 实现步骤 163
习题7 164
第8章 文件系统 165
8.1 Linux文件系统基础 165
8.1.1 Linux文件结构 165
8.1.2 Linux文件系统 166
8.1.3 文件类型 167
8.1.4 文件访问权限 168
8.2 虚拟文件系统 168
8.2.1 虚拟文件系统的引入 168
8.2.2 VFS中的数据结构 170
8.2.3 VFS超级块数据结构 171
8.2.4 VFS的索引节点 173
8.2.5 目录项对象 174
8.2.6 与进程相关的文件结构 176
8.2.7 主要的数据结构之间的关系 179
8.3 文件系统的注册、安装与卸载 180
8.3.1 文件系统的注册和注销 180
8.3.2 文件系统的安装 181
8.3.3 文件系统的卸载 183
8.4 页缓冲区 183
8.4.1 address_space对象 183
8.4.2 address_space对象的操作函数表 184
8.5 文件的打开与读写 185
8.5.1 打开文件 185
8.5.2 读写文件 187
8.6 编写一个文件系统 189
8.6.1 Linux文件系统的实现要素 189
8.6.2 什么是romfs文件系统 191
8.6.3 romfs文件系统的布局与文件结构 191
8.6.4 具体实现的对象 192
习题8 195
第9章 设备驱动 196
9.1 概述 196
9.2 设备驱动程序基础 198
9.2.1 I/O端口 199
9.2.2 设备文件 200
9.2.3 中断处理 201
9.2.4 设备驱动程序框架 203
9.3 字符设备驱动程序 204
9.3.1 字符设备驱动程序的注册 204
9.3.2 简单的字符设备驱动程序示例 205
9.4 块设备驱动程序 208
9.4.1 块设备驱动程序的注册 209
9.4.2 块设备请求 212
习题9 215
附录A 内核中的链表 216
A.1 链表数据结构简介 216
A.2 内核链表数据结构的定义及初始化 217
A.3 操作链表的接口 218
A.4 遍历链表 219
附录B 内核模块 221
B.1 什么是模块 221
B.2 编写一个简单的模块 221
B.3 模块编程的基础知识 222
B.4 模块的编译 224
B.5 模块实用程序modutils 226
附录C Linux内核编译 228
C.1 内核简介 228
C.2 为什么重新编译内核 228
C.3 内核编译模式 229
C.4 新版本内核的获取和更新 229
C.5 内核编译 230
C.6 修改并重启管理器 232
附录D Linux编程基础(C语言环境) 233
D.1 Linux编程常识 233
D.1.1 相关标准(ANSI C、POSIX、SVID、XPG) 233
D.1.2 函数库和系统调用 234
D.1.3 在线文档(man、info、HOWTO) 235
D.1.4 C语言编程风格 237
D.2 Linux上的C/C++编译器和调试器 238
D.2.1 运行gcc/egcs 238
D.2.2 gcc/egcs的主要选项 240
D.2.3 gdb简介 240
D.2.4 gdb的常用命令 241
D.2.5 gdb使用示例 242
D.3 GNU make和makefile 243
D.3.1 GNU make 243
D.3.2 makefile的基本结构 243
D.3.3 makefile的变量 244
D.3.4 GNU make的主要预定义变量 245
D.3.5 GNU make的隐含规则 245
D.3.6 运行make 246

参考文献 247

网络资源 248





 
 淘宝旺旺:我要购书网上书店『图书目录
本购书中心地址:上海市闸北区老沪太路网上购书中心(沪部),  邮编:310002
电子邮件:jienuo2409@126.com  经营许可证编号:沪ICP备06038574号-非法信息举报:15925619686-
版权所有 2003-2008 © All Rights Reserved .购书网