2010年408试卷知识点整理

该博客涵盖多领域知识。数据结构介绍树、线索二叉树等;计算机组成原理涉及RAM与ROM、指令流水线等;操作系统包含中断、进程创建等内容;计算机网络讲解路由信息协议、网际控制报文协议等,还介绍了子网划分、域名系统等知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据结构

树的层次

从根结点开始定义,起始为1。

结点的深度

从根结点开始向下增加。

结点的高度

从叶结点开始向上增加。

树的高度/深度

即最大层数。

有序树/无序树

结点各子树从左到右有次序,不能交换的树称为有序树(如二叉树)。

ps:二叉树 != 度为2的树(①最少结点数不同 ②二叉树只有一个孩子也不能交换)

结点数与度的关系

结点数 = 所有结点度数之和 + 1

线索二叉树

线索二叉树定义

若无左子树,令lchild指向其前驱节点;若无右子树,令rchild指向其后驱节点。

平衡二叉树

平衡二叉树定义

左右子树高度差的绝对值不超过1。

插入节点保持平衡的四种方法

删除节点保持平衡的方法

1、删除节点

2、从删除节点向上回溯(删除前的位置),找到第一个不平衡点z;设y是z高度最高的孩子,x是y高度最高的孩子。

3、对以z为根的最小不平衡子树,有四种情况:

①y是z左孩子,x是y左孩子(LL,右单旋)

②y是z左孩子,x是y右孩子(LR,先左后右双旋转)

③y是z右孩子,x是y右孩子(RR,左单旋)

④y是z右孩子,x是y左孩子(RL,先右后左双旋转)

若操作后以z为根的子树高度-1,则可能导致整体仍不平衡,需要从z向上回溯找到第一个不平衡点继续操作。

拓扑排序

while( 图中还有结点 ){

选择一个入度为0的点,加入集合中。

删除该点及以该点为起点的所有路径。

}

 二、计算机组成原理

RAM与ROM

RAM与ROM的区别

1、随机存储器(RAM)与只读存储器(ROM)。(ps:ROM只能随机读出,但部分ROM派生的存储器也可随机存储)

2、易失性存储器(RAM)与非易失性存储器(ROM)。

RAM(Random Access Memory)类别:

1、SRAM(静态随机存储器):用双稳态触发器存储信息,存取速度快,集成度低,功耗大,价格昂贵,一般用于高速缓存寄存器(cache)。

2、DRAM(动态随机存储器):用电容上的电荷(电荷一般只能维持1ms~2ms,需要持续刷新,一般刷新周期为2ms)存储信息,容易集成,价位低,容量大,功耗低,一般用于大容量主存系统。

ROM(Read Only Memory)类别

1、MROM(Mask/掩模式只读存储器):写完无法更改内容。

2、PROM(Programmer/一次可编程只读存储器):用户可以更改一次内容。

3、EPROM(Erasable/可擦除可编程只读存储器):可多次改写,但次数有限,且写入时间长。

4、Flash存储器(U盘、SD卡):可以在不加电时长期保存信息,且能在线快速擦除与重写,且擦除重写速度比上述几个快(写比读慢,写前要先擦除)。

5、SSD(Solid State Drives/固态硬盘):由控制单元和存储单元(Flash芯片)组成,读写快,低功耗,但价格昂贵。

指令流水线

流水线技术

时间上的并行。一个任务分成多个子阶段,并在不同的功能部件上同时执行。

超标量处理机

空间上的并行。在一个处理机内设置多个功能相同的部件,并让部件并行工作。

流水线的执行

1、取指(IF)    2、译码/读寄存器(ID)    3、执行/计算地址(EX)   4、访存(MEM)    5、写回(WB)

风险与处理

1、结构冒险:多条指令同一时刻抢夺同一资源造成的冲突(资源冲突)。

      解决方法:1)前一指令访存时,后面的指令暂停一个时钟周期。

                        2)单独设置数据存储器和指令存储器,将指令与数据分离。

2、数据冒险:多条指令运行时用到同一个数据(数据相关),其中有三种情况:

                        1)写后读(RAW)       2)读后写(WAR)      3)写后写(WAW)

      解决方法:1)对冲突的指令暂停若干个时钟周期,分为硬件阻塞(stall)和软件插入(NOP指令)两种方法。

                        2)设置专用通路,前一条指令的ALU计算结果作为下一条指令的输入数据直接开始计算,不需要存入寄存器(数据旁路技术)。

                        3)对指令编译优化,调整指令顺序。

