图书介绍

嵌入式操作系统 设计与实现【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

嵌入式操作系统 设计与实现
  • 蓝枫叶编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7121060760
  • 出版时间:2008
  • 标注页数:535页
  • 文件大小:39MB
  • 文件页数:550页
  • 主题词:实时操作系统-基本知识

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.2 嵌入式操作系统概述3

1.2.1 嵌入式操作系统的特点3

1.2.2 嵌入式操作系统与通用操作系统的区别4

1.2.3 嵌入式实时操作系统6

1.3 操作系统的基本概念6

1.3.1 微内核与大内核7

1.3.2 进程、线程与任务8

1.3.3 可抢占与不可抢占9

1.3.4 同步机制9

1.4 Hello China概述10

1.4.1 Hello China的功能特点11

1.4.2 Hello China的开发环境12

1.4.3 面向对象思想的模拟15

1.4.4 对象机制17

1.4.5 Hello China V1.0版本的源文件构成18

1.4.6 Hello China V1.5版本的源文件构成20

1.4.7 Hello China的使用21

1.5 实例:一个简单的IP路由器的实现22

1.5.1 概述22

1.5.2 路由器的硬件结构22

1.5.3 路由器的软件功能23

1.5.4 各任务的实现25

第2章 Hello China的加载和初始化28

2.1 常见嵌入式系统的启动28

2.1.1 典型嵌入式系统内存映射布局28

2.1.2 嵌入式系统的启动概述29

2.1.3 常见嵌入式操作系统的加载方式29

2.1.4 嵌入式系统软件的写入34

2.2 Hello China在PC上的启动36

2.2.1 PC启动过程概述36

2.2.2 Hello China的引导过程38

2.2.3 实地址模式下的初始化42

2.2.4 保护模式下的初始化46

2.2.5 操作系统核心功能的初始化49

第3章 Hello China的Shell57

3.1 Shell的启动和初始化57

3.2 Shell的消息处理过程58

3.3 内部命令的处理过程62

3.4 外部命令的处理过程64

第4章 Hello China的线程68

4.1 线程概述68

4.1.1 进程、线程和任务68

4.2 Hello China V1.0版本的线程实现69

4.2.1 核心线程管理对象69

4.2.2 线程的状态及其切换74

4.2.3 核心线程对象76

4.2.4 线程的上下文79

4.2.5 线程的优先级与调度84

4.2.6 线程的创建86

4.2.7 线程的结束92

4.2.8 线程的消息队列95

4.2.9 线程的切换——中断上下文98

4.2.10 线程的切换——系统调用上下文107

4.2.11 上下文保存和切换的底层函数113

4.2.12 线程的睡眠与唤醒116

4.3 V1.5版本中核心线程的实现117

4.3.1 概述117

4.3.2 核心线程调度时机117

4.4 V1.5核心线程管理器(KernelThreadManager)的实现118

4.4.1 V1.5核心线程队列的实现121

4.5 V1.5核心线程对象(KernelThreadObject)的实现123

4.5.1 V1.5版本中硬件上下文的保存125

4.5.2 线程的调度——中断上下文129

4.5.3 线程的调度——程序上下文132

4.5.4 核心线程的创建和初始化137

4.5.5 中断处理程序结束后的线程调度143

第5章 Hello China的内存管理机制146

5.1 内存管理机制概述146

5.2 IA32 CPU内存管理机制146

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

5.2.2 几个重要的概念149

5.2.3 分段机制的应用150

5.2.4 分页机制的应用153

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

5.4 Hello China内存管理模型164

5.4.1 Hello China的内存管理模型164

5.4.2 Hello China的内存布局166

5.4.3 核心内存池的管理168

5.4.4 页框管理对象(PageFrameManager)171

5.4.5 页面索引对象(PageIndexManager)176

5.4.6 虚拟内存管理对象(VirtualMemoryManager)181

第6章 线程本地堆的实现203

6.1 Heap概述203

6.2 堆的功能需求定义203

6.3 堆的实现概要205

6.4 堆的详细实现210

6.4.1 堆的创建210

6.4.2 堆的销毁214

6.4.3 堆内存申请215

6.4.4 堆内存释放220

6.4.5 malloc函数和free函数的实现224

第7章 互斥和同步机制的实现227

7.1 互斥和同步概述227

7.2 关键区段概述227

7.3 关键区段产生的原因228

7.3.1 多个线程之间的竞争228

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

7.3.3 多个CPU之间的竞争229

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

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

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

7.5.2 Hello China的未来实现234

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

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

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

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

7.8 Semaphore概述238

7.9 Semaphore对象的定义239

7.10 Semaphore对象的实现240

7.10.1 Initialize和Uninitialize实现240

7.10.2 WaitForThisObject的实现242

7.10.3 WaitForThisObjectEx的实现243

7.10.4 ReleaseSemaphore的实现248

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

8.1 中断和异常概述250

8.2 硬件相关部分处理251

8.2.1 IA32中断处理过程251

8.2.2 IDT初始化252

8.3 硬件无关部分处理258

8.3.1 系统对象和中断对象258

8.3.2 中断调度过程260

8.3.3 默认中断处理函数262

8.4 对外服务接口263

8.5 几个注意事项264

8.6 Power PC的异常处理机制265

8.6.1 Power PC异常处理机制概述265

8.6.2 Power PC异常的分类266

8.6.3 异常的处理和返回266

8.7 定时器概述267

8.7.1 SetTimer函数的调用267

8.7.2 CancelTimer函数的调用269

8.7.3 ResetTimer函数的调用269

8.8 设置定时器操作269

8.9 定时器超时处理271

8.10 定时器取消处理274

8.11 定时器复位276

8.12 定时器注意事项276

第9章 系统总线管理278

