三、软件-系统架构设计师笔记-计算机系统基础知识

计算机系统概述

计算机系统是指用于数据管理的计算机硬件、软件及网络组成的系统。
它是按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。

冯诺依曼体系计算机结构:
在这里插入图片描述

1、计算机硬件组成

冯·诺依曼计算机结构将计算机硬件分为五部分。

  • 处理器
  • 存储器
  • 总线
  • 接口
  • 外部设备
    但在现实的硬件构成中,控制单元和运算单元被集成为一体,封装成CPU。
    按照传输过程被划分为总线、接口和外部设备。
    在这里插入图片描述

下面分别介绍

  • ①、处理器(CPU) (理解记忆)

控制器:是分析和执行指令的部件。
指令寄存器(IR)
指令译码器(ID)
程序计数器(PC)

运算器:负责完成算术、逻辑运算功能。
算术逻辑单元(ALU)
累加寄存器(AC)
通用寄存器组

这里需要记一个知识点 (选择题可能会考 中级的软件设计师就考过)

RISC与CISC

为提高指令执行效率,选择向指令系统中添加更多、更复杂的指令来实现,导致指令集越来越大。这种类型的计算机称为复杂指令集计算机(CISC)。

对指令数目和寻址方式做精简,指令的指令周期相同,采用流水线技术,指令并行执行程度更好,这就是精简指令集计算机
(RISC)。

记住CISC 开头的C是 complex 复杂的意思 就能记住这两个缩写了。

下表为RISC与CISC的区别

CISCRISC
指令条数只选取常见的指令
指令复杂度
指令长度变化短、固定
指令执行周期随指令变化较大大多数能在一个机器周期完成
指令格式复杂简单
寻址方式极少
涉及访问主存指令极少,大部分只有两条存指令
通用寄存器数量一般大量
译码方式微程序控制硬件电路
对译码系统要求
  • ②、存储器(理解记忆)

RAM:随机存储器,可读/写,只能暂存数据,断电后数据丢失。

SRAM:静态随机存储器,在不断电时信息能够一直保持,读写速度快,生产成本高,多用于容量较小的高速缓冲存储器。例如CPU的高速缓存。

DRAM:动态随机存储器,需要定时刷新以维持信息不丢失,读写速度较慢,集成度高,生产成本低,多用于容量较大的主存储器。例如电脑内存条。

ROM:只读存储器,出厂前用掩膜技术写入,常用于存放BIOS和微程序控制。

EPROM:可擦除的PROM,用某种方法可擦去信息,可写入多次。

E2PROM:电可擦除EPROM,可以写入,但速度慢。

闪速存储器(Flash Memory):其特性介于EPROM与E2PROM之间。但不能进行字节级别的删除操作。

Disk和磁带。

存储器分级体系结构
片上缓存
片外缓存
主存(内存)
外存(辅存)

CPU寄存器高速缓存主存储器辅助存储器
类型寄存器Cache内存硬盘、U盘
容量十多KB至几百KB一般是几MB至几十MB几GB至几十GB数TB至数PB
速度极快,纳秒级别非常快,几纳秒至几十纳秒几十纳秒至几百纳秒较慢,毫秒级别
价格非常高一般便宜

在这里插入图片描述

  • ③、总线(理解记忆)
    总线(Bus)是指计算机部件间遵循某一特定协议实现数据交换的形式。
    按照总线在计算机中的位置划分为:
    内总线:用于各类芯片内部互连,也可称为片上总线(0n-ChipBus)或片内总线。
    系统总线:是指计算机中CPU、主存、I/0 接口的总线。
    外部总线:是计算机板和外部设备之间,或者计算机系统之间互联的总线,又称为通信总线。

