摘要: 结合虚拟化技术分析Linux系统的一般执行过程 一、 Linux系统运行一般场景:用户进程之间切换 ( 1 )用户态进程X调用系统调用或触发异常 用户态进程X需要进行进程切换时,可以通过调用一些特定的系统调用(例如fork、exec等)或者发生异常(例如缺页异常等)来触发进程切换。 (2)发生中断, 阅读全文
posted @ 2023-05-15 22:12 skadfj 阅读(85) 评论(0) 推荐(0)
摘要: Lab5:深入理解进程切换 首先找到对应进程调度的代码文件 Kernal/sched/core.c 找到 context_switch() 函数 其中包括rq,为进程的running queue;以及进程切换前后的进程描述符prev和next 首先调用一些函数做上下文切换的准备,与最后出现的fini 阅读全文
posted @ 2023-04-25 19:12 skadfj 阅读(95) 评论(0) 推荐(0)
摘要: 一、搭配环境 (1)安装编译工具 sudo apt-get install gcc-aarch64-linux-gnu sudo apt-get install libncurses5-dev build-essential git bison flex libssl-dev (2)制作根文件系统 阅读全文
posted @ 2023-04-01 16:09 skadfj 阅读(158) 评论(0) 推荐(0)
摘要: 实验三:debug mykernel 首先安装开发工具 sudo apt install build-essential sudo apt install qemu # install QEMU sudo apt install libncurses5-dev bison flex libssl-d 阅读全文
posted @ 2023-03-23 19:52 skadfj 阅读(615) 评论(0) 推荐(0)
摘要: 实验二:mykernel 实验内容:搭建虚拟的实验平台mykernel(x86-64 CPU) 实验环境: windows11 WSL Ubantu20.04.5 LTS 安装所需工具(axel工具及调试工具) sudo apt install axel sudo apt install build 阅读全文
posted @ 2023-03-13 21:59 skadfj 阅读(68) 评论(0) 推荐(0)
摘要: 实验内容 将一个简单的C程序汇编成ARM64汇编代码,并逐步分析程序的执行过程,深入理解存储程序计算机和函数调用堆栈框架在执行过程中所起的作用。 实验环境 Windows11 WSL Ubantu20.04.5 LTS 实验过程 首先可以使用vscode进行文件编辑: Vscode可以和WSL(wi 阅读全文
posted @ 2023-03-13 19:41 skadfj 阅读(79) 评论(0) 推荐(0)