当前位置:首页 > 工业技术
MS-DOS5.0内核剖析  上
MS-DOS5.0内核剖析  上

MS-DOS5.0内核剖析 上PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:李凤华,周利华,赵丽松编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:1992
  • ISBN:7560602134
  • 页数:364 页
图书介绍:作者对DOS操作系统的最新版本MS-DOS5.0的核心程序进行了完整、详细的分析……
《MS-DOS5.0内核剖析 上》目录

第一章 引论 1

1.1 基本概念 1

1.1.1 操作系统 1

1.1.2 操作系统分类 2

1.2 操作系统的设计思想 5

1.2.1 研究操作系统的几种观点 5

1.2.2 操作系统结构设计方法 7

1.2.3 层次结构法 8

1.2.4 DOS设计思想 10

1.2.5 DOS与其它操作系统的兼容性 11

1.3 DOS发展概况 11

1.3.1 DOS的历史 11

1.3.2 DOS的未来 15

1.4 DOS操作系统结构 24

1.4.1 BIOS模块 24

1.4.2 Kernel模块 25

1.4.3 Shell模块 26

1.5 DOS功能概述 27

第二章 配置系统 30

2.1 配置命令 30

2.1.1 BREAK 31

2.1.2 BUFFERS 31

2.1.3 COMMENT 33

2.1.4 COUNTRY 33

2.1.5 DEVICE 34

2.1.6 DEVICEHIGH 35

2.1.7 DOS 36

2.1.8 DRIVPARM 36

2.1.9 FCBS 38

2.1.10 FILES 38

2.1.11 INSTALL 39

2.1.12 LASTDRIVE 39

2.1.13 MULTITRACK 40

2.1.14 REM 40

2.1.15 SHELL 40

2.1.16 STACKS 41

2.1.17 SWITCHES 41

2.2 可安装的设备驱动程序 42

2.2.1 ANSI.SYS 43

2.2.2 DISPLAY.SYS 48

2.2.3 DRIVER.SYS 49

2.2.4 EGA.SYS 51

2.2.5 EMM386.EXE 51

2.2.6 HIMEM.SYS 54

2.2.7 PRINTER.SYS 56

2.2.8 RAMDRIVE.SYS 57

2.2.9 SETVER.EXE 58

2.2.10 SMARTDRV.SYS 58

2.3 代码页 59

2.3.1 支持代码页的设备 60

2.3.2 代码页定义 60

2.3.3 为什么要用代码页 61

2.3.4 安装代码页 61

2.3.5 代码页的转换 65

2.3.6 显示当前的代码页 65

2.3.7 刷新代码页 65

2.3.8 代码页表 65

第三章 DOS引导过程 72

3.1 DOS引导过程 72

3.1.1 ROM BIOS启动 72

3.1.2 DOS引导记录 72

3.1.3 SysInt-Ⅰ 73

3.1.4 DOS Kernel模块的初始化程序 73

3.1.5 SysInt-Ⅱ 78

3.1.6 COMMAND初始化程序 79

3.2 数据结构 79

3.2.1 BPB参数块 79

3.2.2 硬盘分区信息表 81

3.3 引导程序的源程序注释清单 83

第四章 设备管理 93

4.1 设备分类 93

4.1.1 字符设备 93

4.1.2 块设备 94

4.2 DOS设备 94

4.2.1 控制器、适配器和接口 95

4.2.2 设备的程序控制 95

4.2.3 DOS支持的软盘类型 96

4.3 数据结构 96

4.3.1 磁盘参数表 96

4.3.2 设备驱动程序标题 98

4.3.3 设备驱动程序请求标题 103

4.3.4 BIOS驱动器参数块 104

4.3.5 DOS驱动器参数块 107

4.3.6 盘缓冲区 107

4.4 设备驱动程序的结构及调用格式 110

4.4.1 设备驱动程序的结构 110

4.4.2 设备驱动程序的调用格式 110

4.5 设备驱动程序的编程与调试 126

4.5.1 设备驱动程序的编程方法 126

4.5.2 设备驱动程序的调试 137

第五章 内存管理 139

