自定义博客皮肤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课程总结报告

虚拟化技术通过在虚拟机监视器(VMM)层中介入和控制整个过程,实现了对虚拟机内部Linux系统的资源管理、中断处理和进程切换的控制。它允许多个虚拟机同时运行,并提供了资源隔离和虚拟化环境的抽象。

2023-05-15 16:49:56 152 1

原创 Linux 操作系统分析实验:分析 time/gettimeofday 系统调用在 ARM64 Linux 中的执行过程

我们需要为 ARM64 新建一个内核编译配置文件,对这个新配置文件进行修改。和 x86 一样在菜单中选择如下编译配置,注意部分选项的位置略有不同。在前一篇文章的基础上还需要在终端提前 export 交叉编译选项再 make(否则编译的还是 x86 的内核),命令如下。同时在编译 busybox 之前也要 export 交叉编译选项。如果要在 VSCode 上调试,还需要更改 .vscode 目录下的 launch.json 和 tasks.json,参考配置如下。

2023-04-26 13:39:14 113 1

原创 lab5 深入理解进程切换

如果切换到用户空间进程,则需要切换地址空间,并调用 membarrier_switch_mm() 函数和 switch_mm_irqs_off() 函数进行一些额外的操作。将当前进程所使用的内核栈顶指针保存到旧进程的task_struct结构中的thread.sp字段中,并将新进程的task_struct结构中的thread.sp字段中保存的值作为新进程的内核栈顶指针。context_switch中的一个重要函数是switch_to,switch_to调用了 __switch_to_asm。

2023-04-26 12:42:44 60 1

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

• 脑加电启动首先由bootloader加载内核,内核紧接着需要挂载内存根文件系统,其中包含必要的设备驱动和工具,bootloader加载根文件系统到内存中,内核会将其挂载到根目录/下,然后运行根文件系统中init脚本执行一些启动任务,最后才挂载真正的磁盘根文件系统。• 我们这里为了简化实验环境,仅制作内存根文件系统。这里借助BusyBox 构建极简内存根文件系统,提供基本的用户态可执行程序。配置VSCode调试Linux内核。5、在.vscode中添加配置文件。6、跟踪Linux内核的启动过程。

2023-04-22 15:28:50 224

空空如也

空空如也

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

TA关注的人

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