实验二实验指导书.pdf

实验二实验指导书.pdf

ID:52892137

大小:102.05 KB

页数:10页

时间:2020-03-31

实验二实验指导书.pdf_第1页
实验二实验指导书.pdf_第2页
实验二实验指导书.pdf_第3页
实验二实验指导书.pdf_第4页
实验二实验指导书.pdf_第5页
资源描述:

《实验二实验指导书.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二实验二:实验二:::显示文件长格式信息显示文件长格式信息显示文件长格式信息显示文件长格式信息111学时学时学时4学时222实验目的实验目的实验目的理解、掌握、应用文件的基本概念,以及stat等函数的使用。333实验内容实验内容实验内容编写程序,实现“ls–l文件名”命令的基本功能(如果是目录文件暂不考虑实现),将功能独立的部分自定义函数。444实验原理实验原理实验原理4.1文件基本概念Linux下文件主要分为七类:普通文件、目录文件、符号链接文件、字符设备文件、块设备文件、管道文件、套接口文件。这七种文件可以通过“ls–l

2、”命令显示的长格式信息的第一列观察到。每个文件都有i节点与之对应,每个存在磁盘上的文件都由i节点和数据块两部分组成。Linux操作系统通过VFS支持多种文件系统,所对于VFS来说有一种i节点数据结构structinode,对于具体的文件系统有具体的i节点数据结构,如ext2文件系统中的i节点数据结构为structext2_inode。两种数据结构如下所示。structinode{/**********描述索引节点高速缓存管理的域****************/structlist_headi_hash;/*指向哈希链表的指针*/st

3、ructlist_headi_list;/*指向索引节点链表的指针*/structlist_headi_dentry;/*指向目录项链表的指针*/structlist_headi_dirty_buffers;structlist_headi_dirty_data_buffers;/**********描述文件信息的域****************/unsignedlongi_ino;/*索引节点号*/kdev_ti_dev;/*设备标识号*/umode_ti_mode;/*文件的类型与访问权限*/nlink_ti_nlink;/*与

4、该节点建立链接的文件数*/uid_ti_uid;/*文件拥有者标识号*/gid_ti_gid;/*文件拥有者所在组的标识号*/kdev_ti_rdev;/*实际设备标识号*/off_ti_size;/*文件的大小(以字节为单位)*/unsignedlongi_blksize;/*块大小*/unsignedlongi_blocks;/*该文件所占块数*/time_ti_atime;/*文件的最后访问时间*/time_ti_mtime;/*文件的最后修改时间*/time_ti_ctime;/*节点的修改时间*/unsignedlongi_

5、version;/*版本号*/structsemaphorei_zombie;/*僵死索引节点的信号量*//***********用于索引节点操作的域*****************/structinode_operations*i_op;/*索引节点的操作*/structsuper_block*i_sb;/*指向该文件系统超级块的指针*/atomic_ti_count;/*当前使用该节点的进程数。计数为0,表明该节点可丢弃或被重新使用*/structfile_operations*i_fop;/*指向文件操作的指针*/unsign

6、edchari_lock;/*该节点是否被锁定,用于同步操作中*/structsemaphorei_sem;/*指向用于同步操作的信号量结构*/wait_queue_head_t*i_wait;/*指向索引节点等待队列的指针*/unsignedchari_dirt;/*表明该节点是否被修改过,若已被修改,则应当将该节点写回磁盘*/structfile_lock*i_flock;/*指向文件加锁链表的指针*/structdquot*i_dquot[MAXQUOTAS];/*索引节点的磁盘限额*//************用于分页机制的域

7、*************************/structaddress_space*i_mapping;/*把所有可交换的页面管理起来*/structaddress_spacei_data;/**********以下几个域应当是联合体*************************/structlist_headi_devices;/*设备文件形成的链表*/structpipe_inode_infoi_pipe;/*指向管道文件*/structblock_device*i_bdev;/*指向块设备文件的指针*/structc

8、har_device*i_cdev;/*指向字符设备文件的指针*//*************************其他域**************************/unsignedlongi_dnotify

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

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

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