1.1.3 操作系统的主要特性
前面介绍的几种操作系统都各自具有自己的特征,如批处理系统可以实现多个作业的成批处理,简化用户使用难度,分时系统具有允许人机交互处理的特性,实时系统具有实时特性。但现代操作系统应该具备并发性、共享性、异步性和虚拟性四种最基本特性,其中并发性是最重要的特性。
1. 并发性
并发性是指两个或两个以上的事件在同一时间段内发生。操作系统是一个并发系统,操作系统的并发性体现在计算机系统中同时存在若干个运行着的程序,这些程序交替执行。并发性有效改善了包括CPU和I/O设备等系统资源的利用率,但也会产生一系列的系统管理问题,比如程序和程序之间如何切换,程序切换时如何保证程序和数据互不干扰,这都要求系统提供控制和管理程序的并发执行的机制和策略。
2. 共享性
共享性是指计算机系统的资源可被多个并发执行的程序共同使用。通常计算机系统的资源都会按照进入系统的程序的个性要求进行分配,为了提高资源利用率,这种分配策略最好是动态的,也就是程序需要使用某类资源时,它可以向系统提出申请,系统根据资源使用情况予以分配;而当程序使用完毕后,应及时释放和归还资源,以便系统将资源分配给其他程序。
3. 异步性
异步性是指多道程序环境中,程序的执行顺序和速度始终是动态变化和随机的。由于程序运行完全依赖于系统分配的资源,得到所有资源,程序就能正常运行。而在多道程序环境中,系统有限的资源必须分配给若干个程序,每个程序在获得运行所必需的资源之前,它只能等待。因而,系统资源分配的随机性造成了程序执行的随机性。
4. 虚拟性
虚拟性是指通过一定方法将一个物理实体转换为若干个逻辑上的对应物,或者将物理上的多个实体转换为逻辑上的一个对应物。物理实体是实际存在的,而逻辑对应物是虚拟的。采用虚拟技术的目的是为用户提供易于使用、方便高效的操作环境。例如,现代操作系统采用Spooling技术把打印机这样的独占设备转变成逻辑上的多台虚拟设备,采用多道程序设计技术将一个CPU虚拟成可供多个程序共同使用的多个逻辑CPU等。