5.1 微机的内存结构 139

5.1.1 常规内存 140

5.1.2 扩充内存 140

5.1.3 扩展内存 140

5.1.4 高内存块 142

5.1.5 高内存区 142

5.1.6 MS-DOS 5.0提供的内存管理程序 143

5.1.7 Lotus/Intel/Microsoft扩展内存规范 143

5.1.8 Lotus/Intel/Microsoft/AST扩充内存规范 145

5.2 DOS内存映象 145

5.2.1 DOS内存约定 145

5.2.2 MS-DOS 5.0内存映象 154

5.3 数据结构 158

5.3.1 内存控制块 158

5.3.2 子段控制块 159

5.4 内存管理程序的实现 160

5.4.1 内存分配策略 160

5.4.2 内存分配块的释放和修改 162

5.5 准备更多的可用内存 162

5.5.1 使用HIMEM.SYS扩充内存管理程序 163

5.5.2 释放常规内存 163

5.5.3 释放扩充内存 165

5.5.4 释放扩展内存 166

5.6 在高内存块中运行程序 166

5.6.1 准备在高内存块运行程序 168

5.6.2 为使用高内存块而设置CONFIG.SYS文件 168

5.6.3 安装EMM386.EXE管理高内存块 169

5.6.4 获取高内存块的信息 169

5.6.5 将程序移入高内存块 169

5.6.6 运行启动后分配内存的设备驱动程序 169

5.6.7 在高内存块运行内存驻留程序 170

5.7 结束并驻留TSR编程 170

5.7.1 TSR程序的分类 170

5.7.2 DOS操作系统的TSR程序 171

5.7.3 DOS支持TSR程序的功能调用 173

5.7.4 TSR程序的编程方法 174

第六章 文件系统 177

6.1 DOS文件系统的特点 177

6.1.1 文件名 178

6.1.2 文件类型 178

6.1.3 通配符 179

6.1.4 文件管理方法 179

6.1.5 文件与设备的统一管理 181

6.1.6 DOS文件系统的不足 182

6.2 FAT文件系统的特点 182

6.2.1 磁盘信息格式 182

6.2.2 文件分配表 184

6.3 目录结构 186

6.3.1 树型目录结构 186

6.3.2 树型目录使用的数据结构 187

6.3.3 树型目录结构的管理 190

6.4 文件管理的数据结构 194

6.4.1 文件控制块 194

6.4.2 文件句柄 197

6.4.3 系统文件表 198

6.4.4 文件共享的实现 201

6.4.5 快速打开的实现 206

6.4.6 文件系统的数据结构之间的关系 209

6.5 读/写操作的实现 209

第七章 进程管理 218

7.1 可执行文件结构 218

7.1.1 COM文件结构 218

7.1.2 EXE文件结构 219

7.2 环境块 221

7.2.1 环境块信息 221

7.2.2 在批文件中使用环境变量 223

7.2.3 扩展环境块空间 224

7.3 程序段前缀 224

7.4 EXEC功能调用的实现 228

7.5 几个与PSP相关的功能调用 228

7.6 进程终止 235

7.6.1 进程终止时的公共处理 236

7.6.2 正常终止 236

7.6.3 驻留结束 237

7.6.4 被零除错误(INT 00H)处理 237

7.6.5 Ctrl+C终止处理 237

7.6.6 严重设备错误处理 238

第八章 DOS功能调用 239

8.001 DOS功能调用一览表 239

8.002 键盘功能调用一览表 245

8.003 面向FCB的功能调用一览表 245

8.004 面向文件句柄的功能调用一览表 246

8.005 设备IOCTL的功能调用一览表 246

8.006 国家语言支持(NLS)功能调用一览表 247

8.007 内存管理功能调用一览表 248

8.008 进程管理功能调用一览表 248

8.009 网络功能调用一览表 249

8.010 文件共享功能调用一览表 250

8.011 目录管理功能调用一览表 250

8.012 驱动器管理功能调用一览表 250

8.013 系统功能调用一览表 251

8.014 已被替代的功能调用一览表 252

8.015 00H 终止程序 252

