自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 linux课程总结报告

通过本学期Linux操作系统分析课程,我对Linux系统有了更深的理解,对Linux的常用命令更加熟悉,本课程从Linux内核分析系统调用、进程切换、可执行程序工作原理等角度分析了Linux内核的运行过程,学习到了如何编译内核,构建根文件系统,通过qemu模拟环境启动内核,使用gdb断点调试内核程序并据此分析。

2023-05-15 22:13:28 53 1

原创 深入理解进程切换

content_switch 函数有4个参数:rq、prev、next、rf,其中 rq 指向本次进程切换发生的 running queue;prev 和 next 分别指向切换前后进程的进程描述符;rf则起到标志作用,函数各个部分如下:完成任务调度的准备工作。在进程切换之前,首先执行调用每个体系结构都必须定义的prepare_task_switch挂钩,这使得内核执行特定于体系结构的代码,为切换做事先准备。该函数给各个体系结构专有的开始上下文切换的工作提供了入口,不同体系结构的实现不同。

2023-04-26 00:31:14 57 1

原创 以time/gettimeofday系统调用为例分析ARM64 Linux5.4.34

编译和调试 ARM64 环境,需要安装交叉编译工具链和跨平台版 gdb为 ARM64 新建一个内核编译配置文件,对这个新配置文件进行修改。在菜单中选择如下编译配置在终端提前 export 交叉编译选项再 make同样地,编译 busybox 之前也要 export 交叉编译选项。

2023-03-30 23:13:50 56

原创 基于vscode的linux内核调试环境搭建以及start_kernel跟踪

继续执行,遇到了kernel_init,即1号进程,它是所有用户进程的祖先,由kernel_thread函数创建,kernel_thread函数创建一个新的内核线程(实际linux不支持线程所以是一个内核进程),该线程的入口地址是kernel_init()函数。最后是start_kernel的结尾arch_call_reset_init(),这个函数执行了reset_init()函数,再设置一个函数断点reset_init,点击单点跳过进入reset_init函数内部。

2023-03-23 21:56:10 106 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除