printf(\
wait(0);
read(fd[0],inpipe,50); printf(\
exit(0); } }
}
(2)在终端中,编译程序。 (3)输入./a.out执行程序
3、实验结果
实验输出结果如下 延迟5秒后显示
child 1 process is sending message!
再延迟5秒
child 2 process is sending message!
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
通过这次实验,熟悉了进程的睡眠、同步、撤消等进程控制方法,了解什么是管道,了解了UNIX/LINUX支持的管道通信方式。
实验名称 实验四 文件的操作和使用 实验类型 验证 实验学时 1 实验时间 2016.6.9 一、 实验目的和要求
熟悉文件系统的操作和使用方法。
二、实验环境
Windows XP + VMWare + RedHat Enterprise Linux(RHEL) 4 三、实验原理及内容
1、实验内容
设计一个程序,通过用密码字符串对文件内容进行逐字符异或操作的方法,实现对一个文件的加/解密。 2、实验步骤 (1)实验程序:
#include
int main(int argc,char *argv[]) {
FILE *fd1, *fd2, *fd3;
int n;
char jiami[4];
jiami[0]=’1’; jiami[1]=’2’;
jiami[2]=’3’; jiami[3]=’4’; int k=0;
char temp;
fd1=fopen(“hello.c”,”r”); //源文件hello.c
fd2=fopen(“B13011206”,”w”); //加密后文件B13011206
while ((n=fgetc(fd1))>0) }
fclose(fd1); fclose(fd2); }
(2)打开终端,使用gcc编译,vi编译程序。生成可执行文件4。 (3)输入 ./4 hello.c aaa ,对hello.c程序加密并保存至aaa
(4)使用vi指令进入hello.c和aaa ,前者为加密前,后者为加密后程序。
{
n=n^jiami[k]; k++; if (k>=4)
k=0;
fputc(n,fd2);
3、实验结果:B13011206中的内容
_[]W]GWQ_AGPX]_\\_8_]_Q_AUW_GEV_]S_[_;[]@__R]___>J8CFX\\GR__[Q]^\\_m\\__ 8AQEGAZ___>L8
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
通过本次实验,我将课本上的理论知识应用于实践,加深了对操作系统基本概念的理解。在实验过程中,查询了不少相关资料,不断的发现问题、提出问题、解决问题。在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识。
这几次操作系统的实验让我学到很多,不仅仅是加深了我对理论知识的印象,更重要的是能够将理论知识应用于实践。希望以后的专业课程都能够开设一定的实践课程,亲自实践跟书本学习真的是完全不同的两种感受。最后,感谢老师的耐心教导和实验指导,这次实验我收获了很多。
指导教师评语 成 绩
批阅人 日 期