【问题标题】:Where does a New Process reside? In Primary Memory or Secondary Memory?新流程驻留在哪里?在主内存还是辅助内存?
【发布时间】:2016-10-15 23:31:45
【问题描述】:

当一个进程被Long Term Scheduler选中时,该进程进入Ready队列(Ready State from New State)并且就绪队列中的所有进程都存在在主内存中。但是当一个进程处于一个新的状态时,它驻留在哪里呢?在主内存还是辅助内存?

但是,由于就绪队列进程存储在主内存中,因此,新进程可能驻留在辅助内存中!但是找不到合适的理由!

【问题讨论】:

  • 什么是“主存”和“次存”?
  • 主内存是主内存,像RAM一样是易失性的,辅助内存像硬盘一样是非易失性的。

标签: memory memory-management process operating-system


【解决方案1】:

当一个进程在通过fork 系统调用或类似的东西创建后立即处于“新”状态时,它最初驻留在主内存中。根据可用内存的数量,操作系统可能会决定将其换出到辅助存储或保留在主内存中。参考下面的进程状态转换图(取自 The Design of Unix Operating System)-



直接从The Design of Unix Operating System引用-

当父进程执行fork系统调用并最终进入准备运行的状态(3或5)时,进程进入“created”状态的状态模型。进程调度程序最终会选择要执行的进程,并且进程进入“内核运行”状态,在此完成它的 fork 系统调用部分。

【讨论】:

  • 明白了!这是否意味着主存越大,性能就越好?
  • 是与否。例如,在 32 位机器上拥有 16 GB 内存将无济于事。
猜你喜欢
  • 2013-11-10
  • 1970-01-01
  • 2011-09-18
  • 2015-02-17
  • 2021-12-13
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
相关资源
最近更新 更多