旅游电子商务网站设计,石家庄住房城乡建设网站,百度手机极速版,时彩网站开发进程切换 上下文切换上下文切换的消耗上下文切换与模式切换 对于通常的进程而言#xff0c;其创建、撤销及要求由系统设备完成的IO操作#xff0c;都是利用系统调用而进入内核#xff0c;再由内核中的相应处理程序予以才完成的。进程切换同样是在内核的支持下实现的#xf… 进程切换 上下文切换上下文切换的消耗上下文切换与模式切换 对于通常的进程而言其创建、撤销及要求由系统设备完成的IO操作都是利用系统调用而进入内核再由内核中的相应处理程序予以才完成的。进程切换同样是在内核的支持下实现的因此可以说任何进程都是在操作系统内核的支持下运行的是与内核紧密相关的 上下文切换
切换CPU到另一个进程需要保存当前进程状态并恢复另一个进程的状态这个任务称为上下文切换。上下文是指某一时刻CPU寄存器和程序寄存器的内容。进行上下文切换时内核会将旧进程状态保存在其pcb中然后加载经调度而要执行的新进程的上下文
上下文切换实质上是指处理机从一个进程的转到另一个进程上运行在这个过程中进程的运行环境产生了实质性的变化。上下文切换的流程如下 1挂起一个进程保存CPU上下文包括程序计数器和其他寄存器。2更新PCB信息3把进程的PCB移入相应的队列如就绪在某事件阻塞等队列4选择另一个进程执行并更新其PCB5跳转到新进程PCB中的程序计数器所指向的位置执行6恢复处理机上下文上下文切换的消耗
上下文切换通常是计算密集型的即它需要相当可观的CPU时间在每秒几十上百次的切换中每次切换都需要纳秒级的时间所以上下文切换对系统来说意味着消耗大量的CPU时间。有些处理器提供多个寄存器组这样上下文切换就只需要改变当前寄存器组的指针
上下文切换与模式切换
模式切换与上下文切换是不同的模式切换时CPU逻辑上可能还在执行同一进程。用户进程最开始都运行在用户态若进程因中断或异常进入核心态运行执行完后又回到用户态刚被中断的进程运行。用户态和内核态之间的切换称为模式切换而不是上下文切换因为没有改变当前的进程。上下文切换只能发生在核心态它是多任务操作系统中的一个必须的特性 注意调度和切换的区别。调度是指决定资源分配给哪个进程的行为是一种决策行为切换是指实际分配的行为是执行行为。一般来说先有资源的调度然后才有进程的切换