正如操作系统概念书所示,本节" 处理状态": 流程定义了状态:新的,准备好的,正在运行的,等待的和终止的。
新状态和就绪状态之间存在冲突,我知道在就绪状态下,进程在内存中分配,并且在创建时分配所需的所有资源,但它只等待CPU时间(调度)。 但新州是什么?在内存中分配之前的前一阶段是什么?
答案 0 :(得分:3)
在将任务提交到操作系统后,无法立即为操作系统执行的所有任务分配内存。所以他们必须保持新的状态。关于何时进入就绪状态的决定由长期调度程序决定。有关长期计划程序的更多信息http://en.wikipedia.org/wiki/Scheduling_(computing)#Long-term_scheduling
答案 1 :(得分:2)
更确切地说,新的状态适用于刚刚创造的那些过程。这些过程已经完全创造并处于其成长阶段。
然而,就绪状态意味着创建的存储在PCB(过程控制块)中的过程已获得执行所需的所有资源,但CPU没有运行该过程'指令,
我给你一个简单的例子: -
说,您有2个进程。进程A是syncing your data over cloud storage
,进程B是printing other data
。
因此,如果创建过程B以存储在PCB中,则另一个 进程,进程A已经创建,并没有得到 运行的机会,因为CPU没有调用Process的这些指令 但是,进程B需要找到打印机和其他驱动程序 检查。还必须检查要打印的页面的验证! 因此,这里创建了Process A并且正在等待 CPU时间---因此,处于就绪状态。而进程B正在等待 要初始化的打印机和要检查的文件 印刷--->因此,在新的状态(这意味着这些过程还没有 成功加入PCB)。
另一件需要指导的事情是For each process there is a Process Control Block, PCB, which stores the process-specific information.
我希望它能清除你的怀疑。随意评论你不明白的任何事情......