计算机总线有许多种类,常见的有并行总线和串行总线
并行总线主要包括PCI、PCIe和ATA(IDE)等。
串行总线主要包括USB、SATA、CAN、RS-232、RS-485、 RapidIO和以太网等。

  • ④、接口(了解)
    接口是指同一计算机不同功能层之间的通信规则。
    常见的包括显示类接口(HDMI、DVI和DVI等)
    音频输入输出类接口(TRS、RCA、XLR等)
    网络类接口(RJ45、FC等)
    PS/2接口,USB接口,SATA接口,LPT打印接口和RS-232接口等:

  • ⑤、外部设备(了解)
    常见的外部设备包括:键盘、鼠标、显示器、扫描仪、摄像头、麦克风、打印机、光驱、各型网卡和各型存储卡/盘等。
    在移动和穿戴设备中,常见的包括加速计、GPS、陀螺仪、感光设备和指纹识别设备等。
    在工业控制、航空航天和医疗等领域,包括测温仪、测速仪轨迹球、各型操作面板、红外/NFC等感应设备、各种场强测量设备、功率驱动装置、各型机械臂、各型液压装置、油门杆和驾驶杆等。

2、计算机软件

软件系统是指在计算机硬件系统上运行的程序、相关的文档资料和数据的集合。(记忆 可能会考选择题)
计算机软件用来扩充计算机系统的功能,提高计算机系统的效率。

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

系统软件包括:操作系统、程序设计语言翻译系统,中间件、数据库管理系统和网络软件等。

应用软件是指为某类应用需要或解决某个特定问题而设计的软件,如图形图像处理软件、财务软件等。

结构如下:( 自下而上 需要记忆)
在这里插入图片描述

  • 操作系统介绍
    操作系统是计算机系统的资源管理者,它包含对系统软、硬件资源实施管理的一组程序,通过 CPU管理、存储管理、设备管理和文件管理对各种资源进行合理地分配,改善资源的共享和利用程度,最大限度地发挥计算机系统的工作效率,提高计算机系统在单位时间内处理工作的能力。

操作系统特点:
(1)并发性:是指在一段时间内,宏观上有多个程序同时运行,但实际上在单CPU的运行环境,每一个时刻只有一个程序在执行。
(2)共享性:共享是指操作系统中的资源被多个并发执行的进程共同使用,而不是被一个进程所独占。
(3)虚拟性:是指把一个物理实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。
(4)不确定性:是指在多道程序环境中,允许多个进程并发执行但由于资源有限,在多数情况下进程的执行不是一贯到底的,而是“走走停停”。

操作系统的分类
批处理操作系统
分时操作系统
实时操作系统
网络操作系统
分布式操作系统
微型计算机操作系统
嵌入式操作系统

前趋图 (考选择题 ☆☆☆☆☆)
前趋图是一个有向无循不图(DAG),用来描述进程之间执行的前后关系。

前趋图的两个元素

  • 结点:表示一个程序段或进程,或一条语句
  • 有向边: 表示结点之间的偏序或前序关系
    Pi → Pj ,Pi 是 Pj 的直接前趋,Pj 是 Pi 的直接后继

图示:
在这里插入图片描述
这个知识点会考个选择题

