系统软件是为整个计算机系统配置的、不依赖于特定应用领域的通用软件,用来管理计算机的硬件系统和软件资源。只有在系统软件的管理下,计算机的各硬件部分才能协调一致地工作。系统软件也为应用软件提供了运行环境,离开了系统软件,应用软件同样不能运行。
根据系统软件所实施功能不同,可以把系统软件分为以下几种类型。
1.操作系统
操作系统(Operation System,简写OS)是直接运行在“裸机”上的最基本的系统软件,其他软件都必须在操作系统的支持下才能运行。操作系统是由早期的计算机管理程序发展而来的,目前已成为计算机系统各种资源(包括硬件资源和软件资源)的统一管理、控制、调度和监督者,由它负责控制和管理计算机系统的各种硬件和软件资源,合理地组织计算机系统的工作流程,提供用户与操作系统之间的软件接口。它具有下列主要功能:
进程管理(即处理机管理)——在多用户、多任务的环境下,主要对CPU 进行资源的分配调度,有效地组织多个作业同时运行。
存储管理——主要是管理内存资源,合理地为程序的运行分配内存空间。
文件管理——有效支持文件的存储、检索和修改等操作,解决文件的共享、保密与保护。
设备管理——负责外部设备的分配、启动和故障处理,让用户方便地使用外设。
作业管理——提供使用系统的良好环境,使用户能有效地组织自己的工作流程。
操作系统可以增强系统的处理能力,使系统资源得到有效利用,为应用软件的运行提供支撑环境,让用户方便地使用计算机。操作系统是最底层的系统软件,是计算机软件的核心和基础,所有其他软件(包括系统软件与应用软件)都必须在它的支持和服务下运行。
操作系统可以分为单用户操作系统、批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统等六种类型。
图1-3-2 程序设计语言的种类
2.语言处理程序
为了让计算机解决实际问题,使计算机按人的意图进行工作,人们主要通过用计算机能够“懂得”的语言和语法格式编写程序并提交计算机执行。编写程序所采用的语言就是程序设计语言。到目前为止,计算机语言大致可分为五代。第一代是机器语言,第二代是汇编语言,第三代是面向过程程序设计语言,第四代是面向对象程序设计语言,第五代是基于Web的语言,如图1-3-2所示。
(1)机器语言
机器语言的每一条指令都是由0 和1 组成的二进制代码序列。机器语言是最底层的面向机器硬件的计算机语言,用机器语言编写的程序不需要任何翻译和解释就能被计算机直接执行。机器语言程序执行的速度快,效率高。机器语言的缺点是:二进制形式的指令代码记忆困难,编写和阅读程序的难度大;机器语言的通用性和可移植性较差。每一种计算机都有自己的机器语言。也就是说,针对一种计算机提供的机器语言程序不能在另一种计算机上运行。
(2)汇编语言(www.xing528.com)
汇编语言事实上也是一种面向具体机器的语言,它依赖于具体计算机型号的指令组。通俗而言,汇编语言是用人们容易阅读和理解记忆的助记符号去替换机器指令。比如加法,假设在某种计算机中其机器指令代码是10000,而其相对应的汇编语言则用ADD 来代表加法。显然用类似ADD 这样的汇编指令编写程序,就比用类似于10000 这样的机器指令编写程序简单、易懂。
不同的计算机CPU 芯片,其指令集是不一样的,所以其相应的汇编语言也不一样。这说明同一个汇编语言程序在不同类型的计算机中不能通用。比如在一个586 计算机上可以运行的汇编程序,在VAX 机器上则不能运行。但Intel 的80X86 芯片则由于具有向上兼容的特征,即低档80X86 计算机的汇编语言可以在高档的80X86 及奔腾机上运行,而高档的80X86 及奔腾机的汇编程序就不一定能在低档的80X86 上运行。
将二进制形式00 的机器指令代码序列用符号(或称助记符)来表示的计算机语言称为汇编语言。用汇编语言编写的程序(称汇编语言源程序)计算机不能直接执行,必须由机器中配置的汇编程序将其翻译成机器语言目标程序后,计算机才能执行。将汇编语言源程序翻译成机器语言目标程序的过程称为汇编。
(3)高级语言
机器语言和汇编语言都是面向机器的语言,而高级语言则是面向问题的语言。高级语言与具体的计算机硬件无关,其表达方式接近于人们对求解过程或问题的描述方法,容易理解、掌握和记忆。用高级语言编写的程序的通用性和可移植性好。
用高级语言编写的代码序列通常称为源程序。计算机不能直接执行源程序。用高级语言编写的源程序必须被翻译成二进制代码组成的机器语言后,计算机才能执行。高级语言源程序有解释和编译两种执行方式。
在解释方式下,源程序由解释程序边“解释”边执行,不生成目标程序,如图1-3-3所示。解释方式执行程序速度较慢。
图1-3-3 解释过程
在编译方式下,源程序必须经过编译程序的编译处理来产生相应的目标程序,然后再通过连接和装配生成可执行程序。因此,把用高级语言编写的源程序变为目标程序,必须经过编译程序的编译。编译过程如图1-3-4所示。
图1-3-4 编译过程
(4)基于Web 的语言
Java、J++是以C++为基础的一种Web(World Wide Web 万维网)类语言开发工具。Java 包含面向对象的编程思想,其程序通俗易懂。J++提供给程序员的工具要求Windows系统的支持,它只能运行于Windows 操作系统的计算机上。而Java 是一种独立于平台的语言,它不但能够在微机上运行而且可运行于Macintosh 和Unix 机上。它们的主要功能是交互式地生成网页。
超文本标记语言HTML 是目前主要的Web 语言。它以其简单精练的语法、极易掌握的通用性与易学性为WWW 技术的发展带来了一场前所未有的革命,使互联网普及发展至今日的辉煌。尽管HTML 在布局、外观方面具有优势,但由于缺乏对内容的表达能力,在可扩展性、交互性、语义、超链接等方面具有先天不足,已越来越难以满足网络时代的电子商务、远程医疗、数据库与搜索引擎等领域的多态信息的交互、传输和再现的要求。
XML 是结构化的标记语言,即实现“文档结构化”的语言规范。一个XML 文档包括了数据和标记。标记的语法在很大程度上与HTML 类似,但标记是可以扩充的,可根据数据的定义自行创建。XML 以其良好的数据存储形式、可扩展性、高度结构化、便于网络传输等优势将在许多领域一展身手,便于软件开发人员和内容创作者在网页上组织信息,不仅能够满足不断增长的网络应用的需求,而且还能够确保通过网络进行交互式合作时具有良好的可靠性与互操作性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。