一个X86架构的操作系统的实现文献综述
2020-06-23 20:44:42
文 献 综 述
开发背景
当今的IT软件应用行业离不开操作系统,我们使用的各种用户程序(如Photoshop,git等)都必须运行在操作系统上。作为学习操作系统的新手,商用的操作系统设计复杂,代码量大,不适合作为学习的蓝本,如果能够从零开始开发一个小型的操作系统雏形,不但可以全面深入的了解操作系统的工作原理,还可以为读大型开源操作系统的代码积累经验。
作为一个计算机系并有志于从事计算机相关行业的大学生来说,很多本科时期计算机相关的科目的学习都仅仅是”纸上谈兵”,缺乏实际操作,更谈不上实际应用,这对以后的深入学习和长期发展非常不利。例如:汇编课程学习的大部分内容使用8086/8088的16位实模式作为学习蓝本,而现在操作系统因为大内存的使用,基本全都是32位的保护模式,虽然语法等基础没有变化,但是其32保护模式架构思想在汇编课程中并没有提及到;作为系统开发的利器C语言,其课程学习只是掌握语法和语言设计方法,如果没有深入到应用,没有研究其在机器层面的原理,很多精髓都无法掌握,也就谈不上真正掌握C语言;而对与学习操作系统本身,如果没有阅读经典操作系统的源代码或者尝试去做系统开发这方面的实践,对于其诸多概念和原理是无法深入理解的,只能停留在表面理解,无法做到心中有数,就更谈不上创新了。
本次想通过一个”麻雀虽小,五脏俱全”操作系统的开发,达到复习并总结本科时期诸多科目的,包括:x86汇编语言,C语言,计算机组成原理,数据结构,操作系统,软件工程。
系统功能需求
(1) 实现操作系统的装载:制作IPL(Initial Program Loader,启动程序装载器)。工作在FAT12文件格式上。
(2) 实模式保护模式的切换:实现对内存的简单管理
(3) 显示视图:实现数据缓冲,鼠标位置获取,显示窗口。同时使其支持显示中文支持
(4) 操作系统视图优化:。其中应用了数据缓冲区的制作。工作窗口实现叠加效果。中文文字显示。