- 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/cpp
GCCDIR = /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个字符到缓存buffer
SysExec 与SysJoin:主要是用来执行命令,如dir等。如果该命令不存在则打印错误信息 。
SysStrncmp:比较两个字符串的前n个字符, 主要用来判断用户是否输入了exit命令以退出shell。
2).本实验需要修改的代码主要在ksyscall.h,exception.cc,syscall.h,shell.c与start.s中:(修改的代码见下面链接)
链接: /view/4e9252c733687e21ae45a95b
实验结果:
对实
您可能关注的文档
最近下载
- 2019-2020学年重庆八中七年级(上)期末数学试卷.docx
- 02J331 地沟及盖板(标准图集).pdf VIP
- 第十一章 沟通——管理学(马工程).ppt
- 2020-2021学年重庆八中八年级(下)期中数学试卷.doc VIP
- 2020年重庆八中八年级(下)期中物理试卷 .doc VIP
- 某家具城进销存管理系统数据库课程设计.docx
- 生物柴油安全技术说明书.pdf
- 新疆地区输电线路工程冬季施工增加费用解析权威资料.doc VIP
- DB11-1624 2019 北京市电动自行车停放场所防火设计标准.docx
- 重庆市第八中学校2023-2024学年八年级上学期期末考试数学试卷(含解析).doc VIP
文档评论(0)