3、控制冒险:指令改变执行顺序时,导致PC值异常,引发断流(条件转移等)。

      解决方法:1)对转移指令进行分支预测(分为静态和动态)。

                        2)预取转移成功和不成功两个控制流方向的目标指令。

                        3)加快和提前形成条件码。

                        4)提高转移方向的猜准率。

总线

总线设备

主设备(获得总线控制权的设备)与从设备(被主设备访问的设备)。

总线特性

1、机械特性(尺寸、形状)                  2、电气特性(传输方向和有效电平范围)

3、功能特性(每根传输线的功能)       4、时间特性(信号和时序的关系)

总线分类

1、片内总线:芯片内部总线,是CPU内部寄存器之间、寄存器与ALU之间的线。

2、系统总线:①数据总线:双向传输线,位数和机器字长、存储字长有关。

                        ②地址总线:单向传输线,位数和主存地址的空间大小有关。

                        ③控制总线:传输控制信息,包括CPU的指令和主存(或外设)返回给CPU的反馈信号。

                        ps:各个功能部件通过数据总线连接成的数据传输路径叫做数据通路。

3、I/O总线:连接中低速的I/O设备,目的是将低速设备与高速总线分离。(USB、PCI)

4、通信总线:计算机之间或计算机与其他系统之间传送信息的总线,也叫外部总线。

总线结构

1、单总线结构:不止一根线,按传递信息不同可以细分成地址、数据、控制总线。

2、双总线结构:分为主存主线和I/O总线。

3、三总线结构:分为主存总线、I/O总线和直接内存访问(DMA)总线。

总线标准

①ISA,工业标准体系结构,最早出现的微型计算机系统总线,用于IBM的AT机上。

②EISA,拓展的ISA,为了配合32位CPU设计,对ISA完全兼容。

③VESA,视频电子标准协会,针对多媒体PC要求高速传送大量图像数据产生。

④PCI,外部设备互联,是高性能的32位或64位总线,常见适配器有显卡、声卡等。

⑤AGP,加速图形接口,用于传输视频和三维图形数据,属于局部总线。

⑥PCI-E,最新的总线接口标准,取代了PCI和AGP。

⑦RS-232C,由美国电子工业协会(EIA)推荐的串行通信总线,用于DTE和DCE之间。

⑧USB,通用串行总线,连接外部I/O总线,属于设备总线。

⑨PCMCIA,广泛用于笔记本电脑接口,用于拓展功能。

⑩IDE,集成设备电路,也叫ATA,是一种IDE接口磁盘驱动接口类型,如光盘光驱。

⑪SCSI,小型计算机系统接口,用于计算机与智能设备(硬盘、软驱)系统级接口。

⑫SATA,串行高级技术附件,基于行业标准的串行硬件驱动器接口。

Cache与主存的映射

直接映射

主存中的每一块只能装入Cache中的唯一位置。若Cache行数为n,则主存中第0,n,2n,...块装入Cache的第0行。若该位置已有内容,则会产生冲突,直接映射的冲突率最高。CPU访存时,通过行号计算去Cache对应行号的标记进行比较,因此速度快。

Cache行号 = 主存块号 % Cache总行数

若主存地址空间大小为256MB,按字节编址,指令Cache与数据Cache分离,且均有8个Cache行,每个Cache行大小为64B,则:

主存地址结构(28位)
主存块号(22位)块内地址(6位)
Cache直接映射地址结构(28位)
标记(19位)Cache行号(3位)块内地址(6位)

其中,主存地址结构个数为256MB / 8bit = 2^{28}个;主存地址的块内地址个数为64B / 8bit = 2^{6}个,主存地址的标记个数为2^{28-6}  = 2^{22}个;Cache的直接映射地址结构个数与主存地址结构个数相同,Cache直接映射的块内地址与主存地址的块内地址相同,Cache行号个数为2^{3}个,标记个数为2^{28-6-3} = 2^{19}个。

此外,每个Cache行还包含有效位、一致性维护位、替换算法控制位,这些与标记位共同称为标记项。

全相联映射

