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

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

ID:35618486

大小:432.56 KB

页数:23页

时间:2019-04-02

课程设计--GeekOS操作系统的研究与实现_第1页
课程设计--GeekOS操作系统的研究与实现_第2页
课程设计--GeekOS操作系统的研究与实现_第3页
课程设计--GeekOS操作系统的研究与实现_第4页
课程设计--GeekOS操作系统的研究与实现_第5页
资源描述:

《课程设计--GeekOS操作系统的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、编号:GeekOS操作系统的研究与实现题目:GeekOS操作系统的研究与实现系别:计算机科学与工程学院专业:网络工程学生姓名:学号:指导教师:2011年3月5日23目录(三号、黑体、居中、目录两字空四格、与正文空一行)一、课程设计环境……………………………………………………4二、设计项目0……………………………………………………5三、设计项目1………………………………………………………7四、设计项2……………………………………………………………9五、遇到问题及解决方法.……………………………………………23六、总结…………………………………………………………………2423一、课程设计环境本次

2、课设是在虚拟机上安装Linux进行开发调试,具体安装使用方法如下:<1>、安装linux虚拟机本次课设的虚拟机是运行在VmwareWorkStation上的,网上下载及安装好Vmware后,下载Linux镜像文件后,即可按提示即可安装。<2>、GeekOS:是一个基于X86架构的PC机上运行的微操作系统内核,由美国马理兰大学的教师开发,是一个用C语言开发的操作系统,GeekOS主要用于操作系统课程设计,目的是使学生能够实际动手参与到一个操作系统的开发工作中。GeekOS的使用:打开linux虚拟机,直接解压GeekOS压缩包就可使用,无需安装。<3>、Bochs安装和使用:在Linux系统中

3、需先解压软件包,然后再配置编译生成系统文件。23二、设计项目0一、项目设计目的熟悉GeekOS的项目编译、调试和运行环境,掌握GeekOS运行工作过程。二、设计任务熟悉键盘操作函数,编程实现一个内核进程。该进程的功能是:接收键盘输入的字符并显示到屏幕上,当输入ctrl+d时,结束进程的运行。三、具体过程1、------------------------修改main.c的代码--------------------------------//在main.c内增加该函数voidproject0(){Print("ToExithitCtrl+d.");Keycodekeycode;while

4、(1){if(Read_Key(&keycode))//读取键盘按键状态{if(!((keycode&KEY_SPECIAL_FLAG)

5、

6、(keycode&KEY_RELEASE_FLAG)))//只处理非特殊按键的按下事件{intasciiCode=keycode&0xff;//低位为Ascii码if((keycode&KEY_CTRL_FLAG)==KEY_CTRL_FLAG&&asciiCode=='d')//按下Ctrl键{Print("---------BYE!--------");Exit(1);}else{Print("%c",(asciiCode=='r')?'

7、n':asciiCode);}}}}}//在main函数体内调用Start_Kernel_Thread函数structKernel_Thread*thread;thread=Start_Kernel_Thread(&project0,0,PRIORITY_NORMAL,false);----------------------------------------------------232、在build目录下编译得到镜像文件fd.img#make3、编写brochs配置文件vgaromimage:file=/usr/share/bochs/VGABIOS-lgpl-latestromima

8、ge:file=/usr/share/bochs/BIOS-bochs-latest,address=0xf0000megs:8boot:afloppya:1_44=fd.img,status=inserted#floppya:1_44=fd_aug.img,status=insertedlog:./bochs.outkeyboard_serial_delay:200floppy_command_delay:500vga_update_interval:300000ips:1000000mouse:enabled=0private_colormap:enabled=0i440fxsuppor

9、t:enabled=04、在brochs中运行GeekOS系统显示结果23三、设计项目1一、项目设计目的熟悉ELF文件格式,了解GeekOS系统如何将ELF格式的可执行程序装入到内存,建立内核进程并运行的实现技术。二、具体过程修改/geekos/elf.c文件:在函数Parse_ELF_Executable()中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头,获取可执行文件长度,代码段

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。