计算机考研题目汇总【持续更新】

计算机考研题目汇总【持续更新】_第1张图片

第一题:-6
解析
信号量的当前值如果是正值N,该值表示有N个可用资源。
如果为0,则表示所有资源全部被分配,同时没有进程处于等待状态
如果为负数N,则表示全部资源分配完毕,且还有N个进程处于等待该资源的状态。这里 N为6
第2题:5
因为需要11台打印机,每次要用三台,所以得出3+(n-1)×2=11。 5
第三题: 局部性
第四题:6
4KB的块可以存2^12/2^3=2^9即512个页表项,
64位,4kb的页内编址需要12位。其余给多级页表,剩余52位,每级页表9位。52/9取上得6.所以是6级页表。
第5题 :100
本题考查一级目录结构的知识。3200个目录项需要占用的盘块数=3200×64B/1KB=200个。采用一级目录,平均访问盘块次数=(0+200)/2=100,所以平均访问磁盘数=100次。

计算机总线按功能和规范可分为数据总线、地址总线、控制总线等,有的系统中,数据总线和地址总线是复用的,即总线在某些时刻出现的信号表示数据而另一些时刻表示地址。 总线的数据传输类型分单周期方式和猝发(burst)方式。单周期方式是指一个总线周期只传送一个数据。猝发(burst)方式是指取得总线控制权后进行多个数据的传输。寻址时给出目的地首地址,访问第一个数据,数据2、3到数据n的地址在首地址基础上按一定规则自动寻址(如自动加1)。 某同步总线的宽度为32位,传输128位数据需要128/32=4个时钟周期,由于采用猝发方式,共需要5个时钟周期,在时钟频率为100MHz的情况下,即每个周期10ns,所需要的时间至少是5*10=50ns。

下列调度算法中,( )调度算法是绝对可抢占的。

A.先来先服务 
B.时间片轮转
C.优先级 
D.短进程优先

本题目考查各种调度算法的特点。先来先服务调度算法是不可抢占的,优先级调度算法和短进程优先调度算法可以分为可抢占和不可抢占两种,时间片轮转调度算法在时间片到达时将剥夺正在执行的进程的处理机,把处理机分配给就绪队列中的队首进程,即时间片轮转调度算法一定是可抢占的。因此应该选择B。

D. 死锁是系统提供的资源少于进程所需要的资源总数所引起的, 每个进程最多申请x个资源而不产生死锁。 m*(x-1)+ 1 = n 求出:x =D选项、 解析: 每个进程申请(x-1)个资源时,各个进程都需要等待其他进程释放资源,此时共 m *(x-1)个资源,系统 会产生死锁; 只要再多一个资源,就可以打破死锁的僵局。

 IP地址在路由的时候,无论中间经过多少路由器,源和目的的IP地址都是不会变的,但是MAC地址会变.

计算机考研题目汇总【持续更新】_第2张图片

1 首先注意:单处理器只能并发,多处理器并发、并行都可以。并行指的是进程(线程)同时执行,单处理器是无法做到这点的。
可以采用分时复用技术,来达到近似并行的效果。分分时复用的操作系统却是把CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。分时操作系统主要具有以下3个特点:① 多路性。用户通过各自的终端,可以同时使用一个系统。② 及时性。用户提出的各种要求,能在较短或可容忍的时间内得到响应和处理。③ 独占性。在分时系统中,虽然允许多个用户同时使用一个CPU,但用户之间操作独立,互不干涉。
2 DMA 指外部设备不通过CPU而直接与系统内存交换数据的接口技术。DMA传送操作分三个阶段:准备阶段、DMA传送阶段和传送结束阶段。1.准备阶段:在这个阶段中,CPU通过指令向DMA控制器发送必要的传送参数。
2.DMA传送阶段
  DMA接口上传送的一批数据是一个个传送的,在周期挪用控制方式下DMA控制器主要完成以下五个操作。
  ①外设准备好一次数据传送后,接口向主机发DMA请求。
  ②CPU响应DMA请求,把总线使用权让给DMA控制器。DMA控制器控制源、目的端口准备传送数据。
  ③DMA周期挪用一次,交换一个数据信息。
  ④归还总线使用权,修改主存地址指针和传送计数值。
  ⑤判断这批数据是否传送完毕:是,结束该工作阶段;没有,又开始传送下一个数据。DMA中信息传送过程.
3 虚拟机优点:运行在主机上,完全独立,虚拟机里面的所有操作不会影响主机,即使虚拟崩溃了,一般用来测试或与实验,当然它有这些优点你想怎么就怎么。至于缺点,它就是建立在主机上,毕竟是虚拟机,也是文件,很容易被破坏。常用的话,可以搜索 JVM java 虚拟机 进行举例。Java原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢。而该虚拟机技术将常用的部分代码编译为本地(原生,native)代码,这样显著提高了性能。

计算机考研题目汇总【持续更新】_第3张图片

1 串是一种特殊的线性表,其特殊性体现在数据元素是一个字符
 数组是编译语言自带的一种复合数据类型。
