欢迎来到天天文库
浏览记录
ID:35618219
大小:94.50 KB
页数:11页
时间:2019-04-02
《操作系统课程设计报告--GeekOS操作系统的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、编号:操作系统课程设计报告题目:GeekOS操作系统的研究与实现系别:计算机与控制学院专业:学生姓名:学号:指导教师:2010年1月19日11目录一实验目的--------------------------------------------------------------------3二项目的设计要求-----------------------------------------------------------3三开发环境的建立----------------------------------------
2、-------------------3四项目设计原理--------------------------------------------------------------5五项目设计的具体实现-----------------------------------------------------6六系统编译运行的原理及结果--------------------------------------------8七遇到的问题及解决方法----------------------------------------
3、---------10八课程设计总结--------------------------------------------------------------11一实验目的实践出真知!这是马克思的至理名言。11经过一个学期的操作系统理论学习,我们基本上掌握了操作系统的理论基础知识,但是,操作系统课程的内容不仅仅涉及理论、算法,更重要的是用技术去实现算法并对其加以实现和应用。此次课程设计,通过搭建Linux实验平台,对专门为操作系统课程教学而设计的操作系统——GeekOS的项目代码的补充和完善,从浅到深,由表面到内涵地去
4、理解操作系统的设计思想,理解操作系统内核工作的基本原理。在完成项目的过程中,通过动手操作,使得我们能够在动手查阅资料、思考排难等探索性活动中进一步理解操作系统的抽象概念,并进一步理解操作系统复杂的结构和工作原理。具体的来说,对于项目0,应该熟悉GeekOS的项目编译,调试和运行环境,掌握GeekOS的运行工作过程,对于项目1,应该熟悉ELF文件格式,了解GeekSO系统如何将ELF格式的用户可执行程序装入到内存,建立内核进程并运行的实现技术。二项目的设计要求1Project0项目设计要求:(1)搭建GeekOS的编译和调
5、试平台,掌握GeekOS的内核进程工作原理。(2)熟悉键盘操作函数,编程实现一个内核进程。该进程的功能是:接受键盘输入的字符并显示在屏幕上,当按ctrl+D时,结束进程的运行。2Project1项目设计要求:(1)修改/GeekOS/elf.c文件:在函数Parse_ELF_Executable()中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头、获取可执行文件长度,代码段、数据段等信息),并填充Exe_Format数据结构中的域值。(2)掌握GeekOS在核心态运行用户程序的原理,为Projec
6、t2的实现做准备三开发环境的建立1在虚拟机上安装Linux操作系统GeekOS是一个基于X86架构的PC机上运行的微操作系统内核,内核简单却又兼备实用性,是一个用C语言开发的操作系统,可以运行在真正的X86PC硬件平台。每个项目需要在Linux环或者UNIX环境下对其进行功能扩充。Ubuntu是一个由社区开发的基于linux的操作系统,其包含了我们一般11所需的所有程序:无论是文字处理和电子邮件,还是Web服务和编程工具。所以选择其作为Linux系统进行安装。首先先安装VMwareworkstation,运行Vmware
7、,新建一个虚拟机,以便安装Linux系统。然后在虚拟机上安装Ubuntu系统。系统安装的时候会默认安装了GCC,所以后面不必再重新安装GCC。2安装c/c++编译环境(1)修改使用国内镜像更新源。在命令行终端中输入sudogedit/etc/apt/sources.list,打开“文本编辑器编辑源列表”。在最后一行添加下列国内镜像更新源:deb-srchttp://debian.ustc.edu.cn/Ubuntu/jaunty-updatesmainmultiverserestricteduniverse保存,即可。(
8、2)终端中输入sudoapt-getupdate重新获取软件包列表。(3)在终端输入sudoapt-getintallbuild-essential下载安装build-essential包。(4)安装NASM在终端执行udoapt-getinstallnasm,(5)安装Bochs:在终端执行sudoapt-geti
此文档下载收益归作者所有