GeekOS课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GeekOS课程设计报告

编号: GeekOS操作系统的研究与实现 题 目: GeekOS操作系统的研究与实现 系 别: 计算机科学与工程学院 专 业: 网络工程 学生姓名: 学 号: 指导教师: 2011年 3 月 5 日 目 录 (三号、黑体、居中、目录两字空四格、与正文空一行) 一、课程设计环境 ……………………………………………………4 二、设计项目0 ……………………………………………………5 三、设计项目1 ………………………………………………………7 四、设计项2……………………………………………………………9 五、遇到问题及解决方法.……………………………………………23 六、总结…………………………………………………………………24 一、课程设计环境 本次课设是在虚拟机上安装Linux进行开发调试,具体安装使用方法如下: 1、安装linux虚拟机 本次课设的虚拟机是运行在Vmware WorkStation上的,网上下载及安装好 Vmware 后,下载Linux镜像文件后,即可按提示即可安装。 2、GeekOS:是一个基于X86架构的PC机上运行的微操作系统内核,由美国 马理兰大学的教师开发,是一个用C语言开发的操作系统, GeekOS主要 用于操作系统课程设计,目的是使学生能够实际动手参与到一个操作系统的 开发工作中。 GeekOS的使用:打开linux虚拟机,直接解压GeekOS压缩包就可使用, 无需安装。 3、Bochs安装和使用:在Linux系统中需先解压软件包,然后再配置编译生成系统文件。 二、设计项目0 一、项目设计目的 熟悉GeekOS的项目编译、调试和运行环境,掌握GeekOS运行工作过程。 二、设计任务 熟悉键盘操作函数,编程实现一个内核进程。该进程的功能是:接收键盘输入的字符并显示到屏幕上,当输入ctrl+d时,结束进程的运行。 三、具体过程 1、 修改main.c的代码 //在main.c内增加该函数 void project0() { Print(To Exit hit Ctrl + d.\n); Keycode keycode; while(1) { if( Read_Key(keycode) ) //读取键盘按键状态 { if(!( (keycode KEY_SPECIAL_FLAG) || (keycode KEY_RELEASE_FLAG)) ) //只处理非特殊按键的按下事件 { int asciiCode = keycode 0xff; //低位为Ascii码 if( (keycode KEY_CTRL_FLAG)==KEY_CTRL_FLAG asciiCode==d) //按下Ctrl键 { Print(\nBYE!\n); Exit(1); }else { Print(%c,(asciiCode==\r) ? \n : asciiCode); } } } } } //在main函数体内调用Start_Kernel_Thread函数 struct Kernel_Thread *thread; thread = Start_Kernel_Thread(project0,0,PRIORITY_NORMAL,false); 2、在build目录下编译得到镜像文件fd.img #make 编写brochs 配置文件 vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000 megs: 8 boot: a floppya: 1_44=fd.img, status=inserted #

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档