考研——408真题

2010年

  • 21、没看清中断处理程序
  • 39、拥塞窗口
  • 43、指令计算结果存原来地址,不是存自增后的地址
  • 45、CSCAN寻道过程(默认为C-LOOK)
  • 47、有效数据传输速率,只考虑传输的有效数据,不包括头部、尾部等。

2011年

  • 6、树转换为二叉树时,对应二叉树中无右孩子的结点个数=分支结点个数+1。森林中叶结点个数=二叉树中有右孩子结点个数+1。

  • 11、比较次数计算插入和调整之和。

  • 23、响应比=(等待时间+执行时间)/执行时间

  • 34、波特率B与数据传输速率C关系:C=BlogN

  • 35、GBN累积确认,SR不是累积确认。

  • 42、采用次优解
    (1)算法思想是,对于给定长度且有序的两个序列,设两个指针边比较边遍历两个序列,设一个计数器纪录遍历的数据总个数,当计数器值为n+1时即为所求元素。
    (2)代码实现:

int find_mid(int a[], int b[], int n){
    int i = 0, j = 0;
    int count = 0;
    while(i

(3)时间复杂度为O(n), 空间复杂度为O(1)

  • 45、顾客互斥使用取号机,服务员和顾客相当于互斥用一个空间为10的缓冲区

    Semaphore mutex = 1; //互斥使用取号机
        Semaphore empty = 10; //空位置树
        Semaphore full = 0 ;// 等待叫号顾客数
        Semaphore service = 0;// 同步服务员和顾客
    
      Process customer{
        P(empty); //等空位
        P(mutex); // 申请使用取号机
        从取号机上取号;
        V(mutex);
        V(full);
        P(service); // 等待服务员叫号服务
        接受服务
      }
      Process server{
        while(TRUE){
          P(full);
          V(empty);
          V(service);
          为顾客服务;
        }
      }
    
    
  • 46、已写入的文件不可修改,因此只需要查找的速度快即可,连续分配的优点就是查找速度快,支持随机访问,但增加或删除内容不方便。相对于连续分配,索引分配速度较慢。

2012年

  • 20、USB总线是通用串行总线,其特点是:

    • 即插即用
    • 热插拔
    • 连接能力强,采用菊花链形式能将众多外设连接起来
    • 传输速度高
  • 24、子程序调用只需要保存程序断电,即该指令的吓一条指令的地址。中断调用需要保存PC和PSWR

  • 25、虚拟存储器只能基于非连续分配技术:请求分页存储管理、请求分段管理、请求段页式存储管理。虚拟存储器的容量由CPU的寻址范围决定

  • 30、进程处于临界区时能进行处理机调度,临界区是访问临界资源的代码,如果不能调度处理机,则系统性能将很差,例如访问打印机等慢速设备时,如果一直占用处理机,则系统效率就极差。

  • 33、ICMP网际控制报文协议工作在网络层,用IP发送报文,报文类型主要有

    • 终点不可达:路由器或主机不能交付数据时,向源点发送终点不可达报文
    • 源点抑制:发生阻塞而丢弃报文时向源点发送源点抑制报文
    • 时间超过:TTL为零时,丢弃数据报并向源点发送时间超过报文
    • 参数问题:数据报中首部有字段的值不正确时,丢弃报文并向源点发送参数问题报文
    • 改变路由:通知主机下次发送到别的路由器

    ICMP对差错报文不再发送差错报告报文;对第一个分片数据报片的所有后续数据报片都不发送ICMP报文;对组播地址不发送差错报文;对特殊地址(本地回环、默认路由)的数据报不发送ICMP差错报文。

    此外,ARP工作在网络层,DHCP工作在应用层,采用UDP传送报文,RIP是应用层协议,使用UDP,OSPF是网络层协议。BGP是应用层协议,采用TCP,DNS是UDP

  • 47、TCP连接及释放过程

    2013年

  • 7、邻接矩阵是非对称矩阵,为有向图,各定点的度是结点对应的行和列的非零元素之和

  • 15、海明码纠错d位需要码距为 2 d + 1 2d+1 2d+1,检错d位需要码距为 d + 1 d+1 d+1,在k比特信息位上附加r比特冗余位信息,构成k+r比特的码字,必须满足 2 r ≥ k + r + 1 2^r \ge k + r + 1 2rk+r+1

  • 31、I/O时间比CPU时间多的进程优先级高,能够是进程尽早进入I/O处理,进而调度其他进程,提高系统资源利用率。

  • 死锁预防:设置某些限制条件,破坏死锁产生的4个必要条件中的一个或多个。

    死锁避免:是在资源的动态分配过程中,用某种方法防止系统进入不安全状态。

    死锁检测及解除:在进程运行过程中允许发生死锁,通过检测机构及时地检测出死锁的发生,然后采取措施解除死锁。

    其中死锁预防中给资源编号,限制了用户访问资源的顺序。

  • 34、10BaseT是10M的以太网,采用曼彻斯特编码,将一个码元分成两个相等的间隔,前一个间隔为高电平后一个间隔为低电平表示码元1,码元0的表示方法正好相反。或者采用相反的规定。

    归零编码:高电平代表1、低电平代表0,(或者相反),每个时钟周期的中间均跳变到低电平。为传输双方提供了同步机制。

    非归零编码:周期内不归零,双方难以同步,需要时钟线实现同步。

    反向归零编码:用信号的翻转代表0,信号保持不变代表1。既能传输时钟信号,又尽量不损失系统带宽,USB2.0采用这种编码方式。

    曼彻斯特编码:将一个码元分成两个相等的间隔,前一个间隔为高电平而后一个间隔为低电平表示码元1;码元0表示方法相反。也可以采用完全相反的规定。它所占用的频带宽度是原始基带宽度的两倍。

    差分曼彻斯特编码:若码元为1,则前半个码元的电平与上一码元的后半个码元的电平相同;若码元为0,则相反。可实现自同步,且抗干扰性能好。

    4B/5B编码:将欲发送数据流的每4位作为一组,然后按照4B/5B编码规则将其转换成相应的5位码。5位码共32种组合,但只采用其中的16种对应16种不同的4位码,其他16种作为控制码或保留。

  • 43、访问Cache发生缺失,CPU时间计算,访问cache时并未仿存,在这个题中就是cache命中时的CPI。

  • 44、十六进制或二进制计算时要注意补码符号位扩展,尤其是计算pc相对偏移时。

2014年

  • 9、B树:树中每个结点最多有m棵子树,至多含有m-1个关键字;根节点不是终端结点时至少有两棵子树,初根节点的非叶结点至少有m/2上取整棵子树。树高 l o g m ( n + 1 ) ≤ h ≤ l o g m / 2 ( n + 1 2 ) + 1 log_m(n+1) \le h \le log_{m/2}(\frac{n+1}{2})+1 logm(n+1)hlogm/2(2n+1)+1
  • 15、DRAM芯片地址复用,同时题目问的是一个DRAM芯片的引脚,不是系统存储器的地址线和数据线。
  • 25、关中断是特权指令,必须在核心态执行。trap指令负责有用户态转换成内核态。
  • 26、进程访问磁盘后不一定就分配内存空间,两者之间没有必然联系。例如如果进程的内存空间分配的页面足够,直接调入页框就行。
  • 36、发送窗口大小为1000,发送数据帧长1000B,往返时间为100ms,因此在一个往返时间内最多发送1000个数据帧,则最大平均数据传输率为 1000 ∗ 1000 ∗ 8 / 100 m s = 80 M b p s 1000*1000*8/100ms = 80Mbps 100010008/100ms=80Mbps
  • 45、第二问的Cache命中次数是整个指令执行的命中次数,题中六条指令是循环了1000次执行的,因此不能单独算六条的。
  • 46、关键是要弄清楚访问磁盘的过程,访问磁盘要对磁盘中的内容进行操作必须将磁盘块的内容读入内存进行操作,然后写回磁盘,因此第一问中要移动磁盘块的相对顺序只能先把磁盘块读进内存,然后再写进磁盘。第二问中找到第29块后需要修改其指针的内容,因此必须将其读入内存,找到第29块并读入内存访问磁盘块29次,然后将插入内容(在内存中,可以直接将指针区域指向29块的指针指的块)写入磁盘一个空闲块中,又访问磁盘1次,最后需要将29块的指针修改为指向新插入的记录,然后重新写回磁盘,访问磁盘块1次,因此总共访问磁盘块31次。

2015年

  • 9、基数排序元素的移动次数与关键字的初始排序次序无关

  • 14、对阶操作是低阶向高阶对,对阶时阶码不会溢出。

  • 15、每个字存放32位数据,即4B,存放4K数据需要4K/4B即 2 10 2^{10} 210行,直接映射行号占10位,主存块大小4个字,块内偏移4位,采用回写策略,需要脏位1位,有效位1位,tag位为32-4-10=18位,一行位数位18+2+32。(忘了算行号)

  • 22、内部异常是来自CPU的中断,如电源掉电、地址非法、校验错、页面缺失、非法指令、地址越界、除数为0等。都是在指令执行过程中产生的,异常处理结束后不一定回到发生异常的指令继续执行,例如除数为0、非法指令等要终止进程的执行。缺页异常在异常处理结束后回到发生异常的指令继续执行。

  • 35、利用率计算关键找到发送周期,一般就是第一个数据帧发出到收到第一个数据帧所用的时间,在这个时间内可以连续发送数据帧。在这个题中,帧长1000B,传输速率为128kbps,因此发送时延 1000 ∗ 8 / 128 = 62.5 m s 1000*8/128 = 62.5ms 10008/128=62.5ms,忽略确认帧的传输时延,往返时延为500ms,因此发送周期为 562.5 m s 562.5ms 562.5ms 为使利用率不低于 80 % , 562.5 ∗ 0.8 / 62.5 = 7.2 为使利用率不低于80\%,562.5*0.8/62.5=7.2 为使利用率不低于80%562.50.8/62.5=7.2,即在一个发送周期内最少发送7.2个帧,因此发送窗口大小最小为8,由帧号与发送窗口大小关系== 2 n − 1 > w i n d o w 2^n-1>window 2n1>window==,所以帧序号至少需要4位。

  • 45、P、V操作注意对一个信号量P、V要成对出现,不能漏写。

  • 46、问的是进程所占的页,包括页目录占得页和页目录指向的所有页表索引所占得页。

2017年

选择题

  • 8、关键是二分时中位数的选取,向下取整时左子树比右子树少一个结点,反之类似,整个树中的关键子都能符合这个规律。
  • 17、超标量流水线是在CPU中有一条以上的流水线,并且每个时钟周期内可以完成一条以上的指令,以空间换时间。
  • 25、动态分区最佳适应算法将空闲分区按分区大小进行排序链接。
  • 29、磁盘的不同级别格式化。低级格式化:将空白磁盘划分扇区以便磁盘控制器能读和写,每个扇区采用特别的数据结构,包括校验码、头部、数据区域和尾部等组成。分区:操作系统为了存储文件,需要将自己数据结构记录在磁盘上,首先把磁盘分成一个货多个柱面组成的分区,每个分区作为一个独立的磁盘有自己的文件系统。逻辑格式化:分区之后,操作系统初始化系统数据结构存储在磁盘上,就是创建文件系统。
  • 33、OSI参考模型有七层,自上而下依次为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
  • 35、802.11局域网帧地址字段格式。去往AP为1,来自AP为0时,地址1为接收地址=AP地址,地址2为发送地址=源地址,地址三是目的地址。来自AP为1,去往AP为0,地址1为接收地=目的地址,地址2为发送地址=AP地址,地址3为源地址。总之地址1就是接收地址,地址2为发送地址。

综合大题

  • 43、最后一问float计算时,按理说f(127)=2^128-1,浮点数表示时计算有1.111111…1*2 ^127看似可以表示但是在表示的时候尾巴会舍入 ,阶码+1就变成了128,超过了float表示范围,有点小坑。。。
  • 44、第二问计算占的字节数,两个地址相减要+1才是个数。。。第三问无符号数减法计算过程为a-b=a+[-b]补,在计算机内部计算时是a+b反+sub,其中sub为1,CF=进位异或sub。
  • 45、第三问问的是这个过程中的进程状态变化,包括等输入的阻塞,输入完就绪,最后被调度又回到运行态。
  • 47、弄清楚GBN数据确认过程,还有看清题,第二问给第三问误导了。。。

2018年

选择题

  • 11、建堆过程:从最后一个非叶结点开始调整,即从n/2下取整开始调整。
  • 12、二进制只有0和1运算简单,便于ALU逻辑电路的设计。
  • 14、规格化的浮点数阶码用移码表示,移码范围是1-254,真值即为-126-127,而阶码全0或全1是非规格化的浮点数。因此此题所问最小正数阶码应为-126,尾数全0,表示为 1 ∗ 2 − 126 1*2^{-126} 12126。一些非规格化的浮点数:阶码全0尾数全0表示+0/-0,阶码全1尾数全0表示±∞,阶码全0尾数不全为0是非规格化的小数
  • 24、计算错误,少算了进程切换时的开销。
  • 28、条件变量是管程中的一种特殊变量,代表了阻塞原因。有两种操作,分别为:x.wait:当x对应的条件不满足时,调用x.wait的进程将自己插入条件x的等待队列,并释放管程,其他进程可以使用该管程。x.signal:x对应的条件发生了变化,调用x.signal,唤醒一个因x条件而被阻塞的进程。
  • 32、硬件实现的进程同步不能实现让权等待,Peterson算法满足有限等待,不满足让权等待;信号量引入了阻塞机制,可以实现让权等待。
  • 37、MAC地址会随着传递而变化,IP地址只有当穿透NAT时才会改变。

综合大题

  • 45、页目录基址寄存器存储的是物理内存地址。每个进程的地址空间、页目录及其起始地址一一对应。
  • 47、第一问中子网有一个分给了路由器的转发端口,计算时忽略了。

2019年

选择题

  • 8、查找失败的时候,由于下标只能映射到0-取模的数-1,因此计算得注意。
  • 11、多路归并归并段个数就是多元素哈夫曼树构造那种思想,要满足 n − 1 k − 1 \frac{n-1}{k-1} k1n1够除,因此 120 − 1 + x 11 \frac{120-1+x}{11} 111201+x要能整除,x最少是2。
  • 23、B和D选项。用户级线程和内核级线程存在一对一、多对一、多对多的方式,一对一方式下系统为每个用户级线程建立一个线程控制块。而且用户级线程可以不用内核线程的支持。
  • 31、脑子浆糊了,二进制划分都划分错了。
  • 34、高速以太网相关的东西。
    100BASE—T以太网:传输介质是双绞线,星型拓扑以太网,既支持全双工又支持半双工。
    吉比特以太网:又称千兆以太网,允许在1Gb/s速率下用全双工和半双工两种方式工作。与10BAST—T和100BASE—T技术向后兼容。
    10吉比特以太网:不再使用铜线,采用光纤作为传输介质,只工作在全双工方式下,不使用CSMA/CD协议。

综合题

  • 43、题哲学家问题,参考答案给的是限制同时抢筷子的哲学数量,最多让n-1个哲学家同时抢筷子。这个题里碗的数量可以用来限制同时抢筷子的哲学家的数量,即让碗的数量等于min(n-1, m)。具体过程如下:
semaphore bowl;
semaphore chopsticks[n];
for(int i=0;i<n;i++)
	chopsticks[i] = 1;
bowl = min(n-1, m);
CoBegin
while(TRUE){
	思考;
	P(bowl);
	P(chopsticks[i]);
	P(chopsticks[(i+1)%n]);
	就餐;
	V(chopsticks[i]);
	V(chopsticks[(i+1)%n]);
	V(bowl);
}
CoEnd

写的时候用了通用的模板,就是设置一个大锁,让哲学家一次拿完所需要的资源,如果不能拿完,就还回去,然后释放锁。具体如下:

semaphore mutes = 1;//定义大锁
int bowl = m;// 碗的数量
int chopsticks[n] = {1};
CoBegin
while(TRUE){
	P(mutex);
	if(m > 0 && chopsticks[i] == 1 && chopsticks[(i+1)%n] == 1){
		bowl--;
		chopsticks[i] = chopsticks[(i+1)%n] = 0;
		V(mutex);
		就餐;
		P(mutex);
		// 归还资源
		bowl++;
		chopsticks[i] = chopsticks[(i+1)%n] = 1;
		V(mutex);
	}
	else{
		V(mutex);
		continue;
	}
}
CoEnd
  • 44、柱面、磁道、扇区弄清楚就行了。
  • 45、第一问调用次数得小心点。第5问有符号数乘法溢出判断为:高n+1为非全0或非全1。

2020年

选择题

  • 1、看清按列优先
  • 4、树的中根遍历对应二叉树的中序遍历。森林的后根遍历对应二叉树的中序遍历。
  • 12、机器字长是CPU内部用于整数运算的数据通路的宽度。通用寄存器和运算器和机器字长相等,指令可能不固定长度。因此不一定等于机器字长。
  • 13、二进制转换有点迷了。
  • 19、读清楚题,一个周期内传递两次数据。
  • 22、周期挪用法由DMA控制器挪用一个或几个主存周期来访问内存。每个字传送完毕后CPU可以访问主存。
  • 34、虚电路不需要预分配带宽。
  • 35、交换机可以隔离冲突域,物理层设备集线器、中继器既不能隔离冲突域也不能隔离广播域。路由器既可以隔离广播域也可以隔离冲突域。
  • 39、TCP链接建立第一个和第二个请求报文,发送占用一个序号,但不传送数据,第三次可以传送数据。链接释放时,FIN=1,seq也占用一个序号,不 传送数据。
  • 40、题目中没说TCP已建立,因此需要考虑TCP建立的三次握手的RTT,第三个报文可以携带数据。

综合题

  • 44、读题错误
  • 46、计算页目录项、页表项地址时要考虑表项的大小,尤其是按字节寻址时。这里计算应该是:首地址+页号/页目录号*4
  • 47、NAT地址转换过程弄清楚。其中到访问web服务器时,源IP地址是不变的。

你可能感兴趣的:(上山的路,考研)