《现代操作系统》第二版是一本深入探讨操作系统理论与实践的权威教材。该书详细阐述了操作系统的核心概念和技术,包括如何为用户提供虚拟机环境、管理I/O设备和其他系统资源。以下是根据书中的部分内容提取的关键知识点:
1. **虚拟机**:操作系统提供给用户的是一种虚拟机,即一个扩展的计算环境,它抽象了底层硬件,使得用户可以方便地执行各种任务,而无需关心底层硬件的具体操作。
2. **多道程序设计(Multiprogramming)**:多道程序设计是通过快速在内存中的多个进程间切换CPU来保持处理器的高利用率。这样,当一个或多个进程进行I/O操作时,CPU仍然有工作可做,避免了空闲等待。
3. **输入输出缓冲(Input Spooling & Output Spooling)**:输入缓冲是将例如卡片上的数据预先读入磁盘,以便当前运行的进程结束后,CPU有工作可处理。输出缓冲则是在打印前将待打印文件先复制到磁盘,而非直接生成输出。在个人计算机上,输入缓冲不太常见,但输出缓冲应用广泛。
4. **多道程序设计的目的**:主要目的是在等待I/O操作完成时让CPU保持忙碌。如果没有直接存储器访问(DMA),CPU会忙于执行I/O操作,因此多道程序设计在这种情况下无法提高CPU利用率。但是,如果I/O延迟是由于其他原因(如数据通过串行线到达),CPU可以执行其他任务。
5. **第二代计算机的局限**:第二代计算机缺乏保护操作系统免受恶意用户程序破坏的硬件机制。这使得操作系统安全成为一个严重问题,随着技术的发展,后来的计算机引入了内存保护等机制。
6. **计算机家族理念**:例如,Intel的Pentium系列处理器,尽管速度和功耗有所不同,但它们在架构上兼容,体现了家族设计理念。这种策略允许用户根据预算和性能需求选择不同型号的处理器。
7. **内存需求与成本**:在1980年,一个25×80字符的单色文本屏幕需要2000字节的缓冲区,而1024×768像素的24位彩色位图则需要2,359,296字节。那时,这两者的成本分别为$10和$11,520。如今,内存成本大幅下降,可以查阅最新的市场价格。
这些知识点揭示了操作系统设计的核心原则,包括资源管理和用户接口优化,以及计算机硬件发展对操作系统设计的影响。理解这些概念对于深入学习和设计现代操作系统至关重要。