操作系统(Operating System,OS)是计算机系统中必不可少的核心系统软件,其他软件(如编辑程序、汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件)是建立在操作系统的基础上,并在操作系统的统一管理和支持下运行。操作系统是用户与计算机之间的桥梁,用户可以通过操作系统提供的功能访问计算机系统中的软硬件资源。
1、操作系统的作用、特征与功能
操作系统的作用是通过资源管理提高计算机系统的效率,改善人机界面为用户提供友好的工作环境。操作系统能有效的组织和管理系统中的各种软、硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。
操作系统的4个特征是并发性、共享性、虚拟性和不确定性。从资源管理的观点来看,操作系统的功能可分为5大部分:处理机管理、文件管理、存储管理、设备管理和作业管理。
(1)进程管理:实质上是对进程的执行“时间”进行管理,采用多道程序等技术将CPU的时间合理地分配给每个任务。主要包括进程控制、进程同步、进程通信、进程调度。
(2)文件管理:主要包括文件存储空间管理、目录管理、文件的读写管理和存取控制。
(3)存储管理:是对主存储器“空间”进行管理,主要包括存储分配与回收、存储保护、地址映射(变换)和主存扩充。
(4)设备管理:实质是对硬件设备的管理,包括对输入/输出设备的分配、启动、完成和回收。
(5)作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等。
操作系统提供系统命令级的接口,供用户组织和控制自己的作业运行。操作系统还提供编程一级接口,供用户程序和系统程序调用操作系统功能。
2、操作系统的类型
操作系统分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、微机操作系统和嵌入式操作系统等。
(1)批处理操作系统
批处理操作系统分为单道批处理和多道批处理。
单道批处理操作系统可以提交多个作业,“单道”的含义是指一次只有一个作业装入内存执行。当一个作业运行结束后,随即自动调入同批的下一个作业,从而节省了作业之间的人工干预时间,提高了资源的利用率。
多道批处理操作系统允许多个作业装入内存执行,将主机与外部设备的工作由串行改变为并行,避免等待而浪费时间。主要有三个特点:多道、宏观上并行运行、微观上串行运行。
(2)分时操作系统
在分时操作系统中,一个计算机系统与多个终端设备连接。分时操作系统是将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。例如:一个带20个终端的分时系统,若每个用户每次分配一个50ms的时间片,则每间隔1s即可为所有用户服务一遍。所以尽管各个终端上的作业是断续地运行的,但由于操作系统每次对用户程序都能做出及时的响应,因此用户感觉整个系统均归其一人占用。
分时系统主要有4个特点:多路性、独立性、交互性和及时性。
(3)实时操作系统
实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障。
实时系统分为实时控制系统和实时信息处理系统。实时控制系统主要用于生产过程的自动控制,如飞机的自动驾驶等。实时信息处理系统主要用于实时处理信息,如飞机订票系统等。
实时系统与分时系统除了应用的环境不同,主要区别为:
①系统的设计目标不同:分时系统是设计成一个多用户的通用系统;而是实时系统大都是专用系统。
②交互性的强弱不同:分时系统是多用户的通用系统,交互能力强;而实时系统仅允许操作并访问有限的专用程序,不能随便修改,交互能力差。
③响应时间的敏感程度不同。分时系统是以用户能接收的等待时间为系统的设计依据,而实时系统是以被测物体所能接受的延迟为系统设计依据,因此,实时系统对响应时间的敏感程度更强。
(4)网络操作系统
网络操作系统是使联网计算机能方便而有效地共享资源,为网络用户提供各种服务的软件有关协议的集合。因此,网络操作系统的功能主要包括高效、可靠的网络通信;对网络中共享资源的有效管理;提供电子邮件、文件传输、共享硬盘和打印机等服务;网络安全管理,提供互操作能力。
主要的网络操作系统有UNIX、Linux和各种版本的Windows Server系统等。
(5)分布式操作系统
分布式计算机系统是由多个分散的计算机连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换。通常,为分布式计算机系统配置的操作系统。
分布式操作系统能直接对系统中各类资源进行动态分配和调度、任务划分、信息传输协调工作,并为用户提供一个统一的界面,标准的接口,用户通过这一界面实现所需要的操作和使用系统资源,使系统中若干台计算机相互协作完成共同的任务,有效控制和协调任务的并行执行,并向系统提供统一、有效的接口的软件集合。
分布式操作系统使网络系统的更高级形式,它保持网络系统所拥有的全部功能,同时又有透明性、可靠性和高性能等特性。
(6)微机操作系统
常用的微机操作系统有各种版本的Windows、Linux等。Windows操作系统是Microsoft公司开发的图形用户界面、多任务、多线程操作系统。Linux是一套免费使用和自由传播的类UNIX操作系统,由世界各地成千上万的程序员设计和实现,其目的是建立不受任何商品化软件版权制约的、全世界都能自由使用的UNIX兼容产品。
(7)嵌入式操作系统
嵌入式操作系统运行在嵌入式智能芯片环境中,对整个智能芯片以及他所操作、控制的各种部件装置等资源进行统一协调、处理指挥和控制。
它的主要特点有:
①微型化:从性能和成本角度考虑,希望占用资源和系统代码量少,如内存少、子长短、运行速度有限、能源少。
②可定制:从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。
③实时性:嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求高。
④可靠性:系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施。
⑤易移植性:为了提高系统的易移植性,通常采用硬件抽象层和板级支撑包的底层设计技术。
嵌入式操作系统有很多,常见的有WindowsCE、Vxworks、Palm OS和eCos等。
3、促使操作系统发展的因素
促使操作系统发展的因素主要有三个方面:第一,硬件的不断升级与新的硬件产品出现,需要操作系统提供更多、更复杂的支持;第二,新的服务需求,操作系统为了满足系统管理者和用户需求,需要不断地扩大服务范围;第三,修补操作系统自身的错误,操作系统在运行的过程中其自身的错误也会不断地被发现,因此需要不断地修补操作系统自身的错误(补丁)。需要说明的是,在修补的过程中可能会产生新的错误。