资料来源于:
1、日常积累
2、B站:【2023软件设计师备考】软考中级 | 软件设计师考点理论精讲【零基础适用】
K=210、M=220、G=230
二进制,简写为B
八进制l,简写为O
十进制,简写为D
十六进制,简写为H
第1章: 计算机组成原理与体系结构基础知识
数据结构
原码、反码、补码、、移码
![](https://img-blog.csdnimg.cn/e10ada68c86c41d195b4233a31b90b0d.png#pic_center#500x)
- 原码: 用数值部分表示真值的绝对值,符号位
0/1
对应正/负
浮点数
浮点数是小数点位置不固定的数,它能表示更大范围的数。浮点数的表示格式如图所示。在浮点表示法中,阶码为带符号的纯整数,尾数为带符号的纯小数。
其中,M称为尾数,R称为基数,E称为阶码
- 阶码,决定浮点数所能表示的数值范围
- 尾数,决定浮点数所能表示的数值精度
校验码一海明码
海明码的构成方法是:在数据为之间插入 k 个校验码,通过扩大码距来实现检错和纠错
设数据位是 n 位,校验位是位,则n 和必须满足以下关系: 2k-1
≥
\geq
≥n+k
计算机体系结构
主存储器
![](https://img-blog.csdnimg.cn/f9bd7f15121847ee99c698b77bdc7384.png)
![](https://img-blog.csdnimg.cn/8a1d8be20fe44f4789d1be89f7fb6a28.png)
![](https://img-blog.csdnimg.cn/2f8e4f78757a485eada960717b20845e.png)
-
存储单元:每个存储单元存放一串二进制代码
-
存储字(word):存储单元中二进制代码的组合
-
存储字长:存储单元中二进制代码的位数
-
存储元:即存储二进制的电子元件,每个存储元可存 1bit。
-
MAR:地址寄存器
-
MDR:数据寄存器
MAR=4位 总共有2*2*2*2个存储单元 MDR =16位 每个存储单元可存放16bit,1个字(word)= 16bit
运算器
用于实现算术运算(如: 加减乘除)逻辑运算(如:与或非)
- ACC:累加器,用于存放操作数,或运算结果
- MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果
- X: 通用的操作数寄存器,用于存放操作数
- ALU:算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算
- DR:数据缓存寄存器
- PSW:状态条件寄存器,用来保存
指令运行标志
控制器–CPU
- CU:控制单元,分析指令,给出控制信号
- IR:指令寄存器,存放
当前执行的指令
- PC:程序计数器,存放
下一条指令地址
,有自动加1
功能 - AR:地址寄存器,保存当前CPU所访问的内存单元地址。
- ID:指令译码器,对操作码进行分析
指令系统一寻址方式(数据寻址)
- 立即寻址: 操作数作为指令的一部分直接写在指令中,这种操作数称为立即数
- 寄存器寻址: 指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器
- 直接寻址: 指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址
- 寄存器间接寻址: 操作数在存储器中,操作数的有效地址用SI、DI、BX和BP四个寄存 器之一来指定。
- 寄存器相对寻址: 操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)的内容和指令中的8位/16位偏移量之和。
- 基址加变址寻址方式: 操作数在存储器中,其有效地址是-一个基址寄存器(BX.BP)和一个变址寄存器(SI、DD)的 内容之和。
- 相对基址加变址寻址: 操作数在存储器中其有效地址是一个基址寄存器(BX.BP)的值、一个变址寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。
总线
- PCI(Peripheral Component Interconnect)总线是一种高性能的并行内部总线,用于连接计算机内部的各种硬件组件,例如显卡、网卡等。
- SCSI(Small Computer System Interface)总线则是一种并行外部总线,用于连接计算机与外部设备(如硬盘驱动器、打印机等)之间的数据传输。
分类
1、片内总线
片内总线是芯片内部的总线。它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。
2、系统总线
系统总线是计算机系统内各功能部件(CPU、主存、I/0接口)间相互连接的总线。按系统总线传输信息内容的不同,又可分为3类: 数据总线、地址总线和控制总线
3、通信总线
可靠性
计算机系统的可靠性是指从它开始运行(t=0)到某个时刻t这段时间内能正常运行的概率,用R(t)表示。
- 串联部件的可靠度=各部件的可靠度的乘积
- 并联部件的可靠度=1-部件失效率的乘积
存储器
存储系统的层次结构
- 主存一辅存:实现虚拟存储系统,解决了主存容量不够的问题
- Cache一主存:解决了主存与CPU速度不匹配的问题
存储器的分类
1、按位置分类,可分为内存和外存
- 内存(主存):用来存储当前运行所需要的程序和数据,速度快容量小
- 外存(辅存):用来存储当前不参与运行的数据,容量小但速度慢
2、按材料分类,可分为磁存储器、半导体存储器和光存储器
- 磁存储器:用磁性介质做成,如磁芯、磁泡、磁盘、磁带等
- 半导体存储器:
- 根据所用
元件
又可分为双极型
和MOS型
两类; - 根据是否需要
刷新
又可分为静态
和动态
两类。
- 根据所用
- 光存储器:由光学、电学和机械部件等组成,如光盘存储器
3、按工作方式,可分为读/写存储器
和只读存储器
- 读/写存储器(RAM) 指既能读取数据也能存入数据的存储器
- 只读存储器(ROM) 工作过程中仅能读取的存储器。
4、根据数据的写入方式,又可细分为ROM、PROM、EPROM和EEPROM等类型
- 固定只读存储器(ROM)。这种存储器是在厂家生产时就写好数据的,其内容只能读出,不能改变。一般用于存放
系统程序BIOS
和用于微程序控制
。 - 可编程的只读存储器(PROM)。其中的内容可以由
用户一次性地写入
,写入后不能再修改
。 - 可擦除可编程的只读存储器(EPROM)。其中的内容既可以读出,也可以由用户写入,写入后还可以修改,紫外线照射擦除信息。
- 电擦除可编程的只读存储器(EEPROM)。与EPROM相似,EEPROM 中的内容既可以读出,也可以进行改写,电擦除的方法进行数据的改写。
随机存储器
-
SRAM(Static Random-Access Memory):
- 特点:SRAM是一种
静态随机存取
存储器,它的存储数据在没有时钟脉冲的情况下能够保持。这意味着,只要电源不中断,SRAM中的数据就会保持,而不需要定期的刷新操作(与DRAM不同,后者需要定期刷新以保持数据)。 - 用途:由于其快速读写速度和稳定性,SRAM常用于高性能的计算机缓存和其他需要快速、临时性存储的应用。
- 特点:SRAM是一种
-
DRAM(Dynamic Random-Access Memory):
- 特点:DRAM也是一种
随机存取存储器
,但它需要定期刷新来保持数据,因为存储在DRAM中的电荷会逐渐泄漏。这种刷新操作会消耗一定的系统资源。 - 用途:由于其较高的存储密度,DRAM常用于主内存(RAM),用于临时存储正在执行的程序和数据。
- 特点:DRAM也是一种
-
FLASH Memory:
- 特点:FLASH是一种
非易失性存储器
,它能够在断电的情况下保持数据,它也支持电子擦除,这意味着可以通过特殊操作擦除存储的数据,并重新写入新的数据。 - 用途:FLASH常用于存储固件(如BIOS、操作系统)、嵌入式系统的程序代码和数据,以及各种移动设备(例如USB驱动器、固态硬盘)。
- 特点:FLASH是一种
-
EEPROM(Electrically Erasable Programmable Read-Only Memory):
- 特点:EEPROM是一种
非易失性存储器
,类似于FLASH,但EEPROM的写入和擦除操作可以以字节为单位进行,而FLASH通常以扇区为单位进行操作。EEPROM可以被电子擦除,并且可以被多次重写。 - 用途:EEPROM通常用于存储设备配置信息、用户设置、校准数据等,因为它允许数据在系统运行时进行修改,而不需要擦除整个存储器。
- 特点:EEPROM是一种
高速缓存Cache
要把主存种的地址映射为Cache存储器里面的地址,地址映像方法有三种
1、直接映像
主存的块与Cache中块的对应关系是固定的。这种方式的优点是地址变换很简单,缺点是灵活性差。
2、全相联映像:
允许主存的任一块可以调入Cache的任一块的空间。这种方式的优点是主存的块调入Cache的位置不受限制,十分灵活。其缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。
3、组相联映像:
这种方式是前面两种方式的折中。具体方法是将Cache先分成组 再分块组相联映像就是组间采用直接映像方式,而组内的块采用全相联映像方式
选择替换算法
选择替换算法的目标是使Cache获得最高的命中率。
- 随机替换(RAND)算法: 用随机数发生器产生一个要替换的块号,将该块替换出去
- 先进先出(FIFO)算法: 将最先进入的Cache信息块替换出去
- 近期最少使用(LRU)算法: 将近期最少使用的Cache中的信息块替换出去。这种算法较先进先出算法要好些,但此法也不能保证过去不常用的将来也不常用。
- 优化替换(OPT)算法: 先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换,达到最优目的。
第2章: 数据结构与算法基础
基本概念
数据元素、数据项
数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位
数据结构的三要素
1、逻辑结构
- 集合
- 各个元素同属一个集合,别无其他关系
- 线性结构
- 数据元素之间是一对一的关系。
- 除了第一个元素,所有元素都有唯前驱;
- 除了最后一个元素,所有元素都有唯一后继。
- 树形结构
- 数据元素之间是一对多的关系
- 图状结构 (网状结构)
- 数据元素之间是多对多的关系
2、物理结构
- 顺序存储
- 把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中
- 链式存储
- 逻辑上相邻的元素在物理位置上可以不相邻
- 索引存储
- 在存储元素信息的同时,还建立附加的索引表。
- 散列存储
- 根据元素的关键字直接计算出该元素的存储地址,又称哈希 (Hash)存储
3、算法
程序 = 数据结构 + 算法
算法一空间复杂度
函数递归调用带来的内存开销
S(n) = O(n)
空间复杂度=递归调用的深度
线性表
线性表—存储结构
线性表—插入删除操作
栈
栈 (Stack) 是只允许在一端进行插入或删除操作的线性表
队列
队列是一种先进先出(FIFO) 的线性表,它只允许在表的一端插入元素,而在表的另一端删除元素。在队列中,允许插入元素的一端称为队尾 (Rear)允许删除元素的一端称为队头 (Front)
循环队列
二叉树
给定二叉树的结点个数为1024。对于一颗二叉树,其高度(层数)可以通过以下方式来确定:
- 最小高度:当二叉树是满二叉树时,即每个结点都有两个子结点,高度为log₂(n+1)(其中n为结点个数)。
- 最大高度:当二叉树是退化为链表的情况时,高度为n(其中n为结点个数)。
- 二叉树的高度应该在log2(n+1),n 的整数区间内。
堆
一个序列{𝑘1, 𝑘2, … , 𝑘𝑛}如果满足以下关系,就称其为堆。堆序性质:对于任意的i,1 ≤ i ≤ n,都满足以下条件:
- 如果i > 1,则𝑘𝑖的父节点𝑘⌊𝑖/2⌋必须大于等于𝑘𝑖(对于最小堆)或者小于等于𝑘𝑖(对于最大堆)。
- 在一个堆中,每个节点的值都大于或等于(最小堆) 或者 小于或等于(最大堆) 其父节点的值。这个性质确保了堆的顺序性,使得堆可以被用作一种高效的数据结构,用于实现优先队列等应用。
树
- 节点的度: 节点拥有的子树的数目。
- 叶子: 度为零的节点。
- 分支节点: 度不为零的节点。
- 树的度: 树中节点的最大的度。
- 层次: 根节点的层次为1,其余节点的层次等于该节点的双亲节点加1。
- 树的高度: 树中节点的最大层次。
- 无序数: 如果树中节点的各子树之间的次序是不重要的,可以交换位置。
- 有序数: 如果树中结点的各子树的次序是重要的,不可以交换位置。
- 森林: 0个或多个不相交的树组成。对森林加上一个跟,森林即成为树;删去跟,树即成为森林。
遍历
前序遍历:根左右
中序遍历:左根右
后序遍历:左右根
图
基本概念
1、有向图
2、无向图
3、完全图
- 在无向图中,若每对顶点之间都有一条边相连,则称该图为完全图
- 在有向图中,若每对顶点之间都有二条有向边相互连接,则称该图为完全图。
4、度,入度与出度
存储结构
邻接矩阵
用一个n阶方阵R来存放图中各结点的关联信息,其矩阵元素Rij定义为
邻接表
首先把每个顶点的邻接顶点用链表示出来,然后用一个一维数组来顺序存储上面每个链表的头指针。
图的遍历
图的拓扑排序
把用有向边表示活动之间开始的先后关系。
这种有向图称为用顶点表示活动网络,简称AOV网络
上图的拓朴序列有: 02143567,0123657,02143657,1243567
第3章: 算法分析与设计
一、分治法
二、回溯法
三、贪心法
四、动态规划法
第4章:操作系统基本原理
第5章: 计算机网络基础
网络和远程连接
-
IGMP(Internet Group Management Protocol):IGMP是用于在IP网络上管理多播组成员的通信协议。多播是一种将数据包发送到多个接收者的通信方式,通常用于视频和音频流的传输,以及在线会议等应用。IGMP协议允许主机加入或离开一个多播组,并在网络中传递这些信息,以便路由器知道在哪些接口上传送多播流。
-
SSH(Secure Shell):SSH是一种用于在不安全的网络上安全地进行远程登录或执行命令的协议。它使用加密技术来保护数据的传输安全,确保在网络上传输的数据不会被窃听或篡改。SSH广泛用于远程管理服务器、远程操作计算机等场景,提供了一种加密的、安全的远程访问方式。
-
Telnet:Telnet是一种用于在网络上远程登录到主机并执行命令的协议。然而,Telnet是一种不安全的协议,因为它将用户的登录信息(包括用户名和密码)以明文形式传输,容易受到中间人攻击。因此,在实际应用中,安全性较高的SSH通常取代了Telnet的使用,以确保远程登录的安全性。
-
RFB(Remote Framebuffer):RFB是一种用于远程图形桌面共享的协议。它允许用户通过网络在远程计算机上查看和操作图形用户界面(GUI)。VNC(Virtual Network Computing)是RFB协议的一个常见实现,它允许用户通过VNC客户端远程连接到VNC服务器,查看远程计算机的桌面,并与远程计算机进行交互。
第6章:数据库系统基础知识
三级模式结构
在采用三级模式结构的数据库系统中,有三个级别的模式,分别是:
- 外模式(External Schema):外模式也被称为用户模式(User Schema),它是用户或应用程序能够看到和使用的数据库的部分,包括了用户需要的数据的逻辑结构和数据的组织方式。每个用户或应用程序可以定义和使用自己的外模式,而不需要了解数据库的整体结构。
- 模式(Conceptual Schema):模式定义了整个数据库的逻辑结构和组织方式,包括了所有数据的关系、约束、视图等信息。它是数据库的全局视图,描述了数据之间的关系和约束,是数据库的逻辑模型。
- 内模式(Internal Schema):内模式是数据库的最底层,它描述了数据在存储介质上的物理结构和组织方式,包括了数据的存储、索引、排序等细节。只有数据库管理系统(DBMS)能够直接访问内模式,普通用户和应用程序无法直接访问内模式。
数据流程图
构造分层DFD时需要注意的问题
- 适当命名。DFD中的每个数据流、加工、数据存储、外部实体都应被适当地命名
- 画数据流而不是控制流。 数据流图强调的是数据流而不是控制流。
- 避免一个加工有过多的数据流
- 分解尽可能均匀。
- 先考虑确定状态,忽略琐碎的细节。
- 随时准备重画。
数据库的安全机制
在数据库的安全机制中,通过提供 存储过程(Stored Procedure)供第三方开发人员调用,可以进行数据更新并保证数据库的关系模式不会被第三方获取。
- 存储过程是预先编译并存储在数据库中的一组SQL语句,它们可以被应用程序调用,但不会将具体的SQL语句暴露给外部用户或程序,因此可以隐藏数据库的内部结构和逻辑,提高数据库的安全性。
第7章: 程序设计语言基础知识
第8章:软件工程基础知识
第9章:结构化开发方法一数据流图
第10章: UML建模
第11章: 面向对象技术
第12章:信息安全与多媒体知识
在模块分解时需要注意:
- 保持模块的大小适中
- 尽可能减少调用的深度
- 直接调用该模块的次数应该尽最多,但调用其他模块的次数则不宜过多(扇入大,扇出小)。
- 保证模块是单入口、单出口的
- 模块的作用域应该在模块之内
- 功能应该是可预测的
知识产权
- 《中华人民共和国著作权法》和《计算机软件保护条例》是 构成我国保护计算机软件著作权的两个基本法律文件。
– 《中华人民共和国著作权法》是中国的著作权法律基础
– 《计算机软件保护条例》则是专门针对计算机软件的保护制度。