书悦网 -返璞归真
本书资料更新时间:2025-01-20 13:17:19

返璞归真 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线

返璞归真精美图片
》返璞归真电子书籍版权问题 请点击这里查看《

返璞归真书籍详细信息

  • ISBN:9787121108716
  • 作者:暂无作者
  • 出版社:暂无出版社
  • 出版时间:2010 年6月
  • 页数:751
  • 价格:89.00元
  • 纸张:暂无纸张
  • 装帧:暂无装帧
  • 开本:暂无开本
  • 语言:未知
  • 丛书:暂无丛书
  • TAG:暂无
  • 豆瓣评分:暂无豆瓣评分
  • 豆瓣短评:点击查看
  • 豆瓣讨论:点击查看
  • 豆瓣目录:点击查看
  • 读书笔记:点击查看
  • 原文摘录:点击查看
  • 更新时间:2025-01-20 13:17:19

内容简介:

操作系统是一种对计算机中各个设备和资源进行管理并给应用软件提供各种服务的系统软件,它的实现可分用户态和内核态两大部分。一般而言,操作系统的算法和设计的复杂性大多在内核态部分。因此,了解操作系统的内核实现对于了解整个操作系统是非常重要的。

本书详细阐述操作系统的内核(也包括少量用户态部分),选择UNIX第6版的全部内核代码及少量用户部分代码、总计10 000行作为讲解对象,由框架到细节、由基础到高级地进行讲述;在此过程中贯穿了操作系统中的各种知识和概念,比如内存管理、进程调度、中断和设备管理以及文件系统等,使得内容非常易于读者理解。

选择UNIX作为讲解对象是因为它强大的生命力和应用的广泛性。在精妙的设计思想下,它具有小巧高效而健壮的内核、丰富的功能、易扩展的架构和良好的开放性。UNIX所定义的很多接口(比如文件访问接口)已经成为行业标准。本书在讲解时,作者把这10 000行代码按照不同的功能模块分成不同的章节。每章一般最小以函数为单位,但在讲解某个功能或接口时,又会牵涉到很多相关的函数,并其中揭示了很多优秀的设计思想、数据结构和算法。

本书适用于具有丰富开发经验的高级软件工程师,尤其是有志于进行操作系统研究或对操作系统实现感兴趣的软件工程师,也可作为本专科院校计算机及相关专业学生学习操作系统和C语言的参考书。初级软件开发人员在阅读本书时可能会碰到一些困难,但如能坚持研究,它也会是你提高编程水平的一个很好的选择。


书籍目录:

第1章 概论 1

1.1 历史背景 1

1.2 UNIX诞生的经过 1

1.3 UNIX版本6 2

1.4 各流派一览 2

1.5 为什么取得成功 3

1.5.1 简洁高效 3

1.5.2 健壮性 3

1.5.3 功能丰富 3

1.5.4 移植性 3

1.5.5 开放性 4

1.6 缩写及术语说明 4

第2章 UNIX综述 6

2.1 硬件平台 6

2.1.1 中断和自陷(Trap) 7

2.1.2 两种处理器模式 9

2.1.3 通用寄存器 10

2.1.4 I/O设备管理 10

2.1.5 栈(Stack) 11

2.1.6 常用指令 11

.2.1.7 备注 19

2.2 UNIX内核综述 20

2.2.1 模块分类 20

2.2.2 各模块间的通信 20

2.2.3 源文件 21

2.2.4 语法规则和编码风格说明 23

2.3 思考题 27

第3章 虚拟内存 28

3.1 简介 28

3.2 虚拟内存的优点 29

3.2.1 安全性 29

3.2.2 提高空间利用率 30

3.2.3 多进程的支持 30

3.3 PDP11/40的虚拟内存机制 30

3.3.1 页地址寄存器(PAR) 32

3.3.2 页描述寄存器(PDR) 32

3.3.3 活动页寄存器地址 33

3.3.4 虚拟地址向物理地址的映射过程 33

3.3.5 异常处理 35

3.3.6 和现代页式虚存的比较 36

3.4 UNIX的虚存实现 36

3.4.1 进程空间分布 36

3.4.2 用户活动页寄存器设置函数estabur 37

3.4.3 用户空间映射函数sureg 41

3.5 内存管理 42

3.5.1 内核内存管理 42

3.5.2 用户内存管理 47

3.6 思考题 56

