- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
#
您可能关注的文档
最近下载
- 河南省郑州市第九十三中学2023-2024学年八年级上学期第一次月考物理试卷.docx VIP
- 河南省郑州经济技术开发区第四中学2023-2024学年八年级上学期第一次月考物理试卷.docx VIP
- 河南省郑州实验外国语中学2024-2025学年八年级上学期第一次月考物理试卷(无答案).docx VIP
- 成都鲜生活冷链物流配送优化与风险控制.docx VIP
- 棱镜中文翻译sunny.pdf VIP
- 河南省实验中学2024-2025学年八年级上学期第一次月考物理试卷及答案.pdf VIP
- 计算机Excel习题及答案.doc VIP
- 高标准农田建设项目 投标方案(技术方案).doc
- JBT 10215-2020 垂直循环类机械式停车设备.pdf VIP
- 自发性蛛网膜下腔出血的护理分析.pptx VIP
文档评论(0)