Linux一切皆文件思想概论

一切皆文件 –一种顶层的设计思想

目的:

将整个计算机的所有资源虚拟成一个个文件(驿站包裹快递码),通过文件管理资源(包裹),达到统一管理所有文件的目的。

过程: 为了实现统一管理资源的思想,设计了一个虚拟文件系统(驿站)VFS

注释: VFS 一个抽象层级 :可以将底层实际的文件(实际的资源),通过文件系统本身兼容(可以理解为一个驿站可以接收京东‘天猫’顺丰‘圆通等不同包裹,进行统一的管理收发)

技术:

使用面向对象多态技术实现兼容,任何接入到系统的设备可以通过文件系统都可以进行操作(增‘删‘改’查),,而后虚拟文件系统它会对上层用户层(用户View层)提供一个系统统一调用的接口(一个电视,在外壳提供包括亮度‘音量‘色彩调节的按钮,一个个实体的按钮就是可以调用内部模块的接口,而一个个接口都是需要系统统一进行管理的),这就导致对于用户层来讲,一个个文件(实际的资源)就像一个个黑匣子(如果在你同时收到10000个快递,只发快递码,你压根就不知道这一个个码的具体意义,你只知道这是快递(文件  ))

作用:

通过VFS 提供的统一接口就能达到我管理文件的目的(非用户层),这就是他的作用

用户层怎么使用统一接口

过程:

  1. 用户程序(用户层)通过文件I/O (一些文件接口做系统调用作用,调用系统内部一些functions 模块) 使用系统调用模块 ,该中枢模块会调用 open 模块,该模块会创建一个struct file 对象(每个struct file 对象 对应一个struct inode 对象,Struct file 会提供一些方法操作struct inode,inode对象为用户层需使用底层某个文件的描述接口,通过这个inode对象就可以查看该文件实现什么样的功能,而一个描述对应只能是一个文件,不能张冠李戴,对应inode 对象和实际的文件本身是一一对应的关系,一个身体就是一个文件系统,小肠就是一个inode 对象,但是小肠本身其实是一个抽象、非具体的词,只是利于人本身理解,而如果我们这样讲:小肠是一个是消化管中最长的一部分,在成人全长5-7m,按位置与形态,分为十二指肠、空肠和回肠三部分,是食物消化与吸收的主要场所,这会让交流变得十分困难,而说小肠本身一个词,可以囊括一顿废话),正因为这个属性,struct inode 可以对应各种文件(设备文件、socket 文件、普通文件、目录文件,这些文件像管理人不同功能的系统,有管理消化系统,神经系统,内分泌系统等等)
  2. 注意上面所讲的,比如用户层每打开一个View窗口就会创建一个struct file对象,但是sturct inode是唯一的,因为打开同一个文件会创建多个struct file 对象,但是struct inode是唯一对应一个文件的,也就是说我们不论实在哪个手机上打开查看我同一个快递的快递码,对应的都是一个快递,这个例子还是有点不恰当
  3. 就是我同时喊多次姚老板,但是姚老板始终代表是同一个人

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值