2009考研408计算机学科专业基础综合真题及参考答案
关键字: 计算机考研
时间:2020.10.23
在线客服 联系电话:18003714525
以下是关于“2009考研408计算机学科专业基础综合真题及参考答案 ”的相关资讯,想要更详细了解更多考研培训机构的相关情况,可以咨询咱们在线客服老师!
1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,该缓冲区的逻辑结构应该是(队列)
栈的定义:栈是只准在表尾进行插入和删除的线性表,称为LIOFO(即后进先出表)。允许插入和删除的一端叫栈顶,另一端叫栈底。
队列的定义:队列是允许在一端进行插入而在另一端进行删除的线性表。允许插入的一端称为队尾,允许删除的一端称为队头。队列也称为先进先出表(FIFO)
树的定义:树是包含n个结点的有限集合(n>0)
图的定义:图(Graph)是由非空的顶点集合和一个描述顶点之间关系——边(或者弧)的集合组成。其形式化定义为:G=(V ,E)
其中G表一个图,V是图G中顶点的集合,E是图G中边的集合。
2.设栈S和队列Q的初始状态均为空,元素abcdefg依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是bdcfeag,则栈S的容量???(3)
3.给定二叉树图,若遍历后的结点序列为XXX,则其遍历方式是???
设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。
4.平衡二叉树定义:若一棵二叉树中每个结点的左、右子树的高度至多相差1,则称此树为平衡二叉树。我们把二叉树中每个结点的左子树高度减去右子树高度定义为该结点的平衡因子(balance factor)。因此,平衡树中每个结点的平衡因子只能是1、0或-1。
5.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则完全二叉树的结点个数最多是???(111)
二叉树:二叉树是一种重要的树形结构,它是n(n>=0)个结点的有限集,其子树分为互不相交的两个集合,分别称为左子树和右子树,左子树和右子树也是如上定义的二叉树。左子树和右子树的顺序不能互换。
满二叉树:深度为k结点数为2^k-1的二叉树。
完全二叉树:若对满二叉树的结点从上到下从左到右进行编号,则深度为k且有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树的编号从1到n一一对应时,称为完全二叉树。
6.将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是:父子关系或兄弟关系。
森林转换为对应的二叉树:兄弟之间连线,父只与长子连线。(左孩子右兄弟)
7.无向连通图特性的叙述:所有顶点的度之和为偶数。
顶点的度定义:与定点v相关联的边数(每个环计算两次)。
度为零的顶点称为孤立顶点,度为奇数的顶点称为奇点,度为偶数的顶点称为偶点。
8.一棵m阶B树(1970年,R.Bayer和E.mccreight提出了一种适用于外查找的树,它是一种平衡多叉树)
定义:
⑴ 树中每个结点至多有m个孩子;
⑵ 除根结点和叶子结点外,其它每个结点至少有m/2个孩子;
⑶ 若根结点不是叶子结点,则至少有2个孩子(除非B树只有一个结点);
⑷ 所有叶子结点都出现在同一层,叶子结点不包含任何关键字信息;
⑸ 有k个孩子的非终端结点恰好包含有k-1个关键字(各节点内关键字均升序或降序排列).
9.堆(Heap)分为小根堆和大根堆两种,对于一个小根堆,它是具有如下特性的一棵完全二叉树:
(1)若树根结点存在左孩子,则根结点的值(或某个域的值)小于等于左孩子结点的值(或某个域的值);
(2)若树根结点存在右孩子,则根结点的值(或某个域的值)小于等于右孩子结点的值(或某个域的值);
(3)以左、右孩子为根的子树又各是一个堆。
大根堆的定义与上述类似,只要把小于等于改为大于等于就得到了。
由堆的定义可知,若一棵完全二叉树是堆,则该树中以每个结点为根的子树也都是一个堆。
分别为一个小根堆和一个大根堆。根据堆的定义可知,堆顶结点,即整个完全二叉树的根结点,对于小根堆来说具有最小值,对于大根堆来说具有最大值。
堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单。
当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整到堆顶位置为止。
10.数据元素序列11,12,13,7,8,9,23,4,5是第二趟排序后的结果,则该排序算法只能是插入排序。
气泡排序基本思想:
设待排序对象序列中的对象个数为n。一般地,第i趟起泡排序从1到n-i+1依次比较相邻两个记录地关键字,如果发生逆序,则交换之,其结果是这n-i+1个记录中,关键字最大的记录被交换到第n-i+1的位置上,最多作n-1趟。
简单选择排序基本思想:
第一趟在R[1..n]中选最小的,与R[1]交换
第二趟在R[2..n]中选最小的,与R[2]交换,依次类推,进行n-1次选择后,整个文件有序。
直接插入排序基本思想:
将一个记录插入到已排序的有序表中,使插入后的表仍然有序。
折半插入排序基本思想:
将一个记录插入到已排序的有序表中,使插入后的表仍然有序,但插入时利用折半搜索法寻找元素的插入位置。
归并排序基本思想:
又一类不同的排序方法,将两个或两个以上的有序表合并成一个新的有序表。
快速排序基本思想:
取R[1..n]中任一记录作为“枢轴”,一趟排序之后枢轴的值均小于“枢轴”左边的值,枢轴右边的值均大于“枢轴”的值。
堆排序基本思想:
1.如何将一个无序序列调整为堆?
2.如何在互换堆顶之后重新调整为堆(关键)?
希尔排序 (Shell Sort) 基本思想:
1.n大,划分成若干子序列,分别直接插入排序。
2.待整个记录“基本有序”时,对整体直接重排。
11.冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是指令周期的不同阶段。
12.十进制转换:
十进制转任意进制的通用方法是:除x取余倒排法(x代表进制数)。
如:将十进制数76转换成任意进制
1.转成二进制
76 / 2 ... 0
= 38 / 2 ... 0
= 19 / 2 ... 1
= 9 / 2 ... 1
= 4 / 2 ... 0
= 2 / 2 ... 0
= 1 / 2 ... 1
76(10) = 1001100(2)
2.转成八进制
76 / 8 ... 4
= 9 / 8 ... 1
= 1 / 8 ... 1
76(10) = 114(8)
3.转成十六进制
76 / 16 ... 12
= 4 / 16 ... 4
76(10)=4C(16)
B :二进制数。
Q :八进制数。
D :十进制数。
H :十六进制数。
负数用十六进制和八进制怎么表示?
使用补码(二进制),而且还要指定字长
比如说一个二字节整型的 -2 就应该是:
11111111 11111110
再转化其它进制
十六进制:FFFE
八进制:177776
13.浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=2^7*29/32,Y=2^5*5/8,则用浮点加法计算X+Y的最终结果是发生溢出
浮点数表示:小数点的位置可以在一定范围内浮动。
E为阶,包括阶符和阶码(整数),阶码为数决定了浮点数的表示范围。
M为位数,包括数符和尾数,表示数的精度和正负。
对阶原则:小阶对大阶。
双符号位判溢:加,减后。两个符号位出现“01”,表示已经溢出,即结果大于+1.
14.存储器的分类:
1.按存储介子分:(1)半导体存储器;(2)磁表面存储器;(3)光介子存储器。
2.按存取方式分类:(1)随机存取存储器 RAM;(2)顺序存储器 SAM;(3)直接存取存储器 DAM。
3.按计算机功能分类:
(1)主存储器(主存)
用于存放计算机运行期间的大量程序和数据的存储器,CPU能直接访问。由MOS存储器构成。
(2)高速缓冲存储器(Cache)
Cache是介于CPU和主存之间高速小容量存储器,用于存放最活跃的程序块和数据。由静态MOS存储器构成。
特点:速度快,但容量小,位价格较高。
主存和Cache一起构成计算机的内存储器(内存),是CPU能直接访问的存储器。
(3)辅助存储器(外存储器)
存放当前暂不参与运行的程序和数据,需要时再与主存成批交换信息的存储器。
特点是容量大,可存放大量的程序和数据,但速度慢。
(4)控制存储器(CM)
在微程序控制的计算机中,用于存放执行指令的微程序的存储器。
CM一般由ROM构成,属于控制器的一部分。
4.其它分类:
a.按读写功能分类:
(1)只读存储器(ROM):工作时只能读出不能写入的存储器。
(2)读写存储器(RAM):既能读出又能写入的存储器。
b.按信息的可保存性分类
(1)永久性存储器:指断电后仍能保存信息的存储器,如磁表面存储器。
(2)非永久性存储器:指断电后信息即消失的存储器,如半导体读写存储器。
某计算机的Cache共有16块,采用2路组相连映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到Cache组号是(4)
15.主存容量是根据地址线的位数来确定的,在16位PC机中地址总线的宽度是20位,则主存大小为:2^20 byte=1MB,现在的PC机一般都是32位地址总线的,最大直接寻址空间为:2^32,即主存最大容量为4GB
某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。现要用2K*8位的ROM芯片和4K*4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是2 30
16.某计算机字长16位,主存按字节编址,转换指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是(2008H)
相对寻址:以当前程序计数器pc的内容为基址,加上指令给出的一字节补码数(偏移量)形成新的pc值的寻址方式称为相对寻址。
目的地址=源地址+相对转移指令字节数+指令中给定的偏移量(rel).
17.RISC(精简指令系统)的叙述:
(1).选用的是使用频率很高的一些简单指令;
(2).指令长度固定,指令格式及寻址方式种类少;
(3).只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行;
(4).大多数指令可在一个计算机周期内完成。
18.指令周期是取出并执行一条指令的时间。
指令周期常常有若干个CPU周期,CPU周期也称为机器周期,由于CPU访问一次内存所花费的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。这就是说一条指令取出阶段(通常为取指)需要一个CPU周期时间。而一个CPU周期时间又包含若干个时钟周期(通常为节拍脉冲或T周期,它是处理操作的最基本的单位)。这些时钟周期的总和则规定了一个CPU周期的时间宽度。
某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓冲时间)分别是90ns、80ns、70ns、60ns,则计算机的CPU时钟周期是(90ns)。
19.相对于微程序控制器,硬布线控制器的特点是指令执行速度快,指令功能的修改和扩展难。
20.假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是(20MB/S)
时钟周期和时钟频率互为倒数关系。
1KHz=1000Hz;
1MHz=1000KHz
并行总线带宽(MB/s) = 并行总线时钟频率(MHz) * 并行总线位宽(bit/8 = B) * 每时钟传输几组数据(cycle)
串行总线带宽(MB/s) = 串行总线时钟频率(MHz) * 串行总线位宽(bit/8 = B) * 串行总线管线 * 编码方式 * 每时钟传输几组数据(cycle)
1字节(Byte)= 8位(bit)
21.假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是(95%)
22.能引起外部中断的事件是:键盘输入(人的干预)或外请求。(外中断都是强迫中断)
23.单处理机系统中,可并行的是(II、III和IV)
I 进程与进程 II 处理机与设备 III 处理机与通道 IV 设备与设备
24.进程调度算法中,综合考虑进程等待时间和执法世间是:(高响应比优先调度算法).
FCFS:谁先到就绪队列,将处理机分给谁;
时间片轮转调度法:以先来后到的次序+时间片轮转;
优先级调度:选优先级最高的进程占用处理机(优先级可动态改变);
短进程优先:取所需的运行时间最短的进程(该算法能使平均等待时间最短).
25.某计算机系统有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是(4)
26.分区分配内存管理方式的主要保护措施是(界地址保护)
27.一个分段存储管理系统中,地址长度为32位,其中段号占8位,则最大段长是(2^24).
分页与分段的区别:
分页:信息的物理单位 大小一样,由系统固定 地址空间是一维的
分段:信息的逻辑单位 大小不等,由用户确定 地址空间是二维的
28.文件物理结构中,适合随机访问且易于文件扩展的是(索引结构).
连续结构:将一个文件中逻辑上连续的信息存放到存储介质的依次相邻的块上便形成顺序结构,这类文件叫连续文件,又称顺序文件。
优点:简单;支持顺序存取和随机存取;顺序存取速度快;所需的磁盘寻道次数和寻道时间最少.
缺点:建立文件前需要能预先确定文件长度,以便分配存储空间;修改、插入和增生文件记录有困难;对直接存储器作连续分配,会造成少量空闲块的浪费。
链接结构:一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块。
优点:提高了磁盘空间利用率,不存在外部碎片问题;有利于文件插入和删除;有利于文件动态扩充.
缺点:存取速度慢,不适于随机存取;可靠性问题,如指针出错;更多的寻道次数和寻道时间;链接指针占用一定的空间.
索引结构:一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构----索引表。表中每一栏目指出文件信息所在的逻辑块号和与之对应的物理块号。索引表的物理地址则由文件说明信息项给出。
优点:保持了链接结构的优点,又解决了其缺点;即能顺序存取,又能随机存取;满足了文件动态增长、插入删除的要求;也能充分利用外存空间。
缺点:较多的寻道次数和寻道时间;索引表本身带来了系统开销 如:内外存空间,存取时间。
29.SCAN调度(电梯调度)算法: 电梯调度算法基于日常生活中的电梯工作模式:电梯保持按一个方向移动,直到在那个方向上没有请求为止,然后改变方向。反映在磁盘调度上,总是沿着移动臂的移动方向选择距离磁头当前位置最近的I/O请求作为下一次调度的对象。如果该方向上已无I/O请求,则改变方向再做选择。
假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现在一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是:110,170,180,195,68,45,35,12。
30.文件系统中,文件访问控制信息存储的合理位置是(文件控制块)。
31.硬链接:在磁盘上有一份内容一样的文件产生,但不改变文件的Inode,也就是与原文件共用Inode。
软链接:不在磁盘上有一份内容一样的文件产生,但产生新的Inode。
设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是(1,1)。
32.程序员利用系统调用打开I/O设备时,通常使用的设备标识是(逻辑设备名)。
33.在OSI参考模型中,自下而上第一个提供端到端服务的层次是(传输层)。
自下而上方法的一般从检查物理层开始。
自下而上分别称为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。
34.1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:
理想低通信道的最高大码元传输速率C=2W.log2 N (其中W是想低通信道的带宽,N是电平强度)
信道带宽与数据传输速率的关系可以奈奎斯特(Nyquist)准则与香农(Shanon)定律描述。
奈奎斯特定理描述了有限带宽、无噪声信道的最大数据传输速率与信道带宽的关系。香农定理则描述了有限带宽、有随机热噪声信道的最大传输速率与信道带宽、信噪比之间的关系。
奈奎斯特准则指出:对于二进制数据信号的最大数据传输速率Rmax与通信信道带宽B(B=f,单位Hz)的关系可以写为: Rmax=2*B(bps)
香农定理指出:在有随机热噪声的信道上传输数据信号时,数据传输速率Rmax与信道带宽B、信噪比S/N的关系为:
Rmax=B*log2(1+S/N)) [以2为底,1+S/N的对数]
式中,Rmax单位为bps,带宽B单位为Hz,信噪比S/N通常以dB(分贝)数表示。若S/N=30(dB),那么信噪比根据公式:S/N(dB)=10*lg(S/N) 则S/N=1000。若带宽B=3000Hz,则Rmax≈30kbps。
(1)对于带宽为6MHz的信道,若用4种不同的状态来表示数据,在不考虑热噪声的情况下,该信道的最大数据传输速率是多少?
答:由无热噪声的奈奎斯特公式: C=2Hlog2N=2*6M*log24=24Mbps,即该信道的最大数据传输速率是24Mbps
(2)在无噪声情况下,若某通信链路的带宽为3KHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是(24kbps)
C=2Hlog2N=2*3k*log216=24kbps.
35.后退N帧ARQ就是从出错处重发已发出过的N个帧。
数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是(4)。
36.以太网交换机进行转发决策时使用的PDU地址是(目的物理地址)。
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
37.CSMA/CD是一种分布式介质访问控制协议,网中的各个站(节点)都能独立地决定数据帧的发送与接收。每个站在发送数据帧之前,首先要进行载波监听,只有介质空闲时,才允许发送帧。这时,如果两个以上的站同时监听到介质空闲并发送帧,则会产生冲突现象,这使发送的帧都成为无效帧,发送随即宣告失败。每个站必须有能力随时检测冲突是否发生,一旦发生冲突,则应停止发送,以免介质带宽因传送无效帧而被白白浪费,然后随机延时一段时间后,再重新争用介质,重发送帧。CSMA/CD协议简单、可靠,其网络系统(如Ethernet)被广泛使用。
在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbps,电缆中的信号传播速度是200 000km/s。若最小数据帧长度减少800比特,则最远的两个站点之间的距离至少需要(减少80)。
来源:(http://blog.sina.com.cn/s/blog_48fff7f90100f8a2.html) - 2009计算机真题详解知识点(2)_毛子牛_新浪博客
最短帧长=2*L*10^9(b/s)÷200 000000m/s=10*L(bit).
38.主机甲和主机乙之间建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是(1000)。
例如,序列号等于前一个报文段的序列号与前一个报文段中数据字节的数量之和。例如,假设源主机发送3个报文段,每个报文段有100字节的数据,且第一个报文段的序列号是1000,那么接收到第一个报文段后,目的主机返回含确认号1100的报头。接收到第二个报文段(其序号为1100)后,目的主机返回确认号1200。接收到第三个报文段后,目的主机返回确认号1300。
39.确定拥塞窗口的大小的过程:在刚建立连接时,将拥塞窗口的大小初始化为该连接所需的最大连接数据段的长度值,并发送一个最大长度的数据段(当然必须是接收窗口允许的)。如果在定时器超时前得到确认,将拥塞窗口的大小增加一个数据段的字节数,并发送两个数据段,如果每个数据段在定时器超时前都得到确认,就再在原基础上增加一倍,即为4个数据段的大小,如此反复,每次都在前一次的基础上加倍。当定时器超时或达到发送窗口设定值,停止拥塞窗口尺寸的增加。这种反复称为慢速启动,所有的TCP协议都支持这种方法。
一个TCP连接总是以1KB的最大段发送TCP段,发送方有足够多的数据要发送。当拥塞窗口为16KB时发生了超时,如果接下来的4个RTT(往返时间)时间内的TCP段的传输都是成功的,那么当第4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是(9KB)。
40.FTP客户和服务器间传递FTP时,使用的连接是(建立在TCP之上的控制连接)。
二、综合应用题
41.该方法求得的路径不一定是最短路径。例如,对于下图所示的带权图,如果按照题中的原则,
从A到C的最短路径为A→B→C,事实上其最短路径为 A→D→C。
42. (1)算法基本思想如下:从头至尾遍历单链表,并用指针P指向当前节点的前K个节点。当遍历
到链表的最后一个节点时,指针P所指向的节点即为所查找的节点。
(2)详细实现步骤:增加两个指针变量和一个整型变量,从链表头向后遍历,其中指针P1指向当
前遍历的节点,指针P指向P1所指向节点的前K个节点,如果P1之前没有K个节点,那么P指向表头
节点。用整型变量i表示当前遍历了多少节点,当i>k时,指针p随着每次遍历,也向前移动一个节
点。当遍历完成时,p或者指向表头就节点,或者指向链表中倒数第K个位置上的节点。
(3)算法描述:
Int LocateElement(linklist list,int k)
{ P1=list->link;
P=list;
i=1;
while(P1)
{ P1=P1->link;
i++;
if(i>k) p=p->next; //如果i>k,则p也往后移
}
if(p==list)return 0; //说明链表没有k个结点
else
{
printf(“%d\n“,p->data);
return 1;
}
}
43. (1)在中断方式下,每32位(4B)被中断一次,故每秒中断
0.5MB/4B=0.5×106/4=12.5×104次
要注意的是,这里是数据传输率,所以1MB=106B。因为中断服务程序包含18条指令,中断服务的
其他开销相当于2条指令的执行时间,且执行每条指令平均需5个时钟周期,所以,1秒内用于中断
的时钟周期数为
(18+2)×5×12.5×104=12.5×106
(2)在DMA方式下,每秒进行DMA操作
5MB/5000B=5×106/5000=1×103 次因为DMA预处理和后处理的总开销为500个时钟周期,所以1秒
钟之内用于DMA操作的时钟周期数为
500×1×103=5×105
故在DMA方式下,占整个CPU时间的百分比是
((5×105)/(500×106))×100%=0.1%
44.指令执行阶段每个节拍的功能和有效控制信号如下所示
时钟 功能 有效控制信号
C5 MAR←(R1) PCout,MARin
C6 MDR←M(MAR) MemR,MDRinE
C7 A←(R0) R0out,Ain
C8 AC←(MDR)+(A) MDRout,Addr,ACin
C9 MDR←(AC) ACout,MDRin
C10 M(MAR) ←MDR MDRoutE,MemW
45.定义信号量S1控制P1与P2之间的同步;S2控制P1与P3之间的同步;empty控制生产者与消费者
之间的同步;mutex控制进程间互斥使用缓冲区。程序如下:
Var s1=0,s2=0,empty=N,mutex=1;
Parbegin
P1:begin
X=produce();
P(empty);
P(mutex);
Put();
If x%2==0
V(s2);
else
V(s1);
V(mutex);
end.
P2:begin
P(s1);
P(mutex);
|
Countodd():=countodd()+1;
V(mutex);
V(empty);
end.
P3:begin
P(s2)
P(mutex);
Geteven();
Counteven():=counteven()+1;
V(mutex);
V(empty);
end.
Parend.
46.
(1)根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为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。
(2)当访问虚地址1565H时,产生缺页中断,合法驻留集为2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H的对应页框号为101H。由此可得1565H的物理地址为101565H。
47.
(1)无类IP地址的核心是采用不定长的网络号和主机号,并通过相应的子网掩码来表示(即网络号部分为1,主机号部分为0)。本题中网络地址位数是24,由于IP地址是32位,因此其主机号部分就是8位。因此,子网掩码就是11111111 11111111 11111111 00000000,即255.255.255.0。
根据无类IP地址的规则,每个网段中有两个地址是不分配的:主机号全0表示网络地址,主机号全1表示广播地址。因此8位主机号所能表示的主机数就是2的8次方—2,即254台。
该网络要划分为两个子网,每个子网要120台主机,因此主机位数X应该满足下面三个条件:
X<8,因为是在主机号位长为8位的网络进行划分,所以X一定要小于8位。
2的X次方>120,因为根据题意需要容纳120台主机。
X是整数。
解上述方程,得到X=7.子网掩码就是11111111 11111111 11111111 10000000,即255.255.255.128。
所以划分的两个网段是:202.118.1.0/25与202.118.1.128/25。
(2)填写R1的路由表
填写到局域网1的路由。局域网1的网络地址和掩码在问题(1)已经求出来了,为202.118.1.0/25。则R1路由表应填入的网络地址为202.118.1.0,掩码为255.255.255.128。由于局域网1是直接连接到路由器R1的E1口上的,因此,下一跳地址填写直接路由(Direct)。接口填写E1. 填写到局域网2的路由表1。
局域网2的网络地址和掩码在问题(1)中已经求出来了,为202.118.1.128/25。则R1路由表应该填入的网络地址为202.118.1.128,掩码为255.255.255.128.由于局域网2是直接连接到路由器R1的E2口上的,因此,下一跳地址填写直接路由。接口填写E2。 填写到域名服务器的路由。由于域名服务器的IP地址为202.118.3.2,而该地址为主机地址,因此掩码为255.255.255.255。同时,路由器R1要到DNS服务器,就需要通过路由器R2的接口L0才能 到达,因此下一跳地址填写L0的IP地址(202.118.2.2)。
填写互联网路由。本题实质是编写默认路由。默认路由是一种特殊的静态路由,指的是当路由表中与包的目的地址之间没有匹配的表项时路由器能够做出的选择。如果没有默认路由器,那么目的地址在路由表中没有匹配表项的包将被丢弃。默认路由在某些时候非常有效,当存在末梢网络时,默认路由会大大简化路由器的配置,减轻管理员的工作负担,提高网络性能。默认路由叫做“0/0”路由,因为路由的IP地址0.0.0.0,而子网掩码也是0.0.0.0。同时路由器R1连接的网络需要通过路由器R2的L0口才能到达互联网络,因此下一跳地址填写L0的IP为202.118.2.2。
综上,填写的路由表如下:
R1路由表
(3)填写R2到局域网1和局域网2的路由表2。局域网1和局域网2的地址可以聚合为
202.118.1.0/24,而R2去往局域网1和局域网2都是同一条路径。因此,路由表里面只需要填写到
202.118.1.0/24网络的路由即可,如下表所示
R2路由表
目的网络IP地址 子网掩码 下一跳IP地址 接口
202.118.1.0 255.255.255.0 202.118.2.1 L0