1.3.2 计算机软件系统
计算机软件是指在计算机硬件上运行的各种程序和相关的说明文件。这里所说的程序是指用某种特定的符号系统(语言)对被处理的数据和实现算法的过程进行的描述,也就是用于指挥计算机执行各种动作以便完成指定任务的指令的集合。在程序的编制和维护中,必须对程序做必要的说明,并整理出有关的资料。在运行程序时,有时还需要输入必要的数据。因此计算机软件就是可以指挥计算机进行工作的程序和程序运行时所需要的数据,以及与这些程序和数据有关的文字说明和图表资料。
软件是计算机的灵魂,计算机软件一般可分为系统软件与应用软件两大类。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
1.3.2.1 系统软件
系统软件是指管理、控制和维护计算机及外部设备,提供用户与计算机之间的界面,支持、开发各种应用软件的程序。系统软件主要包括操作系统、语言编译程序、数据库管理系统。
1.操作系统(OS:Operating System)
◆ 操作系统的定义
操作系统是一个系统软件,它是一些程序模块的集合,这些程序模块管理和控制计算机系统中的软硬件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境。操作系统在计算机与用户之间起到接口的作用,如图1-2所示。
图1-2 操作系统的作用
操作系统是最基本,最重要的系统软件。它负责管理计算机系统的全部软件资源和硬件资源,合理地组织计算机各部分协调工作,为用户提供操作和编程界面。随着计算机技术的迅速发展和计算机的广泛应用,用户对操作系统的功能、应用环境、使用方式不断提出了新的要求,因而逐步形成了不同类型的操作系统。根据操作系统的功能和使用环境,大致可分为单用户操作系统、批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统等。
操作系统通常是最靠近硬件的一层系统软件,它把硬件裸机改造成为功能完善的一台虚拟机,使得计算机系统的使用和管理更加方便,计算机资源的利用效率更高,上层的应用程序可以获得比硬件提供的功能更多的支持。
◆ 操作系统的主要作用
(1)提高系统资源利用率:通过对计算机系统软硬件资源进行合理的调度与分配,最大限度地发挥计算机系统工作效率,即提高计算机系统在单位时间内处理任务的能力。
(2)提供方便友好的用户界面:使用户无须了解过多的有关硬件和系统软件的细节就能方便灵活地使用计算机。
(3)提供软件开发的运行环境:给计算机系统的功能扩展提供支撑平台,使之在增加新的服务和功能时更加容易,且不影响原有的服务和功能。
◆ 操作系统的功能
(1)处理机管理:在多道程序或多用户的情况下,组织多个作业同时运行,解决对处理机分配调度策略、分配实施和资源回收等问题,从而实现处理机的高速、有效运行。
(2)存储管理:主要是对内存进行分配、保护和扩充,合理地为各种程序分配内存,保证程序间不发生冲突和相互破坏,并将内存和外部存储器结合管理,为用户提供虚拟内存。
(3)设备管理:根据一定的分配策略,把通道、控制器和输入/输出设备分配给请求输入/输出操作的程序,并启动设备完成实际的输入/输出操作,使用户方便灵活地使用设备。
(4)文件管理:这是对软件资源的管理,对暂时不用的程序数据以文件的形式保存到外存储器上,保证这些文件不会引起混乱或遭到破坏,并实现信息共享、保密和保护。
(5)用户接口:提供方便友好的用户界面,用户无须了解有关硬件和系统软件的细节就能方便灵活地使用计算机。
◆ 操作系统的分类
(1)按使用环境分为批处理操作系统、分时操作系统和实时操作系统;
(2)按用户数目分为单用户(单/多任务)操作系统、多用户操作系统、单机操作系统和多机操作系统;
(3)按硬件结构分为网络操作系统、分布式操作系统、并行操作系统和多媒体操作系统。
2.语言编译程序
人和计算机交流信息使用的语言被称为计算机语言或程序设计语言。计算机语言通常分为机器语言、汇编语言和高级语言三类。
3.数据库管理系统(DBMS:Database Management System)
数据库管理系统的作用是管理数据库,它是有效进行数据存储、共享和处理的工具,主要用于档案管理、财务管理、图书资料管理、仓库管理、人事管理等数据处理。目前,微机系统常用的单机数据库管理系统有DBASE、FoxBASE、Visual FoxPro等,适合于网络环境的大型数据库管理系统有Sybase、Oracle、DB2、SQL Server等。
1.3.2.2 应用软件
应用软件是计算机用户利用计算机的系统软件编写解决某一专门问题的程序。这些程序可能是用机器语言、汇编语言、数据库语言或BASIC、FORTRAN、C等高级语言编写的。例如文字处理软件、表格处理软件、绘图软件、财务软件、过程控制软件等。
◆ 文字处理软件:它主要用于用户对输入到计算机的文字进行编辑并能将输入的文字以多种字形、字体及格式打印出来。目前常用的文字处理软件有Microsoft Word 2003、WPS Office 2003等。
◆ 表格处理软件:表格处理软件是根据用户的要求处理各式各样的表格及数据并存盘打印出来。目前常用的表格处理软件有Microsoft Excel 2003、CCED等。
◆ 绘图软件:目前常用的有Adobe公司出品的图像处理软件Photoshop;Autodesk公司开发的工程制图工具AutoCAD,全面的三维建模、动画、图像制作软件3DSMAX;矢量图形绘制软件Corel DRAW;影像绘图软件Pocket Painter;网页图形制作软件Macromedia Fireworks;二维动画制作软件Macromedia Flash等。
◆ 实时控制软件:用于生产过程自动控制的计算机一般都是实时控制的。它对计算机的速度要求不高但可靠性要求很高。用于控制的计算机,其输入信息往往是电压、温度、压力、流量等模拟量,将模拟量转换成数字量后计算机才能进行处理或计算。这类软件一般统称为监察控制和数据采集软件SCADA(Supervisory Control And Data Acquisition)。