当前位置: 首页 > news >正文

系统架构设计师教程 第2章 2.3 计算机软件 笔记

在这里插入图片描述

2.3计算机软件 ★★☆☆☆

2.3.1计算机软件概述 ★☆☆☆☆

软件系统是指在计算机硬件系统上运行的程序、相关的文档资料和数据的集合。

常将计算机软件分为系统软件和应用软件两大类。

系统软件是为整个计算机系统配置的不依赖特定应用领域的通用软件。

应用软件是指为某类应用需要或解决某个特定问题而设计的软件。

2.3.2操作系统 ★☆☆☆☆

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

操作系统是配置在计算机硬件上的第1层软件,它向下管理裸机及其中的文件,向上为其他的系统软件(汇编程序、编译程序、数据库管理系统等)和大量应用软件提供支持,以及为用户提供方便使用系统的接口。

1.操作系统的组成

通常由操作系统内核 (Kernel) 和其他许多附加的配套软件所组成

操作系统内核指的是能提供进程管理(任务管理)、存储管理、文件管理和设备管理等功能的那些软件模块,是操作系统中最基本的部分,为众多应用程序访问计算机硬件提供服务。

2.操作系统的作用

(1)管理计算机中运行的程序和分配各种软硬件资源。

(2)为用户提供友善的人机界面。

(3)为应用程序的开发和运行提供一个高效率的平台。

辅导用户操作(帮助功能)、处理软硬件错 误、监控系统性能、保护系统安全等许多作用

3.操作系统的特征

1)并发性

并发性是指在一段时间内,宏观上多个程序同时运行,微观上轮流执行

2)共享性

共享是指操作系统中的资源(包括硬件资源和信息资源)可以被多个并发执行的进程(线 程)共同使用

3)虚拟性

一种管理技术,把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。

4)不确定性

由于资源有限,多个进程执行时,进程是以不确定的方式运行的,其导致的直接后果是程序执行结果可能不唯一。

4.操作系统的分类

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

1)批处理操作系统

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

单道批处理操作系统用户可以向系统提交多个作业,一次只有一个作业装入内存执行。作业由用户程序、数据和作业说明书(作业控制语言) 3个部分组成。

多道批处理操作系统允许多个作业装入内存执行,在任意一个时刻,作业都处于开始点和 终止点之间。

主要3个特点:多道、宏观上并行运行和微观上串行运行。

2)分时操作系统

分时操作系统是将CPU 的工作时间划分为许多很短的时间片轮流为各个终端的用户服务。

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

3)实时操作系统

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

实时系统分为实时控制系统实时信息处理系统

4)网络操作系统

网络操作系统是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的 软件和有关协议的集合。

特征包括硬件独立性多用户支持

5)分布式操作系统

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

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

6)微型计算机操作系统

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

7)嵌入式操作系统

运行在嵌入式智能设备环境中,对整个智能硬件以及它所操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制,其主要特点如下。

微型化:占用的资源和系统代码量尽可能少。

可定制:能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。

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

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

易移植性:为了提高系统的易移植性,通常采用硬件抽象层 (Hardware AbstractionLevel,HAL) 和板级支撑包 (Board Support Package,BSP) 的底层设计技术。

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

2.3.3数据库 ★★☆☆☆

数据库 (DataBase,DB) 是指长期存储在 计算机内、有组织的、统一管理的相关数据的集合。不仅描述事物的数据本身,而且还包括相关事物之间的联系。

早期数据库种类有3种:层次式数据库、网络式数据库和关系型数据库。

最常见的数据库种类是关系型数据库和非关系型数据库。

根据数据库存储体系分类,可分为:关系型数据库、键值 (Key-Value) 数据库、列存储数据库、文档数据库和搜索引擎数据库等类型。

(1)关系型数据库。关系型数据库模型是把复杂的数据结构归结为简单的二元关系,对数据的操作几乎全部建立在一个或多个关系表格上。

(2)键值数据库。一种非关系型数据库,使用简单的键值方法来存储数据。

(3)列存储数据库。按列式对数据进行存储

