操作系统实验报告文系统的API应用.docVIP

  • 27
  • 0
  • 约2.07千字
  • 约 8页
  • 2016-09-01 发布于贵州
  • 举报
操作系统实验报告文系统的API应用

实验题目 文件系统的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把文件看出字符流文件,这类文件只能顺序存取,

文档评论(0)

1亿VIP精品文档

相关文档