· 生成树 = 极小连通子图
连通分量= 极大连通子图
例: G’是G的生成树
1、G’是G的连通分量 ❌
2、G’是G的无环子图 ✅
3、G’是G的极小连通子图,且V’=V ✅
· 无向图连通的概念
1—2—3 1与3是连通的
例: 无向图某个顶点的度是指图中与该顶点连通的顶点数 ❌
完全有向图一定是强连通图 ✅
· 强连通分量 = 极大强连通子图
优先找环路,然后找不属于任何一个强连通分量孤立的点自身构成一个强连通分量 天勤P90
· 回路不是简单路径
· 对于任何一棵二叉树,叶子结点都是度是2的结点数加1 ❌ 非空二叉树才是
· B+树 n个关键字对应n个子树,B-树:n个关键字n+1个子树
B+树和B-树都支持“随机”索引
· B-树插入操作 B-树删除操作*
· 快速排序 序列越有序 排序越慢
· 链式栈栈顶指针即为栈头指针
共享栈 指两个栈共用一个数组不同区间的数组下标
· 链式存储结构可比顺序存储结构更方便地表示各种逻辑结构
· AOE网关键路径的常规求法
求关键路径,只需理解顶点(事件)和边(活动)各自的两个特征属性以及求法即可:
Ø 先根据首结点的Ve(i)=0由前向后计算各顶点的最早发生时间
Ø 再根据终结点的Vl(i)等于它的Ve(i)由后向前依次求解各顶点的最晚发生时间
Ø 根据边的e(i)等于它的发出顶点的Ve(i)计算各边的最早开始时间(最早开始,对应最早发生)
Ø 根据边的l(i)等于它的到达顶点的Vl(i)减去边的权值计算各边的最晚开始时间(最晚开始,对应最晚发生)
画图:
1 2 3 4 5 ……
Ve(i)
Vl(i)
a b c d e f g ……
e(i)
l(i)
l(i)-e(i)
· MDR定义: 全称memory data register主存数据寄存器。
MAR定义: 全称memory address register主存地址寄存器。
例:间址周期结束时,cpu mdr中内容为:操作数地址。 注意是 间址 ,取形式地址存的是实际地址
· 三元组表 存储 行 列 值 三种信息
· 指令的构成 除了 操作码+操作数地址 还要考虑寻址方式 每个操作数都要对应一个寻址方式位
· 微程序(microprogram)是实现程序的一种手段,具体就是将一条机器指令编写成一段微程序。
微指令是指在微程序控制的计算机中,同时发出的控制信号所执行的一组微操作。
例:微程序控制器中 执行微程序的首条微指令地址通过(指令操作码映射)得到
· 微指令的编码
微指令的编码方式 又称微指令的控制方式,是指如何对微指令的控制字段进行编码,形成控制信号(微操作) *微命令可以直接理解成微操作
组成结构:操作控制字段 + 下地址字段 + (外部条件字段?)
1)直接编码(直接控制)方式:微指令操作字段每一位对应一个微命令,n个微命令就要求微指令的操作字段有n位
2)字段直接编码方式:
互斥性微命令分在同一段内,相容性微命令分在不同段内,
每个小段要留出一个状态表示不发出任何微命令,通常000表示空操作
3)字段间接编码方式
· 首条微指令地址由指令操作码映射得到,后续微指令地址由前微指令下址字段得到
· 控制存储器(CS)用来存放所有微指令,按照微指令的地址访问
· 通道程序由一系列通道指令组成
· 通道过程
编制通道程序—>组织IO操作—>启动IO通道—>向CPU发出中断请求
· IO的四个层次
用户级IO软件—设备无关软件—设备驱动程序—中断处理程序
· 中断是操作系统提供的功能
由用户态到内核态的转换通过硬件中断机制完成 *但不能说系统调用需要硬件支持
地址映射需要硬件支持
· 记录型信号量就是信号量是一个结构体的数据结构。
该数据结构中只有两个分量,一个是一个整形变量value,表示某类资源可利用的数量;另一个是一个指针,是因该资源而被阻塞的进程构成的阻塞队列的首指针。
· 单缓冲区 的情况注意 读入和读出不能同时进行
双缓冲区可以
例:磁盘->缓冲区 T;缓冲区->用户区 M;cpu对一块数据处理 C;
单缓冲和双缓冲,系统对一块数据处理时间为:max(T,C)+M , max(T,M+C)
王道真题 P172 27
· ARP 只处理同一局域网内
· 平衡二叉树属于并不等于二叉排序树
· 折半查找 判定树高度(关键字比较次数)至多为:log2n + 1 平均查找长度为:ASL = log2(n+1) – 1
· 时钟频率和CPI无关
· 流水线中数据相关: 注意英文字母要反着读
第一条指令是读操作,第二条指令是写操作,那么只可能发生读后写(WAR)相关
第一条指令是写操作,第二条指令是读操作,那么只可能发生写后读(RAW)相关
第一条指令是写操作,第二条指令也是写操作,那么只可能发生写后写(WAW)相关
例:按序流动的单发射(即普通标量)流水线中,可能出现(写后读 RAW )数据相关问题
而非按序流动流水线,3种都可能出现
· 数据旁路解决数据相关问题,不能解决控制相关和结构相关
· 流水线采用“转发”技术时,防止数据冒险,不用等到“写回”阶段,“执行”阶段后即可 数据旁路?直接把前一条指令ALU计算结果输入
- 例:
- (R1)<—20
- (R2)<—M(12+(R0))
- (R3)<—(R1)+(R2)
需要在第3条指令前至少加(1)条空操作
· 取指令后 PC值增加指令字长度,注意 PC+1 指的是加1个指令字长度
· 透明网桥的MAC地址表要记录3类信息:源站MAC地址、端口号、帧到达时间
· ip数据报
首部长度:4~7 共占4位,共 有2的4次方,就是最多可以表示0~15个数,而IP数据报首部的固定部分都有20个字节了,所以0~15是不够用的,所以首部长度按4字节为一个单位。例如:首部长度0110=6,就是首部长度有6*4=24个字节。
总长度:16~31 共占16位,2的16次方=65536,也就是0~65535,IP分组的总长度,最长的IP分组是65535个字节。
标识(ID):32~47 共占16位,IP分组的标识(ID),IP协议利用一个计数器,每产生一个IP分组加1,作为该分组的标识。
标志位:48~50 占3位,保留位、DF、MF。DF=Don't Fragment,DF=1时,不允许分片;DF=0时,允许分片。MF=1时,非最后一片;MF=0时,最后一片或者未分片。
这两位只有三种可能。10:不允许分片;01:允许分片,不是最后一片;00:允许分片,是最后一片。不存在11.
片偏移:占13位,这个分片在原IP分组中的相对位置,以分片的首字节表示。IP分组总长度是占16个字节,而片偏移占13个字节,所以片偏移是以(2的16次方)除以(2的13次方)=2的3次方=8字节为单位的。
· 易混淆 拥塞窗口/2 = 拥塞阈值 = 慢启动门限
· 拓扑排序可以用栈实现,得到的出栈序列是逆拓扑排序
· 拓扑排序 建立各顶点入度O(e);建立零入度顶点栈O(n) ==> 时间复杂度 O(n+e)
· 浮点数表示格式: 阶符,阶码,数符[.]尾数
规格化浮点数 原码 数符.1xxxxx 补码 正数 0.1xxxxx 负数 1.0xxxxxx 最小值为-1
对阶:小阶对大阶
· RAM 随机存取存储器,也叫主存,是易失性存储器; ROM 只读存储器,非易失。
· 计算DRAM地址线记得除以2
· 进程的所有线程都阻塞了,改进程才认为是阻塞;只要有一个线程是运行态,该进程就是运行态;没有线程运行时,只要有一个线程就绪,该进程就是就绪态
· Clock置换算法
1、简单的Clock置换算法
为每页设置一位访问位,再将内存中的所有页面都通过链接指针链接成一个循环队列。当某页被访问时,其访问位被置1。置换算法在选择一页淘汰时,只需检查页的访问位。如果是0,就选择该页换出;若为1,则重新将它置0,暂不换出,而给该页第二次驻留内存的机会,再按照FIFO算法检查下一个页面。
2、改进型Clock置换算法
在将一个页面换出时,如果该页已被修改过,便须将该页重新写回到磁盘上;但如果该页未被修改过,则不必将它拷回磁盘。在改进型Clock算法中,除须考虑页面的使用情况外,还须再增加一个因素,即置换代价,这样,选择页面换出时,既要是未使用过的页面,又要是未被修改过的页面。把同时满足这两个条件的页面作为首选淘汰的页面。由访问位A和修改位M可以组合成下面四种类型的页面:
1类(A=0,M=0):表示该页最近既为被访问,又未被修改,是最佳淘汰页。
2类(A=0,M=1):表示该页最近未被访问,但也被修改,并不是很好的淘汰页
3类(A=1,M=0):表示该页最近已被访问,但未被修改,该页有可能再被访问
4类(A=1,M=1):表示该页最近已被访问且被修改,该页可能再被访问
(1)从指针所指示的当前位置开始,扫描循环队列,寻找A=0且M=0的第一类页面,将所遇到的第一个页面作为所选中的淘汰页。在第一次扫描期间不改变访问位A
(2)如果第一步失败,即查找一周后未遇到第一类页面,则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有扫描过的页面的访问位都置0
(3)如果第二步也失败,亦即未找到第二类页面,则将指针返回到开始的位置,并将所有的访问位复0。然后重复第一步,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页
· osi模型
网络层提供 无连接和面向连接服务,不可靠传输 网络层也称ip层
传输层仅提供 面向连接服务,可靠传输
*在区分tcp/ip的无连接和面向连接的时候,不要混淆可靠传输的概念
· 动态半导体存储器一次完整的刷新过程只需要占用一个存储周期
· IO方式
程序查询方式 也称 忙等待方式 :IO和CPU不能同时工作
程序中断方式
DMA方式
· 程序中断和DMA
DMA的优先级比程序中断的优先级高
DMA也需要中断请求(开始和结尾时占用一点cpu),但不需要保护现场;程序中断方式需要保护现场
` cpu在每个存储周期结束后检查是否有DMA请求
· 资源分配图出现环路不代表处于死锁状态,可以通过消边简化
· SPOOLing技术
io设备虚拟化,将独占设备改为共享设备
进程输出—>井(磁盘)—>缓存(内存)—>IO设备
· 海明码 2^k>=n+k+1
将数字从左到右编号
计算 G4 G3 G2 G1
· 循环冗余码
计算冗余码:根据多项式写出对应串,信息串末尾补0,用模2不除法计算余数
· 0.0.0.0 不能作为目的地址,但可作为默认的目的地址 路由表中?
127.0.0.1即可作为目的ip地址,也可作为源ip地址
· TCP提供一对一全双工可靠的字节流服务,所以TCP不支持广播服务
· 总线仲裁
集中仲裁方式:将所有总线请求集中起来,利用一个特定的裁决算法进行裁决
1)链式查询方式 :控制线少,电路故障敏感,近的设备优先级高
2)计数器定时查询方式 :n个设备需要log2n+2条控制线,计数可以从0开始(设备号小的优先级高)也可以从上次终点位置开始(循环方式,优先级相等)
3)独立请求方式:响应速度快,控制线数量多,n个设备需要2n+1条控制线
分布式仲裁方式:不需要中央仲裁器
· 单总线结构中,可不使用IO指令 :IO设备和主存统一编址,使用访存指令访问IO设备
· 总线传输
同步方式:一个时钟周期进行一次数据传送
异步方式:不互锁,半互锁,全互锁
· Linux是多用户系统;Windows不是多用户系统
· 进程只能通过进程间通信,不能直接共享内存信息
· 文件控制块(FCB)就是文件目录项,文件控制块是创建文件时建立的
文件首次打开时(即Open操作)时,把FCB调入内存;
· 1-坚持 CSMA 信道为空则发送,忙则一直监听
非坚持CSMA 信道为空则发送,忙则随机后延一段时间再来监听
p-坚持CSMA 信道为空则p概率发送,忙则等到下一个时隙再重复上述过程
1-坚持 和 p-坚持 可以减少网络空闲时间;1-坚持容易产生冲突
· 交换机所连主机能达到带宽最大值,而集线器所连的主机能达到带宽的1/n(n为所连主机数)
· ipv6 128位
通信量类:数据报的优先级
流标号:属于同一个流的数据报有同样的流标号。流:从特定源到特定终点的一系列数据报
· 原码0 可为 000…(+0) 或 100…(-0) 补码0 只能是000…
· 右规和位数舍入时,阶码+1可能导致上溢
· 中断屏蔽字
例:优先级顺序为3,1,2,4;则1,2,3,4的中断屏蔽字分别为
画表: 1 2 3 4
1 1 1 0 1
2 0 1 0 1
3 1 1 1 1
4 0 0 0 1
· 进程中的所有线程共享进程的时间片,系统只能将时间片分配给进程
各线程拥有自己的栈空间,不允许共享
线程切换不会引起进程的切换 ❌ 当从一个进程中的线程切换到另一个进程的线程是,会引起进程切换
· IP地址分类(A类 B类 C类 D类 E类)
A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。
B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。
C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。
D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户[1] 。
E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下: A类地址:10.0.0.0~10.255.255.255 B类地址:172.16.0.0~172.31.255.255 C类地址:192.168.0.0~192.168.255.255
回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。
注意点:D类 是多播(组播)地址。
私有地址路由器不进行转发
· 滑动窗口的概念体现在在链路层的可靠传输(ARQ协议)和 传输层的流量控制
· 静态信道划分不会发生碰撞
ALOHA协议属于动态随机访问协议
· CSMA/CA 信道预约采用方法:交换RTS与CTS帧
· 二进制后退算法:N次碰撞后在0~M选择一个随机数
1)1<=N<=10 时,M=2^N-1
2)10<=N<=15 时,M=2^10-1 = 1023
3)N=16时,丢弃,并返回错误报告
· OF=最高位进位⊕符号位
· 不会导致磁臂黏着的是先来先服务
· 2Wlog2N 2Wlog(1+S/N) db = 10logS/N
· MAC帧格式 总长度 64~1518
目的地址 源地址 类型 数据 CRC
6 6 2 46~1500 4
· 批处理系统不支持多用户
· 让权等待:当进程不能进入临界区时,应立即释放处理器
· 主机向本地域名服务器的查询一般都是采用递归查询。即主机只发一次请求
然后 本地域名服务器(迭代查询的方式下) 依次查询 根域名服务器、顶级域名服务器、权限域名服务器(可能会查询多个权限域名服务器,看网址有几级)。
· 外部中断处理过程 PC值由中断隐指令保存,通用寄存器由操作系统保存
· 死锁的3种策略
死锁预防:破坏死锁产生的条件(互斥条件、请求与保持条件、不可剥夺条件、循环等待条件)
死锁避免:银行家算法
死锁检测和解除:分配资源时不采取任何措施,提供检测和解除的手段
· 页面分配策略和页面置换策略
固定分配:给进程的 每个物理块;分配数量固定,运行时数量固定,按照分配数量。
可变分配:分配数量固定,运行时数量不固定。
缺页时,
局部置换:缺页进程独立,置换分配给自身的物理块。
全局置换:从操作系统中抠一块给缺页进程;或者从其他进程抠一块下来,经过外存,又调回给缺页进程。
为什么没有固定分配–全局置换?
因为,固定分配要求自身缺页时,替换自身;不能要求其他进程的置换,与全局置换相悖。
· 计算滑动窗口的最大平均传输速率,考虑发送第一个数据到接收确认ack之前,最多能发多少数据
所以总时间是 第一个帧的发送时延(有时可以忽略,具体分析) + RTT
王道真题 P130 35
· 管道 文件 半双工通信 同一时刻只能一个方向的传输 可一读一写
· 发送窗口=min{拥塞窗口,接收窗口}
· 各层协议
· 系统总线的数据线 指令、操作数、中断类型号
IO总线的数据线 IO接口中的命令字、O接口中的状态字、中断类型号
中断类型号用以指出中断向量地址,CPU查找中断向量表,找到相应中断处理程序入口
· Cache命中 Page必然命中
TLB命中,Page必然命中
· 条件转移可能引起控制相关
· 异常和中断区分 *
· 中断流程 *
王道真题P237 21
· 引用计数器 符号链接(软链接) 直接复制 ;硬链接 建立时+1,删除时-1
· 以太网交换机根据所收到PDU的目的IP地址进行转发决策
PDU(protocol data unit)协议数据单元
· 路由协议:RIP基于UDP,BGP基于TCP,OSPF基于IP