例如:
前趋图(Precedence Graph)是一个有向无环图,记为:→={ (Pi , Pj) { Pi must complete before Pj may start},假设系统中进程P={P1, P2,P3,P4,P5,P6,P7,P8} , 且进程的前趋图如上图所示,那么该前趋图可记为?

答案:
→={ (P1,P2), (P1,P3), (P1,P4), (P2,P3), (P2,P5), (P3,P4), (P3,P6), (P4,P7), (P5,P6), (P5,P8), (P6,P7), (P7,P8)}

解析: 根据图片 从小到大按照箭头顺序排列即可 , 例如P1到P2\P3\P4都有箭头 就先把P1的列完,再依次列P2的。

数据库
数据库(DB)是指长期存储在计算机内、有组织、统一管理的相关数据的集合
常见的数据库是关系型数据库和非关系型数据库。还可分为关系型数据库、键值(Key-根据数据库存储体系分类居库、文档数据库和搜索引擎数据库等Value)数据库、列存储数类型。

例如 Web开发经常使用的Oracle、MySQL、PostgreSQL、SQLServer等 都是关系型数据库。

文件系统

文件是指具有文件名的逻辑上具有完整意义的相关信息的集合,现代os中通过文件系统来组织和管理计算机中存储的数据。

  • 文件的结构:
    文件的逻辑结构。从用户观点出发所观察到的文件组织形式它又可以分为两类:
    有结构的记录式文件(excel文件);
    无结构的流式文件(源程序、视频文件)。

文件的物理结构。
又称为文件的存储结构,是指文件在外存上的存储组织形式。与存储介质的存储性能和采用的外存分配方式有关。

文件的物理结构(外存分配方式): (会考选择题 ☆☆☆☆☆)

  • 连续分配
  • 链接分配
  • 索引分配
    单级索引方式
    多级索引方式
    混合索引方式

例:
某文件系统文件存储采用文件索引节点法。假设文件索引节点中有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中地址项iaddr[0]~iaddr[4]为直接地址索引,iaddr[5]、iaddr[6]是一级间接地址索引,iaddr[7]是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB,若要访问iclsclient.dll文件的逻辑块号分别为1、518,则系统应分别采用()。
A.直接地址索引、直接地址索引
B.直接地址索引、一级间接地址索引
C.直接地址索引、二级间接地址索引
D.一级间接地址索引、二级间接地址索引

答案: C

解析:
每个地址项大小为4字节 即4B 1KB = 1024B
所以1kB 有256个地址项
由于 磁盘索引块和磁盘数据块大小均为1KB
所以如下图所示 (注意逻辑块号 是从0开始的)
在这里插入图片描述
如上图所示
1、518 所在的逻辑块号 分别是 直接地址索引、二级间接地址索引

存储空间的管理
一般有两种方式

  • 空闲区表
    记录空闲区序号 第一个空闲块号 空闲块的数量 以及状态
序号第1个空闲块号空闲块数状态
11030可用
22040可用
33050可用
  • 位示图 (常考 ☆☆☆☆☆)
    0表示未分配 1表示已分配
    在这里插入图片描述

中间件
中间件,作为应用软件与各种操作系统之间使用的标准化编程接口和协议,起承上启下的作用,使应用软件的开发相对独立于计算机硬件和操作系统 ,在不同的系统上运行,实现相同的功能。

常见的中间件:
(1)消息中间件 例如:RabbitMQ、Kafka等

消息中间件:是以消息为载体进行通信的中间件,利用高效可靠的消息机制来实现不同应用间大量的数据交换。
分两类:消息队列和消息传递。通过这两种消息模型可以在复杂的网络环境中高可靠、高效率的实现安全的异步通信。

(2)事务处理(交易)中间件 例如:seata

事务处理(交易)中间件:主要功能是提供联机事务处理所需要的通信、并发访问控制、事务控制、资源管理、安全管理、负载平衡、故障恢复等服务。事务式中间件支持大量客户进程的并发访问,可靠性高、扩展性强,主要应用于电信、金融、飞机订票系统大量客户的领域。 Web应用中经常需要使用事务中间件来处理分布式事务问题。

(3)数据存取管理中间件 例如:MyCat
(4)Web服务器中间件 例如:Tomcat ,Nginx等
(5)安全中间件 例如:Shiro 、SpringSecurity
(6)跨平台和架构的中间件
(7)专用中间件
(8)网络中间件

软件构件
构件又称为组件,是一个自包容、可复用的一组程序的集合,构件对外提供统一的访问接口,只能通过接口来访问构件,不能直接操作构件内部。构件的两个重要特性是自包容(不依赖其他构件)与可重用

软件构件的组装模型的开发过程

在这里插入图片描述
应用软件

应用软件是为满足用户不同领域、不同问题的应用需求而提供的软件。按照应用软件的开发方式和适用范围,应用软件可再分成通用应用软件和定制应用软件两大类。

类别功能举例
文字处理软件处理文字、排版Word、WPS
电子表格设计表格、计算、统计、制表Excel、WPS
图形处理软件图像处理、绘图AutoCAD、Photoshop
多媒体播放软件播放各类媒体文件PotPlayer、RealPlayer
网络通信软件电子邮件、即时聊天、视频、直播、会议Outlook、MSN、Facebook、X、QQ、Instagram
演示软件幻灯片演示PowerPoint、WPS
检索软件检索信息Google、百度、ChatGPT
个人信息管理软件记事本、通讯录NotePad++、记事本
游戏娱乐扫雷、扑克、原神、DNF

3、嵌入式系统及软件

嵌入式系统的组成及特点:
嵌入式系统(Embedded System)是为了特定应用而专门构建且将信息处理过程和物理过程紧密结合为一体的专用计算机系统。它对功能、可靠性、成本、体积、功耗、环境等综合性能要求严格。

嵌入式软件是指可运行在嵌入式系统中的程序代码和帮助这些软件开发所用的工具或环境软件的总称。

嵌入式系统的组成
一般嵌入式系统由嵌入式处理器、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。
(1)嵌入式处理器
(2)相关支撑硬件
(3)嵌入式操作系统
(4)支撑软件
(5)应用软件

嵌入式系统的特点
(1)专用性强。
(2)技术融合。
(3)软硬一体软件为主。
(4)比通用计算机资源少。
(5)程序代码固化在非易失存储器中。
(6)需专门开发工具和环境。
(7)体积小、价格低、工艺先进、性价比高、配置要求低、实时性强。
(8)安全性和可靠性要求高。

嵌入式系统的分类
根据不同用途可将嵌入式系统划分为
嵌入式实时系统

  • 强实时(Hard Real-Time)系统
  • 弱实时(WeakReal-Time)

系统嵌入式非实时系统
从安全性要求,嵌入式系统可分为:

  • 安全攸关系统(Safety-Critical或 Life-Critical)
  • 非安全攸关系统

包含关系:
在这里插入图片描述
嵌入式软件的组成及特点 (可能会考选择题 ☆☆☆☆☆)
组成:
嵌入式系统软件组成架构采用层次化结构,并且具备可配置、可剪裁能力。
从现代嵌入式系统观看,把嵌入式系统分为硬件层、抽象层、操作系统层、中间件层和应用层

在这里插入图片描述
特点:

  • (1)可剪裁性
  • (2)可配置性
  • (3)强实时性
  • (4)安全性
  • (5)可靠性
  • (6)高确定性

例:
嵌入式实时操作系统与一般操作系统相比具备许多特点,以下不属于嵌入式实时操作系统特点的是( )。

A.可剪裁性 B.实时性 c.通用性 D.可固化性

答案: C

解析:嵌入式实时操作系统主要有以下特点
(1)微型化
(2)代码质量高
(3)专业化
(4)实时性强
(5)可裁减、可配置

安全攸关软件的安全性设计
美国电气和电子工程协会(IEEE)将安全攸关软件定义为:“用于一个系统中,可能导致不可接受的风险的软件

软件安全等级与目标关系表 举例
航空器作为一个复杂的系统,对软件安全性有着非常高的要求,不同的软件安全等级对飞行安全的影响程度不同

等级失效状态简要说明目标数量
A级灾难性的软件异常会导致的后果是:航空器无法安全飞行和着陆66
B级危害性的软件异常会导致的后果是:严重降低了航空器或机组在克服不利运行情况时的能力65
C级严重的软件异常会导致的后果是:显著降低了航空器或机组在克服不利运行情况时的能力56
D级不严重的软件异常会导致的后果是:轻微降低了航空器或机组在克服不利运行情况时的能力28
E级没有影响的软件异常会导致的后果是:不会影响航空器或机组任何能力0

4、计算机网络

网络的基本概念
计算机网络是利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,并依靠网络软件及通信协议实现资源共享和信息传递的系统。
计算机网络技术涵盖通信技术、网络技术、组网技术和网络工程等四个方面。

计算机网络的功能

  • 数据通信:依照一定的通信协议,利用数据传输技术在通信结点间传递信息的一种通信方式。
  • 资源共享:包括硬件资源、软件资源和数据资源。管理集中化:通过管理信息系统、办公自动化系统实现日常工作的集中管理。
  • 实现分布式处理:通过算法将大型的综合性问题交给不同的计算机同时进行处理。
  • 负载均衡:指工作负荷被均匀地分配给网络上各台计算机系统。

网络相关指标
1)性能指标
(1)速率
网络速率指的是连接在计算机网络上的主机或通信设备在数字信道上传送数据的速率,速率的单位是 b/s。

