- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
week10验报告
实 验 报 告 课程名称 ?操作系统课程设计实验课时1实验项目Nachos系统调用实验时间2015.5.10实验目的 给出主要逻辑和流程;提供项目源代码;将本实验报告和源代码打包提交到课程网站。实验环境 ? X86,WindowsXP,VMware5.0,RedHat Linux 9.0, SSHSecureShellClient-3.2.9实验内容(算法、程序、步骤和方法) 包括以下几个方面的内容:实验环境:Nachos环境搭建 将NachOS-4.1.tgz压缩文件上传到/usr/local目录 在命令行下使用cd命令切换到指定目录 cd /usr/local 使用tar命令解压压缩文件NachOS-4.1.tgz tar –zvxf NachOS-4.1.tgz 解压之后目录为NachOS-4.1,把其改成nachos mv NachOS-4.1 nachos (可选)2.编译Nachos 进入nachos/code/build.linux子目录 cd ./nachos/code/build.linux输入make depend检查依赖输入make,进行编译,如果没有错误,则表示编译成功编译好的nachos系统镜像就在build.linux目录下,运行时直接 ./nachos 就可以了可以使用./nachos –u查看nachos运行参数配置交叉编译 -简单地说,就是在一个平台上生成另一个平台上的可执行代码。 步骤: 将mips-decstation.linux-xgcc.tgz压缩文件上传到/根目录下,然后使用tar -zvxf 命令解压另外还需要编译测试程序转换工具,进入 nachos/coff2noff目录,运行 ./configure输入make 进行编译进入/usr/local/nachos/code/test目录,执行make如果出现错误信息则vi Makefile.dep,按以下方式修改:CPP = /usr/local/nachos/lib/gcc-lib/decstation-ultrix/2.95.2/cppGCCDIR = /usr/local/nachos/bin/decstation-ultrix-保存后执行make再次测试实验内容:对实践过程的详细说明,针对已经满足的实践要求,采用了何种算法或思想,对Nachos平台的哪些代码进行了什么样的修改。1.实验背景: Shell是一个命令处理器(command processor)——是一个读入并解释你输入的命令的程序,它是介于使用者和操作系统之核心程序(kernel)间的一个接口。它是一个交互性命令解释器。shell 独立于操作系统,这种设计让用户可以灵活选择适合自己的shell。shell 让你在命令行键入命令,经过shell 解释后传送给操作系统(内核)执行。 2.实验内容: 本实验需要实现的是一个shell的功能,我们可以使用linux下的/bin/sh来实现shell的具体操作,无需手工实现。而主要的工作就在于给用户呈现一个界面,在界面中显示一些shell的提示符等信息,并将用户输入的命令送入缓存,通过调用SysExec,由/bin/sh中的系统程序来处理,然后反馈出结果。另外需要识别出用户输入的exit或quit来退出shell。3.实验程序运行流程:(摘自资料) 或者参考: 4.实验具体要求 1).可以通过调用Linux下的/bin/sh来实现该项目shell,主要是实现几个nachos系统调用:SysWrite,SysRead,SysExec,SysJoin,SysStrncmp 然后就是在exception.cc中调用这些系统调用 在shell中它们的作用: SysWrite: 显示提示符与shell的版本信息 SysRead:读取n个字符到缓存bufferSysExec 与SysJoin:主要是用来执行命令,如dir等。如果该命令不存在则打印错误信息 。SysStrncmp:比较两个字符串的前n个字符, 主要用来判断用户是否输入了exit命令以退出shell。 2).本实验需要修改的代码主要在ksyscall.h,exception.cc,syscall.h,shell.c与start.s中:(修改的代码见下面链接)链接: HYPERLINK /view/4e9252c733687e21ae45a95b /view/4e9252c733687e21ae45a95b 实验结果:对实践要求的满足程度,代码是否编写完成,是否调试通过,能否正常运行,本项目
文档评论(0)