第1部分 基础
第1章 EOS概述
1.1EOS操作系统
1.2集成实验环境
1.3从源代码到可运行的操作系统
第2章 EOS编程基础
2.1EOS内核源代码的结构
2.2预定义的C数据类型
2.3链表的使用
2.4NASM汇编
2.5C和汇编的相互调用
2.6原语操作
2.7错误处理
2.8条件编译’
2.9C语言中变量的内存布局
2.10使用工具阅读EOS源代码
第3章 EOS的启动过程
3.1BIOS程序的执行过程
3.2Boot程序的执行过程
3.3Loader程序的执行过程
3.4内核的初始化过程
第4章 对象管理
4.1对象类型
4.2对象
4.3对象类型和对象组成的链表
4.4对象的方法
4.5对象的生命周期
4.6对象的句柄
第5章 进程管理
5.1进程的描述与控制
5.1.1进程和程序
5.1.2进程控制块(PCB)
5.1.3进程的创建
5.1.4进程的终止
5.2线程的描述与控制
5.2.1线程控制块(TCB)
5.2.2线程的创建和终止
5.2.3线程的状态和转换
5.2.4线程的挂起状态
5.3进程的同步与通信
5.3.1基本概念
5.3.2EOS内核提供的同步对象
5.4线程调度
5.4.1就绪队列和就绪位图
5.4.2线程调度执行的时机
5.4.3调度程序
5.4.4时间片轮转调度
第6章 内存管理
6.1i386处理器的工作模式和内存管理方式
6.2EOS内存管理概述
6.3物理存储器的管理
6.4进程地址空间
6.5页目录和页表的逻辑地址
6.6虚拟地址描述符链表
6.7系统内存池
6.8进程地址空间的内存分布
第7章 I/O管理
7.1驱动程序对象与设备对象
7.2文件对象及其操作
7.3设备驱动的安装与工作原理
7.4文件系统驱动
7.5块设备的读写
7.5.1磁盘调度算法
7.5.2读写缓冲区
第8章 FATl2文件系统
8.1文件系统是一个逻辑层
8.2系统区
8.2.1根目录
8.2.2文件分配表(FAT)
8.3操作文件
8.3.1打开文件与关闭文件
8.3.2读文件
8.3.3写文件
8.4引导扇区
第2部分 实验
第9章 实验1 实验环境的使用
第10章 实验2 操作系统的启动
第11章 实验3 进程的创建
第12章 实验4 线程的状态和转换
第13章 实验5 进程的同步
第14章 实验6 时间片轮转调度
第15章 实验7 物理存储器与进程逻辑地址空间的管理
第16章 实验8 分页存储器管理
第17章 实验9 串口设备驱动程序
第18章 实验10 磁盘调度算法
第19章 实验11 扫描FATl2文件系统管理的软盘
第20章 实验12 读文件和写文件
附录A Bochs和VirtualPC
附录B 字节顺序Little-endian与Big-endian
附录C EOS核心源代码协议
参考文献