广义表和线性表是数据结构方面的概念,它们都被定义为一个有限的序列(a1,a2,a3,…,an)。只不过线性表中ai被限定为单个的元素,而广义表中ai可以是单个元素,也可以是一个子广义表。所以线性表可以用数组这种顺序存储结构来表示,也可以用链表来表示。而广义表一般只能用链表来表示。

2 栈操作进行括号匹配思想:
首先 用一个栈的实例用来保存表达式中的左括号。
然后,根据栈指针 依次扫描表达式各个字符,遇到左括号类的字符 char 则将之入栈,遇到右括号类的字符则将栈顶的左括号字符出栈并且与 char 进行比较,看是否匹配。比较功能由函数实现。如果成功匹配就继续 没有就停止

3 最优的话 应该就是 二叉排序树(O(logn))
与问题规模无关,则构建一颗最优的二叉查找树,基本思想用到了动态规划的知识。
对于最优BST问题,利用减一技术和最优性原则,如果前n-1个节点构成最优BST,加入一个节点an 后要求构成规模n的最优BST。按 n-1, n-2 , ... , 2, 1 递归,问题可解。自底向上计算:C[1, 2]→C[1, 3] →... →C[1, n]。为不失一般性用
C[i, j] 表示由{a1,a2,a3......an}构成的BST的耗费。其中1≤i ≤j ≤n。这棵树表示为Tij。从中选择一个键ak作根节点,它的左子树为Tik-1,右子树为Tk+1j。要求选择的k 使得整棵树的平均查找次数C[i, j]最小。左右子树递归执行此过程。(根的生成过程)

第四题是树的层次遍历类似,这个可以借鉴层次遍历与图的广度遍历的基础知识进行解释 
第五题优点在于 计算机底层为二进制存储,使用树形可以形象的描述这种关系,且可以进行高效的运算 在计算机体系中,树的地位是无可替代的。计算机的核心是计算和储存,而树有效地解决了储存的问题和计算时程序调用的问题。说到内存就不得不提到与栈并称的堆了。堆是可以持久化管理和储存数据的数据结构。实际上堆是一颗不用储存边的完全二叉树,可以通过节点间的关系展开。
6  一个 排序算法是 稳定的,就是当有两个相等记录的关键字 A B,且在原本的列表中A 出现在 B之前,在排序过的列表中A 也将会是在B 之前。反之不稳定
快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法。
基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。

1 某分页式虚拟存储系统,用于页面交换的磁盘的平均访问及传输时间是20ms。页表保存在主存,访问时间为1μs,即每引用一次指令或数据,需要访问两次内存。为改善性能,可以增设一个关联寄存器,如果页表项在关联寄存器里,则只要访问一次内存就可以。假设80%的访问其页表项在关联寄存器中,剩下的20%中,10%的访问(即总数的2%)会产生缺页。请计算有效访问时间。

有效访问时间为
80%×1+(1-80%)×((1―10%)×1×2)+2%×(1×2+20×1000)=401.2(μs)

2 请求分页管理系统中,假设某进程的页表内容如下表所示。 
页号 页框(Page Frame)号 有效位(存在位) 
0 101H 1 
1 ― 0 
2 254H 1 
页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设:①TLB初始为空;②地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);③有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H、1565H、25A5H,请问:
依次访问上述三个虚地址,各需多少时间给出计算过程。

根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为4KB,即212,则得到页内位移占虚地址的低12位,页号占剩余高位。可得三个虚地址的页号P如下(十六进制的一位数字转换成4位二进制,因此,十六进制的低三位正好为页内位移,最高位为页号): 
2362H:P=2,访问快表10ns,因初始为空,访问页表100ns得到页框号,合成物理地址后访问主存100ns,共计10ns+100ns+100ns=210ns。 
1565H:P=1,访问快表10ns,落空,访问页表100ns落空,进行缺页中断处理108ns,合成物理地址后访问主存100ns,共计10ns+100ns+108ns+100ns≈108ns。 
25A5H:P=2,访问快表,因第一次访问已将该页号放入快表,因此花费10ns便可合成物理地址,访问主存100ns,共计10ns+100ns=110ns。

46.使用TSL(Test and Set Lock)指令实现进程互斥的伪代码如下所示。
1
2
3
4
5
6
7
do{
……
while(TSL(&lock)) ;
critical section;
lock=FALSE;
……
} while(TRUE);
下列与该实现机制相关的叙述中,正确的是 。

正确答案: B 你的答案: B (正确)

退出临界区的进程负责唤醒阻塞态进程
等待进入临界区的进程不会主动放弃CPU
上述伪代码满足“让权等待”的同步准则
while(TSL(&lock))语句应在关中断状态下执行
解析:
当进程退出临界区时置lock为FALSE,会负责唤醒处于就绪状态的进程,A错误。若等待进入临界区的进程会一直停留在执行while(TSL(&lock))的循环中,不会主动放弃CPU,B正确。让权等待,即当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。通过B选项的分析中发现上述伪代码并不满足“让权等待”的同步准则,C错误。若while(TSL(&lock))在关中断状态下执行,当TSL(&lock)一直为true时,不再开中断,则系统可能会因此终止,D错误。

关闭中断,表示CPU不在受理另外一个设备的中断。这里是指程序TSL=True一直死循环,使程序其他部分无法执行

