操作系统文件系统,进程管理

操作系统文件系统,进程管理

ID:30821962

大小:549.90 KB

页数:19页

时间:2019-01-03

操作系统文件系统,进程管理_第1页
操作系统文件系统,进程管理_第2页
操作系统文件系统,进程管理_第3页
操作系统文件系统,进程管理_第4页
操作系统文件系统,进程管理_第5页
资源描述:

《操作系统文件系统,进程管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、北京联合女芳信息夕院InformationCollegeofBeijingUnionUniversity计算机操作系统实验报告题目:姓名:学号:专业:班级:实验三XXXXXXx计算机科学与技术计算机1101B北京联合大学■信息学院编制实验三实验目的熟悉有关文件的系统调用,学习文件系统的系统调用命令,提高对文件系统实现功能的理解和学握。二.实验内容(1)实验相关知识(1)Intcreat(constchar*pathnamo,mode_tmode);返回值:如果止确创建,返回文件的描述符;否则返回一1;Pathname是要创建文件的路径名。

2、创建文件时,文件只能以只写方式打开Mode用來规定该文件的拥有者,小组用八和英他用八的访问权限,要求用按位逻辑加对下列符号常量进行所需的组合(同open函数)。2)intopen(constchar*pathname,intflags);intopen(constchar*palhname,intflags,mode_tmode);intclose(intfd);open函数有两个形式.•其中pathname是我们要打开的文件名(包含路径名称,缺省是认为在当前路径Fffi).flags可以去卜-面的一个值或者是儿个值的纽合.O_RDONL

3、Y:以只读的方式打开文件.0WRONLY:以只写的方式打开文件.O.RDWR:以读写的方式打开文件.O_APPEND:以追加的方式打开文件.O_CREAT:创建一个文件.O_EXEC:如呆使用了O_CREAT而且文件已经存在,就会发生一个错误.CLNOBLOCK:以非阻塞的方式打开一个文件.O_TRUNC:如果文件已经存在,则删除文件的内容.前面三个标志只能使用任意的一个.如果使用了O_CREATE标志,那么我们要使用open的第二种形式.还要指定mode标志,川來表示文件的访问权限.mode町以是以卜-情况的组合.S_TRUSR用户可以

4、读S」WUSR用户可以写S_TXUSR用户可以执行S_IRWXU用户可以读写执行我们也可以用数字来代表各个位的标志.Linux总共用5个数字来表示文件的各种权如果我们打开文件成功,open会返回一个文件描述符.我们以后对文件的所有操作就可以对这个文件描述符进行操作了.当我们操作完成以后,我们要关闭文件了,只要调用close就可以了,其中fd是我们要关闭的文件描述符.3)ssize_tread(intfd,void^buffer,size_tcount);ssize_twrite(intfd,constvoid*buffer,size_tc

5、ount);fd是我们耍进行读写操作的文件描述符,buffer是我们要写入文件内容或读出文件内容的内存地址.count是我们要读写的字节数.对于普通的文件read从指定的文件(fd)屮读取count字节到buffer缓冲区屮(记住我们必须提供一个足够人的缓冲区),同时返冋count.如果read读到了文件的结尾或者被一个信号所中断,返回值会小于count.如果是由信号中断引起返M,ifU.R没有返回数据,read会返回且设置ernw为EINTR.当程序读到T文件结尾的时候,read会返回0.write从buffer中写count字节到文件

6、fd中,成功时返回实际所写的字节数.(2)具体实现使用creatopenreadwrite等系统调用用C语言编程实现复制文件。二.实验流程图三.实验清单#inelude★include#includettincludettincludeIntmain(intar,intav){intfdl,fd2,fr,fw;//定义四个变量charr[50]二”hi!”;〃定义一个大小为50的字符串数组并赋值”hi!”char*fy二”/home/

7、stu/hzh.txt";//源文件char*fd二"/home/stu/hzhl.txt”;〃目标文件charbuuff[50];//缓存creat(fy,10705);//创建源文件creat(fd,10705);//创建目标文件fr=open(fy,O_RDWR);//打开源文件,可写可读,赋给句柄frwrite(fr,r,50);//把r写入源文件中close(fr);//关闭源文件fr=open(fy,O_RDWR);//打开源文件,可写可读,赋给句柄frfdl=read(fr,buff,50);//把源文件的内容读到缓存Buf

8、f中,并赋给fellfv二open(fd,O_RDWR);//打开目标文件,可写可读,赋给句柄fwwrite(fw,buff,50);〃把缓存文件的内容写到目标文件中close(fr);//

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。