2.3 计算机软件

声明:文章参考的《系统架构设计师教程(第二版)》,如有侵权,本人将立即修改和删除。

概念:计算机系统中的程序及其文档,是计算任务的处理对象和处理规则的描述。

计算任务:以计算机为处理工具的任务

处理对象:数据(只表示,无含义)或信息(数据及有关含义)

处理规则:处理的动作和步骤

文档:便于了解程序的阐述性资料

一、软件概述

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)设计的基本步骤

需求分析、概念结构设计 (数据建模、E-R方法)、逻辑结构设计、物理结构设计、应用程序设计和运行维护

2、分布式数据库

分布式数据库系统(DDBS)是针对地理上分散,而管理上又需要不同程度集中管理的需求而提出的一种数据管理信息系统。

(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

八、应用软件

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

1、通用软件

2、定制应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/367807.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第11天|基于MindSpore通过GPT实现情感分类

学AI还能赢奖品?每天30分钟,25天打通AI任督二脉 (qq.com) 基于MindSpore通过GPT实现情感分类 %%capture captured_output # 实验环境已经预装了mindspore2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号 !pip uninsta…

【目标检测】DINO

一、引言 论文: DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection 作者: IDEA 代码: DINO 注意: 该算法是在Deformable DETR、DAB-DETR、DN-DETR基础上的改进,在学习该算法前&#…

决策树算法的原理与案例实现

一、绪论 1.1 决策树算法的背景介绍 1.2 研究决策树算法的意义 二、决策树算法原理 2.1 决策树的基本概念 2.2 决策树构建的基本思路 2.2 决策树的构建过程 2.3 决策树的剪枝策略 三、决策树算法的优缺点 3.1 决策树算法的优势 3.2 决策树算法的局限性 3.3 决策树算…

Vue报错:Component name “xxx” should always be multi-word vue/multi-word-component

问题:搭建脚手架时报错,具体错误如下: ERROR in [eslint] E:\personalProject\VueProjects\vueproject2\src\components\Student.vue10:14 error Component name "Student" should always be multi-word vue/multi-word-compon…

【分布式数据仓库Hive】常见问题及解决办法

目录 一、启动hive时发现log4j版本和hadoop的版本有冲突 解决办法:删除hive下高版本的slf4j 二、启动hive报错 Exception in thread "main" java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/Object;)V …

Elasticsearch (1):ES基本概念和原理简单介绍

Elasticsearch(简称 ES)是一款基于 Apache Lucene 的分布式搜索和分析引擎。随着业务的发展,系统中的数据量不断增长,传统的关系型数据库在处理大量模糊查询时效率低下。因此,ES 作为一种高效、灵活和可扩展的全文检索…

分别使用netty和apache.plc4x测试读取modbus协议的设备信号

记录一下常见的工业协议数据读取方法 目录 前言Modbus协议说明Netty 读取测试使用plc4x 读取测试结束语 前言 Modbus 是一种通讯协议,用于在工业控制系统中进行数据通信和控制。Modbus 协议主要分为两种常用的变体:Modbus RTU 和 Modbus TCP/IP Modbus …

嵌入式Linux之Uboot简介和移植

uboot简介 uboot 的全称是 Universal Boot Loader,uboot 是一个遵循 GPL 协议的开源软件,uboot是一个裸机代码,可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB 等高级功能。 也就是说,可以在没有系统的情况…

苹果手机收不到短信怎么恢复?90%的人都在这么做

在使用苹果手机的过程中,有时候会遇到无法接收短信的问题。这不仅影响正常的沟通,还可能错过重要的通知和验证码。那么,手机收不到短信怎么恢复呢?别担心,90%的人都在使用这些简单而有效的方法来解决这一问题。 本文将…

Halcon支持向量机

一 支持向量机 1 支持向量机介绍: 支持向量机(Support Vector Machine,SVM)是Corinna Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别表现出许多特有的优势。 2 支持向量机原理: 在n维空间中找到一个分类超平面…

14 卡尔曼滤波及代码实现

文章目录 14 卡尔曼滤波及代码实现14.0 基本概念14.1 公式推导14.2 代码实现 14 卡尔曼滤波及代码实现 14.0 基本概念 卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据包括系统中的噪声和…

React Native V0.74 — 稳定版已发布

嗨,React Native开发者们, React Native 世界中令人兴奋的消息是,V0.74刚刚在几天前发布,有超过 1600 次提交。亮点如下: Yoga 3.0New Architecture: Bridgeless by DefaultNew Architecture: Batched onLayout UpdatesYarn 3 for New Projects让我们深入了解每一个新亮点…

移动智能终端数据安全管理方案

随着信息技术的飞速发展,移动设备已成为企业日常运营不可或缺的工具。特别是随着智能手机和平板电脑等移动设备的普及,这些设备存储了大量的个人和敏感数据,如银行信息、电子邮件等。员工通过智能手机和平板电脑访问企业资源,提高…

【vue3】【vant】 移动端中国传统文化和民间传说案例

更多项目点击👆👆👆完整项目成品专栏 【vue3】【vant】 移动端中国传统文化和民间传说案例 获取源码方式项目说明:其中功能包括项目包含:项目运行环境运行截图和视频 获取源码方式 加Q群:632562109项目说…

Linux_管道通信

目录 一、匿名管道 1、介绍进程间通信 2、理解管道 3、管道通信 4、用户角度看匿名管道 5、内核角度看匿名管道 6、代码实现匿名管道 6.1 创建子进程 6.2 实现通信 7、匿名管道阻塞情况 8、匿名管道的读写原子性 二、命名管道 1、命名管道 1.1 命名管道通信 …

源代码层面分析Appium-inspector工作原理

Appium-inspector功能 Appium Inspector 基于 Appium 框架,Appium 是一个开源工具,用于自动化移动应用(iOS 和 Android)和桌面应用(Windows 和 Mac)。Appium 采用了客户端-服务器架构,允许用户通…

C++初学者指南-3.自定义类型(第一部分)-异常

C初学者指南-3.自定义类型(第一部分)-异常 文章目录 C初学者指南-3.自定义类型(第一部分)-异常简介什么是异常?第一个示例用途:报告违反规则的行为异常的替代方案标准库异常处理 问题和保证资源泄露使用 RAII 避免内存泄漏!析构函数:不要让异…

Taogogo Taocms v3.0.2 远程代码执行漏洞(CVE-2022-25578)

前言 CVE-2022-25578 是一个存在于 Taogogo Taocms v3.0.2 中的代码注入漏洞。此漏洞允许攻击者通过任意编辑 .htaccess 文件来执行代码注入。 漏洞详情 漏洞描述:攻击者可以利用此漏洞上传一个 .htaccess 文件到网站,并在文件中注入恶意代码&#xf…

CesiumJS【Basic】- #058 绘制网格填充多边形(Entity方式)-使用shader

文章目录 绘制网格填充多边形(Entity方式)-使用shader1 目标2 代码2.1 main.ts绘制网格填充多边形(Entity方式)-使用shader 1 目标 使用Entity方式绘制绘制网格填充多边形 - 使用shader 2 代码 2.1 main.ts import * as Cesium from cesium;// 创建 Cesium Viewer 实例…

主流国产服务器操作系统技术分析

主流国产服务器操作系统 信创 "信创",即信息技术应用创新,作为科技自立自强的核心词汇,在我国信息化建设的进程中扮演着至关重要的角色。自2016年起步,2020年开始蓬勃兴起,信创的浪潮正席卷整个信息与通信技…