《VxWorks高级程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:李方敏编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302081271
  • 页数:395 页
图书介绍:全书系统而深入地讲解了VxWorks高级程序设计的重点和难点,尤其对POSIX编程、I/O系统、网络应用编程等做了详细的介绍,给出了众多的实用编程技巧。同时,本书对于VxWorks中出现的新技术也做了尤为详细的介绍,以期能够详细地介绍新技术的优秀特性和使用中的注意事项。本书共12章,系统地讲解了wind内核、任务间通信、POSIX编程、信号、I/O系统、文件系统、VxWorks网络整体分析、网络应用编程、网络驱动(END)、BSP概述、VxWorks映象、VxWorks启动过程等知识。本书内容详实,实例丰富,可读性强,是VxWorks中高级开发人员的一本不可多得的参考书。

第1章 wind内核 1

1.1 内核概述 1

1.1.1实时内核 1

1.1.2微内核 3

1.1.3任务调度 5

1.2任务属性 8

1.2.1任务控制块(WIND_TCB) 9

1.2.2任务栈 10

1.2.3 出错状态 12

1.2.4钩子函数 14

1.2.5任务状态 16

1.3.1激活内核 18

1.3内核功能接口 18

1.2.6系统任务 18

1.3.2任务创建 19

1.3.3任务控制 23

1.3.4任务结束 27

1.3.5任务重启 28

1.3.6调度控制 31

1.3.7其他辅助函数 32

1.4多任务与函数重入 32

第2章 任务间通信 36

2.1 概述 36

2.2共享内存 37

2.3信号量 37

2.3.1概述 37

2.3.3互斥信号量 42

2.3.2二进制信号量 42

2.3.4计数信号量 45

2.3.5共享内存信号量 46

2.4消息队列 46

2.4.1概述 46

2.4.2普通消息队列 51

2.4.3共享内存消息队列 53

2.4.4信号量和消息队列实验 53

2.5管道 58

2.5.1概述 58

2.5.2使用管道 60

2.5.3管道I/O控制 62

2.5.4管道示例 63

2.6信号 67

2.7 socket 70

第3章 POSlX编程 71

3.1 POSIX标准简介 71

3.2时钟和定时器 72

3.2.1 概述 72

3.2.2 时钟 75

3.2.3定时器 75

3.2.4看门狗 78

3.2.5示例 79

3.3内存锁定 83

3.4线程 83

3.4.1线程创建 85

3.4.2动态库初始化 88

3.4.3线程私有数据 90

3.4.4线程互斥与同步 94

3.4.5线程结束 102

3.4.6线程撤销 105

3.5任务调度 109

3.5.1概述 109

3.5.2调度策略 110

3.5.3调度实现 112

3.6信号量 116

3.6.1概述 116

3.6.2初始化信号量 118

3.6.3信号量基本操作 120

3.6.4删除信号量 121

3.7消息队列 122

3.7.1概述 122

3.7.2打开消息队列 126

3.7.3传递消息 127

3.7.4消息到达通知 129

3.7.5消息队列示例 131

第4章 信号 136

4.1信号概述 136

4.2信号处理函数 140

4.3 BSD信号接口 141

4.4 POSIX信号接口 143

4.4.1 阻塞信号集 144

4.4.2信号处理函数 145

4.4.3同步处理 146

4.5 POSIX1003.1b扩展信号接口 148

4.5.1扩展信号处理函数 148

4.5.2发送队列信号 150

4.5.3队列信号处理 151

4.6信号的影响 153

4.6.1系统调用中断 153

4.6.2函数重入影响 155

第5章 I/O系统 156

5.1 I/O系统概述 156

5.1.1 IO系统层次结构 156

5.1.2文件、设备和驱动程序 157

5.2基本I/O 159

5.2.1标准I/O 160

5.2.2打开和关闭 162

5.2.3 创建和删除 163

5.2.4读写 164

5.2.5文件截平 165

5.2.6 I/O控制 166

5.3 I/O复用(Select) 166

5.4其他I/O 170

5.4.1缓冲I/O(ansiStdio) 170

5.4.2格式化I/O(fioLib) 172

5.4.3消息记录(IogLib) 173

5.5异步I/O(AIO) 175

5.5.1 AIO控制块 176

5.5.2 AIO函数 177

5.5.3用AIO的实例 182