(2)带宽
“带宽”有两种不同的意义

  • 指一个信号具有的频带宽度。如,在传统的通信线路上传送的电话信号的标准带宽是 3.1kHz。单位是赫兹。
  • 表示网络通信线路传送数据的能力,单位时间内从一个结点到另一个结点所能通过的“最高数据率"。此处带宽单位是 b/s。

(3)吞吐量
表示单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络的带宽或网络额定速率的限制。

(4)时延
时延是指数据(报文、分组)从网络(链路)的一端传送到另一端所需的时间。网络中的时延由以下部分组成

  • 发送时延:又称为传输时延,指从数据块的第一个比特开始发送算起,到最后一个比特发送完毕所需的时间
  • 传播时延:电或光信号在传输介质传播一定距离所花费的时间
  • 处理时延:检查分组首部和决定将分组导向何处所需要的时间
  • 排队时延:在队列中,分组在等待传输时,它经受排队时延

未完待续。。。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kafka三节点集群平滑升级过程指导

一、前言 Apache Kafka作为常用的开源分布式流媒体平台,可以实时发布、订阅、存储和处理数据流,多用于作为消息队列获取实时数据,构建对数据流的变化进行实时反应的应用程序,已被数千家公司用于高性能数据管道、流分析、数据集成和任务关键型…

