图书介绍

操作系统实现之路PDF|Epub|txt|kindle电子书版本网盘下载

操作系统实现之路
  • 辛庆祥编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111414445
  • 出版时间:2013
  • 标注页数:485页
  • 文件大小:281MB
  • 文件页数:497页
  • 主题词:操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

操作系统实现之路PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 操作系统概述1

1.1操作系统的基本概念1

1.1.1操作系统的功能1

1.1.2操作系统的分类2

1.1.3操作系统的发展趋势2

1.1.4操作系统的基本概念3

1.2嵌入式系统和嵌入式操作系统6

1.2.1嵌入式系统概述6

1.2.2嵌入式操作系统概述7

1.2.3嵌入式操作系统的特点7

1.2.4嵌入式操作系统与通用操作系统的区别8

1.2.5嵌入式实时操作系统9

1.3 Hello China操作系统概述10

1.3.1 Hello China的主要功能10

1.3.2 Hello China的架构12

1.3.3 Hello China的主要特点12

1.3.4 Hello China的应用场景14

1.3.5面向对象思想的模拟17

1.4实例:一个简单的IP路由器的实现20

1.4.1概述20

1.4.2路由器的硬件结构21

1.4.3路由器的软件功能22

1.4.4各任务的实现23

第2章Hello China的安装和使用26

2.1 Hello China安装概述26

2.2 Hello China在Virtual PC上的安装26

2.2.1 Hello China在Virtual PC上的启动过程26

2.2.2 Hello China在Virtual PC上的安装过程28

2.3 Hello China在物理计算机上的安装31

2.3.1安装注意事项31

2.3.2在Windows XP操作系统上的安装31

2.3.3在Windows 7操作系统上的安装32

2.4 Hello China的卸载34

2.5 Hello China的使用34

2.6内核的编译和生成35

2.6.1 Hello China内核的开发环境35

2.6.2开发环境的搭建36

2.6.3内核映像文件的生成38

第3章Hello China的引导和初始化41

3.1概述41

3.2个人计算机的引导和初始化41

3.2.1 BIOS的引导工作41

3.2.2硬盘逻辑结构及引导扇区的功能42

3.2.3操作系统引导扇区的功能和局限44

3.2.4预置引导法概述45

3.2.5预置引导法在FAT32文件系统上的实现46

3.2.6预置引导法在NTFS文件系统上的实现47

3.2.7通过软盘启动Hello China49

3.3嵌入式操作系统的引导和初始化53

3.3.1典型嵌入式系统内存映射布局53

3.3.2嵌入式系统的启动概述54

3.3.3常见嵌入式操作系统的加载方式55

3.3.4嵌入式系统软件的写入59

3.4 Hello China的初始化61

3.4.1实地址模式下的初始化61

3.4.2保护模式下的初始化65

3.4.3操作系统核心功能的初始化68

3.4.4 Hello China的内存布局图73

3.5 Hello China的字符shell74

3.5.1字符shell的概述和启动74

3.5.2 shell的消息处理过程75

3.5.3实例:增加一个字符shell内置命令78

3.6从保护模式切换回实模式79

3.6.1模式切换概述79

3.6.2实模式服务调用举例81

3.6.3保护模式切换到实模式82

3.7引导和初始化总结87

第4章Hello China线程的实现88

4.1进程、线程和任务88

4.2 Hello China的线程实现89

4.2.1核心线程管理对象89

4.2.2线程的状态及其切换95

4.2.3核心线程对象96

4.2.4线程的上下文99

4.2.5线程的创建和初始化101

4.2.6线程的结束107

4.2.7线程的消息队列108

4.2.8线程的切换——中断上下文111

4.2.9线程的切换——系统调用上下文118

4.2.10上下文保存和切换的底层函数123

4.2.11线程的睡眠与唤醒128

4.2.12核心线程实现总结128

第5章 内存管理机制129

5.1内存管理机制概述129

5.2 IA32 CPU内存管理机制129

5.2.1 IA32 CPU内存管理机制概述129

5.2.2几个重要的概念131

5.2.3分段机制的应用132

5.2.4分页机制的应用135

