【Linux】内核文件系统系统调用流程摸索

news2024/9/9 1:25:39

 内核层可以看到当前调用文件处理的进程ID

这个数据结构是非常大的:

 

 

我们打印的pid,tgid就是从这里来的,然后只需要找到pid_t的数据类型就好了。 

下图这是运行的日志信息: 

从上述日志,其实我也把write的系统调用加了入口的打印信息,因为需要验证自己的想法是否正确,看到的日志是这样的(打印日志添加上文件,函数,行是多么的方便,一下子找到所需要的信息):

在心得里写到日志量非常大的问题,其中有部分是针对文件打开的系统调用,从系统开机 后大概2分钟内openat2这个接口被调用了63.8万次,详见:

test_log/syslog_filename_can_print · r77683962/linux-6.9.0 - Gitee.comicon-default.png?t=N7T8https://gitee.com/r77683962/linux-6.9.0/blob/master/test_log/syslog_filename_can_print这也即是说打印日志一定要小心,不然内核产生的日志增长会非常非常快。

在对文件操作的时间,当时想到一个办法,打印日志的时候把文件名前4个字母跟目标比对,如果是某字符串则显示,代码如下:

登录 - Gitee.comicon-default.png?t=N7T8https://gitee.com/r77683962/linux-6.9.0/commit/9a8f609089121ac6390d6ea562ec26a5254e4b4d

测试效果(截图前面其实也创建了test1.txt):

这样也可以大量减少日志打印,不过添加有些这样的日志判断有难度。 

在修改内核后不能正常起来操作系统当前来看有三种情况:

1、代码内存越界,就是前一阵子碰到的打印filename这个变量,一般会出调用栈,不过不太容易看得到,因为开机日志显示翻页太快,页面显示到后边就卡死,黑白屏;

2、第二种:好像进入到 busybox,可以手动打印些dmesg的日志,黑白屏;

3、第三种:当图形化操作了,这里一直转,转二三十分钟,猜测是初始化日志打印太多:

其实这种过程是挺有意思,有些书讲内核运行原理,如果再配套查看内核运行实时日志,这样会更有意思,因为书上的知识是死的,而操作系统是活的,是动态的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1917344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ADS基础教程24 - Gerber文件的导入

EM介绍 一、引言二、基本概念1.仿真文件下载2.仿真文件介绍 二、导入步骤1.新建workspace2.选择Layout结构3.导入设计4.选择文件类型5.导入文件6.预览文件内容7.铜皮离散问题 四、总结 一、引言 本章节开始介绍在ADS中进行PCB仿真,首先讲解如何将Gerber文件导入到A…

Spark RDD优化

Spark RDD优化 一、分区优化二、持久化优化三、依赖优化四、共享变量优化五、提交模式与运行模式优化六、其他优化 一、分区优化 分区数调整:RDD的分区数可以通过repartition和coalesce方法进行调整。合理的分区数可以提高并行度,但过多的分区会增加管…

2024年Wolf沃尔夫奖数学奖得主出炉:诺加·阿隆(Noga Alon)、阿迪·萨莫尔(Adi Shamir)

沃尔夫基金会官网:2024年沃尔夫数学奖联合颁发给了以色列魏茨曼科学研究所的阿迪萨莫尔 (Adi Shamir,1952 -) 教授和美国普林斯顿大学的诺加阿隆(Noga Alon,1963 -) 教授,表彰他们对…

ADI新型充电器解决方案可实现电池堆电压和充电效率

就目前而言,这可能是生活中zui常见的问题了。世纪之交,电池(尤其是基于锂离子的电池)成本的降低和性能的提高,推动了电池供电的储能和便携式设备的稳步增长。此外,超级电容器由于具有独特的性质&#xff0c…

引用类飘红,但是导入失败

背景: 引用类飘红,且显示可导入,但是导入一直失败。 列如下图,引导你可以导入依赖包,但是你发现按了导入他是导入不了的,就一直失败,就一直飘红 解决方案: 我们用一下idea的清理不…

IDEA中Debug的使用

自定义功能图表 功能说明 光标回到Debug行 执行到光标所在行 Force Step into Step into 进入JDK的配置 step into做了下述配置后,也可以和force step into一样进入到JDK中。 Trace Current Stream Chain Reset Frame 重置方法入栈 Force Return Break Point四…

【Spring Cloud精英指南】深度探索与实战:网关Gateway的高级应用与最佳实践