9.1 系统总线概述278

9.1.1 系统总线278

9.1.2 总线管理模型278

9.1.3 设备标识符283

9.2 系统资源管理283

9.2.1 资源描述对象284

9.2.2 IO端口资源管理285

9.3 驱动程序接口286

9.3.1 GetResource286

9.3.2 GetDevice286

9.3.3 CheckPortRegion286

9.3.4 ReservePortRegion287

9.3.5 ReleasePortRegion287

9.3.6 AppendDevice288

9.3.7 DeleteDevice288

9.4 PCI总线驱动程序概述288

9.4.1 PCI总线概述288

9.4.2 PCI设备的配置空间289

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

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

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

9.5.1 探测PCI总线是否存在301

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

9.5.3 配置PCI桥接设备309

第10章 驱动程序管理框架311

10.1 设备驱动程序管理框架311

10.1.1 概述311

10.1.2 设备管理器和IO管理器312

10.1.3 Hello China的设备管理框架320

10.1.4 I/O管理器(IOManager)322

10.2 文件系统的实现342

10.2.1 文件系统与文件的命名342

10.2.2 文件系统驱动程序343

10.2.3 打开一个文件的操作流程344

10.3 设备驱动程序框架345

10.3.1 设备请求控制块(DRCB)345

10.3.2 设备驱动程序的文件组织结构349

10.3.3 设备驱动程序的功能实现349

10.3.4 设备驱动程序对象352

10.3.5 DriverEntry的实现354

10.3.6 UnloadEntry的实现355

10.4 设备对象355

10.4.1 设备对象的定义355

10.4.2 设备对象的命名356

10.4.3 设备对象的类型357

10.4.4 设备对象的设备扩展358

10.4.5 设备的打开操作359

10.4.6 设备命名策略360

10.5 设备的中断管理361

第11章 核心线程CPU占用率统计功能363

11.1 CPU占用率概述363

11.2 核心线程CPU占用率统计的实现364

11.2.1 统计周期和统计算法364

11.2.2 核心线程统计对象365

11.2.3 CPU统计对象372

11.2.4 CPU占用率统计线程378

11.3 进程和多CPU情况下的考虑381

11.3.1 进程的用户态和核心态执行时间统计381

11.3.2 多CPU环境下的考虑382

第12章 系统核心HOOK机制的实现384

12.1 Hook概述384

12.2 线程Hook的实现385

12.2.1 线程Hook的实现概述385

12.2.2 线程调度前后的回调机制387

12.2.3 线程创建和结束的回调机制393

12.2.4 CallThreadHook例程的实现394

12.3 线程Hook的应用396

第13章 串口交互程序及其实现397

13.1 串行通信接口概述397

13.2 串行通信编程方式400

13.2.1 串口初始化400

13.2.2 数据发送401

13.2.3 数据接收404

13.3 串口交互程序的实现406

13.3.1 串口交互程序的使用407

13.3.2 轮询模式的串口交互程序实现410

13.3.3 中断模式的串口交互程序实现419

13.4 串行通信编程总结429

13.4.1 轮询方式和中断方式编程的对比429

13.4.2 串口交互程序的其他实现方式430

第14章 应用编程接口与示例431

14.1 核心线程操作接口431

14.1.1 CreateKernelThread431

14.1.2 DestroyKernelThread432

14.1.3 SendMessage434

14.1.4 GetMessage434

14.1.5 SetKernelThreadPriority435

14.1.6 GetKernelThreadPriority435

14.1.7 GetKernelThreadID436

14.2 内存操作接口436

14.2.1 KMemAlloc436

14.2.2 KMemFree437

14.2.3 VirtualAlloc437

14.2.4 VirtualFree438

14.2.5 malloc438

14.2.6 free439

14.2.7 CreateHeap439

14.2.8 DestroyHeap440

14.2.9 HeapAlloc440

14.2.10 HeapFree440

14.3 定时器操作接口440

14.3.1 SetTimer441

14.3.2 CancelTimer441

14.4 核心线程同步操作接口443

14.4.1 Sleep443

14.4.2 CreateMutex444

14.4.3 ReleaseMutex444

14.4.4 DestroyMutex444

14.4.5 CreateEvent445

14.4.6 SetEvent445

14.4.7 ResetEvent445

14.4.8 DestroyEvent446

14.4.9 WaitForThisObject446

14.4.10 WaitForThisObjectEx447

14.5 系统中断操作接口449

14.5.1 ConnectInterrupt449

14.5.2 DisconnectInterrupt449

14.6 输入/输出(IO)接口450

14.6.1 CreateFile451

14.6.2 ReadFile451

14.6.3 WriteFile452

14.6.4 IoControl452

14.6.5 SetFilePointer453

14.6.6 FlushFile453

14.6.7 CloseFile454

14.7 设备驱动程序接口455

14.7.1 CreateDevice455

14.7.2 DestroyDevice456

14.8 相关辅助功能接口457

14.8.1 StrLen457

14.8.2 StrCpy458

14.8.3 MemZero458

14.8.4 MemCpy458

14.9 PC服务接口459

14.9.1 PrintLine459

14.9.2 PrintChar459

14.9.3 ChangeLine460

14.9.4 GotoHome460

第15章 Hello China的应用开发方法461

15.1 Hello China的开发方法概述461

15.2 在Hello China基础上开发一个简单应用程序461

附录A 如何搭建一个基于Windows的操作系统开发平台467

附录B 一种代码执行时间测量方法的实现488

附录C 64bit整型数据类型的实现494

附录D IOCTRL控制程序使用介绍及实例501

附录E 如何快速掌握汇编语言510

附录F 源代码使用说明515

附录G 优先队列(Priority Queue)和环形缓冲区(RING BUFFER)的实现518

热门推荐