操作系统的定义、功能、类型和层次结构虽然在历年试题中没有涉及,但这是理解操作系统的工作机制的基础,需要深入理解和掌握。重点理解操作系统的定义和功能。
任何一个计算机系统都是由两个部分组成的:计算机硬件系统和计算机软件系统。操作系统(Operating System,OS)是计算机系统中的核心系统软件,负责管理和控制计算机系统中硬件和软件资源,合理地组织计算机工作流程和有效利用资源,在计算机与用户之间起接口的作用,如图3-1所示。
图3-1 操作系统与硬件/软件的关系
在计算机系统中引入操作系统的目的可以从4个方面来理解。
操作系统是用户与计算机之间的接口。一方面,用户可以透明地使用计算机软/硬件资源;另一方面,操作系统提供了一些功能强大的系统调用,用户软件可以使用这些系统调用请求操作系统服务。
操作系统是计算机资源的管理者,它管理和分配计算机系统硬件和软件资源,合理地组织计算机的工作流程,使资源能为多个用户共享,当用户程序和其他程序争用这些资源时,提供有序的和可控的分配。
操作系统由一个系统核心和若干并发运行的程序组成。这些运行的程序称为“进程”,进程可以分为用户进程和系统进程两大类。每个进程完成特定的任务,系统核心则控制和协调这些进程的运行。
操作系统通常采用分层结构实现,各层次的程序按照一定的结构组织并协调工作。
操作系统的基本类型有:
● 批处理操作系统(Batch Processing Operating System)
● 分时操作系统(Time Share Operating System)
● 实时操作系统(Real Time Operating System)
● 网络操作系统(Network Operating System)
● 分布式操作系统(Distributed Operating System)
从资源管理的观点看,操作系统的功能分成五大部分,即:处理机管理、存储管理、文件管理、设备管理和作业管理。这五大部分相互配合,协调工作,实现对计算机系统的资源管理和控制程序的执行,为用户提供方便的使用接口和良好的运行环境。
操作系统由许多标准的、可兼容的基本单位构成(称为模块),各模块相对独立,模块之间通过规定的接口相互调用。模块化设计方法的优点是缩短了系统的开发周期,缺点是模块之间调用关系复杂、相互依赖,从而使分析、移植和维护系统较易出错。
层次化结构是指操作系统由若干模块按照某种逻辑关系进行分层组合而成,各层之间只能单向依赖。优点是大大地简化了接口的设计,整个系统的正确性由各层次的正确性来保证,易于保证可靠性,也便于维护和移植。
操作系统中只包括一个最小的核心,操作系统的其他功能(如文件服务、进程服务等)由用户进程来实现。优点是服务器以用户进程的形式运行而不是运行于核心态,它们不直接访问硬件,单个服务器的崩溃不会导致整个系统的崩溃,它适用于分布式系统。
面向对象的操作系统是按照面向对象思想设计的,具有数据隐藏及消息激活对象等特征。其中对象是对操作系统管理的信息和资源的抽象,可以被视为受保护的信息或资源的总称。优点是适用于网络操作系统和分布式操作系统中,Windows NT就被称为对象操作系统。
如果一个操作系统在系统中的所有处理机运行且共享同一内存,这样的系统就是一个对称多处理系统。优点是适合共享存储器结构的多处理机系统,即紧耦合的多处理机系统。