【问题标题】:clarify the non-overlapped part regarding OS澄清关于操作系统的非重叠部分
【发布时间】:2016-01-24 12:28:44
【问题描述】:

在这种情况下,操作系统正在启动一个程序-首先程序从磁盘传输到内存,然后执行,然后部分程序涉及从磁盘读取数据文件到内存,对数据执行一些计算和打印结果。这是非重叠版本,因为当打印机或磁盘正在运行作业时操作系统处于空闲状态 - 重叠版本对我来说很清楚,当正在读取磁盘或打印机忙时,操作系统可以处理其他程序(并发执行)。


现在我卡住的部分是一长串程序的最佳重叠时间与非重叠时间的比率。 间隔为操作系统 1 个单位,磁盘操作 3 个单位,打印 3 个单位和程序 2 个单位。我的方法是(这可能是不清楚的理解的结果)在最好的重叠条件下操作系统永远不会空闲。正确的方法应该是什么?

【问题讨论】:

  • 我觉得你有点困惑。如果根本没有进入操作系统内核并且用户线程/进程正在使用所有可用的 CPU 执行,通常认为这是最佳的。显然,这总体上是不现实的,因为这意味着线程无法执行任何 I/O,因此基本上没有用:)
  • @MartinJames 我从一本书(Carl hemacher - 计算机组织和嵌入式系统第 5 版)中得到了这个问题!当其中一个进程正在使用磁盘或打印机或正忙于程序时,我无法想象操作系统会处理其他几个进程(具有相同的要求/性质)!

标签: architecture operating-system cpu-architecture processor


【解决方案1】:

在大多数系统中并非如此:

在这种情况下,操作系统正在启动一个程序-首先将程序从磁盘传输到内存,

可执行映像告诉程序加载器如何设置虚拟地址空间。当出现页面错误时,程序会从磁盘传输到内存。程序在第一次启动时会发疯。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2013-08-31
    相关资源
    最近更新 更多