Linux一定需要文件系统吗?

开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!         一语破天机:“尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件。”

#一.什么是文件系统

文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。这种机制有利于用户和操作系统的交互。

每个实际文件系统从操作系统和系统服务中分离出来,它们之间通过一个接口层:虚拟文件系统或VFS来通讯。VFS使得Linux可以支持多个不同的文件系统,每个表示一个VFS 的通用接口。由于软件将Linux 文件系统的所有细节进行了转换,所以Linux核心的其它部分及系统中运行的程序将看到统一的文件系统。Linux 的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。

在Linux文件系统中,EXT2文件系统、虚拟文件系统、/proc文件系统是三个具有代表性的文件系统。

#二.什么是根文件系统

根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行。我们要明白文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。

那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/linuxrc.等其执行完后。切换根目录,再挂载具体的根文件系统.根文件系统执行完之后,也就是到了Start_kernel()函数的最后,执行init的进程,也就第一个用户进程。对系统进行各种初始化的操作。

根文件系统之所以在前面加一个”根“,说明它是加载其它文件系统的”根“,既然是根的话,那么如果没有这个根,其它的文件系统也就没有办法进行加载的。它包含系统引导和使其他文件系统得以挂载(mount)所必要的文件。根文件系统包括Linux启动时所必须的目录和关键性的文件,例如Linux启动时都需要有init目录下的相关文件,在 Linux挂载分区时Linux一定会找/etc/fstab这个挂载文件等,根文件系统中还包括了许多的应用程序bin目录等,任何包括这些Linux 系统启动所必须的文件都可以成为根文件系统。Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。在 Linux 中将一个文件系统与一个存储设备关联起来的过程称为挂载(mount)。使用 mount 命令将一个文件系统附着到当前文件系统层次结构中(根)。在执行挂装时,要提供文件系统类型、文件系统和一个挂装点。根文件系统被挂载到根目录下“/”上后,在根目录下就有根文件系统的各个目录,文件:/bin /sbin /mnt等,再将其他分区挂接到/mnt目录上,/mnt目录下就有这个分区的各个目录,文件。

#三.什么是内核

Linux内核就像人的心脏,灵魂,指挥中心。内核是一个操作系统的核心,它负责管理系统的进程,内存,设备驱动程序,文件和网络系统,决定着系统的性能和稳定性。内核以独占的方式执行最底层任务,保证系统正常运行。协调多个并发进程,管理进程使用的内存,使它们相互之间不产生冲突,满足进程访问磁盘的请求等.操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。

#四.内核与文件系统的关系

技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。      文件系统是kernel的一部分。文件系统实现了系统上存储介质和其他资源的交互。kernel tree中的fs目录都是关于文件系统的,可以说它是kernel的一个大子系统。       嵌入式系统在flash中分配了存放内核、根文件系统的区域。bootloader加载了内核,内核启动,加载文件系统,进入Linux系统。

整个嵌入式系统而言,可以分为三个部分1.uboot 2.kernel 3.文件系统。其中kernel中以VFS去支持各种文件系统,如yaffs,ext3,cramfs等等。yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。在内核中以VFS来屏蔽各种文件系统的接口不同,以VFS向kernel提供一个统一的接口。如打开一个文件时统一使用open,写时采用write,而不用去考虑是那种文件系统,也不用去考虑文件系统是如何将数据写入物理介质的。其中 kernel中的配置,只是让VFS支持这种接口

#五.多任务系统就需要文件系统吗?

答案肯定不是的,应该很多人都有接触过freertos,这也是一个实时的多任务系统,但是默认是没有文件系统的。因为是运行在比较低端的硬件平台上,内存空间比较小,FLASH也比较小,安装一个文件系统需要消耗比较大的资源。但是没有文件系统一样是可以完成它的任务的,比如进程,线程,调度,定时器的,等等。文件系统是为了给应用做一个统一的接口,应用需要访问底层的东西都需要用open,read,write操作来完成,没有了文件系统,就只能面向函数,简单直接效率也更高。

  回复「 篮球的大肚子」进入技术群聊

回复「1024」获取1000G学习资料

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

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

相关文章

迁移学习

