2.2 考点串讲 2.2.1 操作系统概述 一、操作系统的定义 操作系统是计算机系统中*重要的系统软件,其他所有的软件都是建立在操作系统之上的,并在操作系统的统一管理和支持下运��。任何用户都是通过操作系统使用计算机的。 操作系统的定义为:操作系统(Operating System,OS)是计算机系统中的一个系统软件,它管理和控制计算机系统的硬件和软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。 操作系统的主要任务是使硬件所提供的能力得到充分的利用,支持应用软件的运行并提供相应的服务。由于操作系统在计算机系统中占据着重要地位,所以它已经成为现代计算机系统中一个必不可少的关键组成部分。 二、操作系统的作用 (1) 通过资源管理,提高工作效率。 操作系统的主要作用就是通过CPU管理、存储管理、设备管理和文件管理,对各种资源进行合理的分配,改善资源的共享和利用程度,*大限度地发挥计算机系统的工作效率,提高计算机系统的“吞吐量”(即系统在单位时间内处理工作的能力)。 (2) 改善人机界面,提供友好的工作环境。 操作系统既是计算机硬件和各种软件之间的接口,又是用户与计算机之间的接口。安装操作系统后,用户面对的不再是笨拙的裸机、由0和1组成的代码及一些难懂的机器指令,而是操作便利、服务周到的操作系统,操作系统明显地改善了用户界面,提高了用户的工作效率。 三、操作系统的特征 操作系统主要有并发性、共享性、虚拟性和不确定性四个基本特征。 1) 并发性(Concurrency) 并发性是指在计算机系统中存在着许多同时进行的活动。对计算机系统而言,并发是指宏观上看系统内有多道程序同时运行,微观上看实际上是串行运行。 2) 共享性(Sharing) 共享性是指系统中各个并发活动要共享计算机系统中的各种软、硬件资源,因此操作系统必须解决在多道程序间合理地分配和使用资源。 3) 虚拟性(Virtual) 虚拟性是操作系统中的重要特征,所谓虚拟是指把物理上的一台设备变成逻辑上的多台设备。例如,我们将在本章后面介绍的假脱机(Spooling)技术,就是利用快速、大容量、可共享的磁盘作为中介,模拟多个非共享的低速的输入/输出设备,这样的设备称为虚拟设备。 4) 不确定性(Non-Determinacy) 通常一个程序的初始条件相同时,无论何时运行,结果都应该相同。但由于操作系统并发执行系统内的各种进程,与这些进程有关的事件如从外部设备来的中断、输入输出请求、各种运行故障、发生的时间等都不可预测,如果处理不当,将导致系统出错,这种不确定性所带来的错误是很难查找的。 四、操作系统的功能 1) 处理机管理 处理机是计算机系统的心脏,在单用户系统或单道系统中,处理机为一个用户或一个作业服务,其管理简单,但资源利用率低。为提高系统资源的利用率,引入了多道程序技术,即多个程序(作业)同时运行。在多道程序或多用户的情况下,要组织多个作业同时运行,对多个用户进行响应,就需要解决对处理机的分配、调度和资源回收等问题。处理机管理负责解决如何把CPU时间合理地、动态地分配给程序运行的基本单位——进程,使处理机得到充分的利用。许多操作系统是以作业和进程的方式进行管理的,实现作业和进程的调度,分配处理机,控制作业和进程的执行。现代的操作系统还引入了线程(Thread)作为分配处理机的基本单位。 由于操作系统对处理机的管理策略不同,其提供的作业处理方式也就不同,如批处理方式、分时处理方式和实时处理方式,从而呈现在用户面前的就有不同的操作系统。在操作系统中,*重要的资源是处理机,*重要的管理是处理机管理。 2) 存储管理 计算机系统中,存储器(一般称为主存或内存)是运行程序和存放工作数据的部件,存储管理的工作主要是对内存储器进行分配、扩充和保护。 ? 内存分配:在内存中除了操作系统和其他系统软件外,还要有一个或多个用户程序。如何分配内存,以保证系统及各用户程序的存储区互相不冲突,是内存分配所要解决的问题。 ? 存储保护:系统中有多个程序在运行,如何保证一道程序在执行过程中不会有意或无意地破坏另一道程序?如何保证用户程序不会破坏系统程序?这些就是存储保护问题。 ? 内存扩充:当用户作业所需要的内存量超过计算机系统所提供的内存容量时,如何把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器,使这个虚拟存储器和内存一样方便使用,这就需要使用内存扩充。 存储器是计算机系统中*重要的资源之一,因为任何程序和数据,以及各种控制用的数据结构,都必须占有一定的存储空间,因此,存储管理的目的就是尽量提高内存的使用效率。存储管理的好坏直接影响着系统性能。 3) 设备管理 现代计算机系统常常配置很多种类的输入/输出设备,它们的输入/输出速度差别很大。计算机系统常常采用通道、控制器和设备三级控制方法管理这些设备。设备管理的任务就是监视这些资源的使用情况,根据一定的分配策略,把通道、控制器和设备分配给请求输入/输出操作的程序,并启动设备完成所需的操作。为了发挥设备和处理机的并行工作能力,常常采用缓冲技术和虚拟技术。 由于输入/输出设备种类很多,使用方法各不相同,因此,设备管理应为用户提供一个良好的界面,使具体的设备特性透明化,以便用户能方便、灵活地使用这些设备。 4) 文件管理(信息管理) 文件管理是对系统软件资源的管理。对用户来说,文件系统是操作系统中*直观的部分。我们把程序和数据统称为信息或文件,当一个文件暂时不用时,就把它放到外部存储器(如磁盘、磁带和光盘等)上保存起来。对这些文件如果不能很好地进行管理,就会引起混乱,甚至使其遭受破坏。这就是文件管理需要解决的问题。 文件管理的功能包括:建立、修改和删除文件;按文件名进行访问;决定文件信息的存放位置、存放形式及存取权限;管理文件间的联系及提供对文件的共享、保护和保密等,允许多个用户协同工作又不引起混乱。