程序是一组旨在完成特定任务的指令。同样,一个进程指的是一个计算机程序的运行时实例。在一个程序的执行过程中,几个线程可能是平行运行的。单线程的进程指的是线程本身就是进程。

上下文切换

操作系统使用这种技术在不同状态之间切换进程,通过CPU执行其功能。它是一个保存旧进程(暂停)的上下文(状态)并将其加载到新进程(恢复)的过程。每当CPU在一个进程和另一个进程之间切换时,它就会发生。基本上,CPU的寄存器和程序计数器在任何时候的状态都代表一个上下文。在这里,保存当前执行进程的状态意味着将所有活的寄存器复制到PCB(进程控制块)。此外,在这之后,恢复进程的状态以运行或执行下一个进程,这意味着将活的寄存器的值从PCB复制到寄存器中。

交换

这是一个进程从主存储器(RAM)暂时交换(移动)到辅助存储器(磁盘)的过程。主存储器速度快,但空间比二级存储器小,所以不活动的进程被移到二级存储器中,以后系统再把存储器从二级存储器换到主存储器。在交换过程中,大部分时间是在传输信息,交换的内存量与总时间成正比。交换又被划分为两个概念: 换入(Swap-in)和换出(Swap-out)。

  • 换入是指将一个程序从硬盘上移走并移回主内存或RAM的过程。
  • Swap-out是将一个程序从RAM或主存储器中移除,并将其移动或存储到硬盘或二级存储器中。

交换和上下文切换的区别 :

上下文切换 交换
上下文切换是一个存储旧进程的状态并将其加载到新进程的程序。 本质上,它是一种复制整个进程的方法。
当内核将CPU的控制权从一个进程转移到另一个已经准备好的运行状态时,就会发生上下文切换。 交换发生在整个进程被转移到磁盘上的时候。
上下文切换决定了一个进程是否处于暂停模式。 当涉及到交换时,它涉及到内存,多少内存被交换。
上下文切换将进程从运行状态切换到就绪状态,而调度器负责将CPU资源分配给就绪队列中的进程。 这是一个操作系统术语,我们用它来指代磁盘和主内存之间的数据交换。
活动进程做上下文切换。 非活动进程做交换。
上下文切换提供了更高程度的多任务。 交换提供了更大程度的多程序化。
上下文切换有助于更好地利用操作系统。 交换有助于获得更好的内存利用率。

交换和上下文切换的区别

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:交换和上下文切换的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-swapping-and-context-switching.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。