上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 70 下一页
摘要: 背景 一个具体的文件在打开后,内核会在内存中为之建立一个struct inode结构(该inode结构也会在对应的file结构体中引用),其中的i_mapping域指向一个address_space结构。这样一个文件就对应一个address_space结构;address_space对象是文件系统中 阅读全文
posted @ 2022-01-15 18:30 codestacklinuxer 阅读(166) 评论(0) 推荐(0)
摘要: 由于设备需要能回复出产设置功能,以前都是将最原始的文件都备份一份, 但是目前存在一个问题:系统升级后只是修改了一小部分文件,很多内容没有修改,这样就导致备份的大多数内容其实在浪费空间;那能不能和fork 那样做到cow呢?也就是升级的时候你要修改此文件,我才去备份!这样节约存储空间。so可以参考do 阅读全文
posted @ 2022-01-14 17:35 codestacklinuxer 阅读(155) 评论(0) 推荐(0)
摘要: exec 是 bash 的内置命令 shell 的内件命令exec执行命令时,不启用新的shell进程。 source 和 . 不启用新的shell,在当前shell中执行,设定的局部变量在执行完命令后仍然有效。 bash 或 sh 或 shell script 执行时,另起一个子shell,其继承 阅读全文
posted @ 2022-01-13 10:55 codestacklinuxer 阅读(5262) 评论(0) 推荐(0)
摘要: 系统初始化期间,Linux 都首先要在内存当中构造一棵VFS的目录树,实际上便是在内存中建立相应的数据结构。 文件系统注册 在 Linux 源代码中,每种实际的文件系统用以下的数据结构表示: struct file_system_type { const char *name; int fs_fla 阅读全文
posted @ 2022-01-09 15:50 codestacklinuxer 阅读(48) 评论(0) 推荐(0)
摘要: linux虚拟文件系统四大对象: 1)超级块(super block) 2)索引节点(inode) 3)目录项(dentry) 4)文件对象(file) super_block /*超级块代表了整个文件系统,超级块是文件系统的控制块,有整个文件系统信息,一个文件系统所有的inode都要连接到超级块上 阅读全文
posted @ 2022-01-08 13:43 codestacklinuxer 阅读(346) 评论(0) 推荐(0)
摘要: 操作文件的本质是将磁盘文件数据映射到进程内存中,从进程如何映射到该文件系统,中间还有一系列的过程,主要包括 进程发出文件操作命令,通过系统调用如sys_open、sys_read、sys_write调用相应内核函数 在内核中为进程打开的文件和系统文件创建数据结构进行维护 通过虚拟文件系统对各种不同的 阅读全文
posted @ 2022-01-06 23:43 codestacklinuxer 阅读(216) 评论(0) 推荐(0)
摘要: 找到了几年前的学习笔记;今天附上 虚拟文件系统(Virtual File System,简称VFS)是Linux内核的子系统之一,它为用户程序提供文件和文件系统操作的统一接口,屏蔽不同文件系统的差异和操作细节。借助VFS可以直接使用open()、read()、write()这样的系统调用操作文件,而 阅读全文
posted @ 2022-01-06 20:10 codestacklinuxer 阅读(179) 评论(0) 推荐(0)
摘要: 这段时间一直都在处理整个系统的bring up, 对系统盘 数据盘挂载 分区, uboot 启动内核、挂载根文件系统等问题debug。目前记录一下学习到的文件系统知识。 文件系统设计了如下特性 采取树形结构、文件夹设计 对热点文件进行缓存,便于读写 采用索引结构,便于查找分类 维护一套数据结构用于记 阅读全文
posted @ 2021-12-28 23:18 codestacklinuxer 阅读(45) 评论(0) 推荐(0)
摘要: 关键数据 per-cpu及无锁化 内核性能问题的一大原因就是资源共享和锁。所以,被频繁访问的关键数据需要尽可能的实现无锁化,其中一个方法是将数据做到 per-cpu 化,每个 CPU 只处理自己本地的数据,不需要访问其他 CPU 的数据,这样就可以避免加锁。就 DPVS 而言,连接表,邻居表,路由表 阅读全文
posted @ 2021-12-27 23:24 codestacklinuxer 阅读(107) 评论(0) 推荐(0)
摘要: DPVS 参考LVS设计,其核心在LVS的netfilter框架;笔者曾经做过类似的FULLNAT 满足portal 三层认证 LVS的HOOK点函数在内核中IPVS的源码在net/netfilter/ipvs目录下,LVS是以netfilter框架为基础,先看一下LVS在哪些HOOK点挂载了自己的 阅读全文
posted @ 2021-12-25 14:54 codestacklinuxer 阅读(221) 评论(0) 推荐(0)
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 70 下一页