linux vfs 根节点名称,Linux:文件,目录项,索引节点,超级块,VFS,具体文件系统...

【笔记:http://m.blog.csdn.net/blog/zhouzhou135】

在了解文件系统之前,先了解磁盘格式化的知识。

所以要理解文件系统的数据结构,要从两个方向来理解:

1:磁盘中的数据结构:因为在磁盘格式化的时候,操作系统将初始的文件系统数据结构写到磁盘上。这些数据结构包括空闲和已分配的空间(FAT或者iNode)和一个初始为空的目录。

2:内存中的数据结构:

文件管理是操作系统的主要任务之一,也是平常编程中经常涉及的一个知识点。

先参考维基百科了解什么是文件系统,引入文件系统的目的是什么,文件系统的职责是什么。

简言之:文件系统是为了方便用户管理硬盘和光盘等物理设备中的数据而引入的这么一个逻辑上的概念。

假设没有文件系统,那么对用户而言:

读数据的时候:必须要知道这个数据块保存在光盘或者磁盘的具体哪个扇区上,然后要读取多长的记录。

写数据的时候:必须要知道哪些磁盘块是空闲的以便写入数据。

同时用户必须自己保存数据和磁盘块之间的映射信息,以便读写的时候知道从哪个磁盘地址开始读写。

于是用户就幻想说要是有这样一个中间者就好了:

读的时候,我把数据名给中间者,中间者直接给我具体的磁盘数据,而不是我自己去磁盘上找。

写的时候,我把要写的数据给中间者,中间者具体负责写到磁盘上的某个位置。

这样的话,这个中间者必须维护某个数据名与磁盘位置的映射关系。而用户只需要和某个数据名(逻辑名字)打交道,而不用关心这个逻辑名字代表的数据在物理上的具体存储位置。

用户 ——> 具体的磁盘或光盘

用户 ——> 中间者提供的接口 ——> 具体的磁盘或者光盘

也就是说,有了中间者,用户只需要和中间者提供的接口打交道,而不再与具体的物理设备耦合。

最后为了方便,大家说咱们取一个统一的名字吧,于是出现了一下称呼:

文件系统:代表这个中间者。最终映射到计算机上,这个文件系统的实现会表现为具体的程序代码。

文件:代表存储在某种长期储存设备或临时存储设备中的一段数据流。虽然一个文件表现为一个单一的流,但它经常在磁盘不同的位置存储为多个数据碎片(甚至是多个磁盘)。

一个代表数据名的结构 ——> 一个封装了磁盘块信息的结构。

比如说数据名dataone在硬盘的a分区的b位置开始,长度为3个磁盘块。

如果不引入树形结构的这个方式的话,那么数据a,数据b,数据c,数据d, 数据abc就很容易重名。于是就映入了树形结构的命名空间。

在文件系统中,文件名是提供给用户标志他存放在磁盘上的某个数据的。

APUE:p56 文件共享 打开文件的内核数据结构。

APUE:p86 文件系统

Linux高级程序设计:

进程打开文件的内核数据结构。p101

VFS虚拟文件系统 p129

概述

VFS中的数据结构

超级块

VFS的索引节点

目录项对象

与进程相关的文件结构

主要数据结构间的关系

有关操作的数据结构

如何实现一个文件系统

struct stat、struct inode 、struct file 的关系

===========================================

参考《操作系统概念(第七版)》第四部分 存储管理,先弄清文件、目录的概念。

文件:

目录:可以实现为一张表,里面保存了数条文件名和该文件名对应的索引信息的映射关系。其中的每一项叫做目录项。

打开文件表:因为每次对文件读、写等操作都要涉及到去目录中搜索对应的文件名对应的所有信息,因此非常耗时,为避免该问题,系统维护了一个包含所有打开文件的信息表。参考P323

多个进程打开同一文件的处理方法?p324 系统范围内的系统打开文件表 vs 每个进程的进程打开文件表

a,b,...进程的进程打开文件表→系统打开文件表(保存进程无关的信息)→目录→具体的物理设备

e867e0f17dc33cb71731215c9f728a7a.png

这些内容在《现代操作系统(原书第3版)》p446有详细描述。

===========================================

参考《现代操作系统(原书第3版)》第4章 文件系统:★★★★★

文件:是为了解决进程存储信息时遇到的一些问题而建立的一种抽象。文件时进程创建的信息逻辑单元。

