
2.1.2 系统软件
系统软件是管理、监控计算机软/硬件资源,维护计算机运行,支持应用软件开发和运行的软件总和。
系统软件具有调度、监控、维护计算机系统的功能,使得操作员和其他应用软件能够将计算机当作一个整体,不需要考虑底层硬件。
系统软件包括操作系统、语言处理程序、数据库管理系统、诊断程序和服务性程序等。
1. 操作系统
操作系统(Operating System)是管理和控制计算机所有软件、硬件资源的程序,是直接运行在“裸机”上的系统软件,为其他软件和硬件提供支持,是人与计算机之间的接口,如图2-1所示。

图2-1 操作系统的地位
操作系统的功能包括进程管理、存储管理、磁盘及文件管理、设备管理等。
常见的操作系统有Windows 7、Windows 10、UNIX、OS/2、Linux、macOS等。手机、平板电脑等智能设备的操作系统有Android、iOS等。
2. 语言处理程序
计算机能够直接处理的语言和常用的人机交互语言并不一致,因此需要通过语言处理程序进行转换。语言处理程序将人们编写的高级语言程序通过解释或编译的方式,生成计算机可以直接执行的目标程序。
高级语言包括C、Pascal、C++、Java、Delphi等,这些语言的语法、命令格式各不相同。语言处理程序有汇编程序、编译程序、解释程序等。
3. 数据库管理系统
数据库管理系统(DataBase Management System,DBMS)是操纵和管理数据库的系统软件,用于建立、使用和维护数据库资源。
数据库管理系统可以统一管理和控制数据库,保证数据库的安全性和完整性。
数据库管理系统的主要功能包括数据库的定义和操作、共享数据的并发控制、数据的安全和保密等。
常用的数据库管理系统有Foxpro、MS Access、DB2、Oracle、MySQL、MS SQL Server等。
4. 诊断程序
如同人们可能感冒、发烧、扭伤身体一样,计算机同样会“害病”。
诊断程序的功能是找到计算机存在的问题(如黑屏、蓝屏、宕机、鸣叫等),判断计算机各部件能否正常工作。
诊断程序往往既可检测硬件故障,也可定位软件的错误。
例如,微型计算机在开机加电后,一般会先运行ROM中的一段自检程序,检查计算机系统是否正常,这段自检程序就是最简单的诊断程序。
5. 服务性程序
服务性程序是一类辅助性程序,它提供各种服务,如用于程序的装入、链接、编辑和调试的装入程序、链接程序、编辑程序和调试程序,以及故障诊断程序、纠错程序等。
6. 标准库程序
用户编制程序时,为了使用方便和重复利用,通常可将一些常用程序段按照标准格式预先编写调试成功,组成标准程序库。
例如,Windows下扩展名为.dll的文件就是所谓动态链接库文件,stdio.h则是C语言中的标准输入/输出库函数文件。
7. 分布式软件系统
分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
它可以解决组织机构分散而数据需要相互联系的问题。例如,航空公司的管理,其总公司与各地分公司分别处于不同的城市,在业务上需要处理各自的数据,同时彼此间还要进行数据交换和处理,这时就需要使用分布式系统。
8. 人机交互系统
人机交互系统(Human-Computer Interaction,HCI)是用于人与计算机之间交互的软件系统,提供友好的界面来完成信息管理、服务和处理等功能,如图2-2所示。

图2-2 AR交互系统
人机交互系统包括4个发展阶段:基于键盘和字符显示器的交互、基于鼠标和图形显示器的交互、基于多媒体技术的交互、第四代人机自然交互与通信。
人机交互技术在现实中得到广泛应用,例如,智能语音、生物识别、手势识别、增强现实(Augmented Reality,AR)和虚拟现实(Virtual Reality,VR)、车载交互、智能客服等。