计算机软件知识

2.3计算机软件

早期的计算机软件和计算机程序 (Computer Program) 的概念几乎不加区别,后来计算机 软件的概念在计算机程序的基础上得到了延伸。计算机软件是指计算机系统中的程序及其文档, 是计算任务的处理对象和处理规则的描述。任何以计算机为处理工具的任务都是计算任务。处 理对象是数据(如数字、文字、图形、图像和声音等,他们只是表示,而无含义)或信息(数 据及有关的含义)。处理规则一般指处理的动作和步骤,文档是为了便于了解程序所需的阐述性 资料。

2.3.1计算机软件概述

软件系统是指在计算机硬件系统上运行的程序、相关的文档资料和数据的集合。计算机软 件用来扩充计算机系统的功能,提高计算机系统的效率。按照软件所起的作用和需要的运行环 境的不同,通常将计算机软件分为系统软件和应用软件两大类。

系统软件是为整个计算机系统配置的不依赖特定应用领域的通用软件。这些软件对计算机系 统的硬件和软件资源进行控制和管理,并为用户使用和其他应用软件的运行提供服务。也就是说,

只有在系统软件的作用下,计算机硬件才能协调工作,应用软件才能运行。根据系统软件功能的 不同,可将其划分为:操作系统、程序设计语言翻译系统、数据库管理系统和网络软件等。

应用软件是指为某类应用需要或解决某个特定问题而设计的软件,如图形图像处理软件、 财务软件、游戏软件和各种软件包等。在企事业单位或机构中,应用软件发挥着巨大的作用,

承担了许多计算任务,如人事管理、财务管理和图书管理等。按照应用软件使用面的不同,可 进一步把应用软件分为专用的应用软件和通用的应用软件两类。

2.3.2操作系统

操作系统是计算机系统的资源管理者,它包含对系统软、硬件资源实施管理的一组程序,

其首要作用就是通过 CPU 管理、存储管理、设备管理和文件管理对各种资源进行合理地分配,

改善资源的共享和利用程度,最大限度地发挥计算机系统的工作效率,提高计算机系统在单位 时间内处理工作的能力。操作系统是配置在计算机硬件上的第1层软件,它向下管理裸机及其 中的文件,向上为其他的系统软件(汇编程序、编译程序、数据库管理系统等)和大量应用软

第2章计算机系统基础知识      2 9

件提供支持,以及为用户提供方便使用系统的接口。

1.操作系统的组成

操作系统是一种大型、复杂的软件产品,它们通常由操作系统内核 (Kernel) 和其他许多 附加的配套软件所组成,包括图形用户界面程序、常用的应用程序(如日历、计算器、资源管 理器和网络浏览器等)、实用程序(任务管理器、磁盘清理程序、杀毒软件和防火墙等)以及为 支持应用软件开发和运行的各种软件构件(如应用框架、编译器和程序库等)。

操作系统内核指的是能提供进程管理(任务管理)、存储管理、文件管理和设备管理等功能 的那些软件模块,它们是操作系统中最基本的部分,用于为众多应用程序访问计算机硬件提供 服务。由于应用程序直接对硬件操作非常复杂,所以操作系统内核对硬件设备进行了抽象,为 应用软件提供了一套简洁、统一的接口(称为系统调用接口或应用程序接口API)。 内核通常都 驻留在内存中,它以 C P U 的最高优先级运行,能执行指令系统中的特权指令,具有直接访问各 种外设和全部主存空间的特权,负责对系统资源进行管理和分配。

2.操作系统的作用

操作系统主要有以下3个方面的重要作用。

(1)管理计算机中运行的程序和分配各种软硬件资源。计算机中一般总有多个程序在运行, 这些程序在运行时都可能要求使用系统中的资源(如访问硬盘,在屏幕上显示信息等),此时操 作系统就承担着资源的调度和分配任务,以避免冲突,保证程序正常有序地运行。操作系统的 资源管理功能主要包括处理器管理、存储管理、文件管理、 I/O 设备管理等几个方面。

(2)为用户提供友善的人机界面。人机界面的任务是实现用户与计算机之间的通信(对 话)。几乎所有操作系统都向用户提供图形用户界面 (GUI), 它通过多个窗口分别显示正在运 行的各个程序的状态,采用图标 (Icon) 来形象地表示系统中的文件、程序和设备等对象,用 户借助单击“菜单”的方法来选择要求系统执行的命令或输入某个参数,利用鼠标器或触摸屏 控制屏幕光标的移动,并通过单击操作以启动某个操作命令的执行,甚至还可以采用拖放方式 执行所需要的操作。这些措施使用户能够比较直观、灵活、有效地使用计算机。

