《操作系统》课程设计说明书
题学专姓学
目:院:业:名:号:
Geekos操作系统的研究与实现计算机科学与工程学院信息安全
1000360213黄廷辉
指导教师:
2013年03月20日
word文档可自由复制编辑
f目
录
1实验目的32项目设计要求33如何建立开发环境44项目设计原理55项目设计的具体实现96系统编译运行的原理及结果197遇到问题及解决方法218课程设计总结22
word文档可自由复制编辑
f1实验目的
操作系统的课程设计非常又必要,可以使我们通过实验,更加深入得理解和掌握操作系统的基本理论和功能技术,将相对抽象的理论应用于实践,提高分析问题和解决问题的能力,提高编写和开发系统程序的能力。此次课程设计,通过搭建Li
ux实验平台,对专门为操作系统课程教学而设计的操作系统GeekOS的项目代码的补充和完善,从浅到深,由表面到内涵地去理解操作系统的设计思想,理解操作系统内核工作的基本原理。在完成项目的过程中,通过动手操作,使得我们能够在动手查阅资料、思考排难等探索性活动中进一步理解操作系统的抽象概念,并进一步理解操作系统复杂的结构和工作原理。以下是各个项目的主要目的:项目0:熟悉GeekOS的项目编译、调试和运行环境,掌握GeekOS运行工作过程。项目1:熟悉ELF文件格式,了解GeekOS系统如何将ELF格式的用户可执行程序装入到内存,建立内核进程并运行的实现技术。项目2扩充GeekOS操作系统内核使得系统能够支持用户级进程的动态创建和执行。
2项目设计要求
21Project0(1)搭建GeekOS的编译和调试平台,掌握GeekOS的内核进程工作原理。(2)熟悉键盘操作函数,编程实现一个内核进程。该进程的功能是:接收键盘输入的字符并显示到屏幕上,当输入ctrld时,结束进程的运行。22Project1(3)修改geekoselfc文件:在函数Parse_ELF_Executable中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头,获取可执行文件长度,代码段、数据段等信息),并填充Exe_Format数据结构中的域值。(4)在Li
ux环境下编译系统得到GeekOS镜像文件。(5)编写一个相应的bochs配置文件。(6)在bochs中运r