第4章 启动模块 57

4.1 操作流程 57

4.2 中断向量 58

4.3 启动函数start 60

4.4 备注 65

4.4.1 为什么需要引导程序和装入程序 65

4.4.2 0地址处指令分析 65

4.4.3 为什么要使用汇编语言 66

4.4.4 Windows启动过程浅析 66

4.5 思考题 67

第5章 进程管理和调度 68

5.1 程序员眼中的虚拟机 68

5.2 系统资源 68

5.3 进程上下文 70

5.4 进程调度 72

5.5 UNIX实现 73

5.5.1 进程上下文 73

5.5.2 进程的两种状态 80

5.5.3 调度过程 82

5.5.4 备注 128

5.6 思考题 134

第6章 中断处理过程 136

6.1 PSW寄存器 136

6.2 中断处理流程 136

6.3 中断向量 138

6.4 PDP 11/40的中断类型 139

6.4.1 电传终端接口输入中断 139

6.4.2 电传终端接口输出中断 140

6.4.3 纸带打孔机输入中断 140

6.4.4 纸带打孔机输出中断 140

6.4.5 时钟中断 140

6.4.6 行打印机中断 140

6.4.7 磁盘读写中断 140

6.5 一些常用函数 140

6.5.1 特殊指令 140

6.5.2 fubyte(fuibyte) 141

6.5.3 fuword(fuiword) 143

6.5.4 subyte(suibyte) 143

6.5.5 suword(suiword) 144

6.5.6 clearseg 144

6.5.7 copyseg 145

6.5.8 copyin/copyout 146

6.5.9 dpadd 148

6.5.10 ldiv/lrem/lshift 148

6.6 call函数 149

6.7 时钟中断 151

6.7.1 基本概念 151

6.7.2 处理过程 152

6.8 call函数调用分派切换器的理由 163

6.9 内核定时器 164

6.9.1 数据结构 164

6.9.2 定时器的创建 165

6.9.3 定时器的触发 167

6.10 一些例子 168

6.10.1 进程优先级的调整 168

6.10.2 进程分派切换实例 174

6.11 备注 178

6.11.1 中断服务函数中为什么不使用互斥锁 178

6.11.2 中断服务函数中为什么不访问u变量 178

6.11.3 关于内存管理违例自陷的处理过程 179

6.11.4 调度标志runrun和runin 179

6.12 思考题 179

第7章 自陷 180

7.1 自陷原理 180

7.2 自陷向量 180

7.3 PDP11/40的自陷类型 180

7.3.1 系统出错自陷 180

7.3.2 系统调用自陷 182

7.3.3 调试自陷 182

7.3.4 自陷优先级 183

7.4 自陷处理过程 184

7.4.1 汇编函数_trap 184

7.4.2 C函数trap 186

7.4.3 backup函数 191

第8章 文件系统 211

8.1 概述 211

8.2 框架 212

8.2.1 文件存储的实现 212

8.2.2 UNIX文件系统 219

8.2.3 UNIX文件系统的详细实现 224

8.3 文件访问接口 229

8.3.1 文件创建接口creat 230

8.3.2 文件打开接口open 235

8.3.3 文件关闭接口close 236

8.3.4 文件读接口read 237

8.3.5 文件写接口write 238

8.3.6 文件定位接口seek 239

8.3.7 特殊文件创建接口mknod 242

8.3.8 文件链接接口link 244

8.3.9 取消文件链接接口unlink 246

8.3.10 设备加载接口smount 248

8.3.11 设备卸载接口sumount 251

8.4 节点和块管理 253

8.4.1 节点缓存 253

8.4.2 块缓存 255

8.4.3 块访问接口 263

8.4.4 节点访问接口 294

8.5 块设备驱动 322

8.5.1 概述 322

8.5.2 根设备——rk11磁盘 326

8.6 备注 335

8.6.1 FAT16文件系统 335

8.6.2 多进程访问文件的问题 338

8.6.3 进程间同步 339

8.6.4 文件的删除 340

8.6.5 设备驱动的扩展 340

8.7 总结 341

8.8 思考题 341

第9章 字符设备驱动 342

9.1 交互终端——电传打字机(teletypewriter) 342

9.1.1 设备特性 343

9.1.2 操作寄存器 343

9.1.3 驱动框架 345

9.1.4 驱动函数 351

9.1.5 shell应用举例 378