Keepalived双机热备——Haproxy搭建web群集

一、认识keepalived keepalived是一个开源的软件,用于实现高可用性和负载均衡。它主要用于在多个服务器之间提供故障转移和负载均衡的功能。keepalived可以监控服务器的状态,并在主服务器发生故障时自动将备份服务器切换为主服务器,以确保服…

统计分析笔记3

文章目录 统计检验选择正确的统计检验统计检验是做什么的?何时进行统计检验选择参数化测试:回归、比较或相关性选择非参数检验 假设检验的假设条件skewness什么是零偏度right skewleft skew计算skewnesswhat to do if your data is skewed kurtosis怎么计…

Python进阶学习:Pandas--将一种的数据类型转换为另一种类型(astype())

Python进阶学习:Pandas–将一种的数据类型转换为另一种类型(astype()) 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&…

【C++那些事儿】深入理解C++类与对象:从概念到实践(上)| 揭开this指针的神秘面纱

📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构冒险记 ✅C那些事儿 🌅 有航道的人,再渺小也不会迷途。 文章目录 1. 面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符及封装4.1 访问限定符…

TikTok云手机可以运营多少个账号

在社交媒体平台上,尤其是像TikTok这样的热门应用中,账号运营已经成为了许多人的日常工作。而利用云手机技术,一台手机能够同时运营多个TikTok账号,为用户带来了更大的便利和灵活性。本文将探讨 TikTok云手机能够运营多少个账号&am…

网站的安全防护需要注意哪些问题?有什么方法可以加固网站的防护

网站的安全防护,是一项复杂性、多方面的系统工程。现如今网络安全风险的增加,使得上至国家部门机关,小到个人博客,都有可能遭受网络安全问题。说到网络安全问题,比如:竞争最为激烈的游戏行业,从…

【GO开发工程师】grpc进阶#golang

【GO开发工程师】grpc进阶#golang 推荐个人主页:席万里的个人空间 文章目录 【GO开发工程师】grpc进阶#golang1、protobuf2、grpc2.1、gRPC 的 Metadata机制2.2、grpc拦截器 1、protobuf syntax "proto3"; // 指定使用的 protobuf 版本为 proto3 import…