环路等待条件:
指在发生死锁时,必然存在一个进程资源的环形链,即进程集合{P0,P1,P2,···,Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,,Pn正在等待已被P0占用的资源

 

页式存储(清华大学)
已知系统为32位实地址,采用48位虚拟地址,页面大小4KB,页表项大小为8B;每段最大为4GB。
(1)假设系统使用纯页式存储,则要采用多少级页表,页内偏移多少位?
(2)假设系统采用一级页表,TLB命中率为98%,TLB访问时间为10ns,内存访问时间为100ns,并假设当TLB访问失败后才访问内存,问平均页面访问时间是多少?
(3)如果是二级页表,页面平均访问时间是多少?
(4)上题中,如果要满足访问时间<=120ns,那么命中率需要至少多少?
(5)若系统采用段页式存储,则每用户最多可以有多少段?段内采用几级页表?
参考答案:

(1)首先,页面大小为4KB,故页内偏移需要12位来表示。其次,系统虚拟地址一共48位,所以剩下的48-12=36位可以用来表示虚页号。每一个页面可以容纳的页表项为:4KB/8B=29(也就是可以最多表示到9位长的页号),而虚页号的长度为36位,所以需要的页表级数为:36/9=4级。

(2)当进行页面访问时,首先应该先读取页面对应的页表项,98%的情况可以在TLB中直接得到得到页表项,直接将逻辑地址转化为物理地址,访问内存中的页面。如果TLB未命中,则要通过一次内存访问来读取页表项,所以页面平均访问时间是:

98%×(10+100)ns+2%×(10+100+100)ns=112ns

(3)二级页表的情况下:

如果TLB命中,和(2)的情况一样,如果TLB没有命中,采用二级页表需要访问3次内存,所以页面平均访问时间是:

98%×(10+100)ns+2%×(10+100+100+100)ns=114ns

(4)假设快表的命中率为p,应该满足以下式子:

p×(10+100)ns+(1-p)×(10+100+100+100)ns<=120ns

可以解得:p>=95%,所以如果要满足访问时间<=120ns,那么命中率至少为95%。总结知识点:在多级页表的情况下,如果TLB没有命中,则需要从虚拟地址的高位起,每N位(其中N就是类似于(1)中的9)逐级访问各级页表,以第(1)问为例,如果快表未命中,则需要访问5次内存才能得到所需页面。

5 关于段页式:
系统采用48位虚拟地址,每段最大为4GB,故段内地址为32位,段号为48-32=16位。每个用户最多可以有2^16个段。段内采用页式地址,每一个页面可以容纳的页表项为:4KB/8B=2^9,则(32-12)/9,取上整为3,故段内应采用3级页表。

在采用多级页表的页式存储管理中,若快表使中,则只需要一次访问内存操作即时存取指令或数据,这一点需要注意和理解。以本题1)中假设的条件为例,不考虑分段时,需要4级页表。如果快表未命中,则需要从虚拟二址的高位起,每9位逐级访问各级页表,第5次才能访问到指令或数据所以的内存页面。
如果快表命中,首先考虑快表中的实际内容:快表存放经常被访问的页面对应的页表项,页表项中是完整的48-12=36位页面号,所以根据快表可以直接对虚拟地址进行转换。故多级页表中,快表命中时同样只需要一次访问内存操作。根本原因在于,快表提供了进行地址转换的完整的页面号,而不是某一级的页面号。

计算机考研题目汇总【持续更新】_第4张图片

计算机考研题目汇总【持续更新】_第5张图片

关于这道题最后一问:

首先明白,TCP Reno 版本在快重传之后采用快恢复算法而不是采用慢开始算法。把cwnd值设置为拥塞控制算法出现超时的拥塞窗口数值42的一半21,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。
也有的快重传实现是把开始时的拥塞窗口cwnd值再增大一点,即等于 21+ 3 X MSS(这样做的理由是:既然发送方收到三个重复的确认,就表明有三个分组已经离开了网络。这三个分组不再消耗网络 的资源而是停留在接收方的缓存中。可见现在网络中并不是堆积了分组而是减少了三个分组。因此可以适当把拥塞窗口扩大了些。)
这就解释了,第二次那个拥塞避免也就是16s 后 17s的时候,那个值不是 21,而是24(但注意自己在做题的时候,题目无明显说明,是用21的) ,所以从 根据题意,第九小题,计算 [17,21] 该段是个快恢复的过程,22时间才出现超时情况,说明【17,21】时段内是正常接收和发送的,他在这段时间的窗口总数为 24+25+26+27+28=130。
 

某计算机系统按字节编址,采用二级页表的分页存储管理方式,虚拟地址格式如下所示:

10位                                                              10位                                                      12位

页目录号

页表索引

页内偏移量

请回答下列问题。

1)页和页框的大小各为多少字节?进程的虚拟地址空间大小为多少页?

2)假定页目录项和页表项均占4个字节,则进程的页目录和页表共占多少页?要求写出计算过程。

3)若某指令周期内访问的虚拟地址为0100 0000H和0111 2048H,则进行地址转换时共访问多少个二级页表?要求说明理由。

