自定义博客皮肤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操作系统分析课程总结报告

(1)通过中断处理过程中的调度时机,用户态进程与内核线程之间互相切换和内核线程之间互相切换,与最一般的情况非常类似,只是内核线程运行过程中发生中断没有进程用户态和内核态的转换;(2)内核线程主动调用schedule(),只有进程上下文的切换,没有发生中断上下文的切换,与最一般的情况略简略;irqfd是基于eventfd的机制来实现的,用于用户态与内核态,以及内核态之间的事件通知;最一般的情况:正在运行的用户态进程X切换到运行用户态进程Y的过程。(三) 结合虚拟化分析中断过程。(1)正在运行的用户态进程X。

2023-05-15 13:45:42 135

原创 Linux 操作系统分析实验:深入理解进程切换

首先 membarrier_switch_mm(rq, prev->active_mm, next->mm) 使用了一个内存屏障,来保证上一个进程访问其内存空间与下一个进程访问其内存空间之间的先后顺序(某种程度上是一种进程同步机制),避免在访存进行过程中发生 mm_struct 的切换导致的访存错误(值得补充的是,前面切换到内核级线程的时候因为没有切换 mm_struct,所以不需要这样的内存屏障)。上下文切换完成后,必须调用 finish_task_switch,即这两个函数一定是要成对出现的。

2023-04-25 20:31:55 103

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

本次实验:以time/gettimeofday系统调用为例分析ARM64 Linux 5.4.34。

2023-04-01 15:42:53 156

原创 基于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 22:15:19 178

原创 Linux操作系统分析孟宁Lab1

本次实验内容:将一个简单的C程序汇编成x86或x86-64汇编代码,并逐步分析程序的执行过程,深入理解存储程序计算机和函数调用堆栈框架在执行过程中所起的作用。我选择使用RISC-V汇编代码。

2023-03-14 21:43:39 193 2

空空如也

空空如也

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

TA关注的人

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