月度归档: 2026 年 5 月

4 篇文章

thumbnail
Linux内核-内存管理
Linux内核-内存管理 关于虚拟内存更多的概念可以去看笔者以前的一篇文章:虚拟内存的运作-kidwjb的小站 地址概念 逻辑地址:程序看到的地址,Linux操作系统分配给每一个进程的独立地址 线性地址:总线地址ARM CPU采用分段机制(线性地址=逻辑地址+段基地址) 物理地址:CPU总线的直接地址 虚拟内存映射方式 主要采用了:分段和分页机制 …
thumbnail
Linux内核-exec系统调用
Linux内核-exec系统调用 这里我们以0.1内核为例,查看execve的系统调用实现 copy_strings 该函数的作用是拷贝execve传递进入的agrv参数表到内核空间中 几个段寄存器 在正式开始分析代码之前,我们需要先有几个概念: cs:代码段 ds:数据段 es:额外段 ss:栈 fs:用户数据段 而ds和fs有两种情况: dsf…
thumbnail
Linux内核(6.1源码阅读)-文件系统读写open-万字解析
万字解析虚拟文件系统读写open调用 本篇文章记录笔者阅读linux 6.1内核的文件读写和open系统调用的笔记,关于虚拟文件系统整体框架和读写open系统调用的核心思路也可以去阅读笔者之前的文章:kidwjb的小站-虚拟文件系统(VFS) 进程的文件管理 虚拟文件系统最最重要的思想就是:linux下一切皆文件! 不论我们是访问的普通文件或是设备…
thumbnail
Linux内核(6.1源码阅读)-超级块&inode&dentry在内核中的分配
超级块&inode&dentry在内核中的分配 在上一篇文章中笔者大致分析了一下6.1内核中文件系统的注册和挂载的大致流程,但是其中关于超级块和文件inode的实例如何分配(在前文提到的vfs_get_tree中调用的超级块操作结构中的mount来创建超级块和inode,dentry)都没有去做分析,碍于篇幅原因所以放到本文做分析,…