p153 文件系统在磁盘上的布局

p156:物理inode

p161 : 虚拟文件系统,open系统调用在VFS中的过程。

p179 :Unix v7文件系统:open系统调用时查找iNode的过程。

p440:Linux文件系统

p445 :SuperBlock、Dentry、Inode、File对象

p448:文件描述符表、打开文件描述符表、INode表之间的关系

深入理解磁盘文件系统之inode:http://www.cnblogs.com/thinksasa/archive/2013/04/10/3013445.html

一天一点学习Linux之认识文件系统:http://www.opsers.org/base/the-knowledge-that-one-day-learn-linux-file-system.html

一天一点学习Linux之Inode详解:http://www.opsers.org/base/one-day-the-little-learning-linux-inode-detailed.html

===========

VFS中的超级块、VFS的索引节点、目录项这三个对象的理解,结合视频12.10中00:06:08处的那张图,并结合以下链接:

超级块

VFS的索引节点

目录项对象

或者《linux内核设计与实现》对应部分一起理解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

存储器块清零c语言版,存储器块清零实验报告

有关单片机存储器块清零实验的试验报告存储器块清零实验报告班级: 11级计科班 姓名:苏靖 学号:1120070544 日期:2012-12-19一、实验目的:1、掌握存储器读写方法2、了解存储器的块操作方法.二、实验要求: 设…

C语言exchange函数,C++指针作为函数参数

函数的参数不仅可以是整型、浮点型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送给被调用函数的形参。【例6.3】题目同例6.2,即对输入的两个整数按大小顺序输出。这里用函数处理,而且用指针类型的数据作函数参数。程序如…

android自定义阴影,Android自定义边框加阴影

一、前言Android自定义边框,可以设置任意边框的角度和阴影。我下面分为 四个角度设置边框、两个角度设置边框、半圆球设置边框加两层阴影等。二、边框分类:1、四个角度设置边框效果图:图片.png2、两个角度设置边框android:topLeftRadius"…

鸿蒙形容欣欣向荣发展,比喻事业蓬勃发展繁荣兴旺的成语蒸蒸日上

2020-03-13阅读(79)1.《RE从零开始的异世界生活》作者:长月达平。2.《魔法少女小圆》作者:新房昭之。3.《命运石之门》作者:冈部伦太郎。4.《寒蝉鸣泣之时》作者:前原圭一。5.《目隐都市的演绎者》作者:新房昭之。6.《…

c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf

c语言深度解剖(解密).pdf.pdf还剩130页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,很抱歉,此页已超出免费预览范围啦!如果喜欢就下载吧,价低环保!内容要点:* Stru…

html中链接不自动变色,HTML 点击 标签 链接 点击之后变色-转发【已解决】

可以利用CSS的伪类实现:a:link,定义正常链接的样式;a:visited,定义已访问过链接的样式;a:hover,定义鼠标悬浮在链接上时的样式;a:active,定义鼠标点击链接时的样式。例子&#xff1a…

一张纸厚度是多少毫米_大洼20毫米水泥纤维板多少钱一张追求至善

大洼20毫米水泥纤维板多少钱一张追求至善而且强度和硬度随时间而增强,保证有超长的使用寿命。近年来,我国对loft复式阁楼板的研究较为深入。与龙骨的配合,有效降低工程和装修成本,外观颜色均匀,表面平整,直…

html中删除代码怎么写,html空格代码怎么写?

html空格代码怎么写?html空格代码是 为html空格字符代码,由“ ”组成,记住最后一个分号不要忘记了。CSS中当 white-space 属性取值为pre时,浏览器会保留文本中的空格和换行,例如:AA BB显示效果为: AA BBCS…

管程由哪三部分组成_黄蜀葵烘干机是由哪几个部分组成的

黄蜀葵在近几年有大量的需求增加,市面上有大量的黄蜀葵烘干机的需求产生,黄蜀葵烘干机一般用的都是网带机的形式结构来对黄蜀葵进行烘干,那么黄蜀葵烘干机的重要组成部分有哪些呢?1 上料端上料端是黄蜀葵烘干机的前段部分&#xf…

在线js拼接html代码,关于js拼接html元素?

