操作系统的定义
操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是现代计算机系统中最基本和最重要的系统软件,而其它的诸如编译程序、数据库管理系统等系统软件,以及大量的应用软件,都直接依赖于操作系统的支持,取得它所提供的服务
操作系统的作用#
用户与硬件之间的接口#
OS 的第一个作用是作为用户与计算机硬件系统之间的接口,从层次上看 OS 处于用户与计算机硬件系统之间,用户在OS帮助下能够方便、快捷、可靠地操纵计算机硬件和运行自己的程序。用户可以通过命令方式、系统调用方式和图标一窗口方式来实现与 OS 的通信,由于应用程序也是基于 OS 运行的,因此用户使用软件也离不开 OS。
资源的管理者#
OS 第二个作用是作为计算机系统资源的管理者,因为在一个计算机系统中通常都含有多种硬件和软件资源。归纳起来可将这些资源分为四类:处理机、存储器、I/O设备以及文件(数据和程序),OS 的主要功能也正是对这四类资源进行有效的管理。
对资源的抽象#
一台完全无软件的计算机系统(即裸机)向用户提供的仅是硬件接口(物理接口),用户想要使用该系统就必须对物理接口的实现细节有充分的了解,这就致使该物理机器难于广泛使用。
为了方便用户使用 I/O设备,人们在裸机上覆盖上一层 I/O 设备管理软件,这样的软件隐藏了 I/O 设备的具体细节,向上提供了一组抽象的 I/O 设备。通常把覆盖了上述软件的机器称为扩充机器或虚机器,它向用户提供了一个对硬件操作的抽象模型。
操作系统
方便性:用户采用高级语言书写的程序可以通过 OS 编译成机器代码,也可以使用 OS 所提供的各种命令操纵计算机系统;
有效性:OS 提高系统资源的利用率和吞吐量;
可扩充性:OS 能适应计算机硬件、体系结构以及计算机应用发展的要求;
开放性:系统能遵循世界标准规范,特别是遵循开放系统互连 OSI 国际标准。
OS 的基本特征
操作系统具有并发、共享、虚拟和异步四个基本特征。
并发
并发执行这一特征使得 OS 能有效地提高系统中的资源利用率,增加系统的吞吐量。并行性是指两个或多个事件在同一时刻发生,而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,这些可以并发执行的程序便可被分配到多个处理机上,从而实现并行执行。
实现并发的关键在于引入了进程,进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。若对内存中的多个程序都分别建立一个进程,它们就可以并发执行。
共享
OS 环境下的资源共享(资源复用)是指:系统中的资源可供内存中多个并发执行的进程共同使用,这里在宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。因为系统中的资源远少于多道程序需求的总和,会形成它们对共享资源的争夺,系统必须对资源共享进行妥善管理。由于资源属性的不同,进程对资源复用的方式也不同,目前主要实现资源共享的方式有如下两种:
资源共享的方式 说明
互斥共享方式 某些资源(如打印机、磁带机)等,虽然可以提供给多个进程(线程)使用,但应规定在一段时间内只允许一个进程访问该资源
同时访问方式 例如磁盘等设备允许在一段时间内由多个进程“同时”对它们进行访问,在微观上这些进程对该资源的访问是交替进行的(单处理机)
并发和共享是多用户(多任务)OS 的两个最基本的特征,它们又是互为存在的条件。若系统不允许并发执行也就不存在资源共享问题,若系统不能对资源共享实施有效管理也必然会影响到诸进程间并发执行的程度。