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

罗湖网站建设哪家好古风网站怎么做

罗湖网站建设哪家好,古风网站怎么做,网站模板样式,可以免费发布信息的网站有哪些早期,存储文件的设备是磁盘(当下的市场几乎都是SSD),但大家习惯的把它们都称为磁盘,磁盘是用来表示区分内存的存储设备。而在操作系统看来,这个存储设备的结构就是一个线性结构,这一点很重要。 …

        早期,存储文件的设备是磁盘(当下的市场几乎都是SSD),但大家习惯的把它们都称为磁盘,磁盘是用来表示区分内存的存储设备。而在操作系统看来,这个存储设备的结构就是一个线性结构,这一点很重要。

        磁盘有一个概念叫扇区,一般是521字节大小,磁盘视其为一个管理单位。

        而操作系统做I/O的这个单位大小一般是4KB,换句话说,现在要向磁盘写1个字节大小的数据,其实是一次性写入了4KB,只是有效数据为1个字节,从磁盘读数据也是如此,一次读入是读入了4KB。

        操作系统管理这个线性结构,采用分治思想。

       

        通过分治思想,我们要理解文件系统,只需要理解其中一个分组即可。

        文件=属性+内容。Linux中,文件的内容和属性是分开存储的。于是,不难知道这样一点,文件的内容有大有小,而文件的属性却是能确定大小的,比如包括int类型的文件大小等一些其他属性,都是可以确定大小的,于是,可以定义一个结构体专门用来描述文件的属性,这个结构体就叫做inode。提醒一下,因为文件名有长有短,不太好确定大小,所以在Linux中并没有把它定义到文件属性里。

        Linux下,一个inode结构体的大小是128Byte。

  • Boot Block

         启动块,存在每个分区的开头,和备份文件、启动相关。

  • inode Table

        在inode结构体中,有一个变量叫做inode编号,系统通过inode_id标识唯一的文件,而不是文件名。

        因此,每一个文件都对应一个inode_id。一个分组能容纳的文件数量是有限的,因此inode的数量也是有限的,inode的唯一性只在一个分组中才有意义,而inode Table就用来保存所有的inode。

  • inode Bitmap

        inode Table对应的位图结构,用来统计inode的使用情况,位图中比特位的位置和某一个文件对应的inode的位置是一一对应的,位图中比特位为1,代表inode被占用,否则表示可用。

  • Block Bitmap  

        数据块对应的位图结构,位图中的比特位位置和当前data block对应的数据块位置是一一对应位置,一个数据块一般是4KB,如果一个数据块被使用了,则这个块对应的位图结构中的位置就为1。

  • GDT(Group Descriptor Table)

        磁盘最终被分出了很多很多个组,每一个组的状态是怎么样的,则用GDT来描述。GDT内容对应分组的宏观的属性信息,比如data blocks已经使用多少,inode有多少个,已经被占用了多少个,还剩下多少个。

  • Super Block:

        保存的是整个文件系统的信息,为什么Super Block不像Boot Block一样存在每个分区的开头,而要存在每个分组的开头?Super Block保存在不同的分组里意味着备份,如果某个Super Block损坏,便可以通过拷贝其他分组的Super Block来恢复。


        一个分组是有n个data blocks的,一个文件的内容使用了几个data block,是哪几个data block,这个信息是保存在inode Table中的inode里面的,Linux下是把它定义为blocks数组。


        于是,我们宏观上的操作,在操作系统看来,其实是下面这样的。

创建一个文件:在inode Bitmap的比特位由0置为1,找到其inode table,把该文件对应属性填进去,文件的数据写到block里,在inode中用数组blocks建立映射关系,最后返回inode编号,创建成功。

查找一个文件:拿到inode_id在inode table中找到对应的inode,再根据inode中的blocks数组找到对应的data blocks,内容加属性就全找到了。

删除一个文件:删除文件也需要用到inode,实际上删除一个文件时,我们只需要找到inode在inode bitmap当中的比特位,把比特位由1置为0就删除了。

        所以删除一个文件根本不需要把数据属性和内容清空,只要把inode bitmap的1置为0,属性就删除了,这个文件也占着数据块,也把block的比特位也置为0。所以把文件删除是能够恢复的,一旦删除只是把bit位清掉了,想要恢复只要得到inode的编号,然后把inode bitmap里的比特位由0置为1,再根据inode中blocks数组对应的映射表,把block bitmap的0置为1。

        如果在Linux中误删除一个文件,还是能恢复的,但是前提必须是inode和data block没有被占用,所以当误删除一个文件时,最好的办法就是什么都不做。而我们在Windows中删除文件到回收站,只是转移了目录,在回收站中删除才是真正的删除。

        可是我们在查找一个文件的时候,用的不是inode_id,而是文件名?

        回答:

        任何一个文件都在一个目录下,由于操作系统不允许同一目录下有同名文件,所有这些文件并没有重复文件名。

        目录是一个文件,也有自己的inode,有对应自己的data block,目录的数据块存放的是当前目录下的文件名和inode的映射关系,所以inode并不需要保存文件名,这就是为什么文件名不是inode的变量之一。

        我们在一个目录下新增一个文件,要向当前目录的内容里去写文件名和inode的映射关系,所以必须得有写入权限。

        罗列当前的文件,要有读权限。想读的时候要根据文件名找到inode,再读取下面的所有文件的属性,拿到文件名映射inode,必须得去访问数据块,所以要有读权限。

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

相关文章:

  • 网站开发费计入什么会计科目项目符号
  • 郑州网站推广方法酒店团购的网站建设
  • 苏州网站开发公司有哪些wordpress好还是hexo好
  • 宜兴网站优化百色建设局网站
  • 清苑建设局网站百度快照怎么没有了
  • 网站建设毕业答辩ppt模板下载杭州网站建设公司慕枫
  • 做网站公司圣辉友联广州展厅设计公司排名
  • 网站建设服务哪便宜大良网站建设价格
  • 企业网站模板下载服务哪家好大型网站建设公司沈阳
  • 旅游论坛网站建设磁力链
  • 黑龙江专业建站上海做外贸网站建设
  • 2014做网站中国建筑集团有限公司电话
  • 商业网站网上申报系统入口
  • 钓鱼网站搭建教程定制建站公司
  • 免费建网站平台哪个好网页设计工资多少钱
  • 个人网站设计实验原理重庆seo扣费
  • 南乐县住房和城乡建设局网站网站后台和前台不一致
  • 郑州达云通网站建设公司查询域名注册网站
  • 网站制作杭州python购物网站开发流程
  • 做网站设计管理需要什么知识平面设计图数字标识
  • 仿站工具在线seo网站结构优化的方法
  • 有没有安全一点的网站分公司注册流程及需要的材料
  • 做网站linux和win西安企业网站搭建
  • 简述一下网站建设流程低价网站建设策划内容
  • seo诊断网站免费诊断平台苏州市建设工程招投标信息网
  • 完整的网站后台权限编码科技平台网站建设
  • 中国移动的5G网站建设给了谁前端开发培训机构济南七里河
  • 做淘客哪个网站好点圣诞节网站怎么做
  • 学软件开发的网站python做网站感觉好费劲
  • 网站营销优化椒江哪里可以做公司网站