你的意思是 小明和 888888这样的学号都是从数据中来的?然后要展现到前端页面中其实有很多方法:一. 直接全HTML拼接(你可能想到的方法)// 假设 有 name 和 xueID 分别代表名字和学号的变量var HTMLbankname xueID name 上学校,天天不迟到&…

用php 用拼出一个菱形_这可是我没来过的杭州呀!远在开封的他,用一种特殊的方式,拼出一个彩色杭州...

天气晴好的日子,一起骑车出游。西湖,除了美,还有爱情。杭友圈达人“幽默之余”:我并不是杭州人,在河南开封工作,但和杭州,和都市快报,已经有近10年的感情了。因为喜欢摄影&#xff0…

html文字自动消失了,为什么从网页上复制的文字到word上一修改后面的字就自动消失了...

word打字时后面的字会消失是什么原因?如何解决?出现这种问题多半是发生设置错误或误触键盘某些键导致的,由于插入键与退格键距离非常的接近,于是,误触插入键是最常导致这种问题。而导致word打字后面的字会消失由于两方面的原因引起,一是insert键,二是W…

apache license 2.0如何使用防止法律纠纷_Thinkphp + queue 使用队列进行 邮件通知

环境thinkphp5.1redis"topthink/think-queue": "2.0.*"复制代码queue 配置环境 config/queue.php<?php // ----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]// ----------------…

.net core 正则表达式 获取 等号后面的值_Python3 正则表达式

Python人工智能 - python 人工智能-神经网络 - 创客学院直播室​www.makeru.com.cnPython AI开发实战营 - Day2:Python世界中的封装与异常 - 创客学院直播室​www.makeru.com.cnPython AI开发实战营 - Python开发必备之网络编程 - 创客学院直播室​www.makeru.com.cnpython高级…

html中把句子往右边弄一点咋办,CSS上的左,中,右对齐方法,可以在一行上混合...

一种用CSS以左对齐/中心对齐/右对齐方式显示用HTML编写的句子的方法在用“从左到右书写的语言”(如日语和英语)中编写的HTML中&#xff0c;除非指定了字符移位方向&#xff0c;否则句子左对齐显示。但是&#xff0c;当您想要将标题和标题(居中)居中并发布它们时&#xff0c;这种…

如何用计算机装手机系统,如何用手机usb重装电脑系统

随着科技的不断发展&#xff0c;电脑已经成为我们在日常生活中不可或缺的工具&#xff0c;但使用久了难免也会出现些系统故障。这时就需要我们使用u盘重装系统了&#xff0c;可具体要怎么操作呢&#xff1f;想知道的话&#xff0c;就往下来看看我整理的u盘重装电脑系统教程吧。…

计算机英语词汇音频,[听单词] 计算机专业英语词汇音频84,计算机英语单词MP3

eventdriven n.事件驱动的plated film medium n.电镀薄膜记录媒体(电镀薄膜记录介质)writetoread crossfeed n.写读串扰effective radiated power 有效发射功率mixed number n.混合数optical multimode dispersion 光多模分散descriptive error 描述误差secondary terminal add…

aspen怎么做灵敏度分析_不会敲代码怎么做智能分析?用奥威商业智能BI

不会敲代码&#xff0c;怎么学也不会&#xff0c;那怎么做大数据智能分析&#xff1f;说来也简单&#xff0c;用商业智能BI软件就行。拖拉拽就能做报表&#xff0c;点击即可智能分析&#xff0c;即使是没有IT基础&#xff0c;完全不会敲代码的人也能轻松抽取数据做智能分析。商…

sqlplus中调用shell_记一次突破反弹shell

这是 酒仙桥六号部队 的第 106 篇文章。全文共计1809个字&#xff0c;预计阅读时长6分钟。背景某天闲着无聊&#xff0c;小伙伴发来一个某网站&#xff0c;说只能执行命令&#xff0c;不能反弹shell。测试对着目标站点一顿测试。发现确实存在shiro反序列化&#xff0c;并且存在…

计算机专业简历推荐信范文,个人简历自我推荐信范文【三篇】

【导语】自我推荐信在个人简历中是一个比较重要的环节&#xff0c;一般自荐信简单抓住重点就行了。以下是无忧考网为大家精心搜集和整理的个人简历自我推荐信范文&#xff0c;希望大家喜欢&#xff01;【篇一】尊敬的领导&#xff1a;您好!衷心感谢您能在百忙之中抽出宝贵的时间…