
1.2.3 微型计算机的软件系统
软件是计算机系统必不可少的组成部分。微机系统的软件分为系统软件和应用软件两类。系统软件是管理、监控、维护计算机资源(包括硬件与软件)的软件。一般包括操作系统、语言编译程序、数据库管理系统。应用软件是指计算机用户为某一特定应用而开发的软件。例如,文字处理软件、表格处理软件、绘图软件、过程控制软件等。
1.系统软件
(1)操作系统(Operating System,OS)
操作系统是最基本、最重要的系统软件。它负责管理计算机系统的全部软件资源和硬件资源,合理地组织计算机各部分协调工作,为用户提供操作和编程界面。操作系统包括处理器管理、作业管理、存储器管理、设备管理和文件管理五大基本功能模块。
操作系统最基本的两个特征是并发和共享。并发性是指两个或者多个事件在同一时间的间隔内发生,它是一个较为宏观的概念。在多道程序环境下,并发性是指在一段时间内有多道程序在同时运行,但在单处理机的系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行的。为了使程序能并发执行,系统必须分别为每个程序建立进程。多个进程之间可以并发执行和交换信息。一个进程在运行时需要一定的资源。在操作系统中引入进程的目的是使程序能并发执行。
进程是一个正在内存中被运行或执行的程序,是程序的一次执行过程,也是系统进行调度和资源分配的一个独立单位。它是一个程序与其数据一起在计算机上顺利执行时所发生的活动。简单地说,就是一个正在执行的程序。一个程序被加载到内存,系统就创建了一个进程,程序执行结束后,该进程也就消亡了。同一个程序被执行多次就会创建多个进程。一个程序可以被分解为多个进程共同完成程序的任务,这些被分解的不同进程就叫作线程。
所谓共享是指,系统中的资源可供内存中多个并发执行的进程共同使用。
根据操作系统的功能和使用环境,大致可分为以下几类:
①单用户操作系统。计算机系统在单用户单任务操作系统的控制下,只能串行地执行用户程序,个人独占计算机的全部资源,CPU运行效率低。
DOS操作系统属于单用户单任务操作系统。
现在大多数的个人计算机操作系统是单用户多任务操作系统,允许多个程序或多个作业同时存在和运行。常用的操作系统中,Windows 98/XP是32位单用户多任务操作系统;Windows 7是32/64位单用户多任务操作系统。
②批处理操作系统。批处理操作系统是对一批作业处理,按一定的组合和次序自动执行的系统管理软件。它是以作业为处理对象,连续处理在计算机系统运行的作业流。这类操作系统的特点是:作业的运行完全由系统自动控制,系统的吞吐量大,资源的利用率高,但用户和正在运行的成批作业之间没有交互性,用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。
③分时操作系统。分时操作系统使多个用户同时在各自的终端上联机使用同一台计算机,CPU按优先级分配各个终端的时间片,轮流为各个终端服务,对用户而言,有“独占”这一台计算机的感觉。分时操作系统侧重及时性和交互性,使用户的请求尽量能在较短的时间内得到响应。如UNIX、Linux都属于交互式的分时操作系统。
④实时操作系统。实时操作系统是对随机发生的外部事件在限定时间范围内做出响应并对其进行处理的系统。实时操作系统中的“实时”即“立即”的意思,是一种时间性强、响应速度快的操作系统,DOS属于实时操作系统。
实时操作系统广泛应用于工业生产过程的控制和事务数据处理中,常用的系统有RDOS等。
⑤网络操作系统。为计算机网络配置的操作系统称为网络操作系统。它负责网络管理、网络通信、资源共享和系统安全等工作。常用的网络操作系统有NetWare和Windows NT。
⑥分布式操作系统。分布式操作系统是用于分布式计算机系统的操作系统。分布式计算机系统是由多个并行工作的处理机组成的系统,提供高度的并行性和有效的同步算法和通信机制,自动实行全系统范围的任务分配并自动调节各处理机的工作负载。
(2)语言编译程序
人和计算机交流信息时使用的语言称为计算机语言或程序设计语言。用程序设计语言描述的、用于控制计算机完成某一特定任务的程序设计语言语句的集合叫作程序。语句是程序设计中具有独立逻辑含义的单元,它可以分解为若干条计算机指令的集合。指令是给计算机下达的一道命令,一条指令包括操作码和操作数(或称地址码)两部分。编写指令的计算机语言通常分为机器语言、汇编语言和高级语言三类。
①机器语言(Machine Language)。机器语言是一种用二进制代码“0”和“1”形式表示的,能被计算机直接识别和执行的语言。用机器语言编写的程序称为计算机机器语言程序。它是一种低级语言,用机器语言编写的程序不便于记忆、阅读和书写。通常不用机器语言直接编写程序。
②汇编语言(Assemble Language)。汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。汇编语言的每条指令对应一条机器语言代码,不同类型的计算机系统一般有不同的汇编语言。用汇编语言编制的程序称为汇编语言程序,机器不能直接识别和执行,必须由“汇编程序”翻译成机器语言程序才能运行。汇编语言适用于编写直接控制机器操作的低层程序,它与机器密切相关,不容易使用。所以,汇编语言是一种依赖于机器的低级语言。
③高级语言(High Level Language)。高级语言是一种比较接近自然语言和数学表达式的计算机程序设计语言。高级语言的使用,大大提高了编写程序的效率,改善了程序的可读性。高级语言主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的程序,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。因此,为了提高软件开发效率,开发软件时应尽量采用高级语言。用高级程序设计语言编写的程序称为“源程序”,源程序不可直接运行。要在计算机上使用高级语言,必须先将该语言的编译或解释程序调入计算机内存,才能使用该高级语言。要把源程序翻译成机器指令,通常有编译和解释两种方式。
编译方式是将源程序编译成目标程序,然后通过与库函数的连接将目标程序生成可执行程序,也就是说,编译程序完成高级语言程序到低级语言程序的等价翻译,如C语言。解释方式是将源程序逐句翻译,翻译一句执行一句,边翻译边执行,由计算机解释执行程序自动完成,如BASIC语言和Perl语言。
用传统的结构化方法开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。面向对象程序设计语言成为20世纪90年代后软件开发方法的主流,它是一种移植性较好的高级程序设计语言,例如:Java、Visual Basic和C++。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很广的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
④数据库管理系统。数据库管理系统(Database Management System,DBMS)的作用是管理数据库。数据库管理系统是有效地进行数据存储、共享和处理的工具。目前,微机系统常用的单机数据库管理系统有dBASE、FoxBase、Visual FoxPro等,当今数据库管理系统主要用于档案管理、财务管理、图书资料管理、仓库管理、人事管理等数据处理。
2.应用软件
应用软件是用来管理、控制和维护计算机各种资源,并使其充分发挥作用,提高工效、方便用户的各种程序集合。
(1)通用软件
通用软件通常是为解决某一类问题而设计的。例如,文字处理软件WPS、Word,表格处理软件Excel等。
(2)专用软件
专用软件是针对某一特殊功能专门开发的软件。如开发一个能自动控制车间里车床的程序等。