自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

# 安装开发工具。

2023-05-23 10:48:32 67 1

原创 lab5:深入理解进程切换

linux 中进程切换涉及到一个调用链:先是 context_switch 函数,content_switch 函数位于 Linux 内核源码目录的 kernel/sched/core.c 中,是 schedule 函数中实现进程切换的函数.content_switch 函数有三个参数:rq、prev、next,其中 rq 指向本次进程切换发生的 running queue;prev 和 next 分别指向切换前后进程的进程描述符。

2023-05-23 10:45:45 63 1

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

(4)系统调用内核处理函数执行完成后,系统调用返回前,需要恢复异常发生时程序的执行现场(恢复现场),其中就包括主动设置ELR_EL1和SPSR_EL1的值,原因是异常会发生嵌套,一旦发生异常嵌套ELR_EL1和SPSR_EL1的值就会随之发生改变,所以当系统调用返回时,需要恢复之前保存的ELR_EL1和SPSR_EL1的值。(5)内核调用异常返回指令eret,CPU自动把ELR_EL1写回PC,把SPSR_EL1写回PSTATE,并返回到用户态程序里,可以继续运行了。(1)svc指令触发系统调用。

2023-05-23 10:39:30 69

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

在start_kernel函数打断点进行执行,断点设在init/main.c中的start_kernel函数中,然后Qemu 开启GDB调试,vscode start debug即可开始调试内核。sudo apt install libncurses5-dev bison flex libssl-dev libelf-dev #编译内核所需的依赖---一些基础库。首先从https://www.busybox.net下载 busybox源代码解压,解压完成后,跟内核一样先配置编译,并安装。

2023-05-23 10:27:26 168 1

原创 Linux操作系统Lab1

将一个简单的C程序汇编成LoongArch或RISC-V汇编代码,并逐步分析程序的执行过程,深入理解存储程序计算机和函数调用堆栈框架在执行过程中所起的作用。

2023-03-10 15:16:19 147

空空如也

空空如也

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

TA关注的人

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