吞吐量:系统在单位时间内处理请求的数量。系统吞吐量主要取决于内存的存取周期。
响应时间:从用户向计算机发出一个请求,到系统对该请求响应并获得所需结果的等待时间。
主频:每单位时间执行的时钟周期个数。
CPU时钟周期:通常为节拍脉冲或T周期,即主频的倒数。是CPU最小的时间单位,执行指令的每个动作至少要1个时钟周期。
对于单个指令来说,CPI是执行一条指令所需的时钟周期数;对于一个程序或一台机器来说,CPI指该程序或该机器的指令集中所有指令执行所需的平均时钟周期数。
运行一个程序所花费的时间,受主频、CPI、指令条数影响。
CPU执行时间 = CPU时钟周期数 / 主频 = (指令条数 * CPI) / 主频
每秒执行多少百万条指令
MIPS = 指令条数 / (执行时间 * ) = 主频 / (CPI * )
每秒执行多少M/G/T/P/E/Z次浮点运算
具备基本相同的体系结构。用相同基本指令系统的多个不同型号的计算机组成的一个产品系列。
指软件或硬件的通用性。运行某个型号的计算机系统中的软件/硬件也能应用于另一个型号的计算机系统,则称这两台计算机在硬件/软件上存在兼容性。(同个产品系列)
把使用在某个系列计算机中的软件直接或很少地修改就能运行在另一个系列计算机的可能性。
将程序固化在ROM中组成的部件。固件是一种具有软件特性的硬件,执行速度比软件快,灵活性优于硬件,目前的操作系统已实现部分固化。
32位单精度格式 | ||
符号 | 阶码 | 尾数 |
1位 | 8位 | 23位 |
64位双精度格式 | ||
符号 | 阶码 | 尾数 |
1位 | 11位 | 52位 |
其中,尾数的最高位采用隐藏位策略的原码表示,例如 = ,规格化后结果为1.1x,其中整数部分的"1"不存储在尾数内,因此采用这种方法可以多表示一位尾数。
IEEE 754浮点数的格式 | ||||||
类型 | 数符 | 阶码(n) | 尾数数值 | 总位数 | 偏置值() | |
十六进制 | 十进制 | |||||
短浮点数 | 1 | 8 | 23 | 32 | 7FH | 127 |
长浮点数 | 1 | 11 | 52 | 64 | 3FFH | 1023 |
临时浮点数 | 1 | 15 | 64 | 82 | 3FFFH | 16383 |
其中,对于IEEE格式的浮点数来说,由于阶码没有符号位,无法表示负数,因此阶码需要在运算时需要在真值上增加偏置值,而偏置值设立的目的就是为了让没有符号位的阶码可以表示负数。
eg.对于float类型的"-8.25"来说,将其分配到一个32位浮点寄存器FR1后的内容为多少?
= = -1.000 01x,其中首位的"1"被隐藏,且阶码真值加上偏置位127后为130,故结果为:1;1000 0010;0000 1000 0000 0000 0000 000,即1100 0001 0000 0100 0000 0000 0000 0000B,转化为十六进制为C104 0000H。
c语言中的无符号类型以二进制真值形式存储,有符号类型以二进制补码形式存储。
对应的二进制数值相同,首位的符号位变数值位/数值位变符号位。
类型 | 十进制 | 二进制 |
有符号数 | -4321 | 1110 1111 0001 1111 |
无符号数 | 61215 | 1110 1111 0001 1111 |
高位向低位转换,将高位多出的部分截断,只留取低位部分。
类型 | 十进制 | 十六进制 |
int | -34991 | 1111 1111 1111 1111 0111 0111 0101 0001 |
short | 30545 | 0111 0111 0101 0001 |
低位向高位转换,低位部分相同,高位部分按符号位(无符号类型的符号位当做0处理)的值填充。
类型 | 十进制 | 十六进制 |
short | -4321 | 1110 1111 0001 1111 |
int | -4321 | 1111 1111 1111 1111 1110 1111 0001 1111 |
频繁的页面调度行为
同时运行的进程过多,导致分配给每个进程的物理块过少,以至于无法满足进程正常运行的基本要求。
在某段时间间隔内,进程要访问的页面集合。
工作集W可由时间t和工作集窗口大小△来确定:在某时刻t,某进程最近访问的△个页面,组成一个工作集W。
而实际应用中,通常会给工作集窗口△设置的很大,所以工作集窗口△会比工作集W大很多(工作集中会有重复的页面)。为了防止抖动的现象,一般分配给进程的物理块数要大于工作集大小。
用来存放文件需要的各种信息的数据结构,来实现按名存取。FCB的有序集合叫做文件目录,1个FCB就是1个文件目录项。
FCB的内容并不唯一,主要为以下三类:
1、基本信息。如文件名、文件物理位置、文件逻辑结构、文件物理结构等。
2、存取控制信息。如文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。
3、使用信息。如文件创建时间、上次修改时间等。
一个文件目录也被视为一个文件,叫做目录文件。
文件目录一般存放在磁盘,若文件很大,则文件目录会占用大量磁盘块,而CPU对磁盘块的读取是很慢的,因此引入了索引节点来提高对目录的访问速度。
索引节点指将目录中部分信息存放到主存中(因为部分信息在未查找成功时不会用到),来减少目录项大小,因此一个磁盘块可以存储更多的目录项,存储目录项的磁盘块数量也可以减少,访问磁盘块的次数也对应减少。
例如,一个PCB为64B,磁盘块大小为1KB,一个文件有640个FCB,则:
PCB大小 | 占磁盘块数 | |
无索引节点 | 64B(文件名、物理地址、逻辑结构等) | 20 |
有索引节点(如UNIX) | 16B(14B文件名+2B索引节点) | 5 |
引入索引节点后,若访问磁盘找到了目标文件,通过索引节点来寻找存储在主存中的对应文件的信息。
将多路基带地址调制到不同频率的载波上,再叠加成一个复合信号。
相邻信道之间需要加入“保护频带”,系统效率较高,实现比较容易。
将一条物理信道按时间划分成若干个时间片,轮流分配给多个信号使用。
统计时分多路复用(STDM,又称异步时分多路复用)是TDM的一种改进,采用了STDM帧,按需动态分配时隙。
光的频率多路复用,在一根光纤上传输多种不同波长(频率)的光信号。
实现的依据是光波处在频谱的高频段,有很高的带宽。
将多个信号用不同且条件限制的编码处理,一起发送,最后采用对应的编码来区分各路原始信号的一种复用方式,与FDM和TDM不同,即共享信道频率,又共享时间。
假如站点A的码片序列为0001 1011,则如果A站点要发送0001 1011,会表示为发送比特1,如果A站点要发送110 0100,会表示为发送比特0。为方便将1当做+1,将0当做-1处理,则站点A的码片序列为-1 -1 -1 +1 +1 -1 +1 +1。
若此时有个站点B的码片序列为-1 -1 +1 -1 +1 +1 +1 -1(不同站点的码片序列需要内积为0,即正交,为了接收方能将信号分离),且A要发送比特1,B要发送比特0,则A与B要发送的码片向量分别如下:
码片向量 | |
A | -1 -1 -1 +1 +1 -1 +1 +1 |
-B | +1 +1 -1 +1 -1 -1 -1 +1 |
A + (-B) | 0 0 -2 +2 0 -2 0 +2 |
发送站点A与站点B的码片向量的和,到达终点后接收方通过将收到的码片向量与发送方的码片序列进行正交,便可得到发送方发送的码片向量为何值:
1/8 * A(A - B) = 1/8 * (A² - AB) = 1/8 * A² = 1
1/8 * B(A - B) = 1/8 * (AB - B²) = -1/8 * B² = -1
因此可以得到从A站点发来的信号为1,从B站点发来的信号为-1,即0。
码分多路具有频谱利用率高、抗干扰能力强、保密性强、语音质量好等优点,还可以减少投资成本,主要用于无线通讯系统,尤其是移动设备通信系统。
胜利者通过争用获得信道,从而获得信息的发送权。
1、纯ALOHA协议。
网络中的任何一个站点要发送数据时,可以不进行任何检测直接发送。如果在一段时间内没有收到确认(发送数据时其他站点也在发送,造成冲突),则等待一个随机时间后重新发送,直到收到确认。
2、时隙ALOHA协议。
把各站点时间同步,并划分为一段段等长的时隙(Slot),规定只能在每个时隙开始时才能发送一个帧,避免了用户发送数据随意性,减少冲突可能,提高信道利用率。时隙ALOHA网络比纯ALOHA网络吞吐量大了1倍。
1、1-坚持CSMA
侦听到信道忙后,继续坚持侦听信道,直到侦听到信道空闲,立刻发送数据。
2、非坚持CSMA
如果信道空闲,立刻发送数据;如果信道忙,放弃侦听,等待一个随机时间后重新侦听。
3、p-坚持CSMA
如果信道忙,继续坚持侦听信道,直到侦听到信道空闲,以概率p发送数据,以概率1-p放弃发送,并在下个时隙重新侦听。
1、准备数据。适配器从网络层获得一个分组,封装成以太网帧,放入适配器缓存中。
2、先听后发。适配器侦听到信道空闲,则发送缓存中的帧;如果侦听到信道忙,则持续侦听直到信道上没有信号能量,开始发送缓存中的帧。
3、边听边发,冲突停发。发送过程中,适配器持续检测信道。如果一直没有检测到碰撞(电平检测),则顺利发送该帧;若检测到碰撞,则终止数据发送,并发送一个拥塞信号,让所有用户知道。
4、随机重发。终止发送后,适配器执行指数退避算法,等待随机的时间后从2开始执行。
由于电磁波在总线上传播速率有限,因此对信道空闲的检测会有延迟,若产生冲突,站点需要在发送完数据之前就收到冲突的信号。设τ为单程传播时延,则站点需要至多2τ(争用期)的时间就能知道是否有冲突产生。因此:
帧长 / 数据传输速率 >= 2τ => 最小帧长 = 2τ * 数据传输速率 = 2 * 单程传输时延 * 数据传输速率
二进制指数退避算法:
1、确定退避时间,一般为一个争用期。
2、定义参数k,k等于重传次数;当重传次数>10时,k不再增加一直等于10。
3、从离散整数集合[0, 1, ……, - 1]中随机取出一个数r,重传需要的退避时间为r倍的争用期,即2 τ r。
4、重传次数达到16次还不能成功,说明网络太拥挤,抛弃此帧并向高层报错。
对CSMA/CD的改进,广泛应用于无线局域网,设计的思想是不采用碰撞检测,而是尽量降低碰撞发生的概率。
为尽量避免碰撞,802.11规定所有站发送完成后,需要等待一段很短的时间(帧间间隔,IFS)才能继续发送下一帧。帧间间隔的长短取决于要发送的帧的类型,802.11使用了三种IFS:
1、SIFS(短IFS):最短的IFS,用来分割属于一次对话的各帧,使用的帧有ACK帧、CTS帧、分片后的数据帧、所有回答AP探询的帧。
2、PIFS(点协调IFS):中等长度的IFS,在PCF操作中使用。
3、DIFS(分布式协调IFS):最长的IFS,用于异步帧竞争访问的时延。
CSMA/CA具体执行步骤:
1、一个信道内首次有站点要发送数据,检测到信道空闲,等待DIFS后发送整个数据帧。
2、所有站点后续发送的数据(包括第一次发送数据的重传),执行CSMA/CA退避算法,选取一个随机回退值,信道空闲时回退计时器倒计时,信道忙时回退计时器不变。
3、回退计时器减为0时,站点发送整个帧并等待确认。
4、发送站收到确认帧ACK后,从步骤2开始发送接下来的帧;规定时间内未收到确认帧ACK,必须从步骤2开始重传数据,直到收到确认,或多次重传失败后放弃发送。
处理隐蔽站问题:RTS和CTS
若站A和站B相距较远,则A和B检测到信道空闲,可能会一起朝同一个地方AP发送数据帧,造成碰撞。
解决方法:进行预约(类似操作系统的PV)。
1、发送方发送数据帧之前先广播一个很短的请求RTS(Request To Send)控制帧,包括了源地址、目的地址和此次通信的持续时间,此帧可被其范围包括AP的所有站点收到。
2、若信道空闲,AP会给收到的第一个RTS控制帧的源地址,发送一个CTS(Clear To Send)控制帧,包括了此次通信的持续时间,该帧可被其范围包括A和B的所有站点收到。
3、所有站点收到CTS后检查这个帧是否发给自己,若不是,则在此次通信持续时间内抑制发送。
路由器需要路由到其他网络时,若多个目标网络的前n位数都相同,则可以聚合为一个超网。
如路由器R1需要路由到192.168.2.0/25和192.16.2.128,对于这两个目标网络来说:
目标网络地址 | 头部相同位数 | |
1 | 1100 0000.1010 1000.0000 0010.0000 0000 | 24 |
2 | 1100 0000.1010 1000.0000 0010.1000 0000 |
因此可以聚合为超网:192.168.2.0/24,子网掩码为前24位,即255.255.255.255.0。