(3)为应用程序的开发和运行提供一个高效率的平台。安装了操作系统之后,实际上呈现 在应用程序和用户面前的是一台“虚拟计算机”。操作系统屏蔽了几乎所有物理设备的技术细 节,它以规范、高效的方式(例如系统调用、库函数等)向应用程序提供了有力的支持,从而 为开发和运行其他系统软件及各种应用软件提供了一个平台。

除了上述3个方面的作用之外,操作系统还具有辅导用户操作(帮助功能)、处理软硬件错 误、监控系统性能、保护系统安全等许多作用。总之,有了操作系统,计算机才能成为一个高 效、可靠、通用的数据处理系统。

3.操作系统的特征

1)并发性

在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但实际上在 C P U 的运行环境,每一个时刻只有一个程序在执行。因此,从微观上来说,各个程序是交

3 0         系统架构设计师教程(第2版)

替、轮流执行的,如果计算机系统中有多个CPU, 则可将多个程序分配到不同 C P U上实现并行 运行。

2)共享性

共享是指操作系统中的资源(包括硬件资源和信息资源)可以被多个并发执行的进程(线 程)共同使用,而不是被一个进程所独占。出于经济上的考虑, 一次性向每个用户程序分别提 供它所需的全部资源不但是浪费的,有时也是不可能的。现实的方法是让操作系统和多个用户 程序共用一套计算机系统的所有资源,因此必然会产生共享资源的需要。共享资源的方式可以 分为同时共享和互斥共享。

3)虚拟性

虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应 物,或把物理上的多个实体变成逻辑上的一个对应物的技术。前者是实际存在的,而后者是虚 构假想的,是用户感觉上的东西。采用虚拟技术的目的是为用户提供易于使用且方便高效的操 作环境。

4)不确定性

在多道程序环境中,允许多个进程并发执行,但由于资源有限,在多数情况下进程的执行 不是一贯到底的,而是“走走停停”。例如一个进程,在C P U上运行一段时间后,由于等待资 源或某事件发生,它被暂停执行,将C P U转让给另一个进程执行。系统中的进程何时执行,何 时暂停,以什么样的速度向前推进,进程总共要花多少时间执行才能完成,这些都是不可预知 的。或者说该进程是以不确定的方式运行的,其导致的直接后果是程序执行结果可能不唯一。

4.操作系统的分类

通常,操作系统可分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统、 分布式操作系统、微型计算机操作系统和嵌入式操作系统等类型。

1)批处理操作系统

批处理操作系统分为单道批处理和多道批处理。

单道批处理操作系统是一种早期的操作系统,用户可以向系统提交多个作业,“单道”的含 义是指一次只有一个作业装入内存执行。作业由用户程序、数据和作业说明书(作业控制语言) 3个部分组成。当一个作业运行结束后,随即自动调入同批的下一个作业,从而节省了作业之 间的人工干预时间,提高了资源的利用率。

多道批处理操作系统允许多个作业装入内存执行,在任意一个时刻,作业都处于开始点和 终止点之间。每当运行中的一个作业由于输入/输出操作需要调用外部设备时,就把C P U 交给 另一个等待运行的作业,从而将主机与外部设备的工作由串行改变为并行,进一步避免了因主 机等待外设完成任务而浪费宝贵的C P U 时间。多道批处理系统主要有3个特点:多道、宏观上 并行运行和微观上串行运行。

2)分时操作系统

在分时操作系统中,一个计算机系统与多个终端设备连接。分时操作系统是将C P U 的工作

第2章 计算机系统基础知识      3 1

时间划分为许多很短的时间片,轮流为各个终端的用户服务。例如, 一个带20个终端的分时系 统,若每个用户每次分配一个50m s 的时间片,则每隔 ls 即可为所有的用户服务一遍。因此,

尽管各个终端上的作业是断续运行的,但由于操作系统每次对用户程序都能做出及时响应,因 此用户感觉整个系统均归其一人占用。

分时系统主要有4个特点:多路性、独立性、交互性和及时性。

3)实时操作系统

实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范 围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障。

实时系统分为实时控制系统和实时信息处理系统。实时控制系统主要用于生产过程的自动 控制,例如数据自动采集、武器控制、火炮自动控制、飞机自动驾驶和导弹的制导系统等。实 时信息处理系统主要用于实时信息处理,例如飞机订票系统、情报检索系统等。

4)网络操作系统

网络操作系统是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的 软件和有关协议的集合。因此,网络操作系统的功能主要包括高效、可靠的网络通信;对网络 中共享资源(在L A N 中有硬盘、打印机等)的有效管理;提供电子邮件、文件传输、共享硬盘 和打印机等服务;网络安全管理;提供互操作能力。

