"交换"和"上下文切换"之间的区别



在操作系统中,"交换"one_answers"上下文切换"有什么区别?我在我的教科书中发现的唯一区别是,在交换中有一个中期调度程序。给我点启示吧

交换是操作系统中通常用于主存和磁盘交换的术语。例如:当前在cpu上运行的进程需要在磁盘上存储更多的页面。因此,交换器将在交换所需的页面时,将其他进程(等待,终止…)的页面从主存交换到磁盘。

上下文切换另一方面,将进程从运行状态切换到就绪状态,而将cpu分配给就绪队列中存在的进程是在调度程序的帮助下完成的。

注意:这是一个简单的上下文切换示例。操作系统越复杂,在上下文切换期间完成的工作就越多。

  • 交换处理内存,交换多少内存。
  • 上下文开关处理进程,无论它的状态是暂停还是其他。

实际上它们可能是相同的

交换是将进程的当前计算状态(当被抢占或出于其他原因时)从物理内存保存到辅助存储器,通常是HDD。和/或将进程的当前计算状态从HDD加载到物理内存。

当操作系统将CPU从一个进程分配给另一个进程时,需要计算有意义,在CPU从当前运行的进程切换到另一个进程之前,当前运行进程的当前计算状态必须保存到半永久存储器中,即HDD,以便该进程下次获得CPU时可以从它离开的地方恢复执行。这个操作需要一些时间,比如说t个单位。保存进程状态后,要分配CPU的进程的状态必须从HDD带入物理内存。这也需要一些时间,p单位。这些t + p = z(比如说)是上下文切换。因此,上下文切换实际上是换入和换出操作所需的时间。

交换:进程内存从主内存交换到辅助内存,反之亦然。上下文切换:进程状态转移到进程控制块PCB,另一个程序的状态从PCB加载。

交换等待队列在进程的等待阶段,进程在稍后的时间从RAM中移除,进程重新引入主存,并从停止的地方重新开始执行,这种情况称为交换

最新更新