主存的每一块可以装入Cache的任意位置,因此空间利用率高,命中率也高,但由于CPU访存时要与所有Cache行的标记比较,因此速度较慢,实现成本较高,通常用按内容寻址的相联存储器(价格高)进行地址映射。

Cache全相联地址结构
标记块内地址

组相联映射

将Cache分为Q个大小相同的组,每个主存块可以装入固定组的任意一个Cache行内,主存块与组的对应关系和直接映射中主存块与Cache行号的对应方式相同。CPU访存时与对应组内的所有Cache行的标记比较,因此各方面性能都是上述两个算法的折中。

当组数Q和Cache行数相同时,即为直接映射;当组数Q = 1时,即为全相联映射。另外,若每组含个X个Cache行,那么称这个为X路组相联映射,最大组号为Cache行数 / X。

Cache组相联映射
标记Cache组号块内地址

三、操作系统

中断

括号内为多重中断额外的操作。

硬件中断部分

关中断 -> 保存断点 -> 识别中断源

软件中断部分

硬件中断 -> 保存现场(和屏蔽字) -> 中断事件处理 -> 恢复现场(和屏蔽字) -> 开中断 -> 中断返回

中断事件处理部分

(开中断) -> 执行中断服务程序 -> (关中断)

进程创建

引起进程创建的事件:用户登录、作业调度、提供服务、应用请求、启动程序执行等。

二级页表

对于一个按字节编址,页大小为2^{10}B,页表项大小为2B,逻辑地址空间大小为2^{16}B的二级页表:

页目录号(一级索引)  页号(二级索引)        页内偏移量     

7位

9位10位

其中,一页的页表项最多为2^{10}B / 2B = 2^{9}个,则需要2^{16}B / 2^{9}B = 2^{7}页=128页的页表项才能表示所有数据,页内偏移量 = \log_{2}2^{10} = 10位。

多级索引

设文件索引有7个地址项,其中4个直接地址索引,2个一级间接地址索引,1个二级间接地址索引,每个地址项大小为4B,磁盘索引块和磁盘数据块大小均为256B,求出单个文件最大长度。

    直接地址索引    一级间接地址索引二级间接地址索引
个数4个2个1个
最大表示大小256B256 / 4 * 256B(256 / 4) ²  * 256B
总大小4 * 256B2 * 256 / 4 * 256B(256 / 4) ²  * 256B
文件最大长度4 * 256 + 2 * 256 / 4 * 256B + (256 / 4) ²  * 256B = 1057KB

磁盘调度算法

磁盘操作时间计算

1、寻找时间 T_{s} = m * n + s

m为移动一个磁道的时间(一般为0.2ms),n为磁道数,s为启动磁臂时间(一般为2ms)。

2、旋转延迟时间 T_{r} = 1 / 2r,即磁盘旋转半圈花费的时间

r为磁盘旋转速度,由于是平均时间,所以计算转半圈。

3、传输时间 T_{t} = b / rN,即读写字节占磁道总字节的比例除以转速

b为每次读写的字节数,r为磁盘旋转速度,N为一个磁道上的字节数。

先来先服务(First Come First Served, FCFS)算法

按磁盘请求队列中的顺序,先请求的先执行。

最短寻找时间优先(Shortest Seek Time First, SSTF)算法

每次都执行当前位置移动所耗费时间最少的请求。

扫描(SCAN)算法(电梯调度算法、LOOK算法)

从当前位置朝一个方向移动(一般朝右),执行这个方向上经过的所有请求,直到移动到这个方向的终点时(并非移动到这个方向上的最后一个请求时),朝相反方向移动,并执行这个方向上经过的所有请求,直到执行完最后一个请求(不需要移动到终点)。

循环扫描(Circular SCAN, C-SCAN)算法(C-LOOK算法)

第一次移动与扫描算法相同,移动到终点返回时,不执行经过的请求,直到再次移动到终点后,朝相反方向移动,并执行经过的请求,直到执行完最后一个请求。

四、计算机网络

路由信息协议(RIP)

RIP规定

1、每个路由器维护自身到其他网络的距离记录

2、距离也称为跳数,相邻路由器/网络跳数为1,每经过一个路由器跳数+1。

3、RIP认为好的路由就是跳数最少的路径。

4、一条路径最多包含15个路由(最大为15跳),跳数为16表示目标网络不可达,因此RIP只适用于小型互联网。

5、任意两个路由器之间每30s广播一次RIP路由更新信息。(动态维护)

