Linux的文件系统 内核结构

Linux的文件系统

Q1:什么是文件系统?

A:在学术的角度下,文件系统操作系统用于明确存储设备组织文件的方法,是“文件管理系统”的简称,本质也是代码,一段程序


Q2:文件系统(文件管理系统的方法)的种类有哪些?

A:FATNTFSext1/2/3/4HFS......

  • 对于Windows可以右击磁盘属性查看文件系统,是NTFS

  • 对于Linux,输入“df -T”查看文件系统,是ext4

 (tmpfs是内存文件系统)

回忆上节替换内核时挂载U盘时提到的,当树莓派的SD卡挂载到电脑ubuntu虚拟机时:

fat分区是boot相关的内容;ext4是系统的根目录分区


Q3:什么是分区?

A:对于Windows来说,所谓的C/D/E盘,就是分区,用户可以随意的在分区里创建文件;对于Linux来说分区则有了严格的功能限制,要求按照功能严格的存放文件

嵌入式系统的分区:

  • bootloader分区:存放系统的启动代码
  • para分区:存放启动代码向内核传递参数的位置
  • kernel分区:存放内核的代码
  • 根分区:由“文件系统(目录)结构”存放各种代码
  1. 对于windows来说:是先将物理地址分开,再在分区上建立目录,所以windows的分区下,同一个目录下的两个文件必然属于同一个分区,分区是连续的。所有路径都是从盘符开始的,比如C盘下的一个文件,它的路径必然是C://开头。
  2. 对于Linux来说:是先有目录,再将物理地址映射到目录中,所以Linux的分区下,同一个目录下的两个文件可能属于不同的分区,分区是不连续的。在Linux操作系统中,所有路径都是从根目录开始。

Q4:什么是文件系统目录结构?

A:相比于文件系统代表“操作系统用于明确存储设备组织文件的方法文件系统目录结构代表“从根目录开始的文件架构 

在Linux系统中:

  • 以“.”开头的为隐藏文件
  • 路径用“/”来进行分隔(windows中使用“\”来分割)
  • 目录被组织成一个树形结构,并从根目录开始用“/”来表示,并遵循以下的结构:

对于windows来说,也采用树结构,但是可能存在多个根并列,而盘符就是根,有几个盘符就有几个并列的根


Q5:什么是虚拟文件系统 “Virtual File System” ?

A:在Linux系统中,不同的文件所属的文件系统可能是不同的,文件A可能是ext4,文件B可能是tmpfs......但是在代码的编写时,使用统一的如open,read,write,cp等函数就可以对不同文件系统下的不同文件进行操作,这就是靠VFS这个中间层实现的:上层的函数接口通过VFS就可以轻松的访问不同的文件系统下的不同文件VFS就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用的接口

VFS的作用就是:简化开发的流程,不管属于什么文件系统,不管文件是磁盘还是设备,都可以使用上层的函数接口来进行统一的操作


Linux的内核结构

 补充:什么是shell?

shell也是一个应用程序,给用户提供了操纵内核的工具。一个shell对应一个终端(terminal),在终端输入的指令就会直接传递给shell进行解释,然后对内核进行相应的操作。

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

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

相关文章

香槟过了保质期还能喝吗?

香槟是起泡酒的高级代表,是浪漫和喜庆的化身,它浑身上下都散发着无穷的魅力。那么,这么精贵的葡萄酒有没有保质期,会不会变质呢?云仓酒庄的品牌雷盛红酒分享当然会。一瓶酒的生命离不开它的保存期限,酒的质…

nodejs+vue+微信小程序+python+PHP全国天气可视化分析系统-计算机毕业设计推荐

3.2.1前台用户功能 前台用户可分为未注册用户需求和以注册用户需求。 未注册用户的功能如下: 注册账号:用户填写个人信息,并验证手机号码。 浏览天气资讯:用户可以浏览天气资讯信息详情。 已注册用户的功能如下: 登录&…

GZ015 机器人系统集成应用技术样题1-学生赛

2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题1 选手须知: 本任务书共 25页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…

Github2023-12-15 开源项目日报 Top10

根据Github Trendings的统计,今日(2023-12-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目3非开发语言项目3JavaScript项目1Python项目1Rust项目1PHP项目1 基于项目的学习 创建周期&am…

蓝桥杯真题——01背包问题(java详解)

目录 01背包问题例题引入 蓝桥杯国赛真题 蓝桥杯2195题.费用报销 蓝桥杯2201题.搬砖 01背包问题和最值问题离不开,最值问题嘛,就又和动态规划离不开,大家不太了解动态规划的可以看我之前写的文章,基础版里面有动态规划的模板。…

泛型的相关内容

首先我们来了解一下什么是泛型&#xff0c;泛型的作用又是什么。 泛型的形式是 ArrayList<Object> objects new ArrayList<>(); 这里的<Object>这个就是泛型&#xff0c;添加泛型的作用又是什么呢&#xff0c;它可以限制添加对象的类型&#xff0c;比如A…

CSS新手入门笔记整理:CSS常用属性表

字体样式 属性 属性值 说明 font-family 微软雅黑/苹方 字体类型 font-size 数值 字体大小 font-weight 数值/关键字 字体粗细&#xff08;字重&#xff09; font-style normal&#xff08;正常(默认值)&#xff09;italic&#xff08;斜体&#xff09;oblique&am…

C++ 学习系列 -- 模板 template

一 C 模板介绍&#xff1f; C 为什么引入模板&#xff1f; 我的理解是&#xff1a; C 引入模板的概念&#xff0c;是为了复用重复的代码&#xff0c;当某些代码除了操作的数据类型不同以外&#xff0c;其他逻辑全都相同&#xff0c;此时就适合采用模板的方式。 定义模板类或者…

转载:TableView性能优化

转载&#xff1a;TableView性能优化 原文链接&#xff1a;https://juejin.cn/post/6955731915672387592 tableView性能优化 Cell重用、标识重用 使用 static 修饰重用标识名称能够保证这个标识只会创建一次&#xff0c;提高性能。接着调用dequeueReusableCellWithIdentifie…

多分类预测 | MATLAB实现CNN-LSTM-Attention多输入分类预测

分类预测 | MATLAB实现CNN-LSTM-Attention多输入分类预测 分类效果 需要源码和数据的私信&#xff08;微微有偿取哦&#xff09;

【Jmeter】Jmeter基础5-Jmeter元件介绍之线程(用户)

2.5.1、线程组 一个线程组即一个虚拟用户组&#xff0c;线程组中的每个线程即为1个虚拟用户&#xff0c;每个线程互相隔离&#xff0c;互不影响参数说明&#xff1a; 在取样器错误后要执行的动作 继续&#xff1a;忽略错误&#xff0c;继续执行启动下一进程循环&#xff1a; 终…

Repo代码仓库搭建

使用rockchip sdk二次开发&#xff0c;代码十几个G&#xff0c;都放在一个git仓库的话&#xff0c;每次git status要等好久&#xff0c;决定拆分一下&#xff0c;官方是用repo做代码管理的&#xff0c;我打算也搭建个类似开发环境。 1.首先在git服务器上创建一个manifest仓库&…