当前位置: 首页 > news >正文

导航网站移动端流量占比常州建站价格

导航网站移动端流量占比,常州建站价格,石家庄中企动力,上饶网站网站建设一款操作系统要管理各种各样不同的硬件,因为硬件的不同所以它们使用的文件系统也不同。但是按道理来说,文件系统的不同对于用户来说可不是一件好事,操作不同的硬件就要使用不同的方法。 但是Linux有一切皆文件。 简单来说,Linux…

一款操作系统要管理各种各样不同的硬件,因为硬件的不同所以它们使用的文件系统也不同。但是按道理来说,文件系统的不同对于用户来说可不是一件好事,操作不同的硬件就要使用不同的方法。

但是Linux有一切皆文件。

简单来说,Linux把所有不同的文件系统都抽象成同一个"对象",用户使用这一个"对象"就可以对底层不同的文件系统进行操作。

所以Linux中的一切皆文件,从面向对象的角度来说就是多态。但是Linux是用C写的,所以说它是多态是不准确的(因为C不是一门面向对象的语言),但是作为Linux的使用者确实感受到了多态这一特性。

多态是什么?多态就是同一种操作方法放在不同的对象上,这些对象有不同的响应行为。即,使用统一的接口来处理不同的对象。

所以理解一切皆文件的本质就是搞清楚Linux对文件系统的管理是怎么做到"多态"的?

Linux管理的硬件可能有键盘、网卡、显示器、磁盘等等,这些硬件呢会有配套的驱动程序,这些驱动程序当中会有让硬件执行某个操作的方法。所以使用者想使用这些硬件的时候,实际上是在"向Linux求助",让Linux去调用这些硬件的驱动程序当中用户指定的操作方法。

因为硬件五花八门,所以驱动程序各不相同。所以Linux想出了一个办法:

你们这些硬件不是有驱动程序么?驱动程序不是有控制硬件行为的方法么?那我就把你们这些操作方法全都给汇聚起来,然后再添加一些东西,封装成一个struct_file结构体

至此Linux内核当中,就存在了一个汇聚所有文件系统的操作信息("汇聚"一词是不准确的,应该是抽象)。画一张图想必就明白了:

 

 这幅图描述了Linux管理文件系统的大概过程。

Linux在内核当中创建struct_file结构体,该结构体里面有众多字段,例如文件的类型、状态以及对应文件系统的操作方法的函数指针(如果没有则为空指针)等等字段。

那么用户在使用read()、write()等系统调用时,Linux会根据用户传入的信息去确认使用哪个struct_file,从而操作正确的硬件。

因为一切硬件、文件系统,在Linux当中都是struct_file结构体对象, 所以在Linux下一切皆文件。

因为Linux做出了抽象,那么这个抽象层有一个专属的名词,叫做VFS(虚拟文件系统),VFS使得用户可以直接使用read()、write()等系统调用而无需考虑具体的文件系统和实际的物理介质。

本篇文章只是对这些知识一个简单的理解,实际上Linux做的工作比这复杂的多得多。 

http://www.yayakq.cn/news/562020/

相关文章:

  • 做期货应该看的网站自建电梯费用
  • 网站设计成品广西网联电线电缆有限公司
  • 白云区网站开发建立网站 知乎
  • 网站搭建中企动力第一百度应用商店官网
  • 全国设计网站公司网站seo常用方法
  • 南宁月嫂网站建设高质量网站外链平台
  • 苏州市网站建设服务学做转手绘的网站
  • 微信 公众号 微网站开发网站开发与维护工资多少
  • 包头公司做网站政务网站信息化建设情况汇报
  • 百度上面做企业网站怎么做家具网站设计方案
  • 网站建设策略阿里巴巴app开发和网站开发的区别
  • 怎么做足球直播网站衣联网和一起做网站。哪家强
  • 网站app免费制作创业平台app
  • 网站主体注销秒收录的网站
  • 集团网站建设详细策划成都电商网站开发公司
  • 深圳专业制作网站公司吗毕业设计 做网站
  • 百度回收网站搭建大连企业自助建站
  • wordpress商城安装教程胶州网站优化价格
  • 昆明网站外包it行业的现状及发展前景
  • 企业官方网站建设教程娱乐城网站开发
  • 图书网站开发数据库的建立企业logo标志设计公司
  • 微网站界面尺寸装修风格大全2023新款
  • 网站建设放在什么科目网页设计教程教学目的
  • 网站建设制作报价方案上海城乡建设管理局网站保障房板块
  • 营销型网站的三元素城乡住房和城乡建设网站查询
  • 周口集团网站建设百度总部
  • 网站建设及维护费用成立公司注意事项
  • 洛阳市做网站贴吧购物网站的后台做哪些东西
  • 在线教学网站开发番禺制作网站系统
  • 容桂销售型网站建设扫码支付个人商城网站开发免费