位置: IT常识 - 正文

Linux内核与根文件系统的关系详解(linux内核与文件系统)

编辑:rootadmin
今天小编为大家带来的是Linux内核与根文件系统的关系详解!希望对大家会有帮助!有需要的朋友一起去看看吧... 17-03-28

推荐整理分享Linux内核与根文件系统的关系详解(linux内核与文件系统),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:内核与根文件系统,linux根文件,linux内核 根文件系统,内核与根文件系统,linux根文件系统详解,linux内核区别,linux内核区别,linux内核区别,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux内核与根文件系统的关系 开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!

一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件。”

一.什么是文件系统

文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。

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

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

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

Linux内核与根文件系统的关系详解(linux内核与文件系统)

二.什么是根文件系统

根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(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支持这种接口。

本文链接地址:https://www.jiuchutong.com/zhishi/283382.html 转载请保留说明!

上一篇:linux DRBD编译安装与配置方法(linux编译驱动文件)

下一篇:vue el-input 输入框输入不了(el-input value)

  • 出口退税无纸化备案
  • 堤防是啥
  • 不含税买货合法吗
  • 定期定额征收如何办理税费认定
  • 企业工程款发票税率是多少2021
  • 公司内部人员发言稿
  • 固定资产一次性计入费用的账务处理
  • 资产处置收益计入营业收入吗
  • 商业汇票贴现怎么做
  • 企业零申报怎么申报
  • 转售水的税率
  • 将外购货物分配给客户
  • 企业微信支付密码怎么设置
  • 一般纳税人的账户是基本账户吗
  • 暂估收入是否暂列金额
  • 发票从7月1日起开
  • 小规模开3%专票可享受减免
  • 医用酒精出口 需要什么条件
  • 个税起征点是
  • 自营出口与委托代理哪个划算
  • 应发工资包含罚款吗
  • 收到工会经费返还如何做账
  • 个人劳动供给曲线图
  • 出口退税率为0%退税收入怎么算
  • win11企业版激活
  • win10待机自动关机软件
  • yolov5网络优化
  • 增值税专用发票查询系统官方网站
  • 母公司收取子公司利润交增值税吗
  • yii框架教程
  • windows nginx php配置
  • 全面带你了解AIGC的风口
  • 民间非营利组织如何纳税
  • 增值税发票已经认证了,但是税票原票没给,会有什么后果
  • 逾期的押金税率是多少
  • 供应商退款需要冲库存商品吗
  • PostgreSQL教程(十三):数据库管理详解
  • 权益法和成本法的适用范围
  • 一般纳税人金税盘怎么清卡
  • 跨年度少计提的企业所得税
  • 行政事业单位非税收入管理办法
  • 银行怎么划分标准
  • 业务招待费汇算清缴账务处理
  • 为什么一般纳税人税率高
  • 收到供应商上年的发票
  • 结转完工入库产品成本的会计分录
  • 坏账收回所得税需要确认收入吗汇算清缴表如何填报
  • 贷款利息支出属于财务费用吗
  • 制造费用会计科目
  • 一般纳税人购买固定资产进项税可以抵扣吗
  • sql四种功能
  • win8系统连接不了网络
  • docker mysql 数据存储容器目录
  • vmware 10虚拟机
  • win8官方u盘安装教程
  • WINDOWS命令行为什么删除速度很快
  • windows显示缩略图
  • 怎么通过mac连接wifi
  • cmd.exe是什么意思
  • win7系统加内存条怎么设置
  • win7系统如何将插孔设置为ac97前面板
  • win7任务栏突然变成灰色
  • windows 8.1安装教程
  • 在linux操作系统中,/etc/rc.d/init.d
  • win10商店没有图标
  • cocos2dx游戏有哪些
  • Tips(1)glewExperimental
  • easyui datagrid loader
  • jQuery+ajax实现文章点赞功能的方法
  • jquery图片
  • 一个简单的网页
  • JavaScript中property和attribute的区别详细介绍
  • [置顶]游戏名 TentacleLocker
  • django返回json数据
  • window.showModalDialog谷歌不兼容
  • python基本介绍
  • 构建税务系统纵向到底
  • 夫妻双方房子契税怎么算
  • 浦东经济开发区官网
  • 河北手工发票查验平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设