操作系统设计报告.doc
《操作系统设计报告.doc》由会员分享,可在线阅读,更多相关《操作系统设计报告.doc(20页珍藏版)》请在沃文网上搜索。
1、重庆科技学院操作系统原理课程设计报告重庆科技学院课程设计任务书设计题目:微型操作系统的设计 学生姓名课程名称操作系统原理课程设计专业班级计科应08地 点I524起止时间2011年6月12日-2011年6月16日设计内容及要求(1) 配置操作系统编写的所需的环境(虚拟机的建立和相应环境建立),以准备相关的必须工具的准备,并学会相关工具的使用,为以后编写一个微操作系统奠定基础和准备平台。(2) 学习NASM汇编器在本次设计中的使用。(3) 学习裸机启动的过程,消化操作系统引导程序的结构,在此基础上,完成在实模式下从软盘引导计算机的程序编写。(4) 学习本次设计需要的实模式到保护模式切换的相关知识。
2、理解GDT在保护模式的工作机理(5) 编写在保护模式下的引导程序,并用C语言模拟写一个“内核”,并实现在保护模下通过引导程序启动计算机并将该“内核”加载到内存中。最后切换到内核。设计参数(1) 写出编写一个操作系统所需的环境和操作说明书。(2) 总结计算机启动顺序和具体过程。(3) 实现在实模式下系统引导程序的编写。(4) 理解消化实模式到保护模式切换原理以及相关的数据结构和工作过程,并实现之。(5) 完成保护模式下的引导程序,并完成“内核”的加载,并使“内核”运行起来。附加要求:请在设计的课后完成具有进程调度和管理的内核的编写。进度要求6月12日布置任务,对各个任务的基础知识进行讲解6月12
3、日 安装环境,并熟悉相关工具的使用。6月13日完成实模式下引导程序的编写。6月14日完成实模式与保护模式的切换代码的设计。6月15日完成实模式引导程序和内核加载程序编写。6月16日完成答辩和报告撰写。参考资料随任务布置的相关电子文档。其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师: 摘要操作系统是用于控制和管理计算机系统内各种软硬件资源、合理有效地组织协调计算机系统的工作流程提供友好的用户接口以方便用户使用计算机的程序集合。本次设计
4、主要基于在实模式下系统引导程序的编写,理解消化实模式到保护模式切换原理以及相关的数据结构和工作过程,并实现之,完成保护模式下的引导程序,并完成“内核”的加载,并使“内核”运行起来。所用到的设备有Windows XP系统PC机一台、装有Linux系统的PC机一台、VMware虚拟机一台、winhex以及NASM编译软件。 结合本身的实际情况,写出设计要求的操作系统。关键词:操作系统 引导 模式 内核 NASM目录摘要I1 需求分析11.1功能需求分析11.2 性能需求分析11.3 运行环境需求21.3.1 设备21.3.2 运行环境22系统设计42.1 引导程序和模式切换功能设计42.1.1 引
5、导程序设计42.1.2 模式切换功能设计52.2 内核设计82.3 映像文件的设计113系统测试12总结14致谢15参考文献16171 需求分析无论什么项目或者是软件,我们首先必需弄清它的需求分析,才能达到我们开发的目的,而不是在那盲目的开发,最后却不知道产品所需求的功能。1.1功能需求分析PC机开机后,CPU被设定为执行FFFF:0单元处的指令,此处有一条跳转指令。CPU执行该指令后,转去执行BIOS中的硬件系统测试和初始化程序。初始化程序将建立BIOS所支持的中断向量,即将BIOS提供的中断例程的入口地址登记在中断向量表中。硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。
6、如果设为从软盘启动操作系统,则int 19h将主要完成以下工作:(1) 控制0号软驱,读取软盘0道0面1扇区的内容到 0:7C00(2) 将CS:IP指向0:7C00软盘的0道0面1扇区中装有操作系统引导程序。int 19h将其装入到内存0:7C00处后,设置CPU从0:7C00开始执行此处的引导程序,操作系统被激活,控制计算机。如果在0号软驱中没有软盘,或发生软盘I/O错误,则int 19h将主要完成以下工作:(1) 读取硬盘C的0道0面1扇区的内容到0:7C00 (2) 将CS:IP指向0:7C00由以上描述可知,若我们想要控制引导过程,只需: (1) 编写程序 (2) 将该程序代码写入软
7、盘或硬盘C的0道0面1扇区。 因为以上工作会破坏软盘或硬盘原有数据,因此本次实验,我们选择软盘存放我们自己的启动程序。1.2 性能需求分析该操作系统在性能上应达到如下要求:1)操作简单,界面友好:本系统是采用的虚拟机软盘映像文件驱动引导程序设计的启动模式,操作起来简单方便快捷;界面可以根据自己的喜好设成不同的格式和布局。2)环境稳定:该操作系统的设计主要是引导程序的引入、实模式下的运行、实模式到保护模式的转换以及保护模式下内核的加载运行,所以运行环境必须稳定可靠。3)可扩展性:系统在结构上应该具有很好的扩展性,便于以后系统功能的扩展与开发。1.3 运行环境需求1.3.1 设备基于Windows
8、环境平台下汇编编辑工具(EditPlus)或者基于Linux环境下的文本编辑器;NASM编译器;Winhex16进制编辑器;装有虚拟机的Windows XP系统PC机一台;Linux系统PC机一台。1.3.2 运行环境本次课程设计由于是通过虚拟机演示,主要用到虚拟机的软盘通过镜像文件引导加载程序,下面简单介绍一下运行平台上的工具以及文件。1)虚拟机VMware1)关于VMware几个重要概念1. VM(Virtual Machine)虚拟机,指由Vmware模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机; 2.HOST指物理存在的计算机,Hosts OS指HOST上运行的操作系统; 3.
9、Guest OS指运行在VM上的操作系统。例如在一台安装了Windows NT的计算机上安装了Vmware,那么,HOST指的是安装Windows NT的这台计算机,其Hosts OS为Windows NT。VM上运行的是Linux,那么Linux即为Guest OS。2)软盘映像文件映像文件是将资料和程序结合而成的文件,它将来源资料经过格式转换后在硬盘上存成 与目的光盘内容完全一样的文件,然后我们可以将这个文件以一比一对应的方式刻入光盘中。 在制作映像文件之前建议先做硬盘的资料重整与磁盘扫描,除此之外,由于一个映像文件的大小相当于刻入光盘的全部内容,所以一定要预留超过这个容量的硬盘空间来存储
10、这个映像文件。3)映像文件合成工具WinHexWinHex 是一款以通用的 16 进制编辑器为核心,专门用来对付计算机取证、数据恢复、低级数据处理、以及 IT 安全性、各种日常紧急情况的高级工具: 用来检查和修复各种文件、恢复删除文件、硬盘损坏、数码相机卡损坏造成的数据丢失等。4)Linux下的GCC编译器Linux系统下的Gcc是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作之一。Gcc是可以在多种硬件平台上编译出可执行的超级编译器,其执行效率与一般的编译器相比平均效率要高20%30%。Gcc编译器能将C、C+语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给
11、出可执行文件的名字,gcc将生成一个名为a.out的文件。在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。5)NASM编译软件要将源文件demo.asm汇编为exe文件,可以在Command窗口输入如下命令:nasm demo.asm -o demo1.exe要汇编为32位Windows程序,可以在Command窗口输入如下命令:nasm -f win32 demo.asm -o demo2.exe要汇编为64位Windows程序,可以在Command窗口输入如下命令:nasm -f win64 demo.asm -o demo3.exenasm命
12、令的-o参数用于指定输出文件的文件名,-f用于指明文件格式,如果没有指明文件格式,则默认编译为bin格式,即纯二进制代码。所以,上面的demo1.exe实际上是个.com文件。2系统设计2.1 引导程序和模式切换功能设计2.1.1 引导程序设计首先通过一个小程序作为引导程序,引导程序的主要作用是起到引导的作用,它将一个字符串输出显示到屏幕上,其源代码如下。org07c00h ; 告诉编译器程序加载到7c00处movax, csmovds, axmoves, axcallDispStr; 调用显示字符串例程jmp$ ; 无限循环DispStr:movax, BootMessagemovbp, a
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 设计 报告