自定义博客皮肤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内核的技巧和工具,更加深入理解了内核的运作过程,发现问题和解决问题;

2023-05-15 15:48:25 874 1

原创 Linux深入理解进程切换

上下文切换完成后,必须调用 finish_task_switch,即这两个函数一定是要成对出现的。cpu_switch_to() 有两个参数,分别存放在寄存器 x0 与 x1 中,x0 存放上一个进程的进程描述符的地址,x1 存放下一个进程的进程描述符的地址。而ret指令出栈存入RIP寄存器的是进程切换之后的next进程的内核堆栈栈顶数据.其中参数rq代表当前CPU的执行进程队列,prev,next分别指向进程上下文组成的双向链表的进程描述符。切换寄存器状态和栈。2.进行进程地址空间的切换,代码如下。

2023-04-25 10:51:28 86 1

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

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

2023-03-30 18:41:03 128

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

在内核引导时,init_task会被创建并启动,是所有其他进程的起点。在start_kernel()函数末尾,arch_call_rest_init()函数体内为rest_init()函数,因此设置一个rest_init函数断点,进入rest_init函数体内,该函数由0号进程执行。新建一个.vscode文件夹,将配置文件放入该文件夹内,配置如下五个文件:c_cpp_properties.json,init,launch.json,settings.json,tasks.json。

2023-03-23 23:42:35 186

空空如也

空空如也

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

TA关注的人

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