9.1.6 内核打印接口 379

9.2 PC-11纸带打孔机 383

9.2.1 设备特性 383

9.2.2 操作寄存器 384

9.2.3 驱动框架 385

9.2.4 驱动函数 387

9.2.5 读取器状态转换图 392

9.3 LP-11行打印机 393

9.3.1 设备特性 393

9.3.2 操作寄存器 393

9.3.3 驱动框架 394

9.3.4 驱动函数 396

9.4 现代打印机 401

9.4.1 并口 401

9.4.2 和内核挂接 403

9.4.3 简单的打印程序 406

9.4.4 CUPS 408

9.5 其他字符设备 408

9.5.1 内存 409

9.5.2 磁盘 411

9.6 网络驱动程序 415

9.7 综合示例 416

9.8 总结 417

9.9 思考题 418

第10章 进程交换过程 419

10.1 概述 419

10.2 具体实现 421

10.2.1 进程换出函数xswap 422

10.2.2 程序段内存释放函数xccdec 423

10.2.3 交换函数swap 424

10.2.4 调用实例 425

10.3 综合示例 426

10.4 思考题 430

第11章 UNIX可执行文件 431

11.1 .out文件 431

11.1.1 可执行头 431

11.1.2 程序段 432

11.1.3 数据段 432

11.1.4 程序和数据重定向表 432

11.1.5 符号表 434

11.1.6 示例 437

11.2 动态链接过程* 442

11.2.1 静态共享 443

11.2.2 动态共享 446

11.2.3 GOT/PLT表和位置无关代码(PIC) 446

11.2.4 动态加载过程分析 450

第12章 系统调用 457

12.1 概述 457

12.2 系统调用的实现 457

12.2.1 用户实现 459

12.2.2 系统调用表和trap自陷 459

12.2.3 内核实现 469

12.3 各系统调用的实现 469

12.3.1 文件相关调用 471

12.3.2 进程相关调用 491

12.3.3 信号相关调用 538

12.3.4 调试功能调用 558

12.3.5 用户/组ID调用 586

12.3.6 时间相关调用 589

12.3.7 终端相关调用 591

第13章 进程间通信 596

13.1 概述 596

13.2 管道 596

13.2.1 相关系统调用 596

13.2.2 管道实现过程分析 602

13.2.3 应用示例 603

13.2.4 采用内存文件实现管道 608

13.2.5 思考题 610

13.3 文件 610

13.4 有名管道 611

13.5 进程间同步 611

13.5.1 信号量 612

13.5.2 互斥体 621

13.5.3 事件 622

13.6 死锁 634

13.7 其他进程间数据传输方式 636

13.7.1 消息(message) 636

13.7.2 信箱(mailbox) 648

13.7.3 共享内存 671

第14章 多线程的实现 686

14.1 概述 686

14.2 线程和经典进程的比较 686

14.3 线程的示例实现 686

14.3.1 相关数据结构 686

14.3.2 实现方案 689

14.3.3 线程创建调用CreateThread 691

14.3.4 内核改动 695

14.3.5 线程退出调用ExitThread 711

14.3.6 线程id获得调用gettid 712

14.3.7 线程挂起调用SuspendThread 712

14.3.8 线程恢复调用ResumeThread 714

14.3.9 线程终止调用TerminateThread 715

14.3.10 线程ID查询调用GetThreadID 719

14.3.11 线程名查询调用GetThreadName 720

14.3.12 使用示例 721

14.3.13 思考题 723

第15章 网络多用户 724

15.1 系统初始化过程 724

15.1.1 init进程 724

15.1.2 getty程序 725

15.1.3 login程序 725

15.2 telnet程序 730

15.2.1 工作原理 730

15.2.2 常用配置 731

15.3 NFS(网络文件系统) 732

15.3.1 基本原理 733

15.3.2 RPC(远程过程调用) 734

15.3.3 各过程的实现 737

15.3.4 简单示例 741

附录A 参考书目及资源 742

附录B 思考题答案 743


作者介绍:

暂无相关内容,正在全力查找中


出版社信息:

暂无出版社相关信息,正在全力查找中!


书籍摘录:

暂无相关书籍摘录,正在全力查找中!


在线阅读/听书/购买/PDF下载地址:

在线阅读地址:返璞归真在线阅读

在线听书地址:返璞归真在线收听

在线购买地址:返璞归真在线购买


原文赏析:

暂无原文赏析,正在全力查找中!


其它内容:

书籍介绍

操作系统是一种对计算机中各个设备和资源进行管理并给应用软件提供各种服务的系统软件,它的实现可分用户态和内核态两大部分。一般而言,操作系统的算法和设计的复杂性大多在内核态部分。因此,了解操作系统的内核实现对于了解整个操作系统是非常重要的。

本书详细阐述操作系统的内核(也包括少量用户态部分),选择UNIX第6版的全部内核代码及少量用户部分代码、总计10 000行作为讲解对象,由框架到细节、由基础到高级地进行讲述;在此过程中贯穿了操作系统中的各种知识和概念,比如内存管理、进程调度、中断和设备管理以及文件系统等,使得内容非常易于读者理解。

选择UNIX作为讲解对象是因为它强大的生命力和应用的广泛性。在精妙的设计思想下,它具有小巧高效而健壮的内核、丰富的功能、易扩展的架构和良好的开放性。UNIX所定义的很多接口(比如文件访问接口)已经成为行业标准。本书在讲解时,作者把这10 000行代码按照不同的功能模块分成不同的章节。每章一般最小以函数为单位,但在讲解某个功能或接口时,又会牵涉到很多相关的函数,并其中揭示了很多优秀的设计思想、数据结构和算法。

本书适用于具有丰富开发经验的高级软件工程师,尤其是有志于进行操作系统研究或对操作系统实现感兴趣的软件工程师,也可作为本专科院校计算机及相关专业学生学习操作系统和C语言的参考书。初级软件开发人员在阅读本书时可能会碰到一些困难,但如能坚持研究,它也会是你提高编程水平的一个很好的选择。


书籍真实打分

  • 故事情节:4分

  • 人物塑造:6分

  • 主题深度:6分

  • 文字风格:4分

  • 语言运用:5分

  • 文笔流畅:9分

  • 思想传递:7分

  • 知识深度:9分

  • 知识广度:5分

  • 实用性:4分

  • 章节划分:4分

  • 结构布局:9分

  • 新颖与独特:8分

  • 情感共鸣:5分

  • 引人入胜:9分

  • 现实相关:9分

  • 沉浸感:5分

  • 事实准确性:3分

  • 文化贡献:5分


网站评分

  • 书籍多样性:9分

  • 书籍信息完全性:4分

  • 网站更新速度:5分

  • 使用便利性:6分

  • 书籍清晰度:8分

  • 书籍格式兼容性:4分

  • 是否包含广告:3分

  • 加载速度:8分

  • 安全性:9分

  • 稳定性:3分

  • 搜索功能:8分

  • 下载便捷性:4分


下载点评

  • 章节完整(156+)
  • 二星好评(676+)
  • 经典(469+)
  • azw3(646+)
  • 好评多(158+)
  • 图文清晰(379+)

下载评价

  • 网友 师***怡: ( 2025-01-16 10:45:29 )

    说的好不如用的好,真心很好。越来越完美

  • 网友 訾***晴: ( 2025-01-13 18:18:16 )

    挺好的,书籍丰富

  • 网友 堵***格: ( 2025-01-03 09:19:10 )

    OK,还可以

  • 网友 薛***玉: ( 2025-01-07 02:06:27 )

    就是我想要的!!!

  • 网友 利***巧: ( 2025-01-16 10:31:25 )

    差评。这个是收费的

  • 网友 陈***秋: ( 2025-01-11 21:19:08 )

    不错,图文清晰,无错版,可以入手。

  • 网友 师***怀: ( 2024-12-27 14:11:16 )

    好是好,要是能免费下就好了

  • 网友 国***舒: ( 2025-01-17 09:07:31 )

    中评,付点钱这里能找到就找到了,找不到别的地方也不一定能找到

  • 网友 融***华: ( 2025-01-04 02:00:55 )

    下载速度还可以

  • 网友 孙***美: ( 2024-12-28 18:20:15 )

    加油!支持一下!不错,好用。大家可以去试一下哦

  • 网友 林***艳: ( 2024-12-26 21:05:05 )

    很好,能找到很多平常找不到的书。

  • 网友 堵***洁: ( 2024-12-27 18:17:19 )

    好用,支持

  • 网友 芮***枫: ( 2025-01-18 07:58:38 )

    有点意思的网站,赞一个真心好好好 哈哈


随机推荐