图书介绍

自己动手写嵌入式操作系统2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

自己动手写嵌入式操作系统
  • 蓝枫叶编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:712103302X
  • 出版时间:2007
  • 标注页数:417页
  • 文件大小:32MB
  • 文件页数:435页
  • 主题词:微型计算机-系统设计

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的源文件构成18

1.4.6 Hello China的使用20

1.5 嵌入式软件的开发过程和方法21

1.6 实例:一个简单的IP路由器的实现21

1.6.1 概述21

1.6.2 路由器的硬件结构22

1.6.3 路由器的软件功能23

1.6.4 各任务的实现24

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

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

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

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

2.1.2 嵌入式系统的启动概述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.1.1 进程、线程和任务68

4.1 线程概述68

第4章 Hello China的线程68

4.2 Hello China的线程实现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 线程的消息队列94

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

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

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

4.2.12 线程的睡眠与唤醒116

5.2 IA32 CPU内存管理机制117

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

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

5.1 内存管理机制概述117

5.2.2 几个重要的概念120

5.2.3 分段机制的应用121

5.2.4 分页机制的应用124

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

5.4 Hello China内存管理模型135

5.4.1 Hello China的内存管理模型135

5.4.2 Hello China的内存布局137

5.4.3 核心内存池的管理139

5.4.4 页框管理对象(PageFrameManager)142

5.4.5 页面索引对象(PageIndexManager)147

5.4.6 虚拟内存管理对象(VirtualMemoryMgr)152

6.1 Heap概述174

6.2 堆的功能需求定义174

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

6.3 堆的实现概要176

6.4 堆的详细实现181

6.4.1 堆的创建181

6.4.2 堆的销毁185

6.4.3 堆内存申请186

6.4.4 堆内存释放191

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

7.2 关键区段概述198

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

7.1 互斥和同步概述198

7.3 关键区段产生的原因199

7.3.1 多个线程之间的竞争199

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

7.3.3 多个CPU之间的竞争200

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

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

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

7.5.2 Hello China的未来实现205

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

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

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

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

7.8 Semaphore概述209

7.9 Semaphore对象的定义210

7.10 Semaphore对象的实现211

7.10.1 Initialize和Uninitialize实现211

7.10.2 WaitForThisObject的实现213

7.10.3 WaitForThisObjectEx的实现214

7.10.4 ReleaseSemaphore的实现219

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

8.1 中断和异常概述221

8.2.1 IA32中断处理过程222

8.2 硬件相关部分处理222

8.2.2 IDT初始化223

8.3 硬件无关部分处理229

8.3.1 系统对象和中断对象229

8.3.2 中断调度过程231

8.3.3 缺省中断处理函数233

8.4 对外服务接口234

8.5 几个注意事项235

8.6 Power PC的异常处理机制236

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

8.6.2 Power PC异常的分类237

8.6.3 异常的处理和返回237

8.7 定时器概述238

8.7.1 SetTimer函数的调用238

8.8 设置定时器操作240

8.7.2 CancelTimer函数的调用240

8.7.3 ResetTimer函数的调用240

8.9 定时器超时处理242

8.10 定时器取消处理245

8.11 定时器复位247

8.12 定时器注意事项247

第9章 系统总线管理249

9.1 系统总线概述249

9.1.1 系统总线249

9.1.2 总线管理模型249

9.1.3 设备标识符254

9.2 系统资源管理254

9.2.1 资源描述对象255

9.2.2 IO端口资源管理256

9.3.2 GetDevice257

9.3.3 CheckPortRegion257

9.3.1 GetResource257

9.3 驱动程序接口257

9.3.4 ReservePortRegion258

9.3.5 ReleasePortRegion258

9.3.6 AppendDevice259

9.3.7 DeleteDevice259

9.4 PCI总线驱动程序概述259

9.4.1 PCI总线概述259

9.4.2 PCI设备的配置空间260

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

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

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

9.5.1 探测PCI总线是否存在272

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

9.5.3 配置PCI桥接设备280

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

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

10.1.1 概述282

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

10.1.3 Hello China的设备管理框架291

10.1.4 I/O管理器(IOManager)293

10.2 文件系统的实现313

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

10.2.2 文件系统驱动程序314

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

10.3 设备驱动程序框架316

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

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

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

10.3.4 设备驱动程序对象323

10.3.5 DriverEntry的实现325

10.3.6 UnloadEntry的实现326

10.4 设备对象326

10.4.1 设备对象的定义326

10.4.2 设备对象的命名327

10.4.3 设备对象的类型328

10.4.4 设备对象的设备扩展329

10.4.5 设备的打开操作330

10.4.6 设备命名策略331

10.5 设备的中断管理332

第11章 应用编程接口与示例334

11.1 核心线程操作接口334

11.1.1 CreateKernelThread334

11.1.2 DestroyKernelThread335

11.1.4 GetMessage337

11.1.3 SendMessage337

11.1.5 SetKernelThreadPriority338

11.1.6 GetKernelThreadPriority338

11.1.7 GetKernelThreadID339

11.2 内存操作接口339

11.2.1 KMemAlloc339

11.2.2 KMemFree340

11.2.3 VirtualAlloc340

11.2.4 VirtualFree341

11.2.5 malloc341

11.2.6 free342

11.2.7 CreateHeap342

11.3 定时器操作接口343

11.2.10 HeapFree343

11.2.9 HeapAlloc343

11.2.8 DestroyHeap343

11.3.1 SetTimer344

11.3.2 CancelTimer344

11.4 核心线程同步操作接口346

11.4.1 Sleep346

11.4.2 CreateMutex347

11.4.3 ReleaseMutex347

11.4.4 DestroyMutex347

11.4.5 CreateEvent348

11.4.6 SetEvent348

11.4.7 ResetEvent348

11.4.8 DestroyEvent349

11.4.9 WaitForThisObject349

11.4.10 WaitForThisObjectEx350

11.5.2 DisconnectInterrupt352

11.5.1 ConnectInterrupt352

11.5 系统中断操作接口352

11.6 输入/输出(IO)接口353

11.6.1 CreateFile354

11.6.2 ReadFile354

11.6.3 WriteFile355

11.6.4 IoControl355

11.6.5 SetFilePointe356

11.6.6 FlushFile356

11.6.7 CloseFile357

11.7 设备驱动程序接口358

11.7.1 CreateDevice358

11.7.2 DestroyDevice359

11.8 相关辅助功能接口360

11.8.1 StrLen360

11.8.4 MemCpy361

11.8.2 StrCpy361

11.8.3 MemZero361

11.9 PC服务接口362

11.9.1 PrintLine362

11.9.2 PrintChar362

11.9.3 ChangeLine363

11.9.4 GotoHome363

第12章 Hello China的应用开发方法364

12.1 Hello China的开发方法概述364

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

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

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

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

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

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

热门推荐