操作系统实验报告文件系统的API应用_第1页
操作系统实验报告文件系统的API应用_第2页
操作系统实验报告文件系统的API应用_第3页
操作系统实验报告文件系统的API应用_第4页
操作系统实验报告文件系统的API应用_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验题目文件系统的API应用小组合作否姓名班级学号一、实验目的1、理解文件的说明信息,能够通过其信息了解文件的属性、文件、大小、创建日期等。2、理解文件的指针,掌握文件的随机访问及多个程序对其访问。3、文件系统是使用计算机信息系统的重要接口。通过实验学习文件系统的系统调用命令,提高对文件系统实现功能的理解和掌握。二.实验环境Windowsxp、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,其定义如下;可以利用宏来检查给定文件的类型。Structstat{dev_tst_dev;…………}此程序中通过structstat定义文件类型,lstat函数用于统计有文件名指定的文件的信息,并把统计结果放到bf中,程序中的“elseif”程序段用于判断文件的类型。2.cat命令的简单实现,完成从键盘复制到终端显示器。代码如下:运行结果:结果分析:这个程序中使用的语句序列为#include<unistd.h>ssize_tread(intfd,void*buf,size_tnbytes);ssize_twrite(intfd,void*buf,size_tnbytes);read从键盘上读入,之后存储到buf中,write再从buf中写到终端显示器上,实现简单的复制,实现键盘输入的内容显示到屏幕上的目的,输入MYnameisLiuDawei显示MYnameisLiuDawei,输这就是实验的正确结果。3、open和creat系统调用的使用,实现文件复制。代码如下:运行结果:结果分析:创建一个新文件时使用如下的语句:#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>intcreat(constchar*pathname,mode_tmode);返回值:如果正确创建,返回文件的描述符;否则返回-1。这里pathname是要创建文件的路径名。创建文件时,文件只能以只写的方式打开,mode用来规定该文件的拥有者、小组用户及其他用户的访问权限。通过open和creat等系统调用,从原文件中读取字符串,然后再写入新的文件中。先在/root/123目录下创建名为“liudawei”的原文件,其内容是“mynameisliudawei.”。然后运行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对文件的接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论