操作系统实验研究报告文件系统API应用.docVIP

操作系统实验研究报告文件系统API应用.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验题目 文件系统的API应用 小组合作 否 姓名 班级 学 号 一、实验目的 1、理解文件的说明信息,能够通过其信息了解文件的属性、文件、大小、创建日期等。 2、理解文件的指针,掌握文件的随机访问及多个程序对其访问。 3、文件系统是使用计算机信息系统的重要接口。通过实验学习文件系统的系统调用命令,提高对文件系统实现功能的理解和掌握。 二.实验环境 Windows xp、VMware、Linux系统 三、实验内容与步骤 实验内容: (1)分别调用stat()、fstat()、lstat()实现对任一文件说明信息的访问。调用create()、unlink()、open()、close()、read()、write()实现对文件的创建、删除、读写。编写一程序,实现对任意文件说明信息的访问,并显示其结果。编写一程序,实现对指定文件的创建、删除、换名。 (2)调试并分析结果。 实验要求: 对观察到的内容做详细记录分析,并写出实验报告。 (3)调用lseek()实现对文件内容的定位。编写一程序,实现对指定文件内容的随机访问。 (4)调试并分析结果。 实验要求: 对观察到的内容做详细记录分析,并写出实验报告。 实验过程与分析 1.利用宏来检查给定文件的类型 代码如下: 运行结果: 结果分析: Linux系统文件有如下的分类:普通文件、目录文件、符号链接文件、有名管道文件、字符设备和块设备文件等。文件的分类主要是由其I节点中的i_mode给出。为了能够检查每个文件的类型,Linux系统在sys/stat.h中定义了文件类型structstat,并用宏定义来决定文件的类型,每个宏的参数就是结构stat中的st_mode的值。Linux系统在sys/stat.h中定义了文件类型structstat,其定义如下;可以利用宏来检查给定文件的类型。 Struct stat{ dev_t st_dev; } 此程序中通过struct stat定义文件类型,lstat函数用于统计有文件名指定的文件的信息,并把统计结果放到bf中,程序中的 “else if”程序段用于判断文件的类型。 2.cat命令的简单实现,完成从键盘复制到终端显示器。 代码如下: 运行结果: 结果分析:这个程序中使用的语句序列为 #includeunistd.h ssize_t read(int fd,void *buf,size_t nbytes)) 运行结果: 结果分析: 创建一个新文件时使用如下的语句: #includesys/types.h #includesys/stat.h #includefcntl.h int creat(const char * pathname,mode_t mode); 返回值:如果正确创建,返回文件的描述符;否则返回-1。 这里pathname是要创建文件的路径名。创建文件时,文件只能以只写的方式打开,mode用来规定该文件的拥有者、小组用户及其他用户的访问权限。 通过open和creat等系统调用,从原文件中读取字符串,然后再写入新的文件中。 先在/root/123目录下创建名为“liudawei”的原文件,其内容是“my name is liu dawei.”。然后运行17-3.c文件复制的程序,通过open和creat等系统调用,通过程序“./17-3.exe /root/123/liudawei /root/123/LIUDAWEI”,新建空文件LIUDAWEI,再完成从“liudawei”到新文件“LIUDAWEI”的复制,最后用cat命令核查文件是否复制成功。 4、利用lseek系统调用移动文件的读写指针 代码如下: 运行结果: 结果分析: 改程序以只读的方法打开命令行参数argv[1]所给的文件名./lseek.c,然后调用lseek()将文件的读指针移到184的位置,即语句lseek(fd,184L,0)的开头处。之后进入循环,从文件中读一个个字符,直到返回一个错误码为止。于是,程序执行结果为上面所给出的信息。 五、实验总结 通过本次试验,我掌握了文件的指针,以及文件的随机访问及多个程序对其访问等有关文件系统方面的知识。UNIX系统文件有如下的分类:普通文件、目录文件、符号链接文件、有名管道文件、字符设备和块设备文件等。文件的分类主要是由其I节点中的i_mode给出。UNIX系统把所有的文件都看成武结构的字符流式的文件,如果特定的应用中使用了某种类型的数据结构,只能由程序员对数据结构增加相应的数据结构。这样使得UNIX对文件的接口变得特别简单。UNIX提供文件的顺序存取,也提供文件的随机存取。NUIX把文件看出字符流文件,这类文件只能顺序存取,为此,NUIX提供了随机修改文

文档评论(0)

phl805 + 关注
实名认证
文档贡献者

建筑从业资格证持证人

该用户很懒,什么也没介绍

领域认证 该用户于2023年05月12日上传了建筑从业资格证

1亿VIP精品文档

相关文档