本书向读者展示了如何自己动手编写一个简化的32位保护模式操作系统,涉及了现代操作系统的主要技术。本书以编写操作系统为主线索,讨论了存储管理、基本I/O操作与图形界面、中断与系统调用、进程管理、设备管理(以IDE磁盘为例)、文件系统(FAT16为例)、系统引导与系统初始化等方面程序实现的技术问题,给出了操作系统实验和课程设计的内容,并提供了参考程序的清单及详细的注释。这些内容不仅对学习操作系统的学生有帮助,而且对从事底层软件开发、学习保护模式汇编编程与C语言编程的人员也非常有用。
本书可供高等院校开设操作系统课程的有关专业作为实践教材,亦可供广大计算机应用人员、软件设计人员参考和使用。
样章试读
目录
- 前言
第一章 存储管理
1·1存储管理的基本方法
1·1·1单一连续分配
1·1·2固定分区分配
1·1·3可变分区分配
1·1·4分页存储管理
1·1·5分段存储管理
1·1·6段页式存储管理
1·2实模式和保护模式之间相互切换
1·2·180386以上机器的存储管理机制
1·2·2程序1-1实模式和保护模式切换演示程序(MODET_T.ASM)
1·3分段存储管理
1·3·1程序1-2任务切换演示程序(CHG_TASK.ASM)
1·3·2程序1-3在分段系统中运行EXE型程序(DOSEXE.ASM)
1·4段页式存储管理
1·4·1Intel80386以上机器的分页机制
1·4·2程序1-4段页式管理机制演示程序(G_PAGE.ASM)
实验题
第二章 中断和基本I/O处理
2·1中断基本概念与时钟中断
2·1·1可编程中断控制器(PIC)
2·1·2中断向量表
2·1·3中断向量号的分配
2·1·4时钟中断
2·2修改时钟中断处理程序(实模式)
2·1·2程序2-1自制时钟中断处理演示程序(G_TIMER.C)
2·3保护模式下中断处理程序
2·3·1中断描述符表IDT
2·3·2程序2-2保护模式下的中断处理演示程序(G_INT21.ASM)
2·4修改8253/8254时钟周期
2·4·1关于8253/8254定时/计数器
2·4·2程序2-3修改系统时钟周期演示程序(G_8253.C)
2·5在分页系统中通过V86方式实现基本I/O操作
2·5·1关于V86方式
2·5·2COS操作系统中的中断和系统调用机制
2·5·3程序2-4基本I/O操作的演示程序(G_INT.ASM)
实验题
第三章 文件系统和磁盘管理
3·1文件系统类型
3·1·1i结点型文件系统
3·1·2FAT型文件系统
3·2硬盘分区
3·2·1关于BIOS、CMOS
3·2·2硬盘参数
3·2·3硬盘分区
3·2·4程序3-1硬盘分区演示程序(GFDISK.C)
3·3磁盘格式化——FAT16文件系统
3·3·1硬盘空间布局和DOS引导扇区
3·3·2文件分配表
3·3·3物理扇区和逻辑扇区
3·3·4根目录区
3·3·5程序3-2硬盘逻辑格式化演示程序(GFORMAT.C)
3·4G_FAT16文件系统
3·4·1文件句柄、系统文件表SFT和打开文件表OFT
3·4·2程序3-3FAT16文件系统演示程序(GFAT16.ASM)
3·5操作系统引导
3·5·1系统启动过程与本实验步骤
3·5·2备份和恢复硬盘主引导记录
3·5·3建立COS分区
3·5·4备份和恢复COS引导记录
3·5·5程序3-4修改硬盘主引导记录的程序(PRIBOOT.ASM)
3·5·6程序3-5修改操作系统引导记录的程序(COSBOOT.ASM)
3·5·7程序3-6COS操作系统安装程序(LOAD.ASM)
实验题
第四章 进程管理
4·1按时间片轮转优先级调度演示程序(实模式)
4·1·1系统构架
4·1·2数据结构
4·1·3主要模块设计
4·1·4程序4-1按时间片轮转优先级调度的基本系统(SCH_DEMO.C)
4·2段页式分时系统演示程序
4·2·1程序基本功能
4·2·2设计要点
4·2·3程序4-2段页式分时系统演示程序(GCOS.ASM)
实验题
附录A 硬盘分区程序(GFDISK.C)程序清单
附录B 硬盘逻辑格式化程序(GFORMAT.C)程序清单
附录C 通过XMS驱动程序使用扩展内存的演示程序
附录D 鼠标驱动程序设计
附录E 简易图形界面的实现
参考文献