6、不支持子网掩码的RIP广播,即每个网络子网掩码必须相等。

ps:在新的RIP2中支持变长子网掩码与CIDR。

RIP性质

1、网络出现故障则要较长时间收敛(30s更新一次的限制)。

2、属于应用层协议,使用UDP传送数据(端口520)。

3、选择的路径不一定是耗时最短的,但一定是距离/跳数最小的。

网际控制报文协议(ICMP)

ICMP差错报文

1、终点不可达---路由器或主机无法交付数据报。

2、源点抑制---路由器或主机因拥塞丢弃数据报。

3、时间超过---路由器收到生存时间(TLL)为零的数据报。

4、参数问题---路由器或目的主机收到数据报的首部中有的字段值错误。

5、改变路由(重定向)---路由器路径修改后,要发送给主机更新目的路由。

不发送差错报文的几种情况

1、出错的是ICMP差错报文。

2、发送过ICMP差错报文的分片的后续所有分片。

3、具有组播地址的数据报。

4、特殊地址(如127.0.0.0或0.0.0.0)。

ICMP询问报文

1、回送请求和回答报文。

2、时间戳请求和回答报文。

3、地址掩码请求和回答报文。

4、路由器询问和通告报文。

ICMP常见应用

1、分组网间探测(PING):测试两台主机连通性。

2、Traceroute(UNIX系统)/Tracert(Windows系统):跟踪分组经过的路由。

ps:PING工作在应用层,跳过传输层的TCP与UDP直接使用网络层的ICMP;

       Traceroute/Tracert工作在网络层。

子网划分

对于一个IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248的网络:

IP地址子网掩码
十进制表示192.168.5.0/24255.255.255.248
二进制表示XX.XX.XX.0000 0000XX.XX.XX.1111 1000

对于IP地址,因为网络号为前24位,故剩余的后8位为子网位+主机位。

对于子网掩码的后8位来说,前5位为1,后3位为0,故IP地址后8位中的前5位为子网号,后3位为主机号。

子网号的范围为XX.XX.XX.0000 0XXX  ~  XX.XX.XX.1111 1XXX,共2^{5}个可分配个数。

主机号的范围为XX.XX.XX.XXXX X001 ~ XX.XX.XX.XXXX X110,共2^{3}-2个可分配个数。

路由器

冲突域

连接到同一物理介质上的结点集合,在OSI参考模型中视为第一层概念,如集线器、中继  器等连接的设备属于同一冲突域,第二层(网桥、交换机)设备与第三层(路由器)设备可以划分冲突域。

广播域

接收同样广播消息的结点集合集合,在OSI参考模型中视为第二层概念,只能被第三层设备划分广播域。

广播风暴

由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪。可通过路由器划分广播域解决。

标准路由表

目的网络IP地址、子网掩码、下一跳IP地址、接口。

转发与路由选择

转发只将IP数据报根据路由表信息从指定端口发送出去,对象为单个路由器;

路由选择通过复杂的路由算法,根据相邻路由器得到的网络拓扑变化动态地改变选择的路由,对象为多个路由器。

域名系统(DNS)

使用客户/服务器模型,协议运行在UDP之上,使用53号端口。

层次域名空间

层次树状结构命名,使任何一个连接到英特网的主机或路由器都有唯一的层次结构名称,即域名,共分为顶级域、二级域、三级域,部分域名有四级域。

域名要求

1、标号中的英文不区分大小写。

2、只可以使用字符"-"。

3、每个标号不超过63个字符,完整域名不超过255个字符。

4、级别低的域名在左,级别高的域名在右。

eg. www.this-is-a-web.edu.cn   

      cn -> 顶级域名     edu -> 二级域名     this-is-a-web -> 三级域名     www -> 四级域名

域名解析过程

主机 -> 本地域名服务器 -> 根域名服务器 -> 顶级域名服务器 -> 权限域名服务器

域名解析两种方法

1、递归查询:主机向本地域名服务器查询失败后,都由当前服务器向下一层服务器进行查询,直到查询成功再一层层返回域名。(负载大几乎不用)

2、递归与迭代结合的查询:主机向本地域名服务器查询失败后,由本地域名服务器逐个向后续的服务器进行访问,直至查询到域名,直接返回给主机。

ps:域名服务器中含有高速缓存以提高DNS查询效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值