第一章 存储管理 1
1.1 存储管理的基本方法 1
1.1.1 单一连续分配 1
1.1.2 固定分区分配 2
1.1.3 可变分区分配 3
1.1.4 分页存储管理 4
1.1.5 分段存储管理 5
1.1.6 段页式存储管理 8
1.2 实模式和保护模式之间相互切换 10
1.2.1 80386以上机器的存储管理机制 10
1.2.2 程序1-1 实模式和保护模式切换演示程序(MODE_T.ASM) 15
1.3 分段存储管理 28
1.3.1 程序1-2 任务切换演示程序(CHG_TASK.ASM) 28
1.3.2 程序1-3 在分段系统中运行 EXE 型程序(DOSEXE.ASM) 47
1.4 段页式存储管理 66
1.4.1 Inte180386以上机器的分页机制 66
1.4.2 程序1-4 段页式管理机制演示程序(G_PAGE.ASM) 68
实验题 87
第二章 中断和基本 I/O 处理 89
2.1 中断基本概念与时钟中断 89
2.1.1 可编程中断控制器(PIC) 90
2.1.2 中断向量表 91
2.1.3 中断向量号的分配 91
2.1.4 时钟中断 92
2.2 修改时钟中断处理程序(实模式) 93
2.1.2 程序2-1 自制时钟中断处理演示程序(G_TIMER.C) 93
2.3 保护模式下中断处理程序 97
2.3.1 中断描述符表 IDT 97
2.3.2 程序2-2 保护模式下的中断处理演示程序(G_INT21.ASM) 98
2.4 修改8253/8254时钟周期 103
2.4.1 关于8253/8254定时/计数器 103
2.4.2 程序2-3 修改系统时钟周期演示程序(G_8253.C) 104
2.5 在分页系统中通过 V86方式实现基本 I/O 操作 106
2.5.1 关于 V86方式 106
2.5.2 COS 操作系统中的中断和系统调用机制 109
2.5.3 程序2-4 基本 I/O 操作的演示程序(G_INT.ASM) 110
实验题 159
第三章 文件系统和磁盘管理 161
3.1 文件系统类型 161
3.1.1 i 结点型文件系统 161
3.1.2 FAT 型文件系统 163
3.2 硬盘分区 164
3.2.1 关于 BIOS CMOS 164
3.2.2 硬盘参数 169
3.2.3 硬盘分区 169
3.2.4 程序3-1 硬盘分区演示程序(GFDISK.C) 173
3.3 磁盘格式化——FAT16文件系统 180
3.3.1 硬盘空间布局和 DOS 引导扇区 180
3.3.2 文件分配表 182
3.3.3 物理扇区和逻辑扇区 183
3.3.4 根目录区 183
3.3.5 程序3-2 硬盘逻辑格式化演示程序(GFORMAT.C) 184
3.4 G_FAT16文件系统 186
3.4.1 文件句柄、系统文件表 SFT 和打开文件表 OFT 187
3.4.2 程序3-3 FAT16文件系统演示程序(GFAT16.ASM) 189
3.5 操作系统引导 267
3.5.1 系统启动过程与本实验步骤 267
3.5.2 备份和恢复硬盘主引导记录 269
3.5.3 建立 COS 分区 270
3.5.4 备份和恢复 DOS 引导记录 270
3.5.5 程序3-4 修改硬盘主引导记录的程序(PRIBOOT.ASM) 276
3.5.6 程序3-5 修改操作系统引导记录的程序(COSBOOT.ASM) 284
3.5.7 程序3-6 COS 操作系统安装程序(LOAD.ASM) 292
实验题 300
第四章 进程管理 302
4.1 按时间片轮转优先级调度演示程序(实模式) 302
4.1.1 系统构架 302
4.1.2 数据结构 303
4.1.3 主要模块设计 304
4.1.4 程序4-1 按时间片轮转优先级调度的基本系统(SCH_DEMO.C) 306
4.2 段页式分时系统演示程序 316
4.2.1 程序基本功能 317
4.2.2 设计要点 318
4.2.3 程序4-2 段页式分时系统演示程序(GCOS.ASM) 324
实验题 350
附录A 硬盘分区程序(GFDISK.C)程序清单 351
附录B 硬盘逻辑格式化程序(GFORMAT.C)程序清单 425
附录C 通过 XMS 驱动程序使用扩展内存的演示程序 440
附录D 鼠标驱动程序设计 450
附录E 简易图形界面的实现 469
参考文献 524