码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux文件系统、文件系统结构、虚拟文件系统


    参考: linux文件系统、文件系统结构、虚拟文件系统

    目录

    文件系统概述

    学术定义

    文件系统种类

    什么是分区

    文件系统结构

    虚拟文件系统(Virtual File System)(VFS)

    是什么?

    有什么作用?

    从系统编程,从上层到底层来看


    一、文件系统概述

    在这里插入图片描述

    在这里插入图片描述

    学术定义

    文件系统是操作系统用于明确存储设备的文件和数据结构,即在存储设备上组织文件的方法

    文件系统种类

    文件的格式又有FAT,HFS,…

    常见的:

    vfat:        boot (bootloader,kernel)
    ext4:        根目录
    tmpfs:   内存文件系统

    什么是分区

    windows对于分区的管理较为“随意”,因为其面向普通PC用户。C,D盘随意存放文件。而linux较为严格,按照功能来分区,大多面向开发者。

    嵌入式系统可分为4个区:

    bootloader:启动代码
    para:启动代码向内核传递参数的位置
    kernel:内核分区(前面内核编译时SD卡映射的data1)
    根分区/根目录:文件系统结构(前面内核编译时SD卡映射的data2)

    二、文件系统结构

    Linux文件系统与目录结构 - DreamDZhu - 博客园 (cnblogs.com)

            在Linux系统中,目录被组织成一个单根倒置树结构,文件系统从根目录开始,用/来表示,是按照功能划分的。 

     /:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

     /bin : 提供用户使用的基本命令, 存放二进制命令,不允许关联到独立分区,OS启动会用到里面的程序

    /boot:用于存放引导文件,内核文件,引导加载器

    /sbin:管理类的基本命令,不能关联到独立分区,OS启动时会用到的程序(重要的命令通常处于bin,不重要的则安装在sbin)

    /lib:存放系统在启动时依赖的基本共享库文件以及内核模块文件. 系统使用的函数库的目录 也存放了大量的脚本库文件 ,程序在执行过程中,需要调用时会用到

    /lib64:存放64位系统上的辅助共享库文件

    /etc: 系统配置文件存放的目录,该目录存放系统的大部分配置文件和子目录,不建议在此目录下存放可执行文件

    三、虚拟文件系统(Virtual File System)(VFS)

    什么是vfs以及vfs的作用

    是什么?

    VFS是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用接口

    有什么作用?

            文件对应的分区可能不一样,有的来自ext4,或者tmps。即为文件系统的类型可能不一样,数据存储的方式不一样,访问方式也就不一样,没办法做到操作统一化,给编程开发带来困难。

            而虚拟文件系统的存在正是解决了这个问题:简化上层应用程序员的开发,不管是什么文件类型,磁盘还是设备,通通都是用open,read,write统一操作。

    从系统编程,从上层到底层来看

    如果从分区的角度,串口操作的就是/dev;普通文件如 .config在ext4上;共享内存 tmpfs dev/shm…

    之前所学的Linux系统编程,各种应用层的知识,vfs都提供了帮助。

    在这里插入图片描述

     

  • 相关阅读:
    嵌入式Linux运行一定需要MMU吗
    2010-2021年北大中国商业银行数字化转型指数数据(第三期)
    如何做好线上服务质量保障
    计算机毕业设计Java个性化穿搭推荐系统(源码+系统+mysql数据库+Lw文档)
    【附源码】计算机毕业设计SSM蔬菜水果销售网站
    研究生怎么申请专利,流程是什么?
    redis特殊数据类型-Geospatial(地理位置)用法
    某堡垒机SQL注入漏洞
    临床评分SOFA、SIRS、qSOFA、LODS、OASIS、SAPS、SAPS II
    Angular安全专辑之五 —— 防止URL中敏感信息泄露
  • 原文地址:https://blog.csdn.net/Zy_1213/article/details/126944617
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号