📜  在操作系统中交换

📅  最后修改于: 2020-12-15 09:27:19             🧑  作者: Mango

交换操作系统

交换是一种内存管理方案,其中任何进程都可以暂时从主内存交换到辅助内存,以便可以将主内存用于其他进程。它用于提高主内存利用率。在辅助存储器中,存储换出过程的位置称为交换空间。

RAM中不存在数据时才使用交换。

尽管交换过程会影响系统的性能,但它有助于运行更大且不止一个的进程。这就是为什么交换也称为内存压缩的原因。

交换的概念又分为两个概念:交换和交换。

  • 交换是从RAM中删除进程并将其添加到硬盘的一种方法。
  • 交换是从硬盘中删除程序并将其放回主内存或RAM中的一种方法。

示例:假设用户进程的大小为2048KB,并且是标准硬盘,其中交换的数据传输速率为1Mbps。现在,我们将计算从主内存传输到辅助内存所需的时间。

User process size is 2048Kb
Data transfer rate is 1Mbps = 1024 kbps
Time = process size / transfer rate
     = 2048 / 1024
     = 2 seconds
     = 2000 milliseconds
Now taking swap-in and swap-out time, the process will take 4000 milliseconds. 

交换的优势

  • 它有助于CPU在单个主存储器中管理多个进程。
  • 它有助于创建和使用虚拟内存。
  • 交换允许CPU同时执行多个任务。因此,进程不必在执行之前就等待很长时间。
  • 它提高了主内存利用率。

交换的缺点

  • 如果计算机系统断电,则在进行大量交换活动的情况下,用户可能会丢失与该程序有关的所有信息。
  • 如果交换算法不好,则复合方法可能会增加Page Fault的数量并降低总体处理性能。

注意:

  • 在单一任务操作系统中,只有一个进程会占用用户程序的内存区域,并一直保留在内存中,直到该进程完成为止。
  • 在多任务操作系统中,当所有活动进程无法在主内存中进行协调时,就会出现一种情况,然后从主内存中换出一个进程,以便其他进程可以进入它。