1)在分页存储管理方式中,将用户程序的地址空间分为若干个固定大小的区域,称为“页”或“页面”。相应地,将内存空间分为若干个物理块或页框(frame),页和页框大小相同。因此,页和页框大小均为2^12B=4KB。进程的虚拟地址空间大小为2^32/2^12=2^20页。

2 某计算机系统按字节编址,由题目中给的页表项结构,页目录占了 10位 计算机底层是二进制,则共 2^10个目录号,每个目录 4个字节,则共 2^10*4 个目录数据(计算机按字节编址)又由于页内偏移12位 即 页和页框的大小也是12位。则一页可以存 2^12 数据 所以 目录页有 2^10*4 /2^12=1
同理,由于此题是个二级页表存储,页目录 10位,页表索引10位,所以,他可以代表的的页面数目为 2^20 个页面,每一页按字节编址 4位,则共 2^20*4 个数据,又由于页内偏移12位 即 页和页框的大小也是12位,所以页共: 2^20*4/2^12=2^10 
所以共有 2^10+1 =1025页

3 需要访问一个二级页表。因为虚拟地址0100 0000H和0111 2048H的最高10位的值都是4,页目录号相同,访问的是同一个二级页表。

计算机考研题目汇总【持续更新】_第6张图片计算机考研题目汇总【持续更新】_第7张图片

最后一问:

这个问题,从图中可以分析,S5 时候 B向A发送1000,S6收到确认,  S7 S8 连发 2000,S9收到确认, S10 - S13 期间内,B一直向A发送数据共 4000,S14收到确认。
结合题目中的门限初始值为4000, 说明这些时间过去后,达到了门限值,如果后续使用慢开始,则门限门限变为 2000,题目问,下次收到确认前,慢开始的话显然是 1000,
如果是拥塞避免,在原来 4000基础上加1000 ( 1 个 MSS)=5000,所以拥塞避免为 n=5000

 

 请问冯诺依曼计算机是数据流驱动还是控制流驱动方式?

冯·诺依曼机工作方式,可称为控制流(指令流)驱动方式。即按照指令的执行序列,依次读取指令,然后根据指令所含的控制信息,调用数据进行处理。

请问单周期处理器为什么不能是单总线结构的数据通路呢?

单周期处理器并不是可以采用单总线结构数据通路,这两个不一个概念,
数据总线连接形成的数据传送路径称为数据通路,在单总线结构中,CPU与主存之间、CPU与I/O设备之间、I/O设备与主存之间、各种设备之间都通过系统总线交换信息。
但由于所有设备部件均挂在单一总线上,使这种结构只能分时工作,即同一时刻只能在两个设备之间传送数据,这就使系统总体数据传输的效率和速度受到限制,这是单总线结构的主要缺点。
单周期CPU(与后面多周期CPU对比)单周期CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期完成。一个指令包含的信息,在单总线结构上显然会有冲突。

 

计算机考研题目汇总【持续更新】_第8张图片计算机考研题目汇总【持续更新】_第9张图片

 

数据的逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储无关,是独立于计算机的。数据的逻辑结构分为线性结构和非线性结构,线性表是典型的线性结构;集合、树和图是典型的非线性结构。数据的逻辑结构分类见图1-1。

计算机考研题目汇总【持续更新】_第10张图片

集合结构中的数据元素之间除了 “同属于一个集合”的关系外,别无其他关系。
线性结构结构中的数据元素之间只存在一对一的关系。
树形结构结构中的数据元素之间存在一对多的关系。
图状结构或网状结构结构中的数据元素之间存在多对多的关系
--------------------- 
存储结构是指数据结构在计算机中的表示(又称映像),也称物理结构。它包括数据元素的表示和关系的表示。数据的存储结构是逻辑结构用计算机语言的实现,它依赖于计算机语言。数据的存储结构主要有:顺序存储、链式存储、索引存储和散列存储。

1) 顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元里,元素之间的关系由存储单元的邻接关系来体现。其优点是可以实现随机存取,每个元素占用最少的存储空间;缺点是只能使用相邻的一整块存储单元,因此可能产生较多的外部碎片。

2) 链接存储:不要求逻辑上相邻的元素在物理位置上也相邻,借助指示元素存储地址的指针表示元素之间的逻辑关系。其优点是不会出现碎片现象,充分利用所有存储单元;缺点是每个元素因存储指针而占用额外的存储空间,并且只能实现顺序存取。

3) 索引存储:在存储元素信息的同时,还建立附加的索引表。索引表中的每一项称为索引项,索引项的一般形式是:(关键字,地址)。其优点是检索速度快;缺点是增加了附加的索引表,会占用较多的存储空间。另外,在增加和删除数据时要修改索引表,因而会花费较多的时间。

4) 散列存储:根据元素的关键字直接计算出该元素的存储地址,又称为Hash存储。其优点是检索、增加和删除结点的操作都很快;缺点是如果散列函数不好可能出现元素存储单元的冲突,而解决冲突会增加时间和空间开销
--------------------- 

 

若算法执行时所需要的辅助空间相对于输入数据量而言是一个常数,则称这个算法为原地工作,辅助空间为O(1)。

数据结构的抽象操作的定义与具体实现有关吗