(4)文档数据库。可存放并获取文档,可以是XML 、JSON 、BSON 等格式,文档具备可述性 (Self-Describing), 呈现分层的树状结构 (Hicrarchical Tree Data Structure), 可以包含映射表、集合和纯量值。

(5)搜索引擎数据库。应用在搜索引擎领域的数据存储形式

1.关系数据库

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

1)关系数据库设计的特点及方法

数据库设计是指对于一个给定的应用环境构造最优的数据库,建立数据库及其应用系统, 使之能有效地存储数据,满足各种用户的需求。

数据库设计包括结构特性行为特性的设计两方面的内容。

数据库设计的特点有:

从数据结构即数据模型开始,并以数据模型为核心展开;

静态结构设计与动态行为设计分离;

试探性;反复性和多步性。

数据库设计方法可分为4类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。

常用的有基于3N F 的设计方法、基于实体联系 (E-R) 模型的数据库设计方法、基于视图概念的数据库设计方法、面向对象的关系数据库设计方法、计算机辅助数据库设 计方法、敏捷数据库设计方法等。

2)关系数据库设计的基本步骤

数据库设计分为:需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用程序设计和运行维护6个阶段

需求分析是在用户调查的基础上,通过分析逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求

概念结构设计是在需求分析的基础上,依照需求分析中的信息需求,对用户信息加以分类、聚集和概括,建立信息模型,常用E-R图。

采用E - R方法的概念结构设计可分为三步:设计局部 E-R 模型、设计全局E-R模型以及全局 E-R模型的优化。

逻辑结构设计阶段的主要任务是确定数据模型,将E - R 图转换为指定的数据模型,确定完整性约束,确定用户视图。

物理结构设计是对已确定的数据库逻辑结构,利用 D B M S所提供的方法、技术,以较优的存储结构和数据 存取路径、合理的数据存放位置以及存储分配,设计出一个高效的、可实现的数据库物理结构

应用程序设计主要工作有:选择设计方法、制订开发计划、选择系统架构和设计安全性策略。

运行维护阶段主要工作:数据库的转储和恢复,数据库的安全性和完整性控制,数据库性能的监督、分析和改造, 数据库的重组和重构等。

2.分布式数据库

分布式数据库系统 (Distributed DataBase System,DDBS) 是针对地理上分散,而管理上又需要不同程度集中管理的需求而提出的一种数据管理信息系统。满足分布性、逻辑相关性、场地透明性和场地自治性的数据库系统被称为完全分布式数据库系统。

分布式数据库系统的特点是数据的集中控制性、数据独立性、数据冗余可控性、场地自治性和存取的有效性。

1)分布式数据库体系结构

分布式数据库抽象为4层的结构模式,划分为:全局外层、全局概念层、局部概念层和局部内层

2)分布式数据库的应用

应用领域有分布式计算、 Internet应用、数据仓库、数据复制以及全球联网查询等

3.常用数据库管理系统

1)Oracle

Oracle 是一种适用于大型、中型和微型计算机的关系数据库管理系统。

2)IBM DB2

DB2 是 IBM 的一种分布式数据库解决方案。

3)Sybase

Sybase 是客户机/服务器 (Client/Server, C/S) 结构的关系数据库系统,也是世界上第一个真正的基于客户机/服务器结构的 R D B M S 产品。

4)Microsoft SQL Server

Microsoft SQL Server是一种典型的关系型数据库管理系统,可运行于多个操作系统上,它 使用 Transact-SQL语言完成数据操作。

4.大型数据库管理系统的特点

主要有:

(1)基于网络环境的数据库管理系统。可以用于C/S 结构、 B/S 结构的数据库应用系统。

(2)支持大规模的应用。可支持数千个并发用户、多达上百万的事务处理和超过数百 G B 的数据容量。

(3)提供的自动锁功能使得并发用户可以安全而高效地访问数据。

(4)保证系统的高度安全性

(5)提供方便而灵活的数据备份恢复方法及设备镜像功能,还可以利用操作系统提供容错功能,确保设计良好的应用中的数据在发生意外的情况下可以最大限度地被恢复。