5.6常用的VxWorks设备 189

5.6.1 串行终端设备 189

5.6.2伪内存设备 190

5.6.3 NFS设备 195

5.6.4非NFS网络文件系统设备(netDrv设备) 197

5.6.5 RAM盘 198

5.7 I/O系统内部结构 201

5.7.1驱动程序 202

5.7.2设备 204

5.7.3文件描述符 206

5.7.4块设备驱动 209

5.8 串口tty设备 212

5.8.1 串口的层次 212

5.8.2串口初始化过程 213

5.8.3创建tty设备 213

5.8.5控制tty 216

5.8.4 tty输入输出 216

5.9编写SCC驱动 219

5.9.1 tty数据结构 220

5.9.2 xxDrv数据结构 223

5.9.3 xxDrv程序结构 225

5.9.4查询支持 236

第6章 文件系统 239

6.1文件系统概述 239

6.2 CBIO 239

6.2.1基本CBIO 240

6.2.2 CBIO磁盘缓存 241

6.2.3 CBIO卷设备 243

6.2.4 ioctl 247

6.3.1卷结构 248

6.3 dosFs文件系统 248

6.3.2使用dosFs 250

6.3.3挂装与卸载 255

6.3.4文件和目录 255

6.3.5 ioctl 259

6.3.6连续文件 262

6.4 rawFs文件系统 262

第7章 VxWorks网络整体分析 265

7.1概述 265

7.1.1TCP/IP协议简介 265

7.1.2 VxWorks网络栈 266

7.2网络数据流分析 269

7.2.1网络存储组织 269

7.2.2数据组织 271

7.2.3接收:从驱动程序到应用程序的数据流 273

7.2.4发送:从应用程序到驱动程序的数据流 274

7.2.5查看函数 275

7.3远程访问服务 276

7.3.1远程登录rlogin和TELNET 276

7.3.2 NFS服务器 277

7.3.3 FTP服务器 277

7.3.4 NFS客户端 278

7.3.5 FTP客户和RSH 278

7.3.6TFTP客户端 278

第8章 网络应用编程 281

8.1 socket概述 281

8.2网络程序设计的特殊之处 283

8.3 socket通信属性 285

8.4.1数据结构表示 287

8.4 socket端点地址 287

8.4.2协议端口号 289

8.4.3地址操作函数 289

8.5 socket应用框架 290

8.6面向连接的socket应用 292

8.6.1创建socket 292

8.6.2绑定端点地址 294

8.6.3建立连接 295

8.6.4在连接的socket上发送和接收 301

8.6.5关闭连接 303

8.6.6面向连接的socket示例 304

8.7无连接的socket应用 309

8.7.1 sendto和recvfrom 309

8.7.2无连接的socket示例 311

8.7.3无连接socket和connect 315

8.7.4多播的实现 317

8.7.4广播的实现 323

8.8裸层socket 326

8.8.1 报文格式 327

8.8.2发送和接收 331

8.8.3示例:Traceroute 333

8.9 socket应用高级话题 340

8.9.1 I/O控制 340

8.9.2 socket选项 340

8.9.3 I/O复用 347

8.9.4超越I/O复用限制 349

8.9.5深入底层处理 352

9.1.1 MUX和协议层接口 354

9.1 网络驱动层次结构 354

第9章 网络驱动(END) 354

9.1.2 END驱动和MUX接口 356

9.2装载END驱动 357

第10章 BSP概述 360

10.1 BSP功能 360

10.2 BSP标准规范 361

10.3 BSP组织结构 362

10.4 BSP支持主机/目标系统交叉开发环境 363

10.5 BSP允许将应用系统移植到其他体系下 364

10.6模板和参考 365

10.7设备驱动开发中需要考虑的问题 365

第11章 VxWorks映像 368

11.1符号表 368

11.2目标模块格式(OMF) 369

11.3映像类型 370

11.3.1 BSP引导映像 372

11.3.2 VxWorks系统映像 375

第12章 VxWorks启动过程 377

12.1 目的、策略与过程概述 377

12.2引导阶段 379

12.2.1 romInit() 380

12.2.2 romStart() 382

12.2.3 sysInit() 386

12.3准备激活内核 387

12.3.1 usrInit() 387

12.3.2 sysHwInit() 388

12.4激活内核kernelInit 394

12.5根任务:tUsrRoot 395