8.016 01H 带回显的控制台输入 253

8.017 02H 显示字符 253

8.018 03H 辅助输入 254

8.019 04H 辅助输出 254

8.020 05H 打印字符 254

8.021 06H 直接控制台I/O 255

8.022 07H 无回显的直接控制台输入 255

8.023 08H 无回显控制台输入 256

8.024 09H 显示字符串 256

8.025 0AH 缓冲键盘输入 256

8.026 0BH 检查键盘状态 257

8.027 0CH 清键盘缓冲区并读键盘 257

8.028 0DH 复位磁盘 258

8.029 0EH 设置缺省驱动器号 258

8.030 0FH 用FCB打开文件 259

8.031 10H 用FCB关闭文件 260

8.032 11H 用FCB查找第一个文件 260

8.033 12H 用FCB查找下一个文件 262

8.034 13H 用FCB 删除文件 262

8.035 14H 用FCB顺序读 263

8.036 15H 用FCB顺序写 264

8.037 16H 用FCB创建文件 264

8.038 17H 用FCB更换文件名 265

8.039 19H 取缺省驱动器号 266

8.040 1AH 设置盘传送区地址 266

8.041 1BH 取缺省驱动器数据 267

8.042 1CH 取指定驱动器数据 267

8.043 1FH 取缺省驱动器的DDPB 268

8.044 21H 用FCB随机读 268

8.045 22H 用FCB随机写 269

8.046 23H 用FCB取文件大小 270

8.047 24H 设置随机记录号 271

8.048 25H 设置中断向量 271

8.049 26H 创建新程序段前缀 272

8.050 27H 用FCB随机块读 272

8.051 28H 用FCB随机块写 273

8.052 29H 分析文件名 274

8.053 2AH 取系统日期 275

8.054 2BH 设置系统日期 275

8.055 2CH 取系统时间 275

8.056 2DH 设置系统时间 276

8.057 2EH 设置/复位检验(VERIFY)标志 276

8.058 2FH 取盘传送区地址 276

8.059 30H 取DOS版本号 277

8.060 31H 结束并驻留 277

8.061 32H 取指定驱动器的DDPB 278

8.062 3300H 取Ctrl+C检查状态 278

8.063 3301H 设置Ctrl+C检查状态 278

8.064 3302H 取/置Ctrl+C检查状态 279

8.065 3305H 取引导驱动器号 279

8.066 3306H 取DOS版本号和DOS的安装位置 279

8.067 34H 取InDOS标志字节单元的地址 279

8.068 35H 取中断向量 280

8.069 36H 取磁盘自由空间 280

8.070 3700H 取开关前导字符 281

8.071 38H 取/置国家信息 281

8.072 39H 创建子目录 282

8.073 3AH 删除子目录 283

8.074 3BH 改变当前目录 283

8.075 3CH 创建文件 284

8.076 3DH 打开文件 285

8.077 3EH 关闭文件 288

8.078 3FH 读文件或设备 288

8.079 40H 写文件或设备 288

8.080 41H 删除文件 289

8.081 42H 移动文件读写指针 290

8.082 4300H 取文件属性 290

8.083 4301H 设置文件属性 291

8.084 4400H 取设备信息 291

8.085 4401H 设置设备信息 292

8.086 4402H 从字符设备读取控制数据 292

8.087 4403H 向字符设备发送控制数据 293

8.088 4404H 从块设备读取控制数据 293

8.089 4405H 向块设备发送控制数据 294

8.090 4406H 取输入状态 294

8.091 4407H 取输出状态 294

8.092 4408H 测试块设备是否支持介质装卸 295

8.093 4409H 测试逻辑驱动器是本地还是远程设备 295

8.094 440AH 测试文件句柄是对应于本地还是远程设备 295

8.095 440BH 设置共享重试计数 296

8.096 440CH 字符设备的类属IOCTL请求 296

8.097 440DH 块设备的类属IOCTL请求 297

8.098 440EH 取逻辑驱动器映象 298

8.099 440FH 设置逻辑驱动器映象 298

