声明:文章参考的《系统架构设计师教程(第二版)》,如有侵权,本人将立即修改和删除。
概念:计算机系统中的程序及其文档,是计算任务的处理对象和处理规则的描述。
计算任务:以计算机为处理工具的任务
处理对象:数据(只表示,无含义)或信息(数据及有关含义)
处理规则:处理的动作和步骤
文档:便于了解程序的阐述性资料
一、软件概述
1、软件系统概念
计算机硬件系统上运行的程序、相关的文档资料和数据的集合。
2、作用
用来扩充计算机系统的功能,提高计算机系统的效率。
3、分类
按软件所起的作用和需要的运行环境:
(1)系统软件
是整个计算机系统配置的不依赖特定应用领域的通用软件。对计算机系统的硬件和软件资源进行管理和控制,并为用户使用和其他应用软件的运行提供服务。
包括:操作系统、程序设计语言翻译系统、数据库管理系统、网络软件等。
(2)应用软件
为某类应用需要或解决某个特定问题而设计的软件。
分为:专业和通用的应用软件
二、操作系统(资源管理者)
1、组成
(1)操作系统内核
- 能提供进程管理(任务管理)、存储管理、文件管理和设备管理等功能的软件模块,是最基本的部分,用于为应用程序访问计算机硬件提供服务。
- 操作系统内核对硬件设备进行了抽象,为应用系统提供了接口(系统调用接口/应用程序API)。
- 通常驻留在内存,以CPU最高优先级运行,能执行指令系统中的特权指令,具有直接访问各种外设和全部主存空间的特权,负责对系统资源进行管理和分配。
(2)其他附加的配套软件
图像用户界面程序、常用的应用程序(日历、计算器等)、实用程序(任务管理器、杀毒软件等)以及为支持应用软件开发和运行的各种软件构建(应用框架、编译器、程序库等)。
2、作用
(1)管理计算机中运行的程序和分配各种软硬件资源。
资源管理:处理器管理、存储管理、文件管理、I/O设备管理等
(2)为用户提供友善的人机界面。
人机界面任务:实现用户和计算机之间的通信(对话)。提供图形用户界面(GUI)
(3)为应用程序的开发和运行提供一个高效率的平台。
屏蔽物理设备的技术细节
(4)其他:辅导用户操作(帮助功能)、处理软硬件错误、监控系统性能、保护系统安全等。
3、特征
(1)并发性
并发性:一段时间内,宏观上有多个程序同时运行,但实际上在单CPU环境下,每个时刻只有一个程序在执行。微观上,各个程序是交替、轮流执行的。
并行:同一时刻多个程序在同时执行。
(2)共享性
操作系统中的资源可以被多个并发执行的进程(线程)共同使用,而不是被一个进程所独占。
共享资源的方式可以分为同时共享和互斥共享。
(3)虚拟性
把物理上的一个实体变成逻辑上的多个对应物或把物理上的多个实体变成逻辑上的一个对应物的技术。前者是实际存在的,后者是虚构假想的。
虚拟技术的目的:为用户提供易于使用且方便高效的操作环境。
(4)不确定性
多道程序环境中,允许多个程序并发执行,但由于资源有限,多数情况下程序执行是"走走停停"的,所以进程是以不确定的方式运行的,导致的直接后果是执行结果可能不唯一。
4、分类
(1)批处理操作系统
单道批处理操作系统:一次只允许一个作业(用户程序、数据、作业说明书)装入内存执行
多道批处理操作系统:一次允许多个作业装入内存执行。特点:多道,宏观上并行运行和微观上串行运行。
(2)分时操作系统
将CPU的工作时间划分为许多很短的时间片,轮流为各个终端用户服务。每次都能及时响应,给用户独占的感觉。
特点:多路性、独立性、交互性和及时性
(3)实时操作系统
计算机对于外来信息能够以足够快的速度进行处理,并在被控制对象允许的时间范围内做出快速反应。交互能力要求不高,但可靠性要有保障。
分为实时控制系统(数据自动采集、武器控制等)和实时信息处理系统(飞机订票系统等)。
(4)网络操作系统
使联网计算机能方便而有效地共享资源,为网络用户提供各种服务的软件和有关协议的集合,
特征:硬件独立性:可以运行在不同的网络硬件上,通过网桥、路由器与其他网络连接
多用户支持:同时支持多个用户对网络的访问
支持网络使用程序及其管理:系统备份、安全管理等
多客户端支持等
(5)分布式操作系统
由多个分散的计算机连接而成的计算机系统,无主次之分,任意两台计算机可以通信交换信息。
是网络操作系统的更高级形式,保持网络操作系统的全部功能,有透明性、可靠性和高性能等特性
(6)微型计算机操作系统
Windows、Linux、Mac OS
(7)嵌入式操作系统
运行在嵌入式智能设备中,对整个智能硬件及所操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制。
特点:微型化、可定制、实时性、可靠性、易移植性
三、数据库
-
概念:数据库(DB)是指长期存储再计算机内、有组织的、统一管理的相关数据的集合。不仅描述事物的数据本身,而且还包括相关事物之间的联系。
-
按数据库存储体系分类:关系型数据库、键值数据库、列存储数据库、文档数据库和搜索引擎数据库等
关系型数据库:把复杂的数据结构归结为简单的二元关系。键值数据库:非关系型数据库,用简单的键值方法来存储数据库。数据存储为键值对集合,其中键作为唯一标识符。
1、关系型数据库
(1)数据库设计的特点
(2)设计方法
(3)设计的基本步骤
2、分布式数据库
(1)完全分布式数据库系统
(2)特点
(3)系统结构
4层结构模式:全局外层、全局概念层、局部概念层、局部内层。
3、常见的数据库管理系统
(1)Oracle:关系型数据库
(2)IBM DB2:分布式数据库的解决方案/大型关系数据库
(3)Sybase:C/S结构的关系数据库
(4)Microsoft SQL Server:关系型数据库
4、大型数据库管理系统的特点
(1)基于网络环境的数据库管理系统
(2)支持大规模应用。千数并发用户、上百万事物处理和超数百GB的数据容量
(3)提供自动锁功能,使并发用户安全高效访问数据
(4)保证系统的高度安全性
(5)数据备份、恢复方法及设备精选,提供容错功能,确保数据在意外情况下最大限度恢复
(6)多种维护数据完整性的手段
(7)分布式处理功能
四、文件系统
1、文件与文件系统
文件:具有符合名的、在逻辑上具有完整意义的一组相关信息项的集合。是一种抽象机制,隐藏了硬件和实现细节。文件包括文件体(真实内容)和文件说明(操作系统管理所用:文件名、内部标识、类型、存储地址等)
文件操作系统:操作系统中实现文件统一管理的一组软件和相关数据的集合,是专门负责管理和存取文件信息的软件机构。功能:按名存取;统一的用户接口;并发控制和访问;安全性控制;优化性能等
2、类型
(1)按性质和用途:系统文件、库文件、用户文件;
(2)按信息保存期限:临时文件、档案文件、永久性文件;
(3)按保护方式:只读文件、读/写文件、可执行文件、不保护文件;
(4)Unix系统将文件分为:普通文件、目录文件、设备文件(特殊文件);
(5)文件系统类型:FAT、VFAT、NTFS、Ext2和HPFS等
3、结构和组织
文件的结构:文件的组织形式;
从用户角度看到的文件组织形式是文件的逻辑结构;
从实现角度,文件在文件存储器上的存放方式是文件的物理结构。
(1)逻辑结构
1)有结构的记录式文件
由一个以上的记录构成的文件;记录长度分定长和不定长两类
2)无结构的流式文件
由一串顺序字符流构成的文件,通常采用顺序访问方式;流式文件是记录式文件的特例。
(2)物理结构
逻辑块到物理块的转化也是由物理结构决定的
1)连续结构(顺序结构)
将逻辑上连续的文件信息(如记录)依次存放在连续编号的物理块上。
方便读取:只需知道起始物理块和长度
2)链式结构(串联结构)
将逻辑上连续的文件信息存放在不连续的物理块上,每个物理块设有一个指针指向下一个物理块。
3)索引结构
将逻辑上连续的文件信息存放在不连续的物理块中,系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号,并将索引表的起始地址放在与文件对应的文件目录项中。
4)多个物理块的索引表
组织方式:链接文件、多重索引方式
4、文件的存取方法
存取方法:读/写文件存储器上的一个物理块的方法;
方法:顺序存取(按顺序依次读/写)和随机存取(按任意次序随机读/写)。
5、存储空间的管理
磁盘分配表:外存空闲空间管理的数据结构
(1)空闲区表
空闲区:将外存空间上的一个连续未分配区域
为磁盘外存上的所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表包含序号、空闲区的第1块号、空闲块的块数和状态等信息
适用于连续文件结构
(2)位示图
位示图的大小由磁盘空间的大小(物理块总数)决定,位示图描述能力强,适合各种物理结构。
(3)空闲链表
每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表。
(4)成组链接法
UNIX系统采用该方法
7、文件的共享
不用用户进程使用同一文件。
(1)硬链接(基于索引结点的链接)
两个文件目录表指向同一个索引结点的链接。不同文件名与同一文件实体的链接。
(2)符号链接
建立新的文件或目录,并与原来文件或目录的路径名进行映射。
采用符号链接可以跨越文件系统。
8、文件的保护
对文件的保护采用存取控制的方式。存取控制:规定不同的用户对文件的访问有不同的权限,以防止文件被未经文件主同意的用户访问。
(1)存取控制矩阵
用户、文件、权限(可读R、可写W、可执行X以及组合)
(2)存取控制表
按用户对文件的访问权力的差别对用户进行分类。
Unix系统采用存取控制表,把用户分三类:文件主、同组用户和用户,每个用户的权限分可读、可写、可执行以及组合。
(3)用户权限表
以用户或用户组为单位将用户可存取的文件集中起来存放表中。
(4)密码
五、网络协议
协议:网络中计算机与计算机进行通信时,为了实现数据的正常发送与接收必须要遵守的一些事先约定好的规则(标准或约定),规程中明确规定了通信时的数据格式、数据传送时序以及相应的控制信息和应答信号等内容。
网络协议:局域网协议(LAN)、广域网协议(WAN)、无线网协议、移动网协议。互联网是TCP/IP协议簇。
六、中间件
中间件处于操作系统、网络和数据库之上,应用软件的下层。中间件是基础软件的一大类,属于可复用软件的范畴。
1、中间件分类
(1)通信处理(消息)中间件
在分布式系统中,人们建网和制定出通信协议,以保证系统能在不同平台之间通信,实现分布式可靠的、高效的、实时的跨平台数据传输。
(2)事物处理(交易)中间件
具有监视和调度整个系统的功能。
(3)数据存取管理中间件
(4)Web服务器中间件
(5)安全中间件
(6)跨平台和架构的中间件
(7)专用平台中间件
2、中间件产品
(1)IBM MQSeries
消息处理中间件
(2)BEA Tuxedo
交易中间件
七、软件构件
构件(组件):一个自包容、可复用的程序集。
集合整体向外提供统一访问接口,构件外部只能通过接口来访问构件,不能直接操作构件的内部。
特征:自包容、可重用
1、软件构件的组装模型
构件组装模型:软件构件进行搭积木式的开发
2、商用构件的标准规范
(1)CORBA(公共对象请求代理架构)
3个层次:
对象请求代理(ORB):实现对象间的通信和互操作(接口和语言映射)
公共对象服务
公共设施:定义构件框架,直接为业务对象使用的服务、规则
(2)J2EE
(3)DNA 2000
八、应用软件
为了利用计算机解决某问题而设计的程序的集合,是为满足用户不同领域、不同问题的应用需求而提供的软件