没有关系。抽象操作是外部怎样使用该数据结构;具体实现是内部的事情,外部不需要关心。先设计抽象操作,再完成具体实现。同一种抽象操作可以有多种具体实现。对于同一种抽象操作,可能某一种具体实现简单而另一种具体实现复杂。

计算机考研题目汇总【持续更新】_第11张图片计算机考研题目汇总【持续更新】_第12张图片计算机考研题目汇总【持续更新】_第13张图片

计算机考研题目汇总【持续更新】_第14张图片

这个题目 根据公式算,会觉得不太对,计算过程如下:100个双字,即位示图中,每行为 64 位,共100行,按照位示图,定义一位代表一个块,内存块 240,应该是:字号(240-1)/(64+1)=3 位号:(240-1)%64+1=48
但是,这里要思考,虽然是双字存储,但是题目中 括号里 字长32,说明计算机的字长是32位,所以虽然是 100个双字,但是底层存储的时候,双字需要用2行,也就是一个双字占了两行,每行是32位,这样算来,就可以解释这道题目了,建议自己画个图。 32*7+16=240 所以答案是 B

 

首先明白饥饿:某种作业长时间得不到机会运行的现象叫做“饥饿”现象
先来先服务的调度算法,如果某个进程执行时间很长,就可能,不过这种 一般不会发生。
一般最短作业优先算法最可能会造成“饥饿”现象,由于该算法只考虑作业运行时间而完全忽略了作业等待时间的长短,因此有可能发生一个长作业进入系统后,由于不断有较短的作业进入系统,使它一直得不到机会运行。

