实验八:理解进程调度时机跟踪分析进程调度与进程切换的过程
ntel定义的中断类型主要有以下几种:
1.硬中断:CPU的两根引脚。CPU在执行每条指令后检测这两根引脚的电平,如果是高电平,说明有中断请求,CPU就会中断当前程序的执行,处理中断。
2.软中断/异常:异常分为故障、退出、陷阱三种。
Linux内核通过schedule函数实现进程调度,schedule函数在运行队列中找到一个进程,把CPU分配给它。所以调用schedule函数一次就是调度一次,调用schedule函数的时候就是进程调度的时机。
简单总结进程调度时机如下:
(1)用户进程通过特定的系统调用主动让出CPU。
(2)中断处理程序在内核返回用户态时进行调度。
(3)内核线程主动调用schedule函数让出CPU
(4)中断处理程序主动调用schedule函数让出CPU
实验步骤:
在实验楼提供的Linux虚拟机环境中打开一个终端命令窗口,参照如下过程配置运行MenuOS系统
返回LinuxKernel,打开调试模式:
另外打开一个shell命令窗口进行gdb进行远程调试,配置gdb远程调试和设置断点。
运行: