- 博客(3)
- 收藏
- 关注
原创 【无标题】
1、Linux系统的一般执行过程最一般的情况:正在运行的用户态进程X切换到运行用户态进程Y的过程(1)正在运行的用户态进程X(2)发生中断——save cs:eip/esp/eflags(current) to kernel stack,then load cs:eip(entry of a specific ISR) and ss:esp(point to kernel stack).(3)SAVE_ALL //保存现场。
2023-05-15 17:02:23
38
1
原创 Lab5 深入理解进程切换
该函数切换了寄存器状态和栈, 新进程在该调用后开始执行, 而switch_to之后的代码只有在当前进程下一次被选择运行时才会执行执行环境的切换是在switch_to()中完成的, switch_to完成最终的进程切换,它保存原进程的所有寄存器信息,恢复新进程的所有寄存器信息,并执行新的进程。在进程切换之前, 首先执行调用每个体系结构都必须定义的prepare_task_switch挂钩, 这使得内核执行特定于体系结构的代码, 为切换做事先准备. 大多数支持的体系结构都不需要该选项。
2023-04-25 22:30:44
69
原创 Linux操作系统Lab1
将一个简单的C程序汇编成LoongArch或RISC-V汇编代码,并逐步分析程序的执行过程,深入理解存储程序计算机和函数调用堆栈框架在执行过程中所起的作用。版本:RISC-V rv32gc clang 15.0.0。
2023-03-14 20:55:09
49
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人