"4_操作系统教程_第四版_课后答案_孙忠秀"
在操作系统教程第四版的课后答案中,我们关注了几个关键知识点:
1. 内存管理和CPU利用率:
- 题目中提到,一台计算机有IMB(假设为1MB)内存,操作系统占用200KB,每个用户进程占用200KB。这意味着在不考虑额外内存的情况下,系统可以同时运行4个用户进程。
- 当用户进程等待I/O操作80%的时间,CPU的利用率可以通过1 - (等待概率)^进程数量来计算。在这种情况下,CPU利用率起初为1 - (80%)^4 = 0.59,即59%。
- 增加1MB内存后,系统可以同时运行9个用户进程,CPU利用率提高到1 - (20%)^9 = 0.87,即87%。
- CPU利用率的提升为(87%-59%) / 59% = 47%。
2. 并发执行与CPU利用率:
- 在一个多任务环境中,如果有两个程序A和B,它们有不同的计算和I/O操作,CPU可能存在空闲等待。例如,程序A在打印时,CPU可能空闲;同样,当程序B在输入时,CPU也可能空闲。
- 程序A的执行轨迹包括交替的计算和打印,而程序B的执行轨迹是计算、输入然后再次计算。分析并发执行图,可以找出CPU空闲等待的具体时间段,例如在100ms到150ms之间。
- 程序A在整个执行过程中没有等待CPU,而程序B在180ms到200ms之间因为等待输入而需要等待CPU。
3. 多道程序设计:
- 对于三道程序A、B、C,它们的内部计算和I/O操作时间不同。在抢占式和非抢占式调度中,多道运行方式会显著减少总的执行时间。
- 抢占式调度中,程序运行会被中断以允许更高优先级的程序执行,这会导致额外的调度开销,但能更有效地利用CPU,总用时190ms,相比单道运行节省70ms。
- 非抢占式调度下,程序执行不会被中断,直到当前任务完成,总用时180ms,同样比单道运行节省时间。
这些知识点揭示了操作系统如何管理内存以提高效率,以及如何通过并发执行和多道程序设计来优化CPU利用率。理解这些概念对于深入学习操作系统原理至关重要。