自定义博客皮肤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)
  • 收藏
  • 关注

原创 课程总结报告

1.正在运行的用户态进程 X。2.发生中断(包括异常、系统调用等),硬件完成以下动作。当前 CPU 上下文压入用户态进程 X 的内核堆栈。加载当前进程内核堆栈相关信息,跳转到中断处理程序,即中断执行路径的起点。3. 保存现场,此时完成了中断上下文切换,即从进程 X 的用户态到进程 X 的内核态。4.中断处理过程中或中断返回前调用了 schedule 函数,其中的 switch_to 做了关键的进程上下文切换。将当前用户进程 X 的内核堆栈切换到选出的 next 进程。

2023-05-15 20:00:13 60 1

原创 【无标题】

content_switch 函数有4个参数:rq、prev、next、rf,其中 rq 指向本次进程切换发生的 running queue;prev 和 next 分别指向切换前后进程的进程描述符;

2023-04-25 15:32:26 90

原创 以time/gettimeofday系统调用为例分析ARM64 Linux 5.4.34

由于Ubuntu是X86架构,为了编译arm64的文件,需要安装交叉编译工具链。

2023-03-30 19:20:26 85

原创 基于VSCode的Linux内核调试环境搭建以及start_kernel跟踪分析

这个函数是由0号进程执行的。继续执行,这时候遇到了kernel_init,即1号进程,它是所有用户进程的祖先,由kernel_thread函数创建,kernel_thread函数创建一个新的内核线程(实际linux不支持线程所以是一个内核进程),该线程的入口地址是kernel_init()函数。点击单点跳过,这里我们看到了0号进程init_task被设置整个系统的第一个进程(0进程是手工创建的,其他进程都是0号进程创建的)在内核引导时,init_task会被创建并启动,它是所有其他进程的起点。

2023-03-23 21:06:50 146

空空如也

空空如也

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

TA关注的人

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