有一磁盘,共有10个柱面,每个柱面20个磁道,每个盘面分成16个扇区。采用位示图对其存储空间进行管理。如果字长是16个二进制位,那么位示图共需 (A) 字。
A.200 B.128 C.256 D.100
1.该盘组共有物理记录/物理块:20*16*100=3200(个)
2.若采用字长为16位的字来组成位示图,测需要3200/16=200(个)字。
3.位示图中第50个字的第16位对应的存储块号位:50*16+16=816,故它在盘组上的位置为:
柱面号=[块号/柱面上块数]=[816/320]
磁头号=【块号%柱面上块数】/盘面上扇区数=【816%320/16】
扇区号=【块号%柱面上块数】%扇面上块数=【816%320%320】
操作系统的主要功能有()等。
C.处理机管理、存储器管理、设备管理、文件系统
答:操作系统的主要功能包括处理器管理、主存储器管理、文件管理、设备管理和作业管理。
分布式系统和网络系统的主要区别是(C)。
A 并行性
B 透明性
C 共享性
D 复杂性
答:
计算机网络系统要求用户在使用计算机资源时必须了解网络资源的分布情况,在 “共享 ” 某一台计算机资源时,必须了解网络分布情况。而分布式系统自动为用户调用网络资源,“共享 ” 同一台计算机时不需要申请资源。透明也是在共享的情况下才体现出来的,所以正确答案应该是共享性。
顺便说一下,计算机术语里的透明性和平时我们说的透明性语义是完全相反的。在计算机术语里,某过程对用户是透明的,意思是用户看不见,即黑盒。
在计算机体系结构中,处理机就是CPU,单处理机计算机系统中某个时刻只有一个程序在使用CPU运行,通过进程调度可以实现宏观上的多程序并行的效果,但微观上仍然是串行的。所以B、C、D错误,选A
具有多个CPU的计算机系统中,某一时刻每个CPU中都可以有一个程序在运行,可以实现真正意义上的并行。
并发性是指两个或多个事件在同一时间间隔内发生。
为了实现多道程序设计,计算机需要有什么?
答:为了实现多道程序设计,计算机需要有更大的内存。
多道程序设计指是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。多道程序技术运行的特征:多道、宏观上并行、微观上串行。多道程序设计必须有硬件基础作为保证。
所谓多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用CPU,交替执行。引入多道程序设计技术的根本目的是为了提高CPU的利用率,充分发挥计算机系统部件的并行性,现代计算机系统都采用了多道程序设计技术。
多道程序设计的出现,加快了OS的诞生。
多道程序设计的基本特征:间断性、共享性、制约性。
https://img-my.csdn.net/uploads/201211/29/1354152373_8329.jpg
答:
运行态失去CPU资源变成就绪态,就绪态得到CPU资源变成运行态,运行态等待或者I/O请求变成阻塞态。阻塞等待的事情发生就进入就绪态。阻塞态不能直接转换到运行态,必须先经过就绪态才行 ,只有就绪能转到运行态。
答:
1,申请空白PCB(进程控制块);
2,为新进程分派资源;
3,初始化PCB;
4,将新进程插入就绪队列;
创建进程时不需要分配cpu,运行进程时才需要
38. 下面关于线程的叙述中,正确的是( A )。
A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持
B.线程是资源的分配单位,进程是调度和分配的单位
C.不管系统中是否有线程,进程都是拥有资源的独立单位
D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位
答:
A:用户级线程,切换时不需要内核的支持
B:线程是资源调度和分配的单位,进程是资源拥有的单位
C:对
D:引入线程后,线程才是资源分配和调度分派的基本单位
P(S):将信号量S的值减1,即S=S-1;
如果S>=0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。
V(S):将信号量S的值加1,即S=S+1;
如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。
临界资源跟临界区的区别:
临界资源:只允许一个进程进行访问的资源,比如打印机;
临界区:使用临界资源的代码区;
所以这个题目的意思就是进程间互斥,针对同类临界资源的,而对应的代码段是独立的,所以各个进程只能访问各自的代码空间。
互斥信号量,初始值为1,取值范围为(-1, 0,1)。
当信号量为1时,表示两个进程皆未进入需要互斥的临界区;
当信号量为0时,表示有一个进程进入临界区运行,另一个必须等待;
当信号量为-1时,表示有一个进程正在临界区运行,另一个进程因等待而阻塞在信号量队列中,需要当前已在临界区运行的进程退出时唤醒。
47.当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为(B)。
A.>0 B.<0 C.≥0 D.≤0
48. 当一进程因在记录型信号量S上执行V(S)操作而导致唤醒另一进程后,S的值为(D)。
A.>0 B.<0 C.≥0 D.≤0
答:对于记录型信号量,当 s<0 的时候,请求进程会阻塞;
对于整型信号量,当s<=0的时候,请求进程不会阻塞,而是进入盲等状态。
//48.唤醒进程,说明S的值小于0,被唤醒之后,所以S的值应该<=0.
唤醒另一进程,说明有进程可被唤醒,就是说有进程在等待进行临界区,若V操作前只有一个进程在等待,则V操作之后S=0,若V操作前有多个进程在等待,是V操作之后S<0,所以,综合来说,S<=0
——》http://c.biancheng.net/cpp/html/2598.html
若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量的变化范围是(B )。
A.3,2,1,0
B.3,2,1,0,-1
C.4,3,2,1,0
D.2,1,0,-1,-2
若信号S的初值为2,当前值为-1,则表示有(B )个等待进程。
A.0 B.1 C.2 D.3
答:当信号量是负数的时候表示有进程在等待,是负几就代表有几个进程在等待,因为最多有一个进程在等待,所以信号量最小只能是-1
51.( A)操作不是P操作可完成的。
A.为进程分配处理机 B.使信号量的值变小
C.可用于进程的同步 D.使进程进入阻塞状态
1)可利用资源向量Available
是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目。如果Available[j]=K,则表示系统中现有Rj类资源K个。
2)最大需求矩阵Max
这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。
3)分配矩阵Allocation
这也是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的 数目为K。
4)需求矩阵Need。
这也是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。
Need[i,j]=Max[i,j]-Allocation[i,j]
54.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和(A)相同。
A.先来先服务调度算法
B.短作业优先调度算法
C.时间片轮转调度算法
D.长作业优先调度算法
答:
链接:https://www.nowcoder.com/questionTerminal/ee68676c5f1f4803a0b51d376d0b11b0?source=relative
来源:牛客网
动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。例如,我们可以规定,在就绪队列中的进程,随其等待时间的增长,其优先权以速率a提高。若所有的进程都具有相同的优先权初值,则显然是最先进入就绪队列的进程将因其动态优先权变得最高而优先获得处理机,此即FCFS算法。
55.分页存储管理的存储保护是通过(A )完成的。
A.页表(页表寄存器) B.快表
C.存储键 D.索引动态重定
程序执行时,必须将地址空间变为绝对地址才能访问系统分配的内存
地址重定位:操作系统把用户程序指令中的相对地址变换成为所在存储中的绝对地址的过程
地址重定位实现了:从逻辑地址到物理地址的转换
按照重定位时机分类:静态重定位、动态重定位
一般由操作系统中的重定位装入程序完成
重定位装入程序的输入:用户把自己的作业链接装配成一个相对于 0 编址的目标程序
过程:
重定位装入程序根据当前内存的分配情况,按照分配区域的起始地址逐一调整目标程序指令中的地址部分。目标程序在经过重定位装入程序加工之后,不仅进入到分配给自己的绝对地址空间中,而且程序指令中的地址部分全部进行了修正,反映出了自己正确的存储位置,保证了程序的正确运行
特点:
在装入前实现调整
地址要有标识
每次装入都要进行定位
装入后地址不再改变(静态)
用户程序原封不动的装入内存,运行时再完成地址的定位工作
动态重定位需要硬件的支持,要求系统中配备定位寄存器和加法器
特点:
程序可装入任意内存区域(不要求占用连续的内存区)
只装入部分程序代码即可运行
改变系统时不需要改变程序(程序占用的内存空间动态可变,只需要改变定位寄存器中的值即可)
程序可方便共享
57.在存储管理中,采用覆盖与交换技术的目的是(A )。
A.减少程序占用的主存空间
B.物理上扩充主存容量
C.提高CPU效率
D.代码在主存中共享
答:
链接:https://www.nowcoder.com/questionTerminal/ffe3e56403654947a0d0f4d449110114?toCommentId=35563
来源:牛客网
58.存储管理方法中,( B)用户可采用覆盖技术。
A.单一连续区 B.可变分区存储管理
C.段式存储管理 D.段页式存储管理
61.分区管理和分页管理的主要区别是( D)。
A.分区中的块比分页中的页要小
B.分页有地址映射而分区没有
C.分页有存储保护而分区没有
D.分区要求一道程序存放在连续的空间内而分页没有这种要求
链接:https://www.nowcoder.com/questionTerminal/f140243a03b54030b7ed570a6171d588
来源:牛客网
LRU是最近最少使用页面置换算法(Least Recently Used),也就是首先淘汰最长时间未被使用的页面!
LFU是最近最不常用页面置换算法(Least Frequently Used),也就是淘汰一定时期内被访问次数最少的页!
比如,第二种方法的时期T为10分钟,如果每分钟进行一次调页,主存块为3,若所需页面走向为2 1 2 1 2 3 4
注意,当调页面4时会发生缺页中断
若按LRU算法,应换页面1(1页面最久未被使用) 但按LFU算法应换页面3(十分钟内,页面3只使用了一次)
在下面关于虚拟存储器的叙述中,正确的是(B )。
A.要求程序运行前必须全部装入内存且在运行过程中一直驻留在内存
B.要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内存
C.要求程序运行前不必全部装入内存但是在运行过程中必须一直驻留在内存
D.要求程序运行前必须全部装入内存但在运行过程中不必一直驻留在内存
69 在请求分页系统中,页表中的改变位是供(C )参考的。
A.页面置换 B.内存分配
C.页面换出,决定是否写入磁盘 D.页面调入
70.在请求分页系统中,页表中的访问位是供(A )参考的。
A.页面置换 B.内存分配 C.页面换出 D.页面调入
未被修改的页直接从文件区读入,而被置换时不需要调出;已被修改的页面,被置换时需要调出到交换区,以后从交换区调入。
78.采用(A )不会产生内部碎片。
A.分页式存储管理 B.分段式存储管理
C.固定分区式存储管理 D.段页式存储管理
答:
链接:https://www.nowcoder.com/questionTerminal/ed959bf59bb04d8da2bdba851c36bb1b
来源:牛客网
在内存管理中,内部碎片是已经被分配出去的的内存空间大于请求所需的内存空间。 外部碎片是指还没有分配出去,但是由于大小太小而无法分配给申请空间的新进程的内存空间空闲块。
固定分区存在内部碎片,可变式分区分配会存在外部碎片;
页式虚拟存储系统存在内部碎片;
段式虚拟存储系统,存在外部碎片 为了有效的利用内存,使内存产生更少的碎片,要对内存分页,内存以页为单位来使用,最后一页往往装不满,于是形成了内部碎片。 为了共享要分段,在段的换入换出时形成外部碎片,比如5K的段换出后,有一个4k的段进来放到原来5k的地方,于是形成1k的外部碎片。
79.下面哪种内存管理方法有利于程序的动态链接?(A )
A.分段存储管理 B.分页存储管理
C.可变分区分配 D.固定分区分配
答:
动态链接也要以段为单位进行管理。
前三页肯定是缺页的了,后续的只需判断载入的页是否已存在即可,即从第四项开始检查选择页前面的三项中是否包含当前页,如果没有则缺页: 3+6=9
有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5, 1,2,5,1,2,3,4,5,会发生多少缺页?
A:7
B:8
C:9
D:10
答案:D,10。
注意:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。
内存块数是3时:
FIFO,发生缺页时的调入顺序即为淘汰顺序
1、访问1,缺页,调入1,内存中为 1, ,;
2、访问2,缺页,调入2,内存中为 1,2,;
3、 访问3,缺页,调入3,内存中为 1,2,3;
4、 访问4,缺页,调入4,淘汰1,内存中为 4,2,3;
5、 访问5,缺页,调入5,淘汰2,内存中为 4,5,3;
6、 访问1,缺页,调入1,淘汰3,内存中为 4,5,1;
7、 访问2,缺页,调入2,淘汰4,内存中为 2,5,1;
8、 访问5,不缺页,内存中为 2,5,1;
9、 访问1,不缺页,内存中为 2,5,1;
10、 访问2,不缺页,内存中为 2,5,1;
11、访问3,缺页,调入3,淘汰5,内存中为 2,3,1;
12、访问4,缺页,调入4,淘汰1,内存中为 2,3,4;
81.系统”抖动”现象的发生是由(A )引起的?
A.置换算法选择不当 B.交换的信息量过大
C.内存容量充足 D.请求页式管理方案
采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是(B )。
A.2^24 B.2^16 C. 2^8 D.2^32
答:链接:https://www.nowcoder.com/questionTerminal/b29b6cb00ec944ef85f57b8712b2587b
来源:牛客网
采用段式管理的系统中,其逻辑地址分为段号和页内偏移量。
本题的地址一共24位,使用了8位表示段号,那么把剩下的 16 位全部用来表示段内偏移量就能使每段长度最大,如下图所示
从而每段允许的最大长度为 216
选B,2的16次方,地址用24位表示,其中8位是段号,那么真正表示段内地址的只有16位,那么每段最大的段长时2的16次方,也就是64KB
85.在页式存储管理系统中,页表内容如表所列。
页表
页号 块号
0 2
1 1
2 6
3 3
4 7
若页的大小为4KB,则地址转换机构将逻辑地址0转换成物理地址为( A)。
A.8192 B.4096 C.2048 D.1024
链接:https://www.nowcoder.com/questionTerminal/5c5caf6e3e3f4324868516961ecb0158?pos=16&orderByHotValue=2&done=0
来源:牛客网
逻辑地址= 页号*页大小+页内地址;
物理地址= 块号*块大小+页内地址;
块的大小与页大小一致;
由于页面大小是4K = 2^12 ,所以逻辑地址的后12位为 页内地址;
所以物理地址 = 2 *(2^12) + 0 = 8192;
逻辑地址=页号*页面大小+页内地址=0*4096+0=0
页号=逻辑地址/页面大小; 0/4096=0
页内地址=逻辑地址%页面大小;0%4096=0
通过页号0找出对应的块号为2,另外,块大小=页面大小=4096
物理地址=块号*块大小+页内地址=2*4096(4KB)+0=8192
87.下述(a)页面淘汰算法会产生Belady现象。
A.先进先出 B.最近最少使用 C.最不经常使用 D.最佳
88.下面( B)内存管理方法不能实现扩大内存?
A.动态页式管理 B.静态页式管理
C.分段存储管理 D.段页式存储管理
89.设主存容量为1MB,辅存容量为400MB,计算机系统的地址寄存器有24位,那么虚存的最大容量是( D )。
A.1MB B.401MB C.1MB+2^24B D.2^24B
答:
虚存=min(内存+辅存,逻辑地址)。
虚拟存储器的最大容量是由计算机的地址结构确定的,其虚拟地址空间=2^24B。本题答案为D
90.在可变式分区分配方案中,只需要进行一次比较就可以判定系统是否能满足作业对主存空间要求的算法是(C )。
A.最先适应算法 B.最佳适应算法 C.最差适应算法 D.固定式分区算法
91.页式虚拟存储管理的主要特点是(B )。
A.不要求将作业装入到主存的连续区域
B.不要求将作业同时全部装入到主存的连续区域
C.不要求进行缺页中断处理
D.不要求进行页面置换
92.在请求分页存储管理中,当访问的页面不在内存时,便产生缺页中断,缺页中断是属于(A)。
A.I/O中断 B.程序中断 C.访管中断 D.外中断
95.利用通道实现了(C )之间数据的快速传输。
A.CPU和外设 B.内存和COU C.内存和外设 D.外设和外设
96.设从磁盘将一块数据传送到缓冲区所用实际为80μs,将缓冲区中数据传送到用户区所用时间为40μs,CPU处理数据所用的时间为30μs。则处理该数据,采用单缓冲传送磁盘数据,系统所用总时间为(A )。
A.120μs B.110μs C.150μs D.70μs
答:
max(磁盘到缓冲区,CPU处理) + 缓冲区到用户区 = max(80, 30) + 40 = 120
97.下列关于通道、设备、设备控制器三者间关系的叙述中正确的是(C )。
A.设备控制器和通道可以分别控制设备
B.设备控制器控制通道和设备一起工作
C.通道控制设备控制器,设备控制器控制设备
D.设备控制器控制通道,通道控制设备
假设就绪队列中有10个进程,以时间片轮转方式进行进程调度,时间片大小为300ms,CPU进行进程切换需要花费10ms,则系统开销所占比率和进程数目增加到30个,其余条件不变时系统开销所占的比率相比,其结果是( B )。
A.大于 B.等于 C.小于 D.不能确定
99.在段页式存储管理系统中其虚拟地址空间是(C )的。
A. 一维
B. 二维, 段号,页号
C. 三维,段号,页号,页内偏移量
D. 四维
假定把磁盘上的一个数据块中的信息输入到一个双缓冲区的时间为T=0.1ms,将缓冲区中的数据传送到用户区的时间M=0.05ms,而CPU对数据的处理时间C=0.05ms,这样系统对每个数据块的处理时间为( B )。
A. 0.05ms B. 0.1ms C. 0.15ms D. 0.25ms
链接:https://www.nowcoder.com/questionTerminal/b92966024ee9410e959f883dd6e89b25
来源:牛客网
好比排队吃饭,排得慢,吃得快,第二个人刚吃,第一个都到家了,
对于单缓冲:
假定从磁盘把一块数据输入到缓冲区的时间为T,操作系统将该缓冲区中的数据传送到用户区的时间为M,而CPU对这一块数据处理的时间为 C。由于T和C是可以并行的,当T>C时,系统对每一块数据的处理时间为M十T,反之则为M+C,故可把系统对每一块数据的处理时间表示为Max(C, T)+M。
对于双缓冲:
系统处理一块数据的时间可以粗略地认为是MAC(C, T)。如果C