(6)提供多种维护数据完整性的手段。

(7)提供了方便易用的分布式处理功能。

2.3.4文件系统 ★★☆☆☆

1.文件与文件系统

文件 (File) 是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合

一个文件包括文件体和文件说明。

文件体是文件真实的内容;

文件说明是操作系统为了管理文件所用到的信息,包括文件名、文件内部标识、文件类型、文件存储地址、文件长度、访 问权限、建立时间和访问时间等。

文件系统是操作系统中实现文件统一管理的一组软件和相关数据的集合,是专门负责管理和存取文件信息的软件机构。

文件系统的功能包括按名存取、统一的用户接口、并发访问控制、安全性控制、优化性能、差错恢复。

2.文件的类型

(1)按文件的性质和用途分类可将文件分为系统文件、库文件和用户文件。

(2)按信息保存期限分类可将文件分为临时文件、档案文件和永久文件。

(3)按文件的保护方式分类可将文件分为只读文件、读/写文件、可执行文件和不保护文件。

(4)UNIX系统将文件分为普通文件、目录文件和设备文件(特殊文件)。

目前常用的文件系统类型有FAT、VFAT、NTFS、Ext2和HPFS等。

3.文件的结构和组织

文件的结构是指文件的组织形式。

从用户角度看到的文件组织形式称为文件的逻辑结构, 用户只要知道所需文件的文件名就可以存取文件中的信息。

从实现的角度看,文件在文件存储器上的存放方式称为文件的物理结构

1)文件的逻辑结构

分为两大类:

有结构的记录式文件,它是由一个以上的记录构成的文件;

无结构的流式文件,它是由一串顺序字符流构成的文件。

2)文件的物理结构

文件的物理结构是指文件的内部组织形式,即文件在物理存储设备上的存放方法。

(1)连续结构

也称顺序结构,将逻辑上连续的文件信息(如记录)依次存放在连续编号的物理块上。只要知道文件的起始物理块号和文件的长度,就可以方便地进行文件的存取。

(2)链接结构

也称串联结构,将逻辑上连续的文件信息(如记录)存放在不连续的物理块上,每个物理块设有一个指针指向下一个物理块。只要知道文件的第1个物理块号,就可以按链指针查找整个文件。

(3)索引结构

将逻辑上连续的文件信息(如记录)存放在不连续的物理块中,系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号,并将索引表的起始地址放在与文件对应的文件目录项中。

(4)多个物理块的索引表

索引表是在文件创建时由系统自动建立的,并与文件一起存放在同一文件卷上。根据一个文件大小的不同,其索引表占用物理块的个数不等, 一般占一个或几个物理块。多个物理块的索引表可以有两种组织方式:链接文件和多重索引方式。

4.文件存取的方法和存储空间的管理

1)文件的存取方法

文件的存取方法是指读/写文件存储器上的一个物理块的方法。

通常有顺序存取随机存取两种方法。

顺序存取方法是指对文件中的信息按顺序依次进行读/写;

随机存取方法是指对 文件中的信息可以按任意的次序随机地读/写。

2)文件存储空间的管理

外存空闲空间管理的数据结构通常称为磁盘分配表 (Disk Allocation Table)。

常用的空闲空间管理方法有空闲区表位示图空闲块链、成组链接法4种。

(1)空闲区表。为磁盘外存上的所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表中包含序号、空闲区的第1块号、空闲块的块数和状态等信息,适用于连续文件结构

(2)位示图 在外存上建立一 张位示图 (Bitmap), 记录文件存储器的使用情况,0/1表示空闲和占用,适合各种物理结构

(3)空闲块链。每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成 一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中),不需要磁盘分配表,节省空间。

5.文件共享和保护

1)文件的共享

文件共享是指不同用户进程使用同一文件,

常见的文件链接有硬链接符号链接两种。

2)文件的保护

对文件的保护常采用存取控制的方式。规定不同的用户对文件的访问有不同的权限,以防止文件被未经文件主同意的用户访问。

常用方法:

存取控制矩阵

存取控制表

用户权限表

密码