配置前端项目到 github-pages

Quickstart for GitHub Pages - GitHub Docs

云计算新宠:探索Apache Doris的云原生策略

文章目录 Apache Doris 特性极简架构高效自运维高并发场景支持MPP 执行引擎明细与聚合模型的统一便捷数据接入 Apache Doris 极速 1.0 时代极速列式内存布局向量化的计算框架Cache 亲和度虚函数调用SIMD 指令集 稳定多源 关于 Apache Doris 开源社区基于云原生向量数据库Milvus…

大模型(LLM)的token学习记录-I

文章目录 基本概念什么是token?如何理解token的长度?使用openai tokenizer 观察token的相关信息open ai的模型 token的特点token如何映射到数值?token级操作:精确地操作文本token 设计的局限性 tokenizationtoken 数量对LLM 的影响训练模型参…

设计模式七:责任链模式

文章目录 1、责任链模式2、spring中的责任链模式Spring InterceptorServlet FilterNetty 1、责任链模式 责任链模式为请求创建了一个接收者对象的链,在这种模式下,通常每个节点都包含对另一个节点者的引用。每个节点针对请求,处理自己感兴趣…

基于springboot+vue的大学城水电管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

特征融合篇 | YOLOv8 引入通用高效层聚合网络 GELAN | YOLOv9 新模块

今天的深度学习方法专注于如何设计最合适的目标函数,以使模型的预测结果最接近真实情况。同时,必须设计一个合适的架构,以便为预测提供足够的信息。现有方法忽视了一个事实,即当输入数据经过逐层特征提取和空间转换时,会丢失大量信息。本文将深入探讨数据通过深度网络传输…

UE 贴地绘制/日历/鼠标光标滚轮位置缩放图片/UMG滚动数据从前后添加新UI/多图片批量下载 收费项目源码资源

基本里面的内容本人CSDN发的都有现成代码.里面大部分是功能实现思路.这里面是把这几个功能合成了一个完整5.1项目源码.拿到即用.收费项目源码资源. 1.贴地绘制 2.日历 3.鼠标光标滚轮位置缩放图片 \ 4.UMG滚动数据从前后添加新UI思路 5.多图片批量下载 这是整合的懒人源码包收…

Rocky Linux 运维工具yum

一、yum的简介 ​​yum​是用于在基于RPM包管理系统的包管理工具。用户可以通过 ​yum​来搜索、安装、更新和删除软件包,自动处理依赖关系,方便快捷地管理系统上的软件。 二、yum的参数说明 1、install 用于在系统的上安装一个或多个软件包 2、seach 用…

【HarmonyOS】鸿蒙开发之Video组件——第3.7章

Video组件内VideoOptions属性简介 src:设置视频地址。currentProgressRate:设置视频播放倍速,参数说明如下: number|string:只支持 0.75 , 1.0 , 1.25 , 1.75 , 2.0 。P…

JavaEE进阶(7)Spring Boot 日志(概述、用途、使用:打印日志,框架介绍,SLF4J 框架介绍、更简单的日志输出)

接上次博客:JavaEE进阶(6)SpringBoot 配置文件(作用、格式、properties配置文件说明、yml配置文件说明、验证码案例)-CSDN博客 目录 日志概述 日志的用途 日志使用 打印日志 在程序中获取日志对象 使用日志对象…

androidble蓝牙开发,12道Android高级面试题

Java面试题 1.GC机制 垃圾回收需要完成两件事:找到垃圾,回收垃圾。 找到垃圾一般的话有两种方法: 引用计数法: 当一个对象被引用时,它的引用计数器会加一,垃圾回收时会清理掉引用计数为0的对象。但这种方…

论文笔记:A survey on zero knowledge range proofs and applications

https://link.springer.com/article/10.1007/s42452-019-0989-z 描述了构建零知识区间证明(ZKRP)的不同策略,例如2001年Boudot提出的方案;2008年Camenisch等人提出的方案;以及2017年提出的Bulletproofs。 Introducti…