摘要:本毕业设计为在Qemu虚拟机上实现一个简单的操作系统。由于操作系统涉及到的范围非常广,以学习的目的为主,本文讲只设计并实现操作系统的核心内核态部分。由于利用了Qemu虚拟机,所以就不用考虑实际硬件环境,虚拟机可以模拟x86的硬件环境。本文目标实现的操作系统能够完成字符显示,常用的开发函数工具,简单的内存管理,中断响应及中断处理,内核堆栈,多线程等基础功能。
关键词:简单的操作系统;虚拟机;基础功能
目录
摘要
Abstract
1 设计初衷.1
1.1 操作系统概述-1
1.2 本文目标实现-1
2 内核启动与字符显示-2
2.1 内核启动-2
2.2 字符显示驱动-3
2.3 常用函数功能-6
2.4 内核函数入口-9
3 全局描述符及中断实现-11
3.1 保护模式-11
3.2 全局描述符表-12
3.3 中断描述符表-14
3.4 实现时钟中断-20
4 内存管理-24
4.1 内存管理简述24
4.2 物理内存管理-24
4.3 虚拟内存管理-29
5 内核堆栈与内核线程-34
5.1 内核堆栈-34
5.2 内核线程-36
6 外设驱动-41
6.1 字符设备驱动-41
6.2 键盘驱动41
6.3 块设备驱动-46
6.4 IDE设备驱动. 47
7 内存管理优化.51
7.1 First-Fit算法简介.51
7.2 文件结构优化51
7.3 FF算法实现54
7.4 Slob分配器.57
结 论-59
参 考 文 献-60
致 谢-61