5.3 Power PC CPU的内存管理机制142

5.4 Hello China内存管理模型144

5.4.1 Hello China的内存管理模型144

5.4.2 Hello China的内存布局146

5.4.3核心内存池的管理147

5.4.4页框管理对象149

5.4.5页面索引对象154

5.4.6虚拟内存管理对象158

5.5线程本地堆175

5.5.1线程本地堆概述175

5.5.2堆的功能需求定义175

5.5.3堆的实现概要177

5.5.4堆的详细实现181

5.6 Hello China的内存管理机制总结193

第6章 系统调用的原理与实现194

6.1系统调用概述194

6.2 Hello China系统调用的实现197

6.3系统调用时的参数传递199

第7章 线程互斥和同步机制的实现204

7.1互斥和同步概述204

7.2关键区段概述204

7.3关键区段产生的原因205

7.3.1多个线程之间的竞争205

7.3.2中断服务程序与线程之间的竞争206

7.3.3多个CPU之间的竞争206

7.4单CPU下关键区段的实现207

7.5多CPU下关键区段的实现209

7.5.1多CPU环境下的实现方式209

7.5.2 Hello China的未来实现210

7.6 Power PC下关键区段的实现211

7.6.1 Power PC提供的互斥访问机制211

7.6.2多CPU环境下的互斥机制212

7.7关键区段使用注意事项213

7.8 Semaphore概述214

7.9 Semaphore对象的定义214

7.10 Semaphore对象的实现215

7.10.1 Initialize和Uninitialize的实现216

7.10.2 WaitForThisObject的实现217

7.10.3 WaitForThisObjectEx的实现218

7.10.4 ReleaseSemaphore的实现222

7.11互斥和同步机制总结223

第8章 中断和定时处理机制的实现224

8.1中断和异常概述224

8.2硬件相关部分处理225

8.2.1 IA32中断处理过程225

8.2.2 IDT初始化226

8.3硬件无关部分处理230

8.3.1系统对象和中断对象230

8.3.2中断调度过程232

8.3.3缺省中断处理函数233

8.4对外服务接口234

8.5系统时钟中断235

8.5.1系统时钟中断概述235

8.5.2系统时钟中断的初始化236

8.5.3系统时钟中断处理函数的主要工作237

8.5.4时钟中断周期对系统实时性的影响分析239

8.6注意事项241

8.7定时器概述241

8.7.1 SetTimer函数的调用242

8.7.2 CancelTimer函数的调用243

8.7.3 ResetTimer函数的调用243

8.8设置定时器操作243

8.9定时器超时处理245

8.10定时器取消处理247

8.11定时器复位248

8.12定时器注意事项249

第9章 系统总线和设备管理251

9.1系统总线概述251

9.1.1系统总线251

9.1.2总线管理模型251

9.1.3设备标识符255

9.2系统资源管理255

9.2.1资源描述对象256

9.2.2 IO端口资源管理257

9.3驱动程序接口257

9.3.1 GetResource258

9.3.2 GetDevice258

9.3.3 CheckPortRegion258

9.3.4 ReservePortRegion258

9.3.5 ReleasePortRegion259

9.3.6 AppendDevice259

9.3.7 DeleteDevice259

9.4 PCI总线驱动程序概述260

9.4.1 PCI总线概述260

9.4.2 PCI设备的配置空间260

9.4.3配置空间关键字段的说明262

9.4.4 PCI配置空间的读取与设置269

9.5 PCI总线驱动程序的实现270

9.5.1探测PCI总线是否存在270

9.5.2对普通PCI设备进行枚举271

9.5.3配置PCI桥接设备277

第10章设备驱动程序管理279

10.1设备管理框架279

10.1.1概述279

10.1.2通用的操作系统设备管理机制281

10.1.3设备管理框架的实现285

10.1.4 IO管理器287

10.2设备驱动程序295

10.2.1设备请求控制块295

10.2.2设备驱动程序对象的定义298

10.2.3设备驱动程序的物理结构299

10.2.4设备驱动程序的功能函数300

10.2.5 DriverEntry的实现302

10.2.6 UnloadEntry的实现303

10.3设备对象304

10.3.1设备对象的定义304