在段页式存储管理系统中,若不考虑快表,为获得一条指令或数据,至少需要访问[$##$]次内存。

3次,第一次:根据段号在段表中找到页表长度和对应段页表起始地址,第二次,根据页号和页表长度以及页表起始地址找到对应块号,第三次,根据块号和页内偏移拼成的物理地址找到数据。

路由器在转发IP分组时,会修改IP分组头部的哪些字段?

路由器在转发IP分组时,会修改IP分组头部的:生存时间TTL和分组头校验和
如果IP数据报不分片,分片标志DF(Don’t Fragment)会被设置为1。分片标志MF(More Fragment)设置为0,不会改变
转发过程中源 目标 IP地址是不会改变得

设m,n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目.例f(5,3)=5,有5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1.
一下是该函数的程序段,请将未完成的部分填入,使之完整.

当n>m&&m=0;时n=m;使n=0;这时也应返回1;
比如输入1 1时1=1;而你的程序将这种情况排除了。
#include
int f(int m,int n)
{
if(n>m) n=m;
if(m==0) return (1);
if(m!=0&&n==0) return (0);
else if(m>=n)
return(f(m,n-1)+f(m-n,n));
}

第一行定义了f(m,n)这个函数,返回值即表示方式的数目,为一个整数.
第二行定义了m和n这两个自变量为整数.
if (m==1)
return 1;
这里是说如果m等于1,则函数的返回值为1,显然1只能分解为1,也即表示方式只有一种.
if (n==1)
return 1;
这里是说如果n等于1,则函数的返回值为1,显然无论m多大,n为1时只能表示为m个1之和,也即表示方式只有一种.

当m>n时,比如f(6,4),分成两类讨论:如果最大的加数为3,则按照定义共有f(6,3)种表示方法;而剩下的表示方法中必然有一个最大的加数4,由于总和为6,因此可知其余的加数之和为6-4=2,而要使小于等于4的自然数之和等于2,按照函数定义共有f(2,4)种可能性。因此f(6,4)=f(6,3)+f(2,4)。

设线性表中每个元素有两个数据项k1和k2,现对线性表按以下规则进行排序:先看数据项k1,k1值小的元素在前,大的在后;在k1值相同的情况下,再看k2,k2值小的在前,大的在后。满足这种要求的排序方法是()。 A.先按k1进行直接插入排序,再按k2进行简单选择排序 B.先按k2进行直接插入排序,再按k1进行简单选择排序 C.先按k1进行简单选择排序,再按k2进行直接插入排序 D.先按k2进行简单选择排序,再按k1进行直接插入排序

选D,插入排序是稳定排序,选择排序是不稳定排序。 稳定是指相同的两个元素在排序前后,相对位置不发生改变。因此,由于第一趟对k2进行了排序,所以第二趟对k1排序时必须保证使用稳定排序算法,才能保证排序前后,两个值相等的k1不会发生相对位置颠倒,这样也就不会破坏原来k2的排序。
例如第一趟对k2排好序后,线性表为 
选用插入排序保证算法稳定,那么 两组数k1相同,在排序后k2相对顺序不变,结果就正确,如果选用选择排序,由于算法不稳定,可能排序后结果成了
再看 A C选项,明显不满足稳定性的条件,所以排除

计算机考研题目汇总【持续更新】_第15张图片

特殊矩阵 元素有规律。一般采用数组存储 
 稀疏矩阵元素没规律  一般采用三元组表示法
所以 选 A

有相同的逻辑结构,不同的存储结构 是? 有相同的存储结构,不同的逻辑结构 是?

二叉树(树形结构(逻辑结构)),可以按顺序结构存储,也可以链式存储,
且链式有二叉链表和三叉链表等的存储,但其数据结构(逻辑结构)依然是树形结构。

n个顶点 最多拥有 n(n-1)/2条边,则发现 n=9的时候 为 36,但是题目中说了是 37条边,则 如果是10 ,那该图是连通的,所以最少为11,饥10个顶点构成连通图
剩余1个顶点 孤立,不与任何节点连通
所以 是C

BD区别 链表里的指针,并不是指向了数据元素。是指向了一个结点。

静态链表是用类似于数组方法实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配地址空间大小。所以静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。 所以 他进行取元素 I 的时候,要移动指针,时间是 与 I 有关。

注意这里的问题,最多有多少条单指令,由于地址码是 6位,指令长为16位,且包含了 双地址 单地址 零地址 
二指令 操作码4位,地址12位码  零指令 操作码16位,地址0位码
单指令 操作码10位,地址码6位,则最少一条二指令与一条零指令
 剩余的 全是单指令,此时 前10位操作码里,单指令最前4位共 2^4-1种
中间6位共 2^6 种。最后又减1 是因为,零地址还要占据1条

 

代码区:存放CPU执行的机器指令,代码区是可共享,并且是只读的。
数据区:存放已初始化的全局变量、静态变量(全局和局部)、常量数据。
全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的 
全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另 
一块区域。 - 程序结束后由系统释放。 
栈区:由编译器自动分配释放,存放函数的参数值、返回值和局部变量,在程序运行过程中实时分配和释放,栈区由操作系统自动管理,无须程序员手动管理。
堆区:堆是由malloc()函数分配的内存块,使用free()函数来释放内存,堆的申请释放工作由程序员控制,容易产生内存泄漏。

计算机考研题目汇总【持续更新】_第16张图片

计算机考研题目汇总【持续更新】_第17张图片

计算机考研题目汇总【持续更新】_第18张图片

 

24.假定下列指令已装入指令寄存器。则执行时不可能导致CPU从用户态变为内核态(系统态)的是()

A.DIVR0,R1;(R0)/(R1)→R0

B.INTn;产生软中断

C.NOTR0;寄存器R0的内容取非

D.MOVR0,addr;把地址处的内存数据放入寄存器R0中

这里A可以发生除0异常,进行abort例程。B特别注意,很容易看成C语言代码,心想int n怎么还有异常呢? INT指的是interrupt!虽然后面中文注明了是软中断,但是先入为主的印象会超过当前的理性认知。C只是对内容取非,不可能出现异常。D,addr地址可能越界,因此也有可能出现异常。
本题选C 

cache中的数据就是物理内存中的数据的子集,就是数据
TLB用于虚拟地址与实地址之间的交互,提供一个寻找实地址的缓存区,能够有效减少寻找物理地址所消耗时间。为页表缓冲;里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。

以下不可能引起进程调度的是______。

A.一个进程完成工作后被撤销
B.一个进程从就绪状态变成了运行状态
C.一个进程从等待状态变成就绪状态
D.一个进程从运行状态变成了等待状态或就绪状态

可能引起进程调度的情况有:一个进程从运行状态变成了等待状态,一个进程从运行状态变成了就绪状态,一个进程从等待状态变成了就绪状态或者一个进程完成工作后被撤销。而“一个进程从就绪状态变成了运行状态”是一次进程调度完成时的情况,因此,选项B不可能引起进程调度。

主机甲通过128kbps卫星链路,采用滑动窗口协议向主机乙发送数据,链路单向传播延迟为250ms,帧长为1000字节。不考虑确认帧的开销,为使链路利用率不小于80%,帧序号的比特数至少是

A 3 B 4 C 7 D 8

以发送周期为切入点来思考这个问题。开始发送帧到收到第一个确认帧为止,用时:
T = 第一个帧的传输时延+第一个帧的传播时延+确认帧的传输时延+确认帧的传播时延。

因为确认帧的开销不计,所以它的传输不计。但是传播时延要计的。
所以T = 1000B/128kbps + RTT = 0.5625s
那么在0.5625s内需要发送多少数据可以满足利用率80%呢?

设为L字节,则:

L128kbpsT≥0.8→L=7200BL128kbpsT≥0.8→L=7200B

就是说在一个发送周期内至少发7.2帧就可满足要求。

因此,需要编号的比特数为n;

2n−1≥7.22n−1≥7.2
所以n至少为4.

此外,还需要特别思考一下,信道的数据传输速率的极限是128kbps,理论上最大每秒可传输16000B,即16帧,大于12.8,因此符合要求

计算机考研题目汇总【持续更新】_第19张图片

A WIFI是路由器释放出来的热点,宽带接路由器
3g4g5g是移动数据,有基站的

硬链接可以是文件目录,也可以是文件,硬链接与原文件是等价的,Innode值是相同的,count值等于硬链接的个数,原文件与硬链接互为硬链接
软连接相当于windows里的快捷方式,与原文件有不同的innode和count值
F1是某文件的文件名,F2、F3都是该文件的别名,他们都对应唯一个物理空间,系统中还维护了一个数据结构(UNIX为inode),其中有一数据项为count记录共享该文件的目录数,建立文件时count=1,每建立一个硬链接count++,建立软链接count值不变,删除F1前count=2,删除F1后,cou nt- -,虽然文件主删除了指向该物理文件的链接,但仍有一个硬链接(F3的链接)指向该文件物理空间,此时count=1,软链接的count值也就是这个count值,因此也是1。直到count=0时,系统才释放该文件的物理空间。(就是:软连接不变,硬链接加1,删除时软硬都减1,当count=0时,文件才真正被删除)
所以 F2F3引用值均为1

 

计算机考研题目汇总【持续更新】_第20张图片

计算机考研题目汇总【持续更新】_第21张图片

【看下下面讲解】
end1指向队头元素,那么可知出队的操作是先从A[end1]读数,然后end1再加1。end2指向队尾元素的后一个位置,那么可知入队操作是先存数到A[end2],然后end2再加1。若把A[0]储存第一个元素,当队列初始时,入队操作是先把数据放到A[0],然后end2自增,即可知end2初值为0;而end1指向的是队头元素,队头元素的在数组A中的下标为0,所以得知end1初值也为0,可知队空条件为end1==end2;然后考虑队列满时,因为队列最多能容纳M-1个元素,假设队列存储在下标为0到下标为M-2的M-1个区域,队头为A[0],队尾为A[M-2],此时队列满,考虑在这种情况下end1和end2的状态,end1指向队头元素,可知end1=0,end2指向队尾元素的后一个位置,可知end2=M-2+1=M-1,所以可知队满的条件为end1==(end2+1)mod M,选A

若一棵度为7的树有8个度为1的结点,有7个度为2的结点,有6个度为3的结点,有5个度为4的结点,有4个度为5的结点,有3个度为6的结点,有2个度为7的结点,则该树一共有()叶结点。

A.35
B.36
C.77
D.78

n-1=所有结点度之和,所以有:n-1=8×1+7×2+6×3+5×4+4×5+3×6+2×7,即n=113; 又因为n=n0+n1+n2+n3+n4+n5+n6+n7所以有113=n0+8+7+6+5+4+3+2,所以叶结点数n0为78。

某计算机主存按字节编址,由4个64M×8位的DRAM芯片采用交叉编址方式构成,并与宽度为32位的存储器总线相连,主存每次最多读写32位数据。若double型变量x的主存地址为804 001AH,则读取x需要的存储周期数是(  )。
A.1
B.2
C.3
D.4


3个周期,double数据类型占8个字节。因为数据在从体2上开始,但是对于存储的读取是从体0开始的。所以在第一个周期结束,实际上读了体2,体3上的数据,第二轮周期把4个体都读一遍,现在还剩下体0和体1上的两个数据,然后第三个周期,才能读完8个字节

已知某计算机所使用的IP地址是:195.169.20.25,子网掩码是:255.255.255.240,经计算写出该机器的网络号、子网号、主机号。

因为:195=11000011B,240=11110000B,25=00011001B
由以上参数可知:(1)该计算机网络属于C类网。
(2)网络号为195.169.20。
(3)子网号为1。
(4)主机号为9。

设Y为整形变量,A=1,A的地址为EF01;B=2,B的地址为EF02;执行语句B=&A;Y=&B;后Y的值?

设Y为整型变量,A=1,A的地址为EF01;B=2,B的地址为EF02;执行语句B=&A后B的值变为EF01,但是B的地址不变,仍然是EF02;再次执行Y=&B;后Y的值是还是B的地址EFO2

为什么消除递归不一定用栈

不是所有的递归程序都需要栈来保护现场,比方说求阶乘的,是单向递归,直接用循环去替代从1乘到n就是结果了,另外一些需要栈保存的也可以用队列等来替代的。

若父进程退出,子进程尚未结束,则子进程会被init进程领养,也就是说init进程将成为该子进程的父进程。
若希望父进程退出,子进程也退出的话,可以使用线程,因为若进程结束,则还没结束的线程一定会立刻结束


虚拟存储技术是一种利用外存扩大内存容量的技术。其基本思想是利用大容量的外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间,以便能够有效地支持多道程序系统的实现和大型作业运行的需要,从而增强系统的处理能力。

现有一个容量为10GB的磁盘分区,磁盘空间以簇(Cluster)为单位进行分配,簇的大小为4KB,若采用位图法管理该分区的空闲空间,即用一位(bit)标识一个簇是否被分配,则存放该位图所需簇的个数为

A 80 B 320 C 80K D320k

簇的总数为10GB/4KB=2.5M,用一位标识一簇是否被分配,则整个磁盘共需要2.5M位,即需要2.5M/8=320KB,则共需要320KB/4KB=80个簇,选A。
 

设计一个算法,求出无向无权连通图中距离顶点v的最短路径长度为k的所有顶点,路径长度以边数为单位计算。要求:

(1)给出算法的基本设计思想;

(2)用算法描述语言描述算法,并要求对算法中的关键步骤给出注释。

思想:图G是不带权的无向连通图,一条边的长度为1,因此,求距离顶点v的最远的顶点,即求距离顶点v的边数最多的顶点。利用广度优先遍历算法,从v出发进行广度遍历,类似于从顶点v出发一层层地向外扩展,到达j, …,最后到达的一个顶点k即为距离v最远的顶点。遍历时利用队列逐层暂存各个顶点,最后出队的一个顶点k即为所求。如图所示:

计算机考研题目汇总【持续更新】_第22张图片

计算机考研题目汇总【持续更新】_第23张图片

A、B两个程序,程序A按顺序使用CPU 10s,使用设备甲5s,使用CPU5s,使用设备乙5s,最后使用CPU10s。程序B按顺序使用设备甲10s,使用CPU10s,使用设备乙5s,使用CPU5s,使用设备乙10s。试问:
a.在顺序环境下执行程序A和程序B,CPU的利用率是多少?
b.在多道程序环境下,CPU的利用率是多少?

计算机考研题目汇总【持续更新】_第24张图片

1 若按照顺序执行,需要等A全部执行完后才执行B,此时总共所需的时间为:10+5+5++5+10+10+10+5+5+10=75s,占用CPU时间为:10+5+10+10+5=40, 故CPU的利用率为:40/75=8/15=53.3% 2 若多道,A、B同时执行,可以绘制运行图。 整个运行的时间为:10+10+5+5+15=45 其中CPU运行的时间为:10+5+5+5+10+5=40 CPU利用率为:40/45=88.9%

稀疏矩阵压缩存储后,必会失去随机存取功能()

稀疏矩阵压缩存储后,采用三元组存储,必会失去随机存取功能。
特殊矩阵指值相同的元素或零元素在矩阵中的分布有一定规律,因此可以对非零元素分配单元(对值相同元素只分配一个单元),将非零元素存储在向量中,元素的下标i和j和该元素在向量中的下标有一定规律,可以用简单公式表示,仍具有随机存取功能
注意是 特殊矩阵 不是  特殊的稀疏矩阵,

 

在可变分区管理方式下,在回收内存时,若已判断出“空闲区表中某一表项的起始地址恰好等于被回收分区的起始地址与长度之和”,则表示

A、被回收分区有下邻空闲区

B、被回收分区既有上邻空闲区,又有下邻空闲区

C、被回收分区有上邻空闲区

D、被回收分区无相邻空闲区

此题 A 

可变分区也称为动态分区。可变就是指分区的大小和位置不是固定的,而是根据作业要求的主存量来分配分区的大小。 由于分区的大小和个数是变化的,所以为便于分区的分配与回收,主存分配表由两张表格组成:已分配区表和空闲区表。已分配区表中记录装入作业的起始地址和作业长度,把作业名写入其标志位;空闲区表中记录空闲区表的起始地址和长度,其标志位记为未分配。 当要装入一个作业时,先在空闲区表中查找标志位为“未分配”的可以容纳该作业的空闲区。如果找到,若该空闲区块与作业大小相等,那么修改该空闲区登记栏中的标志位为“空”,若该空闲区块的长度大于作业长度,那么就把该空闲区分为两部分,一部分用来装入该作业,另一部分仍为空闲区,从该空闲区块中分割出与作业大小一致的分区,修改该空闲区的起始地址和长度,然后在已分配区表中找出标志位为“空”的一栏,记下分配给该作业的分区的起始地址和长度,并改这个标志位为作业名;如果没有找到,那么就暂时不能装入该作业。 可变分区分配方式下,当收回主存时,应检查是否有与归还区相邻的空闲区,若有,则应合并成一个空闲区。相邻可能有上邻空闲区、下邻空闲区、既有上邻又有下邻空闲区、既无上邻又无下邻空闲区。若有上邻空闲区,只修改上邻空闲区长度(为收回的空闲区长度与原上邻区长度之和)即可;若有下邻空闲区,改记录这个下邻空闲区记录的地址为收回空闲区的地址,长度为下邻空闲区的长度和收回空闲区的长度即可;若既有上邻又有下邻空闲区,改记录上邻区记录的长度(为上邻区长度、下邻区长度和收回区长度之和),再把下邻区记录的标志位改为空即可;若既无上邻区又无下邻区,那么找一个标志位为空的记录,记下该回收区的起始地址和长度,且改写相应的标志位为未分配,表明该登记栏中指示了一个空闲区。 根据“空闲区表第j栏始址=归还的分区始址+长度”分析,可知归还区有下邻空闲区。

 

若系统采用基于优先级的抢占式调度策略,临界区的使用可能导致优先级反转问题

由于任务间资源共享,信号量及中断的引入,往往会出现高优先级任务被低优先级任务长时间阻塞或阻塞一段不确定时间的现象,就会出现优先级反转
通俗点来说,就是优先级高的进程可能资源不够,所以没办法运行,只能等待。

具有7个定点的无向图至少应有几条边才能确保是一个连通图

强连通图必须从任何一点出发都可以回到原处,每个节点至少要一条出路(单节点除外)
至少有n条边,正好可以组成一个环。

计算机考研题目汇总【持续更新】_第25张图片

计算机考研题目汇总【持续更新】_第26张图片计算机考研题目汇总【持续更新】_第27张图片

在最坏情况下,新插入的值 K 需要不断的和它的父节点进行交换,直到它为根节点为止,
假设 堆的高度为h, 因为堆为完全二叉树,则最多有2^(h+1) - 1 个 节点. 因此新插入一个节点K最多需要log(n+1) -1 次比较,则 最大 O is O(logn)

你可能感兴趣的:(计算机软件)