操作系统实验6(第十八周).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验6(第十八周)

甘肃政法学院 本科生实验报告 (六) 姓名:谢慧敏 学院:信息工程学院 专业:计算机科学与技术 班级:2013级计算机科学与技术本科班 实验课程名称:操作系统 实验日期: 2016年5月20 日 开课时间:2015-2016 学年 第二学期 甘肃政法学院实验管理中心印制 实验题目 文件系统 小组合作 否 姓名 谢慧敏 班级 2013级计算机科学与技术本科班 学 号 201381010144 一、实验目的 文件系统是使用计算机信息系统的重要接口。通过实验学习文件系统的系统调用命令,提高对文件系统实现功能的理解和掌握 二.实验环境 Windows 7操作系统 Vmware 软件 Red hat linux操作系统 实验内容与步骤 1.检查文件系统的文件类型 为了便于用户利用终端进行输入和输出,UNIX系统做了专门安排。UNIX系统自动为用户打开3个文件:标准输入、标准输出和标准错误输出文件,文件描述符分别为0、1、2,缺省时,这些文件是重定向到终端的。 UNIX系统问价有如下的分类 宏 文件类型 S_IFREG 普通文件 S_IFDIR 目录文件 S_IFCHR 字符设备文件 S_IFBLK 块设备文件 S_IFIFO 有名管道文件 S_IFLNK 符号链接文件 S_IFSOCK 网络套接字文件 普通文件、目录文件、符号链接文件、有名管道文件、字符设备和块设备文件等。文件的分类主要由其I节点中的i_mode给出。为了能够检查每个文件的类型,Linux系统在sys/stat.h中定于了文件类型struct stat,并用宏定义来解决文件的类型,每个宏的参数就是结构stat中的st_mode的值。表17-1给出sys/stat.h中定义的文件类型的宏: Linux系统在sys/stat.h中定义了文件类型struct stat,其定义如下: 表17-1 宏 struct stat{ dev_t st_dev; /*文件所在设备;主次设备号*/ ino_t st_into; /*inode*/ mode_t st_mode; /*protection mode*/ nlink_t st_nlink; /*number of hard links*/ uid_t st_uid; /*user ID of owner*/ gid_t st_gid; /*group ID of ower*/ dev_t st_rdev; /*device type(if inode device)*/ off_t st_size; /*total size, in bytes*/ blksize_t st_blksize; /*blocksize for filesystem I/O*/ blkcnt_t st_blocks; /*number of blocks allocated*/ time_t st_atime; /*time of last access*/ time_t st_mtime; /*time of last modification*/ time_t st_ctime; /*time of last change*/ } 为了熟悉文件的特性,下面给出操作这些文件的有关系统调用命令。 #include sys/types.h #include sys/stat.h #include unistd.h int stat(const char * file_name,struct stat * buf); int fstat(int filedes,struct stat*buf); int lsrant(const char * name,struct stat * buf); 这些函数返回有关指定文件的信息。使用这些命令,不需要对文件有任何权限,只需要对指定目录有检索权限。 stat()函数统计由文件名指定的文件信息,并填充到以steuct stat为结构的buf中; lstat()函数与stat()函数功能一样,只是仅仅统计文件的符号链接时有所不同。 fstat()函数与stat()函数功能一样,只是仅仅统计被打开的文件的类型。 2.创建新文件creat() UNIX系统把所有文件都看成无结构的字符流式的文件,如果特定的应用中使用了某种类型的数据结构,只能由程序员对数据增加相应的结构。这样使得UNIX对文件的接口变得特别简单。 创建一个新文件要使用如下的语句序列: #includesys/ types.h #includesys/ stat.h #i

您可能关注的文档

文档评论(0)

2266670 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档