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

- 蓝枫叶编著 著
- 出版社: 北京:电子工业出版社
- ISBN:712103302X
- 出版时间:2007
- 标注页数:417页
- 文件大小:32MB
- 文件页数:435页
- 主题词:微型计算机-系统设计
PDF下载
下载说明
自己动手写嵌入式操作系统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
热门推荐
- 2406901.html
- 3042647.html
- 279916.html
- 1788196.html
- 3752527.html
- 408715.html
- 3147247.html
- 2281336.html
- 2470639.html
- 2828047.html
- http://www.ickdjs.cc/book_3054936.html
- http://www.ickdjs.cc/book_684561.html
- http://www.ickdjs.cc/book_2211027.html
- http://www.ickdjs.cc/book_3328499.html
- http://www.ickdjs.cc/book_950545.html
- http://www.ickdjs.cc/book_1981.html
- http://www.ickdjs.cc/book_3550376.html
- http://www.ickdjs.cc/book_1872261.html
- http://www.ickdjs.cc/book_1062506.html
- http://www.ickdjs.cc/book_2441060.html