一个简易操作系统的设计与实现.pdf
《一个简易操作系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《一个简易操作系统的设计与实现.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2 l 卷(增)(2 6)内江师范学院学报J o U R N A LO FN E I A N GT E A C H E R SC O L L E G ES 1 2 1(2 0 0 6)一个简易操作系统的设计与实现曾建周,李尧(内江师范学院计算机与信息科学系,四川内江6 4 1 1 1 2)摘要:根据操作系统的原理,分析操作系统的逻辑结构,设计出一个简易操作系统模型。并利用N A S M 汇编语言和C 语言编写其源代码。实现了一个可以从软盘启动计算机的简易操作系统。关键词:操作系统;引导:内核:进程:I o中图分类号:1 1 3 1 6文献标识码:A文章编号:1 6 7 l 一1 7 8 5(
2、2 0 0 6)s l 0 2 3 8 0 51引言操作系统(O S)是计算机体系里面最基础、最重要的系统软件,它是用户与计算机硬件系统之间的接口,是计算机系统资源的管理者,更是用户使用的平台。真正意义上的操作系统主要有以下四个特点:用户依靠操作系统方便的使用计算机软件、硬件设备,提高计算机的效率,操作系统必须具有良好的扩充性,操作系统必须具有优良的移植性、互操作性和统一的开放环境。操作系统体系是一个非常复杂的知识体系,它牵涉到的知识很多很复杂,比如内核研究、进程调度和管理、存储器管理、文件管理和设备管理等技术。目前对于操作系统教材上都只讲其原理,不讲实际动手操作及其实现,所以学生在学习它时感
3、到非常抽象。国内外一些著名高校通常是鼓励学生在学习这门课程的同时自己动手开发一个能实现O S 基本功能的微型操作系统来加强对该课程的掌握通过实践对于学生充分掌握书本知识、打下扎实的基本功有非常大的好处。在此基础之上,我提出了一个具体的操作系统。2 总体设计2 1 问题的提出计算机操作系统是一个结构化体系,它主要有几大模块构成:引导模块、模式转换模块、内核模块、进程模块、I o 模块、设备管理模块等。2 2 设计框架根据软件项目工程的做法逐步设计出模块。2 5 设计环境一台安装有W i n d o w sX P 和L i n u)(内含N A S M、G C C 工具)双系统P C 机、虚拟机软
4、件(v i n u a lP C)、调试软件(B o c h s)、绝对扇区读写工具(F l o p p y w r i t c r)等。3 详细设计5 1 引导模块B O O T 设计引导盘(本文是以软盘为引导盘)的设计。计算机电源被打开时,B I O S 首先会加电自检,然后寻找位于磁盘的第收稿日期:2 0 0 6 _ _ 0 4 _ 1 3基金项目:内江师范学院大学生科研项目(0 5 N S 珈9 8)作者简介:曾建周(1 9 8 4 一),男,四川南充人,内江师范学院计算机与信息科学系2 0 0 3 级学生。万方数据第2 1 卷(增)l曾建周,李尧:一个简易操作系统的设计与实现2 3
5、9 O 面O 磁道l 扇区弓I 导代码,B 1 0 S 若发现此扇区代码是以0 x A A 5 5 结束,则认为它就是一个引导扇区。此外,为了能让微软识别引导扇区还要加上一个数据结构为B P B 的头信息。写好此代码之后在L i n u x 系统中用命令n 嬲m B 0 0 t a s m oB o o t-b i n 编译成二进制文件即可运行,然后用软盘绝对扇区读写工具写到软盘或软盘映像即可运行。有了以上软盘引导代码,现在需要解决的问题是将B o o t B i n 写进内存,于是可用一段名为L o a d e r b i n 的代码把B o o t b j n 写迸内存。L o a d e
6、 r b i n 生成的方法如下:用虚拟机软件v i r t u a lP C 捕获某个I M G(磁盘映象文件),并将它格式化,于是I M G 中留下了L 0 a d e r b i n。为了简单起见,可规定B o o t b i n 只能放在根目录区。最后把它复制到软盘根目录区中即可。这个阶段还须解决如何寻找L o a d e r-b i n。方法是在软盘的根目录区从头到尾寻找名为L o a d e r b i n 的文件,找到后跳转到L o a d e r-b i n 代码所在地址。最后软盘中文件存放位置的示意图如图1:写好这段代码后,在L i n u x 系统中用命令n a s mB
7、o o t a s m oB o o t b i n编译生成B o o t b i n,然后用软盘绝对扇区读写工具写到软盘或软盘映像即可运行。运行结果如图2 数据区(长度非固定)根目录区(长度非固定)F A T 2(长度固定)即汀l(长度固定)引导扇区(长度固定)图1注:上图打印出B o o t i n g 表示已经将B o o t 调入了内存,然后进入了准备好状态R e a d y图25 2 内核模块K e r n e I 的设计将内核加载到主存。在启动引导扇区代码以后、它会自动寻找L o a d e r 代码,并将L o a d e r 代码加入内存。接着L o a d e r 代码将加载
8、内核到内存。在设计内核这段代码时,主要参考了A n d r c wS 1 柚e n b 删m 和A 1 b e r ts w o o d h u l l 所著操作系统:设计与实现 以及于渊的 自己动手写操作系统扩:内核代码主要包括四个文件:k e r n e l a s m、s t r i n g 觞m、k I i b 弱m、s t a r t c,将这些文件编译链接后得到了内核k e m e l b i n o编译连接方法:i【r o o t X x xX x x】撑瑚-f k e r n e l b i n【r o o t x x xX x x】撑n a s m fe l f-ok e r
9、 n e I ok e m e l a s m【r o o t X X xX x x】撑n 硒m-f e l f os t r i n g os t r i n g a s m【r 0 0 t x x xX x x】撑n 硒m f e I f ok l i b ok l i b a s m【r o o t x x xx x x】撑g c c-cf n o-b u i l t i n os t a n os t a r t c【r o o t x x xX x x】撑I d s T t e x tO x 3 0 4 0 0-ok e r n e I b i nk e m e l os t r i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 简易 操作系统 设计 实现
限制150内