10.3.2设备对象的命名304

10.3.3设备对象的类型305

10.3.4设备对象的设备扩展306

10.3.5设备的打开操作306

10.3.6设备命名策略307

10.4设备的中断管理308

10.5设备管理实例:串口通信程序309

10.5.1串行通信接口概述309

10.5.2串行通信编程方式312

10.6设备驱动程序管理总结334

第11章 图形用户界面336

11.1图形用户界面概述336

11.2符合VESA标准的显示卡操作方法337

11.2.1判断显示卡是否支持VBE标准338

11.2.2切换到0x118工作模式339

11.3对显示设备的封装——Video对象342

11.3.1 GUI模块的分层架构342

11.3.2 Video对象343

11.3.3通用绘制层简介349

11.4鼠标指针的实现351

11.5窗口消息传递机制概述354

11.6 Hello China的窗口机制355

11.6.1父窗口要完全包含子窗口355

11.6.2二层窗口剪切域357

11.6.3二层窗口剪切域的实现358

11.7 Hello China窗口机制的实现360

11.7.1窗口管理器与窗口对象361

11.7.2窗口函数与窗口消息363

11.7.3窗口归属线程366

11.7.4窗口树366

11.8用户输入处理和消息传递369

11.8.1用户输入和消息传递过程简介369

11.8.2设备驱动程序的工作372

11.8.3设备输入管理器379

11.8.4 GUI原始输入线程——GUIRAWIT383

11.8.5消息循环的本质388

11.8.6应用线程之间的窗口消息交互392

11.9 Hello China的GUI Shell393

11.9.1 GUI Shell概述393

11.9.2 GUI Shell的启动和初始化395

11.9.3加载一个应用程序399

11.9.4 GUI Shell的退出400

11.10 GUI模块的开发方法402

第12章 文件系统及其实现404

12.1文件系统概述404

12.1.1文件系统的基本概念404

12.1.2文件系统的操作——fs程序405

12.2 FAT32文件系统原理406

12.2.1 FAT32卷的布局406

12.2.2引导扇区和BPB407

12.2.3文件分配表408

12.2.4文件目录项410

12.2.5文件的查找411

12.3 Hello China文件系统的实现412

12.3.1 IO管理器412

12.3.2文件系统的加载和初始化418

12.3.3存储设备驱动程序419

12.3.4分区的识别和安装426

12.3.5文件的打开操作431

12.3.6文件的读取操作434

12.4文件系统API的使用举例437

12.5文件系统实现总结439

第13章 应用程序开发方法441

13.1概述441

13.2 HCX文件的结构和加载过程441

13.2.1 HCX文件的格式441

13.2.2 HCX文件的生成方式442

13.2.3 HCX文件的加载和执行443

13.3 Hello China应用程序开发步骤444

13.3.1建立应用程序开发环境444

13.3.2启动VS 2008,建立一个新的应用程序444

13.3.3在应用程序中添加源代码444

13.3.4对新建的应用程序进行设置446

13.3.5编写应用程序代码,并进行编译链接448

13.3.6对生成的DLL进行处理,形成HCX文件450

13.3.7运行生成的HCX文件451

13.4应用程序开发总结452

第14章 开发辅助工具453

14.1开发辅助工具概述453

14.2 PE文件格式简介453

14.2.1 MS-DOS头和DOS stub程序454

14.2.2 PE文件头455

14.2.3 PE文件中的节458

14.3开发辅助工具的实现和使用460

14.3.1 process工具460

14.3.2 hcxbuild工具461

14.3.3 append工具463

14.3.4 vfmaker工具464

14.3.5 dumpf32和mkntfsbs工具464

附录465

附录A关于操作系统开发的两篇博文465

A.1操作系统开发过程应遵循的一些原则465

A.2对操作系统开发的一些相关问题的思考469

附录B源代码组织结构说明473

附录C内核开发环境的搭建476

C.1概述476

C.2 Microsoft Visual C++的设置479

C.3操作系统开发中常用的MicrosoVisual C++特性479

C.4搭建操作系统开发环境480

C.5操作系统核心模块开发示例482

参考文献485

热门推荐