软考笔记总结

it2025-10-03  6

例题: 与地址220.112.179.92匹配的路由表的表项是()

A 220.112.145.32/22B 220.112.145.64/22C 220.112.147.64/22D 220.112.177.64/22

分析:220.112.179.92 = (1101 1100,0111 0000,1011 0011,0101 1100)2 选项来看,网络号为22位。 地址是在1101 1100 0111 0000 1011 0000 0000 0000(220.112.176.0/22)~ 1101 1100 0111 0000 1011 0011 1111 1111(220.112.179.255/22)范围内


例题: 子网172.6.32.0/20被划分成子网172.6.32.0/26,则下面的结论中正确的是()

A. 被划分成62个子网B. 每个子网有64个主机地址C. 被划分成32个子网D. 每个子网有62个主机地址

分析: 172.6.32.0/20中的20表示网络号的位数。 172.6.32.0 = (10101100,00000110,00100000,00000000)2 而172.6.32.0/26中的26表示网络号+子网号的位数 172.6.32.0 = (10101100,00000110,00100000,00000000)2 子网号占26-20=6位,一共被划分成2^6=64个子网 IP地址一共有32位,网络号+子网号占用了26位,所以剩下的32-26=6位都是主机地址。 去掉网络地址(全0)和广播地址(全1)两个专用地址后,主机地址剩下26-2=62个。


A.19B.20C.21D.24

分析: 松弛时间(最多延迟执行的时间)求法: 1:最晚开始时间-最早开始时间 2:关键路径的总时间-包含该任务的关键路径花的时间

相关: 关键路径:从开始到结束得所有路径中,所话时间最长的一条为关键路径。 在关键路径上的任务的松弛时间为0 最早开始时间:在关键路径上,从开始到该任务的最早执行的时间 最晚开始时间:关键路径的总时间-反向得出该任务的时间


答案: B 分析: 直接映像是每个主存字块地址映像到Cache中的一个指定地址的方式,硬件简单,地址变换速度快,不需要替换算法,但块冲突概率高,Cache利用率不高。 全相联映像是每个主存地址映像到Cache任何一个地址,块冲突概率低,只有Cache块全部满了才会冲突,但实现复杂。 组相联映像是直接映像和全相联映像的折衷,将存储空间分组,组间直接映像,组内全相联映像。


填空题2016年 统一过程(UP)定义了初启阶段、精化阶段、构建阶段、移交阶段和产生阶段,每个阶段以达到某个里程碑时结束,其中______的里程碑是生命周期架构。

A.初启阶段 B.精化阶段 C.构建阶段 D.移交阶段

本题考查软件开发过程的基础知识。 统一过程(UP)定义了初启阶段、精化阶段、构建阶段、移交阶段和产生阶段,每个阶段达到某个里程碑时结束。其中初启阶段的里程碑是生命周期目标,精化阶段的里程碑是生命周期架构,构建阶段的里程碑是初始运作功能,移交阶段的里程碑是产品发布。


