位置: 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)

  • 如何同步手机微信和电脑微信步(如何同步手机微信记录到电脑微信上)

    如何同步手机微信和电脑微信步(如何同步手机微信记录到电脑微信上)

  • 腾讯自动扣费能退回吗(腾讯自动扣费能申请退款吗)

    腾讯自动扣费能退回吗(腾讯自动扣费能申请退款吗)

  • 网易云照片墙怎么换(网易云照片墙怎么设置自己可见)

    网易云照片墙怎么换(网易云照片墙怎么设置自己可见)

  • 抖音什么时间段发作品容易上热门(抖音什么时间段发作品流量大)

    抖音什么时间段发作品容易上热门(抖音什么时间段发作品流量大)

  • 小米cc9怎么插卡(小米cc9怎么装卡)

    小米cc9怎么插卡(小米cc9怎么装卡)

  • 芒果tv7天会员怎么激活(芒果tv7天会员怎么领)

    芒果tv7天会员怎么激活(芒果tv7天会员怎么领)

  • 手机mhl功能在哪里打开(怎么看手机mhl功能)

    手机mhl功能在哪里打开(怎么看手机mhl功能)

  • 快手能投屏吗(快手投屏功能在哪里)

    快手能投屏吗(快手投屏功能在哪里)

  • 手机能否恢复微信聊天记录(怎样用手机恢复微信记录)

    手机能否恢复微信聊天记录(怎样用手机恢复微信记录)

  • 抖音视频不能下载怎么回事(抖音视频不能下载怎么保存至相册)

    抖音视频不能下载怎么回事(抖音视频不能下载怎么保存至相册)

  • wps闪退没保存怎么办(wps闪退没保存怎么找回来)

    wps闪退没保存怎么办(wps闪退没保存怎么找回来)

  • ipadair3可以用第几代笔(ipadair第三代可以用笔吗)

    ipadair3可以用第几代笔(ipadair第三代可以用笔吗)

  • idqq登录是什么(qq登id形式)

    idqq登录是什么(qq登id形式)

  • 苹果国行怎么看(苹果国行怎么看型号)

    苹果国行怎么看(苹果国行怎么看型号)

  • 什么是渲染(什么是渲染的表现手法)

    什么是渲染(什么是渲染的表现手法)

  • 咸鱼怎样显示卖掉了(咸鱼如何显示已售)

    咸鱼怎样显示卖掉了(咸鱼如何显示已售)

  • 怎样自动生成目录页数(怎样自动生成目录表)

    怎样自动生成目录页数(怎样自动生成目录表)

  • 取消商户签约(支付宝取消签约商户)

    取消商户签约(支付宝取消签约商户)

  • 小米8开发者选项在哪里(小米8开发者选项最小宽度默认是多少)

    小米8开发者选项在哪里(小米8开发者选项最小宽度默认是多少)

  • 120g固态硬盘分区方案(120g固态硬盘分一个区)

    120g固态硬盘分区方案(120g固态硬盘分一个区)

  • clone下来的vue项目出现“An unknown git error occurred”,vue全局挂载axios及配置全局请求和响应拦截,uni-app的全局请求和响应拦截,对请求方法的封装(vue clonedeep)

    clone下来的vue项目出现“An unknown git error occurred”,vue全局挂载axios及配置全局请求和响应拦截,uni-app的全局请求和响应拦截,对请求方法的封装(vue clonedeep)

  • Axios和Ajax的区别是什么(axios和ajax的关系)

    Axios和Ajax的区别是什么(axios和ajax的关系)

  • 个体工商户定期定额征收个人所得税
  • 物业公司要交税吗?
  • 售后维护费账务处理
  • 国际货运代理一个月大概有多少收入
  • 滴滴上开的发票是增值税发票还是普通发票
  • 滴滴出行发票可以抵扣进项税吗
  • 股东投资属于什么会计要素
  • 财产性收入是非劳动性收入吗
  • 预付租金就要交增值税吗
  • 开具的增值税专用发票上注明的金额
  • 2016年的发票可以用到什么时候
  • 普通机打发票可以抵税吗
  • 开票资料地址填营业执照
  • 经营性租入的设备是资产吗
  • 取得免税农产品进项税转出
  • 职工赔偿金的账务处理
  • 自行研发的专利权计入
  • 进项税额及存货减值
  • 公司车辆违章怎么办
  • 计提职工薪酬怎么算
  • 个体工商户核定征收标准2023
  • 计算机视觉就业前景
  • Web渗透测试新手实操详解
  • php验证码功能怎么实现
  • php编译器与集成环境怎么安装
  • echarts y轴设置
  • cdr快捷键命令大全
  • 企业成本核算应遵循
  • 个人提供劳务怎么去税务局开发票
  • 存货盘亏计入什么收入
  • vscode开发gui
  • java删除类
  • 长期待摊费用如何做分录
  • 以权益结算的股份
  • 金蝶做账流程视频
  • 新公司第一年要交什么税
  • mysql字符串字段数据类型
  • 工程施工属于什么经营范围
  • 收到预收款并已付款
  • 税控盘减免税款分录
  • 电子承兑汇票的承兑人是谁
  • 红字的记账凭证怎么记账
  • 2021年财务报表申报
  • 哪些行业不适用作业法
  • 无形资产减值损失计入管理费用
  • 篮球俱乐部归什么部门管理
  • 金蝶软件版本号有哪些
  • 备抵法核算坏账损失
  • 长期待摊费用是非流动资产吗
  • sql server入门新手教程
  • sqlserver (parse name)字符串截取的方法
  • MySQL5.7 windows二进制安装教程
  • win7系统弹出cd
  • 政府禁用windows8
  • 韩国电脑用什么系统
  • mac如何设置默认打开程序
  • ubuntu系统电脑开机键盘亮 屏幕不亮
  • win7系统共享打印机设置方法
  • xp直升win7
  • linux修改ipv6地址
  • centos7.6桌面版安装教程
  • win10更新中重启会怎么样
  • android studio jni
  • 动作
  • [置顶]bilinovel
  • js class属性
  • android动态添加fragment
  • 下载一个网页的所有图片
  • 安卓基于谷歌
  • shell脚本 \r
  • [置顶]星陨计划
  • jquery设置滚动条
  • 手游云测试工具有哪些
  • javascript程序设计教程
  • 用jquery实现图片轮播
  • 江苏税务新办企业套餐
  • 长春税务局待遇如何
  • 电子税务局房产税怎么申报
  • 土地增值税如何入账
  • 地税是什么税种
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设