操作系统课程设计报告(含源代码).docVIP

操作系统课程设计报告(含源代码).doc

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

操作系统课程设计报告 姓名: 学号: 班级: 2010年6月25日 目录 一、 试验实现 3 试验三、生成目标机 3 3.1. 编译unixlite内核 3 3.2. 制作目标机的启动软盘 3 3.3. 对目标机的硬盘分区 3 3.4. 格式化目标机的硬盘 4 3.5.?安装目标机的文件系统 4 3.6. 测试目标机 5 试验四、Hello World! 5 4.1. 目标 5 4.2. 步骤 5 试验五、系统调用的原理 6 5.1. 目标 6 5.2. 步骤 7 试验七、 实现信号灯操作的系统调用 9 7.1. 增加四个系统调用: 9 7.2. 编写四个测试程序: 13 7.3. 运行测试程序 15 试验八、 实现进程间通信的系统调用 16 8.1. 增加四个系统调用: 16 8.2. 编写四个测试程序: 20 8.3. 运行测试程序 22 二、 心得体会 23 第一部分 试验实现 试验三、生成目标机 3.1. 编译unixlite内核 生成系统内核可执行文件kernel.target和系统内核镜像文件Image # cd ~/ker # make dep # make 3.2. 制作目标机的启动软盘 把系统内核镜像文件Image写入到软盘。 # cd ~/kernel # dd if=Image of=/dev/fd0 3.3. 对目标机的硬盘分区 Command (m for help): m // 帮助 Command (m for help): p打印当前分区表 Command (m for help): n创建新的分区 Command action e extended p primary partition (1-4) p 分区类型是主分区 Partition number (1-4): 1 第一主分区 First cylinder (1-4, default 1): 输入回车,使用缺省值 Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-4, default 4): 输入回车,使用缺省值 Using default value 4 Command (m for help): p 打印当前分区表 Command (m for help): t 改变分区类型 Selected partition 1 Hex code(Type L to list codes): 81 输入minix分区代码:81 Command (m for help): p打印当前分区表 Command (m for help): w 存盘退出3.4. 格式化目标机的硬盘# mkfs.minix -v -n30 /dev/hdb1 3.5.?安装目标机的文件系统 挂载目标机的硬盘 # mount /dev/hdb1 /mnt/hdb1 安装基本的文件系统 # tar zxvf rootfs.tar.gz -C /mnt/hdb1 卸载目标机的硬盘 # umount /mnt/hdb13.6. 测试目标机 Hello World! 4.1. 目标 在目标机启动时打印出你的学号。 4.2. 步骤 编辑内核源文件~/kerl/init/main.cc,main.cc定义了系统的入口:main函数,在main函数中找到如下两行代码: int main() {…. printf(Total Memory Size is %d Meg\n, nphysmeg); i386init(); /* setup gdt,idt,cr0 */ ….. } 在这两行之间插入打印学号的代码,变为: printf(Total Memory Size is %d Meg\n, nphysmeg); printf(This is student:n); i386init(); /* setup gdt,idt,cr0 */ 在~/kerl目录下使用make命令重新编译内核,生成内核镜像文件Image: # cd ~/kernel # make把系统内核镜像文件Image写入到软盘: # cd ~/kernel # dd if=Image of=/dev/fd0 在windows下启动目标机,查看目标机启动时是否打印出你的学号。 试验五、系统调用的原理 5.1. 目标 通过为unixlite开发一个简单的系统调用了解系统调用的原理,要增加的系统调用原型是:int add(int a, int b); add的功能是返回参数a、参数b两者相加的和。

文档评论(0)

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

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

1亿VIP精品文档

相关文档