虚拟存储管理的提出就是为了解决这一问题,应用程序在运行之前未必全部装入内存,仅需将当前运行到的那部分程序和数据装入内存便可启动程序的运行,其余部分仍驻留在外存上。当要执行的指令或访问的数据不在内存时,再由操作系统通过请求调入功能将它们调入内存,以使程序能继续执行。如果此时内存已满,则还需通过置换功能,将内存中暂时不用的程序或数据调至外存上,腾出足够的内存空间后,再将要访问的程序或数据调入内存,使程序继续执行。这样,便可使一个大的用户程序能在较小的内存空间中运行,也可在内存中同时装入更多的进程使它们并发执行。从用户的角度看,该系统具有的内存容量比实际的内存容量大得多。将这种具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的存储器系统称为虚拟存储系统。 局部性原理 虚拟存储管理能够在作业信息不全部装入内存的情况下保证作业正确运行,是利用了程序执行时的局部性原理。局部性原理是指程序在执行时呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分。相应地,它所访问的存储空间也仅局限于某个区域。程序局部性包括时间局部性和空间局部性,时间局部性是指程序中的某条指令一旦执行,不久以后该指令可能再次执行。产生时间局部性的典型原因是由于程序中存在着大量的循环操作;空间局部性是指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。 工作集 在虚拟存储管理中,可能会出现这种情况,即对于刚被替换出去的页,立即又要被访问,需要将它调入,因无空闲内存又要替换另一页,而后者是即将被访问的页,于是造成了系统需花费大量的时间忙于进行这种频繁的页面交换,致使系统的实际效率很低,严重时导致系统瘫痪,这种现缘称为抖动现象。防止抖动现象有多种办法,例如,采取局部替换策略、引入工作集算法和挂起若干进程等。工作集是指在某段时间间隔内,进程实际要访问的页面的集合。引入虚拟内存后,程序只需有少量的内存就可运行,但为了使程序有效地运行,较少产生缺页,必须使程序的工作集全部在内存中。 页面置换算法 当内存中没有空闲页面,而又有程序和数据需要从外存中装入内存运行时,就需要从内存中选出一个或多个页面淘汰出去,以便新的程序和数据装入运行,良好的页面置换算法应该淘汰那些被访问概率最低的页,将它们移出内存。 ①随机淘汰算法。无法确定哪页被访问的概率较低时,随机地选择某个页面,并将其换出。 ②轮转算法。按照内存页面的编号,循环地换出内存中一个可以被换出的页,无论该页是刚换进来还是已驻留内存很长时间。 ③先进先出算法(First In First Out,FIFO)。FIFO算法总是选择在内存驻留时间最长的一页将其淘汰。实现FIFO算法需要把各个已分配页面按页面分配时间顺序链接起来,组成FIFO队列,并设置一置换指针,指向FIFO队列的队首页面。FIFO算法忽略了一种现象的存在,那就是在内存中停留时间最长的页往往也是经常要访问的页。将这些页淘汰,很可能刚置换出去,又请求调用该页,致使缺页中断太频繁,严重降低内存的利用率。 FIFO的另一个缺点是它可能会产生一种异常现象。一般来说,对于任一作业或进程,如果给它分配的内存页面数越接近于它所要求的页面数,则发生缺页的次数会越少。但使用FIFO算法时,有时会出现分配的页而数增多,缺页次数反而增加的现象,称为belady现象。 ④最近最久未使用算法(Least Recently Used,LRU)。当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页先淘汰。例如,考虑一个仅460个字节的程序的内存访问序列(10,11,104,170,73,309,185,245,246,434,458,364),页面的大小为100个字节,则460个字节应占5页,编号为0~4,第0页字节为0~99,第1页为100~199,依此类推。得到页面的访问序列是(0,0,1,1,0,3,1,2,2,4,4,3),可简化为(0,1,0,3,1,2,4,3)。如果内存中有200个字节可供程序使用,则内存提供2个页帧供程序使用。按照FIF0算法,共产生6次缺页中断,如表所示。 按照LRU算法,共产生7次缺页中断,如表所示。 ⑤最近没有使用页面置换算法(No Used Recently,NUR)。在需要置换某一页时,从那些最近的一个时期内未被访问的页任选一页置换。只要在页表中增设一个访问位即可实现。当某页被访问时,访问位置为1,否则访问位置为0。系统周期性地对所有引用位清零。当需淘汰一页时,从那些访问位为零的页中选一页进行淘汰。 ⑥最优置换算法。选择那些永久不使用的,或者在最长时间内不再被访问的页面置换出去。因为要确定哪个页面是未来最长时间内不再被访问的,目前来说很难估计,所以,该算法通常用来评价其他算法。 ⑦时钟页面替换算法(Clock)。使用页表中的引用位,将作业已调入内存的页面链成循环队列,用一个指针指向循环队列中的下一个将被替换的页面。其实现方法如下:一个页面首次装入内存时,其引用位置1;在内存中的任何一个页面被访问时,其引用位置1;淘汰页面时,存储管理从指针当前指向的页面开始扫描循环队列,把所遇到的引用位是1的页面的引用位清0,并跳过这个页面;把所遇到的引用位是0的页面淘汰掉,指针推进一步:扫描循环队列时,如果遇到的所有页面的引用位均为1,则指针就会绕整个循环队列一圈,将碰到的所有页面的引用位清0;指针停在起始位置,并淘汰掉这一页,然后指针推进一步。 在本题中,从题干可知,作业共有4个页面的主存空间,其中一个已被程序本身占用,所以在读取变量时可用的页面数只有3个。每个页面可存放200个整数变量,程序中A数组共有100100=10000个变量。按行存放时,每个页面调入的200变量刚好是程序处理的200个变量,所以缺页次数为10000/200=50。而按列存放时,虽然每个页面调取数据时,同样也读入了200个变量,但这200个变量中,只有2个是近期需要访问的(如:第1个页面调入的是A[,1]与A[*,2],但程序近期需要访问的变量只有A[1,1]和A[1,2]),所以缺页次数为:10000/2=5000。


火车晚点5个多小时,没赶上,夭折…

最新回复(0)