自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux深入理解进程切换

从现在起,内核在新进程的内核态栈上操作,所以,这条指令才是执行旧进程切换到新进程的开始。其中,content_switch 函数有三个参数:rq、prev、next,rq即使上面我们说的running queue(就绪队列),prev 指向切换前进程的进程描述符,next 指向切换后进程的进程描述符。switch_to 调用3个参数,prev、next和last,prev和next分别指向新旧进程的描述符地址,last,是一个输出参数,用来记录是从哪个进程切换来的。将新进程的栈指针加载到esp寄存器中。

2023-05-23 11:29:33 672 1

原创 Linux操作系统分析课程总结

Linux常用命令、计算机系统的架构冯诺依曼和哈弗架构、x86和ARM64的区别和联系、Linux内核调试过程、深入理解系统调用、进程的描述和描述的创建、可执行程序的执行原理、Linux I/O 和设备管理、进程调度和切换、虚拟机技术、Linux容器技术。

2023-05-18 14:05:39 89 1

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

content_switch 函数的下一个重要函数就是 switch_to,即切换寄存器状态和栈。swtich_to 函数会进一步调用 __switch_to_asm。下面是X86_64的实现过程中,寄存器和栈的状态更新过程。content_switch 函数有三个参数:rq、prev、next,其中 rq 指向本次进程切换发生的 running queue;进程切换和核心函数是context_switch,位于 Linux 内核源码目录的 kernel/sched/core.c 中。

2023-04-27 18:47:49 75 1

原创 【无标题】

制作根文件系统编译busybox打开静态库编译选项指定编译工具编译编译完成,在busybox目录下生成_install目录。

2023-04-25 16:22:14 78 1

原创 VSCode环境搭建以及start_kernel调试

接下来准备init脚本文件放在根文件系统跟目录下(rootfs/init),添加如下内容到init文件:(使用touch init 创建init脚本文件,再“vim init”打开init文件,再按i进入插入模式,粘贴进去,再按ESC进入命令模式,:wq保存并退出即可。原文链接:https://blog.csdn.net/double113217/article/details/129614177。测试挂载根文件系统,看内核启动完成后是否执行init脚本。打包成内存根文件系统镜像。

2023-03-23 22:29:25 168

原创 Linux操作系统分析lab1

在ubantu上将一个简单的C程序汇编成RISC-V汇编代码,并逐步分析程序的执行过程

2023-03-13 23:05:45 117

空空如也

空空如也

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

TA关注的人

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