文章目录为什么需要迁移学习模型Fine-‐tune![在这里插入图片描述](https://img-blog.csdnimg.cn/20200612000845217.png)保守训练层迁移Multitask Learning渐进式神经网络/Progressive Neural Networks域对抗零样本学习Self-‐taught learning为什么需要迁移学习 使用深度学习…

RNA-Seq分析软件HTSeq的安装

1.本人刚开始安装的时候,先下载相关的软件包,然后安装installtion中的方法安装, 运行的时候老是报错。根据错误提示安装解决方法。也参考了其他的笔友的一些建议, 发现特别麻烦,后来无意中发现有小伙伴用bioconda来安装…

怎么撤回操作_微信又更新,拍一拍能撤回了

微信拍一拍功能在 6 月份刚上线时,「微信之父」张小龙就发朋友圈表示,微信史上仅需一行代码的有趣功能终于来了,拍一拍,像蚂蚁一样打招呼。拍一拍功能将大家在现实世界的肢体交流带到了虚拟世界,相信大家都有儿时和三俩…

吹牛

起了一个不太雅观的标题,我很想给我们的会晤起一个响亮的名字,比如「三方会谈」或者「新一代5.4事件」,再或者牛逼点的,我们可以叫「西乡起义」。好吧,我摊牌了,这次吃饭就是三个屌丝和一个大佬的闲暇吹牛&…

迁移学习实战

文章目录预处理网络模型的构建网络的训练网络模型的验证预处理 from __future__ import absolute_import from __future__ import division from __future__ import print_functionimport tensorflow as tffrom tensorflow.python.ops import control_flow_opsdef apply_with_…

Spring MVC-视图解析器(View Resolverr)-内部资源视图解析器(Internal Resource View Resolver)示例(转载实践)...

以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_internalresourceviewresolver.htm 说明:示例基于Spring MVC 4.1.6。 InternalResourceViewResolver用于将提供的URI解析为实际的URI。以下示例显示如何使用Spring Web MVC框架使用I…

手机是怎么确定位置信息的?

#手机是怎么定位的?定位是一个老生常谈的话题,最近几年还在讨论一个热点技术话题「室内定位」,从我知道这个技术到现在已经过了好几年了,也出现了一些室内定位的方案,而我们的手机是如何进行定位的,又有哪些…

tablestore列式存储原理_10分钟搞透:技术人必会的MySQL体系结构与存储引擎!

MySQL是目前使用最广的开源数据库,不管从装机量、使用人群、专职人员、社区发展,还是基于MySQL的其他分支,都是当之无愧的No.1。 本文将从以下4个方面,带你搞透MySQL体系结构与存储引擎。主要包括:1、MySQL数据库的体系…

使用Adobe Audition生成基本音频

#首先打开软件 #新建一个音频 #在效果菜单栏插入基本音频

viewpager 跳转到指定页面

viewPager.setCurrentItem(getUserIndex(userId)); seCurrentItem是定位到指定页面参数是position转载于:https://www.cnblogs.com/wmxl/p/7500647.html

vue里实现同步执行方法_vue中的watch方法 实时同步存储数据

RFID基础知识 BS:BinarySearch. TSA:TimeSlottedAloha. BSA:基本二进制搜索算法. DBSA:动态二进制搜索算法. RBSA:后退式二进制搜索算法. FSA:Frame Slo ... WampServer修改MySQL密码 WampServer安装后密码是空的,需要设置一下 一般有两种方式: 一是通过phpMyAdmin直接修改: 二…

更多网络类型

文章目录丰富网络类型CPPN孪生网络Triplet Network应用Variational Auto-encoder强化学习Markov decision processesBellman公式丰富网络类型 深度学习除了经典卷积神经网络,循环神经网络还有广泛的网络类型 CPPN 网络输入是像素坐标值(x,…

Tyvj1091

题目链接 分析: 最近做的区间dp挺多 最简单的:n^3枚举,显然TLE 其实有一个很显然的dp状态: f[i][j]表示结尾是i,j的等差数列的数量: f[i][j]Σ(f[k][j]1) (a[i]-a[j]a[j]-a[k]) 但是这样的复杂度也是…

更多框架

文章目录关于框架Caffe基于层的设计思路Protocol Buffer 技术prototxt .caffemodel文件caffe的训练主要特点TorchLUA语言主要特点Tensorflowcomputation graphsMXNET关于框架 Caffe 依赖大量第三方库 为了读取图像,以及简单的图像处理,连接很重的Openc…

.net的label的背景如何设置成为透明_css如何设置背景图片?background属性添加背景图片...

在前端开发过程中,为了页面的美观,往往都会给html页面添加背景图片。那么如何利用css设置html中用图片做背景?本章就给大家介绍css怎样设置背景图片。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。程…

苹果uwb定位技术

昨天的文章简单说明了手机定位的技术,文章写的比较简单,但是阅读量却还可以,这篇文章转一个uwb定位技术的文章,让更多的人了解这项技术。相关阅读:手机是怎么确定位置信息的?载波和LoRa#前言关于昨天的文章…

斗地主游戏小结

文章目录程序简介程序的实现程序中使用到的类Card:一副扑克牌。CardGroup:Player:玩家Game:游戏主程序Scene:游戏界面人工智能部分实现分析选牌牌型分析手牌并拆分成有效牌型出牌/跟牌分析拆牌原则:程序简介…

201671010144 2016-2017 《java程序设计》--对象与类!

随着学习的逐渐深入,java语言的独特之处与其他语言的区别慢慢显现了出来。我认为java的独特之处就在于它处理事件的思维,即面向对象,而非面向过程。初次接触到类的概念,比较难懂,后面练习过几次后,有了初步…

springboot导包显示不存在_(一)SpringBoot搭建基本后端应用

boot在计算机术语中是启动的意思,SpringBoot也就是Spring的启动器。稍有经验的JavaWeb程序员对于传统SSM结构的MVC应用,大多数最不好的体验就是搭建一个项目需要进行大量的配置。稍有不慎就可能采坑。更关键的是有些配置基本就不会去进行定制化修改。为了…

为什么需要超出48K的音频采样率,以及PCM到DSD的演进

网上很多观点说,根据采样定理,48K的音频采样率即可无损的表示音频模拟信号(人耳最多可以听到20K的音频),为何还需要96K, 192K等更高的采样率呢?最先我也有这样的疑问,毕竟采样定理是…