8.100 4410H 字符设备的类属IOCTL查询 299

8.101 4411H 块设备的类属IOCTL查询 299

8.102 45H 复制文件句柄 299

8.103 46H 强迫复制文件句柄 300

8.104 47H 取当前目录 301

8.105 48H 分配内存 301

8.106 49H 释放分配的内存块 302

8.107 4AH 修改分配的内存块 302

8.108 4B00H 装入并执行程序 302

8.109 4B01H 装入程序 303

8.110 4B03H 装入覆盖 304

8.111 4B05H 设置执行状态 305

8.112 4CH 结束进程 305

8.113 4DH 取子进程的返回码 306

8.114 4EH 查找第一个文件 306

8.115 4FH 查找下一个文件 308

8.116 50H 设置活动进程的PSP段地址 308

8.117 51H 取当前活动进程的PSP段地址 309

8.118 52H 取DOS多重表指针值 309

8.119 53H 根据BPB参数块内容设置DDPB 310

8.120 54H 取检验状态 310

8.121 55H 创建程序段前缀 310

8.122 56H 更换文件名 310

8.123 5700H 取文件的日期和时间 311

8.124 5701H 设置文件的日期和时间 311

8.125 5800H 取内存分配策略 312

8.126 5801H 设置内存分配策略 312

8.127 5802H 取UMB联接状态 313

8.128 5803H 设置UMB联接状态 313

8.129 59H 取扩充错误信息 313

8.130 5AH 创建临时文件 314

8.131 5BH 创建新文件 314

8.132 5CH 锁定/开锁文件 315

8.133 5D00H 服务器功能调用 316

8.134 5D01H 提交所有文件 317

8.135 5D02H 以名字关闭共享文件 317

8.136 5D03H 关闭指定计算机的所有共享文件 317

8.137 5D04H 关闭指定计算机的特定进程的所有共享文件 317

8.138 5D05H 取共享文件的信息 318

8.139 5D06H 取DOS数据交换区的地址 318

8.140 5D07H 取打印流状态 319

8.141 5D08H 设置打印流状态 319

8.142 5D09H 截断打印流 319

8.143 5D0AH 设置扩充错误信息 320

8.144 5E00H 取机器名 320

8.145 5E01H 设置机器名 320

8.146 5E02H 设置打印机配置 321

8.147 5E03H 取打印机配置 321

8.148 5E04H 设置打印机模式 321

8.149 5E05H 取打印机模式 322

8.150 5F00H 取重定向模式 322

8.151 5F01H 设置重定向模式 322

8.152 5F02H 取重定向列表项 323

8.153 5F03H 重定向设备 323

8.154 5F04H 取消重定向 324

8.155 60H 规范化文件名 324

8.156 62H 取当前活动进程的PSP段地址 325

8.157 6300H 取DBCS引导字节表地址 325

8.158 6501H 取全国家信息表 325

8.159 6502H/6504H 取文本/文件名大写表地址 326

8.160 6505H 取文件名字符表地址 327

8.161 6506H 取对照表地址 328

8.162 6507H 取DBCS向量表地址 329

8.163 6520H 字符变大写 329

8.164 6521H 字符串变大写 330

8.165 6522H ASCIIZ字符串变大写 330

8.166 6523H 字符Yes或No检查 330

8.167 66H 取/置全局代码页 330

8.168 67H 设置文件句柄数 331

8.169 68H/6AH 提交文件 331

8.170 69H 取/置介质ID 332

8.171 6CH 扩充的打开/创建文件 332

8.172 DOS 扩充错误码表 334

8.173 DOS 扩充错误类型表 336

8.174 DOS 建议采取的措施表 336

8.175 DOS 扩充错误位置表 336

第九章 DOS核心文件的编程环境 337

9.1 硬件环境 337

9.1.1 几个新增加的CPU指令 337

9.1.2 实时时钟/CMOS RAM 338

9.2 中断系统 343

9.2.1 中断分类 343

9.2.2 DOS保留中断 346

9.2.3 DOS专用中断 347

9.2.4 DOS可调用中断 350

相关图书
作者其它书籍
返回顶部