首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深入浅出文件系统原理之根文件系统挂载(基于linux0.11

看完文件系统的基础数据结构。我们接着解析的根文件系统的挂载,因为这是文件系统被使用的起点。根文件系统的挂载是在操作系统初始化的时候进行的。对应的函数是mount_root。...// 系统初始化时挂载根文件系统 void mount_root(void) { int i,free; struct super_block * p; struct m_inode * mi...(p=read_super(ROOT_DEV))) panic("Unable to mount root"); // 获取根文件系统的第一个inode节点,里面存的是根目录的数据 if...it is logically used 4 times, not 1 */ // 超级块挂载到了mi对应的inode节点,p->s_isup设置根文件系统的根节点 p->s_isup = p-...后续的对文件系统的使用都是基于这个根文件系统的根节点的。

2.3K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入浅出文件系统原理之基础数据结构(基于linux0.11

    想写一个系列的文章,逐步介绍文件系统的实现原理。采用的是linux0.11版本。这是第一篇文章。首先介绍一下文件系统的基础数据结构。这是后面的基础,需要先熟悉。所谓数据结构决定算法。...下面是文件系统在硬盘的结构图。 ?...#define NR_SUPER 8 #define NR_HASH 307 // 缓存文件系统数据的buffer个数,操作系统启动的时候初始化该变量 #define NR_BUFFERS nr_buffers..., 每个文件系统占据一部分,所以要记录开始的块号和总块数 */ unsigned short s_firstdatazone; /* 用于计算文件系统块等于多少个硬盘块,硬盘块大小乘以...2 的s_log_zone_size次方等于文件系统的块大小(硬盘块的 大小和文件系统块的大小不是一回事,比如硬盘块的大小是1kb, 文件系统是4kb) */ unsigned

    80520

    文件系统:抽象的“文件系统

    一、树形层次结构 IFileProvider对象为我们构建了一个具有层次化目录结构的文件系统。...由于IFileProvider是一个接口,所以由它构建的是一个抽象化的文件系统,这里所谓的目录和文件都是一个抽象的概念。...为了让读者朋友们对这个文件系统有一个大体认识,我们先来演示几个简单的实例。 文件系统管理的所有文件以目录的形式进行组织,一个IFileProvider对象可以视为针对一个根目录的映射。...该方法具有一个类型为Action的参数负责将文件系统的节点(目录或者文件)名称呈现出来。...对文件系统实施监控并在其发生改变时发送通知也是IFileProvider对象提供的核心功能之一。

    1.5K40

    Linux 考古笔记

    2 流程分析 2.1 引导内核阶段 2.2 内核启动阶段 2.3 init 进程启动 2.4 shell 命令执行 Linux0.11 考古笔记 最近读完《Linux 内核完全注释》和《品读 Linux0.11...核心代码》,大致理解下 Linux0.11 内核的全貌。...从硬件的视角,PC 机使用可编程定时芯片 Intel 8253 时钟源;从软件的角度,在 Linux0.11 中设定这个定时芯片每隔 10ms 发出一个时钟中断信号,通过时钟中断处理程序,来累积系统滴答数...关于 Linux0.11 操作系统的进程设计,这里仅侧重理解几个比较重要的概念。...2 流程分析 根据《品读 Linux0.11 核心代码》这个专栏,它是按照系统启动到运行的时间顺序结合 Linux0.11 源码来展开的,我根据专栏的内容进行二次整理。

    1.1K30
    领券