一个典型的网络操作系统的特征包括硬件独立性和多用户支持等。其中,硬件独立性是指 网络操作系统可以运行在不同的网络硬件上,可以通过网桥或路由器与其他网络连接;多用户 支持,应能同时支持多个用户对网络的访问,应对信息资源提供完全的安全和保护功能;支持 网络实用程序及其管理功能,如系统备份、安全管理、容错和性能控制;多种客户端支持;提 供目录服务,以单一逻辑的方式让用户访问位于世界范围内的所有网络服务和资源的技术;支 持多种增值服务,如文件服务、打印服务、通信服务和数据库服务等。

5)分布式操作系统

分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、 次之分,任意两台计算机可以通过通信交换信息。通常,为分布式计算机系统配置的操作系统 称为分布式操作系统。

分布式操作系统能直接对系统中的各类资源进行动态分配和调度、任务划分、信息传输协 调工作,并为用户提供一个统一的界面与标准的接口,用户通过这一界面实现所需要的操作和 使用系统资源,使系统中若干台计算机相互协作完成共同的任务,有效地控制和协调诸任务的 并行执行。

分布式操作系统是网络操作系统的更高级形式,它保持网络系统所拥有的全部功能,同时 又有透明性、可靠性和高性能等特性。

6)微型计算机操作系统

微型计算机操作系统简称微机操作系统,常用的有 Windows、Mac OS、Linux。

7)嵌入式操作系统

嵌入式操作系统运行在嵌入式智能设备环境中,对整个智能硬件以及它所操作、控制的各

32       系统架构设计师教程(第2版)

种部件装置等资源进行统一协调、处理、指挥和控制,其主要特点如下。

 微型化:从性能和成本角度考虑,希望占用的资源和系统代码量少,如内存少、字长 短、运行速度有限、能源少(用微小型电池)。

 可定制:从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理 器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。

● 实时性:嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关 键要害领域需要迅速响应的场合,所以对实时性要求较高。

 可靠性:系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供 容错和防故障措施。

● 易移植性:为了提高系统的易移植性,通常采用硬件抽象层 (Hardware Abstraction

Level,HAL) 和板级支撑包 (Board Support Package,BSP) 的底层设计技术。

常见的嵌入式实时操作系统有VxWorks、μClinuxPalmOSWindowsCE、μC/OS-ⅡI和 eCos 等。

2.3.3数据库

在信息处理领域,由于数据量庞大,如何有效组织、存储数据对实现高效率的信息处理至 关重要。数据库技术是目前最有效的数据管理技术。数据库 (DataBase,DB) 是指长期存储在 计算机内、有组织的、统一管理的相关数据的集合。它不仅描述事物的数据本身,而且还包括 相关事物之间的联系。数据库可以直观地理解为存放数据的仓库,只不过这个仓库是在计算机 的存储设备上,而且数据是按一定格式存放的,具有较小的冗余度、较高的数据独立性和易扩 展性,可为多个用户共享。

早期数据库种类有3种,分别是层次式数据库、网络式数据库和关系型数据库。目前最常 见的数据库种类是关系型数据库和非关系型数据库。根据数据库存储体系分类,还可分为关系 型数据库、键值 (Key-Value) 数据库、列存储数据库、文档数据库和搜索引擎数据库等类型。

(1)关系型数据库。这种类型的数据库是最传统的数据库类型,关系型数据库模型是把复 杂的数据结构归结为简单的二元关系,在数据库中,对数据的操作几乎全部建立在一个或多个 关系表格上。在大型系统中通常有多个表,且表之间有各种关系。实际使用就是通过对这些关 联的表格进行分类、合并、连接或选取等运算来实现数据库的管理。

(2)键值数据库。键值数据库是一种非关系型数据库,它使用简单的键值方法来存储数据。 键值数据库将数据存储为键值对集合,其中键作为唯一标识符。

(3)列存储数据库。列式存储 (Column-Based) 是相对于传统关系型数据库的行式存储 (Row-Basedstorage) 来说的。简单来说两者的区别就是对表中数据的存储形式的差异。

(4)文档数据库。此类数据库可存放并获取文档,可以是XML JSON BSON 等格式,这 些文档具备可述性 (Self-Describing), 呈现分层的树状结构 (Hicrarchical Tree Data Structure), 可以包含映射表、集合和纯量值。数据库中的文档彼此相似,但不必完全相同。文档数据库所 存放的文档,就相当于键值数据库所存放的“值”。文档数据库可视为其值可查的键值数据库。

第2章 计算机系统基础知识       3 3

(5)搜索引擎数据库。搜索引擎数据库是应用在搜索引擎领域的数据存储形式, 由于搜索 引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。

下面简要介绍常用的关系数据库和分布式数据库。

1.关系数据库

数据模型是数据特征的抽象,它是对数据库组织方式的一种模型化表示,是数据库系统的 核心与基础。它具有数据结构、数据操作和完整性约束条件三要素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋进学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值