文档详情

操作系统课程设计报告--GeekOS操作系统的研究与实现.doc

发布:2018-05-12约6.54千字共11页下载文档
文本预览下载声明
编号: 操作系统课程设计报告 题 目:GeekOS操作系统的研究与实现 系 别: 计算机与控制学院 专 业: 学生姓名: 学 号: 指导教师: 2010年1月19日 目 录 一 实验目的-------------------------------------------------------------------- 3 二 项目的设计要求-----------------------------------------------------------3 三 开发环境的建立-----------------------------------------------------------3 四 项目设计原理--------------------------------------------------------------5 五 项目设计的具体实现-----------------------------------------------------6 六 系统编译运行的原理及结果--------------------------------------------8 七 遇到的问题及解决方法-------------------------------------------------10八 课程设计总结--------------------------------------------------------------11 一 实验目的 实践出真知!这是马克思的至理名言。 经过一个学期的操作系统理论学习,我们基本上掌握了操作系统的理论基础知识,但是,操作系统课程的内容不仅仅涉及理论、算法,更重要的是用技术去实现算法并对其加以实现和应用。 此次课程设计,通过搭建Linux实验平台,对专门为操作系统课程教学而设计的操作系统——GeekOS的项目代码的补充和完善,从浅到深,由表面到内涵地去理解操作系统的设计思想,理解操作系统内核工作的基本原理。在完成项目的过程中,通过动手操作,使得我们能够在动手查阅资料、思考排难等探索性活动中进一步理解操作系统的抽象概念,并进一步理解操作系统复杂的结构和工作原理。 具体的来说,对于项目0,应该熟悉GeekOS的项目编译,调试和运行环境,掌握GeekOS的运行工作过程,对于项目1,应该熟悉ELF文件格式,了解GeekSO系统如何将ELF格式的用户可执行程序装入到内存,建立内核进程并运行的实现技术。 二 项目的设计要求 1 Project0项目设计要求: (1) 搭建GeekOS的编译和调试平台,掌握GeekOS的内核进程工作原理。 (2) 熟悉键盘操作函数,编程实现一个内核进程。该进程的功能是:接受键盘输入的字符并显示在屏幕上,当按ctrl+D时,结束进程的运行。 2 Project1项目设计要求: (1) 修改/GeekOS/elf.c文件:在函数Parse_ELF_Executable()中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头、获取可执行文件长度,代码段、数据段等信息),并填充Exe_Format数据结构中的域值。 (2) 掌握GeekOS在核心态运行用户程序的原理,为Project2的实现做准备 三 开发环境的建立 1 在虚拟机上安装Linux操作系统 GeekOS是一个基于X86架构的PC机上运行的微操作系统内核,内核简单却又兼备实用性,是一个用C语言开发的操作系统,可以运行在真正的X86PC硬件平台。每个项目需要在Linux环或者UNIX环境下对其进行功能扩充。 Ubuntu 是一个由社区开发的基于linux的操作系统包含了所需的所有程序:无论是文字处理和电子邮件,还是 Web 服务和编程工具mware,新建一个虚拟机,以便安装Linux系统。 然后在虚拟机上安装Ubuntu系统。系统安装的时候会默认安装了GCC,所以后面不必再重新安装GCC。 2 安装c/c++编译环境在命令行终端中输入sudo gedit /etc/apt/sources.list,文本编辑器编辑源列表。deb-src /Ubuntu/ jaunty-updates main multiverse restricted universe 保存,即可。 (2)终端中输入sudo apt-get update 重新获取软件包
显示全部
相似文档