【问题标题】:Difference between "swapping" and "context switching"“交换”和“上下文切换”之间的区别
【发布时间】:2013-05-28 06:11:32
【问题描述】:

在操作系统中,“交换”和“上下文切换”有什么区别?我在教科书中发现的唯一区别是,在交换中有一个中期调度程序。对此有所了解。

【问题讨论】:

  • 可能因说话人而异,但“交换”是指将进程的内存从主内存中取出并放在磁盘上。它是一种在具有少量物理内存的机器上提供更大虚拟内存的机制。
  • 显然,内存交换与上下文切换完全不同。但是,通俗地说,您可以说操作系统“交换”与“上下文切换”线程,它们的含义相同。

标签: parallel-processing operating-system


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 如果您要回答,请在现有答案的基础上提供更清晰的信息或信息。
      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:
        • 交换处理内存,有多少内存被交换。
        • 上下文切换处理进程,无论它的状态是暂停还是其他。

        实际上它们可能是相同的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-09-09
          • 2018-01-05
          • 2012-07-21
          • 2016-08-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多