永远积极向上!!!
蒟蒻JOY正在努力!!!
拒绝摆烂!!!
目录
0.知识总览
1.进程调度的时机
临界资源:一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。
临界区:访问临界资源的那段代码。
内核程序临界区一般是用来访问某种内核数据结构的,比如进程的就绪队列(由各就绪进程的PCB组成)
(PS:临界资源有很多种,所以一个进程有可能会有很多个临界区,分别用来访问不同的临界资源。个人理解)
eg:当访问内核临界资源时
内核程序临界区访问的临界资源如果不尽快释放的话,极有可能影响到操作系统内核的其他管理工作。因此在访问内核程序临界区期间不能讲行调度与切换
eg:当访问普通临界资源时
普通临界区访问的临界资源不会直接影响操作系统内核的管理工作。因此在访问普通临界区时可以进行调度与切换。
2.进程的切换与过程
3.进程调度的方式
4.JOY小讲堂
在操作系统中,用于调度和分派CPU的组件称为调度程序(调度器),它通常由三部分组成,如下
1)排队器。将系统中的所有就绪进程按照一定的策略排成一个或多个队列,以便于调度程
序选择。每当有一个进程转变为就绪态时,排队器便将它插入到相应的就绪队列中。2)分派器。依据调度程序所选的进程,将其从就绪队列中取出,将CPU分配给新进程。
3)上下文切换器。在对处理机进行切换时,会发生两对上下文的切换操作:第一对,将当
前进程的上下文保存到其PCB中,再装入分派程序的上下文,以便分派程序运行;第二对,移出分派程序的上下文,将新选进程的CPU现场信息装入处理机的各个相应寄存器。4)进程切换是有代价的?
在上下文切换时,需要执行大量load和store 指令,以保存寄存器的内容,因此会花费较多
时间。现在已有硬件实现的方法来减少上下文切换时间。通常采用两组寄存器,其中一组供内核使用,一组供用户使用。这样,上下文切换时,只需改变指针,让其指向当前寄存器组即可。
5.知识回顾与重要考点
都看到这啦!点个赞吧!鼓励一下!!!
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教!!!