自定义博客皮肤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开机加电后,系统开始开机自检,该过程主要对计算机各种硬件设备进行检测,如CPU、内存、主板、硬盘、CMOS芯片等,如果出现致命故障则停机,并且由于初始化过程还没完成,所以 不会出现任何提示信号;如果出现一般故障则会发出声音等提示信号,等待故障清除;若未出现故障,加电自检完成。

2023-05-15 19:16:05 81

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

执行环境的切换是在switch_to()中完成的, switch_to完成最终的进程切换,它保存原进程的所有寄存器信息,恢复新进程的所有寄存器信息,并执行新的进程, 以x86_32位下的switch_to函数为例, 其定义在arch/x86/include/asm/switch_to.h, line 27。先对flags寄存器和ebp压入旧进程内核栈,并将确定旧进程恢复执行的下一跳地址,并将旧进程ip,esp保存到task_struct->thread_info中,这样旧进程保存完毕;

2023-04-25 17:17:04 59 1

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

把当前程序指针寄存器(PC)放入ELR_EL1寄存器里,然后CPU通过异常向量表(vectors)基地址和异常的类型计算出异常处理程序的入口地址,即VBAR_EL1寄存器加上偏移量取得异常处理的入口地址,将 X8 寄存器(regs->regs[8])中存放的系统调用号传递给 invoke_syscall 函数,接着开始执行异常处理入口的第一行代码。参考:https://blog.csdn.net/qq_43495782/article/details/129852702。实验环境:ubuntu20.04。

2023-03-30 20:58:02 94

原创 linux系统分析lab3:基于VS Code的linux内核环境搭建与start_kernel跟踪分析

在这个阶段,内核会建立好一些必要的核心数据结构,如物理内存管理器、虚拟内存管理器,以及进程调度器等。5.kernel_init,即1号进程,它是所有用户进程的祖先,由 kernel_thread 函数创建,kernel_thread 函数创建一个新的内核线程(实际linux不支持线程所以是一个内核进程)。2.0号进程init_task被设置整个系统的第一个进程(0进程是手工创建的,其他进程都是0号进程创建的)在内核引导时,init_task会被创建并启动,它是所有其他进程的起点。

2023-03-23 23:48:19 115 1

空空如也

空空如也

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

TA关注的人

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