logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核-文件系统-inode相关操作

本文分析了Linux 0.11内核中的inode结构体及其相关操作函数。inode结构体包含文件元数据(类型、权限、大小等)和磁盘块映射信息(i_zone数组,支持直接、间接和双重间接块)。关键函数包括: invalidate_inodes:设备移除时安全释放i节点,仅清空关键字段而非完全清零; sync_inodes和write_inode:同步内存i节点到磁盘; _bmap函数:处理文件逻辑块

文章图片
#linux#文件系统
Linux内核-文件系统-超级块操作

本文分析了Linux 0.11内核中超级块操作的实现机制。主要介绍了super.c文件中包含的超级块获取(get_super)、释放(put_super)、读取(read_super)等核心函数,以及文件系统挂载(mount)和卸载(umount)的系统调用实现。 关键点包括: 超级块管理采用数组结构,包含设备号、位图等信息 read_super函数负责从设备读取超级块到内存,并进行完整性校验 m

文章图片
#linux#文件系统
Linux内核-文件系统-虚拟文件系统

本文摘要: Linux系统采用虚拟文件系统(VFS)统一接口管理各类文件设备。文章重点分析了普通文件(file_dev)和块设备(block_dev)的读写实现。普通文件通过file_read/file_write函数使用bmap定位逻辑块,借助bread获取缓冲区,支持不连续块填充0处理。块设备操作通过block_read/block_write实现,利用位运算快速计算块号,采用预读策略优化性能

文章图片
#linux#文件系统
Linux内核-文件系统-高速缓冲区

本文摘要:文章详细介绍了文件系统的基本概念及高速缓冲区的管理机制。主要内容包括: 文件系统结构:磁盘被逻辑划分为盘片(如C盘、D盘),每个盘片包含超级块、逻辑块位图、i节点位图、i节点和数据块等组件,用于管理文件存储和检索。 inode结构:作为文件元数据的核心载体,inode存储文件属性(类型、大小、权限等)及数据块指针(直接/间接块),实现文件到磁盘数据的映射。 高速缓冲区机制:作为磁盘与应用

文章图片
#文件系统
Linux内核-文件系统-文件系统目录和文件操作

本文分析了Linux内核文件系统中关键的文件和目录操作实现,主要包括以下几个方面: 文件访问权限检查机制:通过permission()函数验证用户对文件的访问权限,涉及inode中的mode位检查。 目录项操作: find_entry()在目录中查找匹配的目录项 add_entry()添加新目录项 get_dir()解析路径获取对应inode 文件/目录创建: sys_mknod()创建特殊文件节

文章图片
#linux#文件系统
Linux内核(6.1源码阅读)-注册&挂载文件系统

本文详细介绍了Linux内核中文件系统的注册与挂载流程。注册文件系统通过register_filesystem()函数实现,需要定义file_system_type结构体并初始化关键参数。挂载过程从sys_mount系统调用开始,经过do_mount、path_mount等函数处理,最终由do_new_mount_fc完成实际挂载操作。其中涉及超级块分配、挂载点锁定、安全检查和命名空间管理等核心机

文章图片
#linux#文件系统
Linux内核-文件系统-位图操作

本文摘要主要讲解了Linux文件系统中i节点(inode)与磁盘块的映射关系及操作机制。文章从文件系统基本概念入手,说明读取磁盘资源需要经过获取高速缓冲区、确认数据有效性、内存拷贝三个步骤。重点分析了超级块结构体中的i节点位图和逻辑块位图管理机制,详细解读了释放和申请逻辑块(free_block/new_block)以及释放和创建i节点(free_inode/new_inode)的核心源码实现流程

文章图片
#文件系统
Linux内核-进程运转方式

Linux 0.11 系统时间管理机制解析 摘要:Linux 0.11 通过 CMOS RTC 芯片获取启动时间,结合定时器中断实现系统时间管理。系统时间计算基于启动时间(startup_time)和时钟滴答(jiffies),其中 jiffies 每10ms递增一次。时间维护机制包括:1) 启动时通过 CMOS 读取实时时钟并转换为 Unix 时间戳;2) 8253 定时器每10ms触发中断更新

文章图片
#linux
Linux内核-文件系统启动流程

本文分析了Linux内核3.4.2版本的文件系统启动流程。内核首先打开/dev/console作为控制台,然后通过init_post()函数执行系统初始化进程。BusyBox作为嵌入式系统常用的精简工具集,其初始化始于init_main()函数,会读取/etc/inittab配置文件或使用默认配置。初始化过程分为两个阶段:首先执行系统启动命令(SYSINIT、WAIT等),然后进入循环处理RESP

文章图片
Linux内核-进程销毁

本文详细分析了Linux内核中进程销毁的完整流程。当进程调用exit()时,内核执行以下关键步骤: 释放进程资源:调用do_exit()函数释放代码段、数据段占用的内存页,关闭所有打开的文件,同步inode节点。 处理子进程:将子进程的父进程改为init进程(1号进程),使其成为孤儿进程。若子进程已是僵尸状态,会通知init进程回收。 会话处理:若为会话头进程,则终止会话中所有进程。 状态转换:将

文章图片
#linux
    共 22 条
  • 1
  • 2
  • 3
  • 请选择