广东网站建设智搜宝,东莞效果好的营销型网站建设,网站的建设主机费用,WordPress适合做多大级别的网站实验课之前有一些问题 中断机制 第一个问题#xff1a; interrupt的两个状态源头#xff1a; 外中断多由随机中断#xff08;异步中断#xff09;造成#xff0c;如鼠标点击#xff0c;键盘输入#xff1b; 内终端多由故障终端#xff1a;程序运行异常#xff0c;硬件…实验课之前有一些问题 中断机制 第一个问题 interrupt的两个状态源头 外中断多由随机中断异步中断造成如鼠标点击键盘输入 内终端多由故障终端程序运行异常硬件异常系统调用是更高一级的调用需要进入内核模式也算是一个异常中断。
第二个问题 进程的上下文信息 进程切换需要保存上下文context保存操作系统运行该程序的一些基本信息保护住此程序的内存区 从cpu的层面就是保存当前系统运行的寄存器内的内容push入对应堆栈
一般来说由硬件分辨双模式dual modestatus0为内核模式status1为用户模式。 一般发生中断时cpu模式从user mode立刻切换到 kernel mode 对应这张图的判断状态码和处理中断程序阶段 进程切换 这里状态队列分为等待状态和就绪状态。
那么一个进程的状态究竟放在什么地方呢 每个进程都有一个pcb相对应
所以一个进程完整的内存部分context包含什么呢 但这些部分在内存中并非连续的而是离散的
猜测这里大概是虚内存估计后面课程会有讲解因为我们都知道硬件读取都是顺序的。
状态队列
不同的i/o设备由不同的等待队列所以有多个等待队列 运行状态队列是没有的理论上来说单核cpu只有一个进程处于运行状态 而且我们可以看到他们查询进程实体时只需要查询链接的pcb即可
就绪队列出列
进程调度 其实就是调度器将存在的进程在各种状态之间切换
这里有一个问题下面有两个事件一个事件是cpu执行分支子进程一个事件是中断事件发生。这两个事件是主动还是被动? 我目前认为子进程分支执行是父进程调用所以是主动中断发生根据前面可以判断这里大概率不是调用i/o设备导致的中断应该是父进程调用子进程产生的并发如果是这样估计也是主动但这里只是我的猜想。后面课程估计会有答案。