2011年计算机408统考考研真题及答案解析.pdf
予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 王道 考研系列 2011 年全国硕士研究生入学统一考试 计算机科学与技术学科联考 计算机学科专业基础综合 (科目代码: 408) 特别鸣谢: 阿三( casper08, 哈工大 ) 王道 考研系列辅导 书编写团队 予人玫瑰 手留余香 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 一、单项选择题 : 1-40小题 , 每小题 2分 , 共 80分 , 下列每小题给出的四个选项中 , 只有一 项符合题目要求的 。请在答题卡上将所选项的字母涂黑。 ) 1. 设 n 是描述问题规模的非负整数,下面程序片段的时间复杂度是 x=2; while( xB, 则 A-B无进位 /借位 , 也不为 0。 故而 CF和 ZF均为 0。 18.下列给出的指令系统特点中 ,有利于实现指令流水线的是 Ⅰ . 指令格式规整且长度一致 Ⅱ.指令和数据按边界对齐存放 Ⅲ. 只有 Load/Store指令才能对操作数进行存储访问 A.仅 Ⅰ、Ⅱ B.仅 Ⅱ、Ⅲ C.仅Ⅰ、 Ⅲ D. Ⅰ、 Ⅱ、Ⅲ 解答: D。指令定长、对齐、仅 Load/Store指令访存,以上三个都是 RISC的特征。均能 够有效的简化流水线的复杂度。 19.假定不采用 Cache和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执 行的叙述中, 错误 . . 的是 A.每个指令周期中 CPU都至少访问内存 一次 B. 每个指令周期一定大于或等于一个 CPU时钟周期 C.空操作指令的指令周期中任何寄存器的内容都不会被改变 D.当前程序在每条指令执行结束时都可能被外部中断打断 解答: C。会自动加 1, A取指令要访存、 B时钟周期对指令不可分割。 20.在系统总线的数据线上, 不 . 可能传输的是 A. 指令 B. 操作数 C. 握手(应答)信号 D. 中断类型号 解答: C。握手(应答)信号在通信总线上传输。 21.某计算机有五级中断 L4~ L0,中断屏蔽字为 M4M3M2M1M0, Mi=1( 0≤ i≤ 4)表示对 Li级中断 进行屏蔽。若中断响应优先级从高到低的顺序是 L4→ L0→ L2→ L1→ L3 ,则 L1的中断处理程 序中设置的中断屏蔽字是 A. 11110 B. 01101 C. 00011 D. 01010 解答: D。高等级置 0表示可被中断,比该等级低的置 1表示不可被中断。 22.某计算机处理器主频为 50MHz,采用定时查询方式控制设备 A的 I/O, 查询程序运行一次 所用的时钟周期 数 至少为 500。 在设备 A工作期间,为保证数据不丢失,每秒需对其查询 至少 200次,则 CPU用 于设备 A的 I/O的时间占整个 CPU时间的百分比至少是 A. 0.02% B. 0.05% C. 0.20% D. 0.50% 解答: C。 每秒 200次查询,每次 500个周期,则每秒最少 200× 500﹦ 10 0000个周期, 10 0000÷ 50M=0.20%。 23.下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是 A.先来先服务 B.高响应比优先 C.时间片轮转 D.非抢占 式 短任务优先 解答 : B。 响应比 =作业响应 时间 /作业执行时间 =(作业执行时间 +作业等待时间 )/作业执 行时间 。高响应比算法,在等待时间相同情况下,作业执行时间越少,响应比越高,优先执 行,满足短任务优先。随着等待时间增加,响应比也会变大,执行机会就增大,所以不会产 生饥饿现象。先来先服务和时间片轮转不符合短任务优先,非抢占式短任务优先会产生饥饿 现象。 24.下列选项中,在用户态执行的是 A.命令解释程序 B.缺页处理程序 C.进程调度程序 D.时钟中断处理程序 解答: A。缺页处 理程序和时钟中断都属于中断,在核心态执行。进程调度属于系统调 用在核心态执行,命令解释程序属于命令接口,它在用户态执行。 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 25.在支持多线程的系统中,进程 P创建的若干个线程不能共享的是 A.进程 P的代码段 B.进程 P中打开的文件 C.进程 P的全局变量 D.进程 P中某线程的栈指针 解答: D。进程中某线程的栈指针,对其它线程透明,不能与其它线程共享。 26.用户程序发 出 磁盘 I/O请求后,系统的正确处理流程是 A.用户程序 →系统调用处理程序→中断处理程序→设备 驱动程序 B. 用户程序→系统调用处理程序→设备驱动程序→中断处理程序 C. 用户程序→设备驱动程序→系统调用处理程序→中断处理程序 D. 用户程序→设备驱动程序→中断处理程序→系统调用处理程序 解答: B。输入/输出软件一般从上到下分为四个层次:用户层、与设备无关软件层、 设备驱动程序以及中断处理程序。与设备无关软件层也就是系统调用的处理程序。所以争取 处理流程为 B选项。 27.某时刻进程的资源使用情况如下表所示。 此时的安全序列是 A. P1,P2,P3,P4 B. P1,P3,P2,P4 C. P1,P4,P3,P2 D. 不存在 解答: D。使用银行家算法得,不存在安全序列。 28. 在缺页处理过程中,操作系统执行的操作可能是 Ⅰ . 修改页表 Ⅱ. 磁盘 I/O Ⅲ. 分配页 框 A.仅Ⅰ、Ⅱ B.仅 Ⅱ C.仅 Ⅲ D.Ⅰ、 Ⅱ和 Ⅲ 解答: D。缺页中断调入新页面,肯定要修改页表项和分配页框,所以 I、III可能发 生,同时内存没有页面,需要从外存读入,会发生磁盘 I/O。 29.当系统发生抖动( thrashing)时,可用采取的有效措施是 Ⅰ . 撤销部分进程 Ⅱ. 增加磁盘交换区的容量 Ⅲ. 提高用户进程的优先级 A.仅 Ⅰ B.仅 Ⅱ C.仅 Ⅲ D. 仅 Ⅰ、 Ⅱ 解答: A。在具有对换功能的操作系统中,通常把外存分为文件区和对换区。前者用于 存放文件,后者用于存放从内存换出的进程。抖动现象是指刚刚被换出的页很快又要被访问 为此,又要换出其他页,而该页又快被访问,如此频繁的置换页面,以致大部分时间都花在 页面置换上。撤销部分进程可以减少所要用到的页面数,防止抖动。对换区大小和进程优先 级都与抖动无关。 30.在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段 是 A. 编辑 B. 编译 C. 链接 D. 装载 解 答: B。编译过程指编译程序将用户源代码编译成目标模块。 源地址编译成目标程序 时,会形成逻辑地址 。 31.某文件占 10 个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分 析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为 100us, 进 程 已分配资源 尚需分配 可用资源 R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 2 0 0 0 0 1 0 2 1 P2 1 2 0 1 3 2 P3 0 1 1 1 3 1 P4 0 0 1 2 0 0 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 将缓冲区的数据传送到用户区的时间是 50us, CPU对一块数据进行分析的时间为 50us。 在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是 A. 1500us、 1000us B. 1550us、 1100us C. 1550us、 1550us D. 2000us、 2000us 解答: B。单缓冲区下当上一个磁盘块从缓冲区读入用户区完成时下一磁盘块才能开始 读入,也就是当最后一块磁盘块读入用户区完毕时所用时间为150×10=1500。加 上处理最后一个磁盘块的时间50为1550。双缓冲区下,不存在等待磁盘块从缓冲区读 入用户区的问题,也就是100×10+100=1100。 32.有两个并发执行的进程 P1和 P2,共享初值为 1的变量 x。 P1对 x加 1, P2对 x减 1。加 1和减 1 操作的指令序列分别如下所示。 // 加 1操作 // 减 1操作 load R1, x // 取 x到寄存器 R1中 load R2, x inc R1 dec R2 store x, R1 // 将 R1的内容存入 x store x, R2 两个操作完成后, x的值 A. 可能为 -1或 3 B. 只能为 1 C. 可能为 0、 1或 2 D. 可能为 -1、 0、 1或 2 解答: C。将 P1中 3条语句变为 1,2,3, P2中 3条语句编为 4, 5, 6。则依次执行 1,2,3,4,5 得结果 1,依次执行 1,2,4,5,6,3得结果 2,执行 4, 5, 1, 2, 3, 6得结果 0。结果 -1不可能得 出,选 C。 33. TCP/IP参考模型的网络层提供的是 A. 无连接不可靠的数据 报 服务 B. 无连接可靠 的 数据 报 服务 C. 有连接不可靠的虚电路服务 D. 有连接可靠的虚电路服务 解答: A。 TCP/IP的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据 报 服务。 此外 考察 IP首部,如果是面向连接的,则应有用于建立连接的字段,但是没有;如 果提供可靠的服务,则至少应有序号和校验和两个字段,但是 IP分组头中也没有( IP首部中 只是首部校验和)。因此网络层提供的无连接不可靠的数据服务。有连接可靠的服务由传输 层的 TCP提供。 34.若某通信链路的数据传输速率为 2400bps,采用 4相位调制,则该链路的波特率是 A. 600波特 B. 1200波特 C. 4800波特 D. 9600波特 解答: B。有 4种相位,则一个码元需要由 log24=2 个 bit 表示,则波 特率 =比特率 /2=1200 波特。 35.数据链路层采用选择重传协议( SR)传输数据,发送方已发送 了 0~ 3号数据帧,现已收 到 1号帧的确认,而 0、 2号帧依次超时,则此时需要重传的帧数是 A. 1 B. 2 C. 3 D. 4 解答: B。选择重传协议中,接收方逐个地确认正确接收的分组,不管接收到的分组是 否有序,只要正确接收就发送选择 ACK分组进行确认。因此选择重传协议中的 ACK分组不再具 有累积确认的作用。这点要特别注意与 GBN协议的区别。此题中只收到 1号帧的确认, 0、 2 号帧超时,由于对于 1号帧 的确认不具累积确认的作用,因此发送方认为接收方没有收到 0、 2号帧,于是重传这两帧。 36.下列选项中,对正确接收到的数据帧进行确认的 MAC协议是 A. CSMA B. CDMA C. CSMA/CD D. CSMA/CA 解答: D。可以用排除法。首先 CDMA即码分多址,是物理层的东西; CSMA/CD即带冲突检 测的载波监听多路访问,这个应该比较熟悉,接收方并不需要确认; CSMA,既然 CSMA/CD是 其超集, CSMA/CD没有的东西, CSMA自然也没有。于是排除法选 D。 CSMA/CA是无线局 域网标 准 802.11中的协议。 CSMA/CA利用 ACK信号来避免冲突的发生,也就是说,只有当客户端收到 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 网络上返回的 ACK信号后才确认送出的数据已经正确到达目的地址。 37.某网络拓扑如下图所示,路由器 R1只有到达子网 192.168.1.0/24的路由。为使 R1可以将 IP分组正确地路由到图中所有子网,则在 R1中需要增加的一条路由(目的网络,子网掩 码,下一跳)是 A. 192.168.2.0 255.255.255.128 192.168.1.1 B. 192.168.2.0 255.255.255.0 192.168.1.1 C. 192.168.2.0 255.255.255.128 192.168.1.2 D. 192.168.2.0 255.255.255.0 192.168.1.2 解答: D。此题主要考察路由聚合。要使 R1能够正确将分组路由到所有子网,则 R1中需 要有到 192.168.2.0/25和 192.168.2.128/25的路由。观察发现网络 192.168.2.0/25和 192.168.2.128/25的网络号的前 24位都相同,于是可以聚合成超网 192.168.2.0/24。从图中 可以看出下一跳地址应该是 192.168.1.2。 38.在子网 192.168.4.0/30中,能接收目的地址为 192.168.4.3的 IP分组的最大主机数是 A. 0 B. 1 C. 2 D. 4 解答: C。首先分析 192.168.4.0/30这个网络。主机号占两位,地址范围 192.168.4.0/30~ 192.168.4.3/30,即可以容纳( 4-2=2)个主机。主机位为全 1时,即 192.168.4.3,是广播 地址,因此网内所有主机都能收到,因此选 C。 39.主机甲向主机乙发送 一个 (SYN= 1, seq= 11220)的 TCP段,期望与主机乙建立 TCP连接, 若主机乙接受该连接 请求 ,则主机乙向主机甲发送的正确的 TCP段可能是 A. (SYN= 0, ACK= 0, seq= 11221, ack= 11221) B. (SYN= 1, ACK= 1, seq= 11220, ack= 11220) C. (SYN= 1, ACK= 1, seq= 11221, ack= 11221) D. (SYN= 0, ACK= 0, seq= 11220, ack= 11220) 解答: C。主机乙收到连接请求报文后,如同意连接,则向甲发送确认。在确认报文段 中应把 SYN位和 ACK位都置 1,确认号是甲发送的 TCP段的初始序号 seq=11220加 1,即为 ack= 11221,同时也要选择并消耗一个初始序号 seq, seq值由主机乙的 TCP进程确定,本题取 seq= 11221与确认号、甲请求报文段的序号没有任何关系。 40.主机甲与主机乙之间已建立一个 TCP连接,主机甲向主机乙发送了 3个连续的 TCP段,分 别包含 300字节、 400字节和 500字节的有效载荷,第 3个段的序号为 900。若主机乙仅正 确接收到第 1和第 3个段,则主机乙发送给主机甲的确认序号是 A. 300 B. 500 C. 1200 D. 1400 解答: B。 TCP段首部中的序号字段是指本报文段所发送的数据的第一个字节的序号。第 三个段的序号为 900,则第二个段的序号为 900-400=500。而确认号是期待收到对方下一个报 文段的第一个字节的序号。现在主机乙期待收到第二个段,故甲的确认号是 500。 二、综合应用题: 41~ 47小题,共 70分。请将答案写在答题纸指定位置上。 41.( 8 分)已知有 6 个顶点(顶点编号 为 0~ 5) 的有向带权图 G,其邻接矩阵 A 为上三角 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 矩阵,按行为主序(行优先)保存在如下的一维数组中。 4 6 ∞ ∞ ∞ 5 ∞ ∞ ∞ 4 3 ∞ ∞ 3 3 要求: ( 1)写出图 G 的邻接矩阵 A。 ( 2)画出有向带权图 G。 ( 3)求图 G 的关键路径,并计算该关键路径的长度。 解答: ( 1)图 G 的邻接矩阵 A 如下所示 。 0 30 30 340 50 640 A ( 2) 有向带权图 G 如下图所示。 52 3 4 0 1 6 4 5 4 3 3 3 ( 3)关键路径为 01235(如下图 所示 粗线表示 ),长度为 4+5+4+3=16。 52 3 4 0 1 6 4 5 4 3 3 3 42. ( 15 分)一个长度为 L( L≥ 1)的升序序列 S,处在第 2/L 个位置的数称为 S 的中位数。 例如,若序列 S1=( 11,13,15,17,19),则 S1 的中位数是 15,两个序列的中位数是含它 们所有元素的升序序列的中位数。例如,若 S2=( 2,4,6,8,20),则 S1 和 S2 的中位数 是 11。现在有两个等长升序序列 A和 B,试设计一个 在 时间和空间两方面都尽可能高效 的算法,找出两个序列 A 和 B 的中位数。要求: ( 1)给出算法的基本 设计 思想。 ( 2)根据设计思想,采用 C 或 C++或 JAVA 语言描述算法,关键之处给出注释。 ( 3)说明你所设计算法的时间复杂度和空间复杂度。 解答: ( 1) 算法的基本设计思想如下。 分别求出序列 A 和 B 的中位数,设为 a 和 b, 求序列 A 和 B的中位数 过程如下 : 1)若 a=b,则 a 或 b 即为所求中位数 ,算法结束 。 2)若 ab, 则舍弃序列 A 中较大的一半,同时舍弃序列 B 中较小的一半 ,要求舍弃的 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 长度 相等 ; 在保留的两个升序序列中,重复过程 1)、 2)、 3) ,直到两个序列中只含一个元素时为 止 , 较小者即为所求的中位数。 ( 2)算法的实现如下: int M_Search(int A[],int B[],int n){ int s1=0,d1=n-1,m1,s2=1,d2=n-1,m2; //分别表示 序列 A和 B的首 位数 、 末位数 和 中位数 while(s1!=d1||s2!=d2){ m1=(s1+d1)/2; m2=(s2+d2)/2; if(A[m1]==B[m2]) return A[m1]; //满足条件 1) if(A[m1]B[m2]){ //满足条件 2) if((s1+d1)%2==0) { //若元素个数为奇数 s1=m1; //舍弃 A中间点以前的部分且保留中间点 d2=m2; //舍弃 B中间点以后的部分且保留中间点 } else{ //元素个数为偶数 s1=m1+1; //舍弃 A中间点及中间点以前部分 d2=m2; //舍弃 B中间点以后部分且保留中间点 } } else{ //满足条件 3) if((s1+d1)%2==0) { //若元素个数为奇数 d1=m1; //舍弃 A中间点以后的部分且保留中间点 s2=m2; //舍弃 B中间点以前的部分且保留中间点 } else{ //元素个数为偶数 d1=m1+1; //舍弃 A中间点以后部分且保留中间点 s2=m2; //舍弃 B中间点及中间点以前部分 } } } return A[s1]B[s2]? A[s1]:B[s2]; } ( 3)算法的时间复杂度为 O(log2n),空 间复杂度为 O(1)。 43.( 11 分)假定在一个 8 位字长的计算机中运行如下类 C 程序段: unsigned int x = 134; unsigned int y = 246; int m = x; int n = y; unsigned int z1 = x-y; unsigned int z2 = x+y; int k1 = m-n; int k2 = m+n; 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 若编译器编译时将 8 个 8 位寄存器 R1~ R8 分别分配给变量 x、 y、 m、 n、 z1、 z2、 k1 和 k2。请回答下列问题。(提示:带符号整 数用补码表示) ( 1)执行上述程序段后,寄存器 R1、 R5 和 R6 的内容分别是什么?(用十六进制表示) ( 2)执行上述程序段后,变量 m 和 k1 的值分别是多少?(用十进制表示) ( 3)上述程序段涉及带符号整数加 /减、无符号整数加 /减运算,这四种运算能否利用 同一个加法器辅助电路实现?简述理由。 ( 4)计算机内部如何判断带符号整数加 /减运算的结果是否发生溢出?上述程序段中, 哪些带符号整数运算语句的执行结果会发生溢出? 解答: ( 1) R1=134=86H, R5=90H, R6=7CH; 134=1000 0110B=86H ; x-y=1000 0110B-1111 0110B=1001 0000B=90H ; x+y=1000 0110B+1111 0110B=0111 1100B(溢出) ( 2) m=-122,k1=-112 m=1000 0110B,做高位为符号位,则 m 的原码为 1111 1010B=-122; n=1111 0110B n 的原码为 1000 1001=-10; k1=m-n=-112。 ( 3) 无符号数和有符号数都是以补码的形式存储,加减运算没有区别(不考虑溢出情况时), 只是输出的时候若是有符号数的最高位是符号位 。 减法运算求 [-x]补 的时候,是连同符号位一起按位取反末位加 1,但是如果有溢出情况, 这两者是有区别的,所以可以利用同一个加法器实现,但是溢出判断电路不同。 ( 4) 判断方法是如果最高位进位和符号位的进位不同,则为溢出;“ int k2=m+n;”会溢出; 三种方法可以判断溢出,双符号位、最高位进位、符号相同操作数的运算后与原操作数 的符号不同则溢出 44.( 12 分)某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为 16MB,主存(物 理)地址空间大小为 1MB,页面大小为 4KB; Cache 采用直接映射方式,共 8 行;主 存与 Cache 之间交换的块大小为 32B。系统运行到某一时刻时,页表的部分内容和 Cache 的部分内容分别如题 44-a 图、题 44-b 图所示,图中页框号及标记字段的内容为十六进 制形式。 虚页号 有效位 页框号 … 行 号 有效位 标记 … 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 题 44-a 图 页表的部分内容 题 44-b 图 Cache 的部分内容 请回答下列问题。 ( 1)虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号 (物理页号)? ( 2)使用物理地址访问 Cache 时,物理地址应划分成哪几个字段?要求说明每个字段 的位数及在物理地址中的位置。 ( 3)虚拟地址 001C60H 所在的页面是否在主存中?若在主存中,则该虚拟地址对应的 物理地址是什么?访问该地址时是否 Cache 命中?要求说明理由。 1 06 … 1 04 … 1 15 … 1 02 … 0 - … 1 2B … 0 - … 1 32 … 1 020 … 0 - … 1 01D … 1 105 … 1 064 … 1 14D … 0 - … 1 27A … 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com ( 4)假定为该机配置一个 4 路组相联的 TLB 共可存放 8 个页表项,若其当前内容(十 六进制)如题 44-c 图所示,则此时虚拟地址 024BACH 所在的页面是否存在主存 中?要求说明理由。 组号 有效位 标记 页框号 有效位 标记 页框号 有效位 标记 页框号 有效位 标记 页框号 0 1 题 44-c 图 TLB 的部分内容 解答: ( 1) 24 位、前 12 位; 20 位、前 8 位。 16M=224 故虚拟地址 24 位, 4K=212,故页内地址 12 位,所以虚页号为前 12 位; 1M=220 故物理地址 20 位, 20-12=8,故前 8 位为页框号。 ( 2) 主存字块标记( 12bit)、 cache 字块标记( 3bit)、字块内地址( 5bit) 物理地址 20 位,其中,块大小为 32B=25B 故块内地址 5 位; cache 共 8 行, 8=23,故 字块标记为 3 位; 20-5-2=12,故主存字块标记为 12 位。 ( 3) 在 主存中, 04C60H, 不命中,没有 04C 的标记字段 001C60H 中虚页号为 001H=1,查页表知其有效位为 1,在内存中;该物理地址对应的也 表项中,页框号为 04H故物理地址为 04C60H;物理地址 04C60H 在直接映射方式下,对应的 行号为 4,有效位为 1 但是标记位为 064H≠ 04CH 故不命中。 ( 4) 在, 012 的那个标记是对的。 思路: 标记 11 位组地址 1 位页内地址 12 位,前 12 位为 0000 0010 0100,组地址位为 0,第 0 组中存在标记为 012 的页,其页框号为 1F,故 024BACH 所在的页面存在主存中 。 45.( 8 分)某银行提供 1 个服务窗口和 10 个供顾客等待的座位。顾客到达银行时,若有空 座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业 员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下: cobegin { process 顾客 i { 从取号机获取一个号码; 等待叫号; 获取服务; } process 营业员 { while( TRUE) { 叫号; 为客户服务; } } }coend 请添加必要的信号量和 P、 V(或 wait()、 signal())操作,实现上述过程中的互斥与同步。 0 - - 1 001 15 0 - - 1 012 1F 1 013 2D 0 - - 1 008 7E 0 - - 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 要求写出完整的过程,说明信号量的含义并赋初值。 解答: semaphore seets = 10, // 有 10个坐位的资源信号量 mutex = 1, // 取号机互斥信号量 haveCustom = 0; // 顾客与营业员同步,无顾客时营业员休息 process 顾客 { P(seets); // 等空位 P(mutex); // 申请使用取号机 从取号机上取号 ; V(mutex); // 取号完毕 V(haveCustom); // 通知营业员有新顾客到来 等待营业员叫号 ; V(seets); // 离开坐位 接受服务; } process 营业员 { while(True) { P(haveCustom); // 没有顾客则休息 叫号 ; 为顾客服务 ; } } 46.( 7 分)某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可 修改,但可多次创建新文件。请回答如下问题。 ( 1)在连续、链式、索引三种文件的 数据块 组织方式中,哪种更合适?要求说明理由。 为定位文件数据块,需要 FCB 中设计哪些相关描述字段? ( 2)为快速找到文件,对于 FCB,是 集中存储好,还是与对应的文件数据块连续存储 好?要求说明理由。 解答: ( 1) 连续更合适 ,因为一次写入不存在插入问题 ,连续的数据块组织方式完全可以满足一次 性写入磁盘。同时连续文件组织方式减少了其他不必要的空间开销,而连续的组织方式顺序 查找读取速度是最快的。 ( 2) FCB 集中存储好。 目录是存在磁盘上的,所以检索目录的时候需要访问磁盘,速度很 慢;集中存储是将文件控制块的一部分数据分解出去,存在另一个数据结构中,而在目录中 仅留下文件的基本信息和指向该数据结构的指针,这样一来就有效地缩短减少了目录的体 积,减少了目录 在磁盘中的块数,于是检索目录时读取磁盘的次数也减少,于是就加快了检 索目录的次数。 47.( 9 分)某主机的 MAC 地址为 00-15-C5-C1-5E-28, IP 地址为 10.2.128.100(私有地址)。 题 47-a 图是网络拓扑,题 47-b 图是该主机进行 Web 请求的 1 个以太网数据帧前 80 个 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com 字节的十六进制及 ASCII 码内容。 图 47-a 图 网络拓扑 0000 00 21 27 21 51 ee 00 15 c5 c1 5e 28 08 00 45 00 .!|!Q. ^(E. 0010 01 ef 11 3b 40 00 80 06 ba 9d 0a 02 80 64 40 aa .:@. .d@. 0020 62 20 04 ff 00 50 e0 e2 00 fa 7b f9 f8 05 50 18 b .P {.P. 0030 fa f0 1a c4 00 00 47 45 54 20 2f 72 66 63 2e 68 GE T /rfc.h 0040 74 6d 6c 20 48 54 54 50 2f 31 2e 31 0d 0a 41 63 tml HTTP /1.1Ac 题 47-b 图 以太网数据帧 (前 80 字节) 请参考图中的数据回答以下问题。 ( 1) Web 服务器的 IP 地址是什么?该主机的默认网关的 MAC 地址是什么? ( 2)该主机在构造题 47-b 图的数据帧时,使用什么协议确定目的 MAC 地址?封装该 协议请求报文的以太网帧的目的 MAC 地址是什么? ( 3)假设 HTTP/1.1 协议以持续的非流水线方式工作, 一次请求 -响应时间为 RTT, rfc.html 页面引用了 5 个 JPEG 小图像,则从发出题 47-b 图中的 Web 请求开始到 浏览器收到全部内容为止,需要多少个 RTT? ( 4)该帧所封装的 IP 分组经过路由器 R 转发时,需修改 IP 分组头中的哪些字段? 注:以太网数据帧结构和 IP 分组头结构分别如题 47-c 图、题 47-d 图所示。 6B 6B 2B 46-1500B 4B 目的 MAC 地址 源 MAC 地址 类型 数 据 CRC 题 47-c 图 以太网帧结构 比特 0 8 16 24 31 题 47-d IP 分组头结构 解答: ( 1) 64.170.98.32 00-21-27-21-51-ee 以太网帧头部 6+6+2=14字节, IP 数据报首部目的 IP 地址字段前有 4*4=16 字节,从以 太网数据帧第一字节开始数 14+16=30 字节,得目的 IP 地址 40 aa 62 20(十六进制 ),转换 为十进制得 64.170.98.32。以太网帧的前六字节 00-21-27-21-51-ee 是目的 MAC 地址,本 题中即为主机的默认网关 10.2.128.1 端口的 MAC地址。 ( 2) 予人玫瑰 手留余香 王道论坛 www.cskaoyan.com ARP FF-FF-FF-FF-FF-FF ARP 协议解决 IP 地址到 MAC 地址的映射问题。主机的 ARP 进程在本以 太网以广播的形 式发送 ARP 请求分组,在以太网上广播时,以太网帧的目的地址为全 1,即 FF-FF -FF-FF-FF-FF。 ( 3) 6 HTTP/1.1 协议以持续的非流水线方式工作时, 服务器在发送响应后仍然在一段时间内 保持这段连接, 客户机在收到前一个响应后才能发送下一个请求。第一个 RTT 用于 请求 web 页面, 客户机收到第一个请求的响应后 (还有 五 个请求未发送 ),每访问一次对象就用去一个 RTT。故共 1+5=6 个 RTT 后浏览器收到全部内容。 ( 4) 源 IP 地址 0a 02 80 64 改为 65 0c 7b 0f 生存时间 (TTL)减 1 校验和字段重新计算 私有地址和 Internet 上的主机通信时,须有 NAT 路由器进行网络地址转换,把 IP 数据 报的源 IP地址 (本题为私有地址 10.2.128.100)转换为 NAT路由器的一个全球 IP地址 (本题 为 101.12.123.15)。因此,源 IP 地址字段 0a 02 80 64 变为 65 0c 7b 0f。 IP 数据报每经 过一个路由器,生存时间 TTL 值就减 1,并重新计算首部校验和。若 IP 分组的长度超过输 出链路的 MTU,则总长度字段、标志字段、片偏移字段也要发生变化。 注意,图 47-b 中 每行前 4bit 是数据帧的字节计数,不属于以太网数据帧的内容。