1. 前言 Spring Cloud Gateway提供了一个在Spring生态系统之上构建的API网关,包括:Spring 5,Spring Boot 2和Project Reactor。Spring Cloud Gateway旨在提供一种简单而有效的路由方式,并为它们提供一些网关基本功能,…

警惕:与ChatGPT共享业务数据可能十分危险

您已经在使用ChatGPT了吗?或者您正在考虑使用它来简化操作或改善客户服务?虽然ChatGPT提供了许多好处,但重要的是,您要意识到与ChatGPT这样的人工智能工具共享敏感业务数据相关的安全风险。下面,我们概述了一些关键问题…

什么是 C 语言中的代码优化技巧?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 📙C 语言百万年薪修炼课程 【https://dwz.mosong.cc/cyyjc】通俗易懂,深入浅出,匠心打磨,死磕细节,6年迭代&…

Javaweb09-数据库连接池技术

数据库连接池 1.数据库连接池基本概念: JDBC连接池是一个管理数据库连接的重要工具,它能够显著提高应用程序与数据库之间的性能和效率。连接池通过预先创建和维护一组数据库连接,而不是每次请求都创建新的连接,从而避免了频繁的…

js字符串文字添加不同颜色,replace的妙用$1...$9

更改字符串第一个数字为红色显示,第二个数字为黄色显示 $1匹配的是正则第一个括号选中的字符串,可以使用正则不断用括号匹配然后更改样式 const testStr "剩余12个名额,截止时间12月25日" testStr this.testStr.replace(/(\d)(\D…

【Python】 已解决:Python编码问题导致的SyntaxError

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:Python编码问题导致的SyntaxError 一、分析问题背景 在使用Python进行编程时,有时会遇到编码相关的问题。特别是在处理包含非ASCII字符(…

算法复杂度详解( 超详细!)

前言: 今天,小编正式开始学习了数据结构的正式内容,学习了算法复杂度相关的内容,为了加强对这个的了解,于是诞生了这一篇文章,下面废话不多说,开始进入复杂度的详解! 目录&#xff1…

鸿蒙元服务API集全新呈现-开发更清晰高效

鸿蒙元服务API集全新呈现,开发更清晰高效,具体见如下截图,深黑色部分即本阶段公布支持的元服务API集。 本材料整理来源于HarmonyOS NEXT Developer Beta1官方公开的文档

银河麒麟(Kylin)KYSEC使用

1.推荐使用方法 *.临时禁用指令: setstatus disable--禁用 注:执行reboot后系统会自动启动 2.选用指令: *.永久禁用指令: setstatus disable -p *.重启后,KYSEC还是处理关闭关状态。 *.使用如下指令启用:setstatus enable …

慕尼黑电子展回顾:启明智显闪耀全场,多模态硬件智能体引领未来科技潮流

在刚刚落幕的慕尼黑电子展上,启明云端携启明智显与触觉智能两家子公司,共同为全球观众呈现了一场科技盛宴。本次展会,启明智显凭借其创新的多模态硬件智能体及一系列前沿产品,赢得了广泛关注与好评,展位现场人流如织&a…

基于java+springboot+vue实现的大学城水电管理系统(文末源码+Lw)106

基于SpringBootVue的实现的大学城水电管理系统(源码数据库万字Lun文流程图ER图结构图演示视频软件包) 系统功能: 本大学城水电管理系统 管理员功能有个人中心,用户管理,领用设备管理,消耗设备管理&#x…

基于Java+Vue的场馆预约系统源码体育馆羽毛球馆篮球馆预约

市场前景 市场需求持续增长:近年来,随着人们生活水平的提高和休闲娱乐需求的多样化,各类场馆(如体育馆、图书馆、博物馆、剧院等)的访问量不断增加。然而,传统的预约方式往往存在效率低下、信息不透明等问…

浅谈React

forwardRef和useImperativeHandle的联动使用 import React, { useImperativeHandle, useRef } from "react" import { forwardRef } from "react"const CustomInput forwardRef((props, ref) > {const inputRef useRef<HTMLInputElement>(null…

【以史为镜、以史明志,知史爱党、知史爱国】中华上下五千年之-宋朝(北宋)

宋朝&#xff08;960年—1279年&#xff09;是中国历史上承五代十国下启元朝的朝代&#xff0c;分北宋和南宋两个阶段&#xff0c;共历十八帝&#xff0c;享国三百一十九年。 北宋 赵匡胤&#xff08;宋太祖&#xff09;-赵光义&#xff08;宋太宗&#xff09;-赵恒&#xff08…