文件描述符(fileno)及文件系统

fileno:

#include <stdio.h>
main()
{
     FILE   *fp;
     int   fd;
     fp = fopen("/etc/passwd", "r");
     fd = fileno(fp);
     printf("fd = %d\n", fd);
     fclose(fp);
}

 一.fileno()函数-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/TuxedoLinux/article/details/80585259

typedef struct _IO_FILE FILE

>log.txt

清空文件

typedef struct _IO_FILE FILE; 在/usr/include/stdio.h

 磁盘的每一个扇区均为(512byte)

1.磁头来回摆动的时候就是在确认磁道的位置

2.通过磁道找到对应的扇区

3.盘片旋转的时候就是再让磁头定位扇区。

 

 磁头数=面数  且磁头是共进退的。

如何在磁盘中定位扇区?

先定位在那个磁道(track)柱面(cylinder),在定位磁头(head)(定位盘面),最后在完成扇区(sector)的定位。

Block Group:ext2文件系统会根据分区的大小划分为数个Block Group。而每个Block Group都有着相 同的结构组成。政府管理各区的例子

超级块(Super Block):存放文件系统本身的结构信息。记录的信息主要有:bolck 和 inode的总量, 未使用的block和inode的数量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的 时间,最近一次检验磁盘的时间等其他文件系统的相关信息。Super Block的信息被破坏,可以说整个 文件系统结构就被破坏了

GDT,Group Descriptor Table:块组描述符,描述块组属性信息,有兴趣的同学可以在了解一下 块位图(Block Bitmap):Block Bitmap中记录着Data Block中哪个数据块已经被占用,哪个数据块没 有被占用

inode位图(inode Bitmap):每个bit表示一个inode是否空闲可用。 i节点表:存放文件属性 如 文件大小,所有者,最近修改时间等 数据区:存放文件内容

iNode  table 保存了分组内部所有的可用(已用和未用)iNode,保存的是分组内部所有文件的数据块

Super Block:中保存的是整个文件系统的信息(会在其他部分做备份)

Linux中:文件=内容+属性

ls -li

查看每个文件对应的文件编号。

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值