2.3.5网络协议 ★☆☆☆☆

常用的网络协议包括局域网协议 (LAN)、 广域网协议 (WAN)、 无线网协议和移动网协议。互联网是 TCP/IP协议簇。

2.3.6中间件 ★★☆☆☆

中间件 (Middleware) ,作为应用软件与各种操作系统之间使用的标准化编程接口和协议。处在操作系统、网络和数据库之上, 应用软件的下层。

1.中间件分类

1)通信处理(消息)中间件

实现分布式系统中可靠的、高效的、实时的跨平台数据传输

主要产品有BEA 的eLink、IBM 的MQSeries、 TongLINK等

2)事务处理(交易)中间件

3)数据存取管理中间件

在网络上虚拟缓冲存取、格式转换、解压等带来方便

4)Web服务器中间件

5)安全中间件

6)跨平台和架构的中间件

7)专用平台中间件

8)网络中间件

2.中间件产品介绍

主流的中间件产品有 IBM MQSeries 和BEA Tuxedo。

MQSeries提供一个具有工业标准、安全、 可靠的消息传输系统,MQSeries基本由一个信息传输系统和一个应用 程序接口组成,其资源是消息和队列。

BEA Tuxedo属于交易中间件,允许客户机和服务器参 与一个涉及多个数据库协调更新的交易,并能够确保数据的完整性。

2.3.7软件构件 ★★☆☆☆

构件又称为组件,是一个自包容、可复用的程序集。构件的两个最重要的特性是自包容与可重用。

1.软件构件的组装模型

一般开发过程设计构件组装、建立构件库、构建应用软件、测试与发布

优点:易扩展、易重用、降低成本;开发灵活、并行独立开发

缺点:要求经验丰富;增加学习成本;难以控制质量

2.商用构件的标准规范

主流的商用构件标准规范包括对象管理组织 (Object Management Group,OMG) 的 CORBA 、Sun 的J2EE和Microsoft 的DNA。

公共对象请求代理架构 (Common Object Request Broker Architecture,CORBA) 主要分为 3个层次:对象请求代理、公共对象服务和公共设施。

2.3.8应用软件 ★★☆☆☆

应用软件是为了利用计算机解决某类问题而设计的程序的集合,是为满足用户不同领域、 不同问题的应用需求而提供的软件。

按照应用软件的开发方式和适用范围,应用软件可再分成通用应用软件和定制应用软件两大类。


http://www.mrgr.cn/news/58814.html

相关文章:

  • ctfshow-web入门-web172
  • 2024源鲁杯CTF网络安全技能大赛题解-Round1
  • Docker 部署 Jaeger
  • 一家生物技术企业终止,科创属性可能不足,报告期内专利数猛增
  • Flutter Column组件实战案例
  • 植物健康,Spring Boot来助力
  • 【动态规划】回文串问题
  • Python 语法与数据类型详解
  • 使用 Pygame 创建生命游戏(Conway‘s Game of Life)
  • NumPy学习第六课(1):数组的高级索引
  • 【JAVA毕业设计】基于Vue和SpringBoot的房产销售系统
  • 业务开发如何才能独立于框架
  • XSS攻击原理与解决方法
  • STM32基于LL库的USART+DMA使用
  • 数据可视化技术综述(5)数据的存储
  • 如何初始化一个线上的GitHub仓库,在本地已有的仓库中上传到线上
  • 从零开始理解 Trie 树:高效字符串存储与查找的利器【自动补全、拼写检查】
  • 什么是DICOM文件?——认识DICOM:医学影像与信息管理的标准化利器
  • [专有网络VPC]网络ACL概述
  • 道路车辆功能安全 ISO 26262标准(8-7)—支持过程
  • Lua 函数
  • 使用单链表实现集合操作:并集、交集与差集
  • 【2024|滑坡数据集论文解读1】CAS滑坡数据集:用于深度学习滑坡检测的大规模多传感器数据集
  • 借助Agent让大模型应用思考、决策并执行任务
  • 一站式能源解决方案:加油与充电的创新结合
  • 数据治理和数据管理之辨