- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
實驗指導書.doc
《操作系统》课程实验指导书
实验1 Linux及相关工具使用
一、实验目的
掌握Linux及SHELL命令的使用方法;掌握文本编辑软件和编译工具GCC的使用方法。
要求:能熟练使用常用的SHELL命令,能使用文本编辑软件编写C程序,能使用GCC的常用选项进行编译工作。
二、实验环境
Windows XP,Virtual Machines,Red Hat Linux6.0
三、实验内容
在Linux中完成下列各题:
1,创建、复制、删除文件,创建目录,显示目录、文件内容;
2,编辑一个输出“Hello Word”的c程序;编译并运行该程序;
3,编写一个C程序,用于实现文件的复制操作。
四、操作方法
1,创建、复制、删除文件,创建目录,显示目录、文件内容
cp:
功能说明:复制文件或目录。
语 法:cp [-abdfilpPrRsuvx][-S 备份字尾字符串][-V 备份方式][--help][--spares=使用时机][--version][源文件或目录][目标文件或目录] [目的目录]
rm:
功能说明:删除文件或目录。
语 法:rm [-dfirv][--help][--version][文件或目录...]
补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数-r,否则预设仅会删除文件。
ls:
功能说明:列出目录内容。
mkdir:
功能说明:建立目录
语 法:mkdir [-p][--help][--version][-m 目录属性][目录名称]
cd:
功能说明:切换目录。
语 法:cd [目的目录]
补充说明:cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。
rmdir:
功能说明:删除目录。
语 法:rmdir [-p][--help][--ignore-fail-on-non-empty][--verbose][--version][目录...]
补充说明:当有空目录要删除时,可使用rmdir指令。
2,编辑一个输出“Hello Word”的c程序;编译并运行该程序;
S1:通过执行“开始/实用工具”下的快捷方式打开文本编辑软件,编写C程序
S2:然后执行“开始/实用工具/终端程序”
S3:在终端程序中使用GCC命令编译C程序,命令格式:
gcc 源文件名 –o 目标文件名
S4:运行目标文件,格式为:
./目标文件名
3,编写一个C程序,用于实现文件的复制操作。
程序代码如下:
#include fcntl.h
#include stdio.h
#include sys/stat.h
#define SIZE 1
int main(int argc,char *argv[])
{
char buffer[SIZE];
int In_fh,Out_fh;
int Count;
if((In_fh=open(argv[1],O_RDONLY))==-1)
printf(Opening Infile);
if((Out_fh=Out_fh=open(argv[2],(O_WRONLY|O_CREAT|O_TRUNC),(S_IRUSR|S_IWUSR)))==-1);
printf(Opening Outfile);
while((Count=read(In_fh,buffer,sizeof(buffer)))0)
if(write(Out_fh,buffer,Count)!=Count)
printf(Writing date);
if(Count==-1)
printf(Reading date);
close(In_fh);
close(Out_fh);
}
操作步骤与第2题基本相同
运行目标文件的方法为:
./目标文件 要复制的文件 复制后的文件
实验2 进程的创建
一、实验目的
1,加深对进程概念的理解,明确进程和程序的区别;
2,了解常用DOS命令的使用方法。
二、环境、内容和方法
Windows XP,Virtual Machines,Red Hat Linux6.0
三、实验内容
1,在Linux中完成下列各题:
(1)进程的创建:使用下图中的程序,利用系统调用fork()创建两个子进程。程序运行时,系统中有一个父进程和两个子进程活动,分析程序运行结果。
(2)修改第(1)题的程序:删除第1个if...else,在进程创建成功后,增加输出p1,p2的值的语句,分析程序运行结果。
(3)实现教材1.6节的巡回置换算法
i=1,2,3,4,5,6,7
p[i]={4,7,3,2,1,5,6}
begin
local x,k;
k ←1;
while
文档评论(0)