2018年清华大学软件学院408计算机学科专业基础综合之计算机操作系统考研核心题库
● 摘要
一、应用题
1. 分页式存储空间的分配由于块的大小是固定的,可以用一张位示图来构成主存分配表。现设主存有8192块,可用字长为32位的256个字作为位示图。若块号、字号、位号(从高位到低位)分别从1、0、0开始,试问5999块对应的字号和位号?199字的19位对应哪一块?
【答案】5999/32=187字
5999mod32=15位
2. 输入进程I 和用户进程P 采用双缓冲技术交换数据。输入进程I 首先填满Bufl ,用户进程P 从Buf1提取数据的同时,输入进程I 填充Buf2。当Buf1出空时,输入进程I 又可填充Buf1; 同样,当Buf2填满时,用户进程P 又可从Buf2提取数据。如此两进程交替使用两缓冲区。试用P 、V 操作实现两进程之间的同步。
【答案】
二、综合题
3. 父进程创建子进程是否等价于主进程调用子程序?为什么?
【答案】父进程创建子进程与主进程调用子程序是完全不同的。前者要创建一个进程控制块,并将有关信息填入PCB , 将该进程标志位设置为就绪态,最后把它插入就绪队列。主程序调用子程序,主程序暂停在调用点,子程序开始执行,直到子程序执行完毕返回,主程序开始执行。
一个进程可以使用创建原语创建一个新的进程,前者称为父进程,后者称为子进程。子进程又可以创建新的子进程,从而使整个系统形成一个树形结构的进程家族。
创建一个进程的主要任务是建立进程控制块PCB 。具体操作过程是:先申请一个空闲PCB 区域,将有关信息填入PCB , 置该进程为就绪状态,最后把它插入就绪队列中。
4. 试说明推动I/O控制发展的主要因素是什么。
【答案】在I/O控制方式的整个发展过程中,始终贯穿着这样一条宗旨,即尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以便更多地去完成数据处理任务。这也是推动I/O控制发展的主要动力。同时,中断机制在计算机系统中的引入、DMA 控制器的出现和通道研制的成功使I/O控制的发展使其成为可能,并具备了技术支持。
5. 高级调度与低级调度的主要任务是什么? 为什么要引入中级调度?
【答案】(1)高级调度和低级调度的主要任务
①高级调度又称为作业调度或长程调度,其主要功能是根据某种算法,把外存上处于后备队列中的那些作业调入内存,也就是说,它的调度对象是作业。
②低级调度用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。通常也把低级调度称为进程调度或短程调度,它所调度的对象是进程(或内核级线程)。
(2)引入中级调度的目的
引入中级调度的主要目的是为了提高内存利用率和系统吞吐量,中级调度实际上就是存储器管理中的对换功能。
6. 何谓缓冲区溢出?攻击者如何利用缓冲区溢出进行攻击?
【答案】缓冲区溢出是指计算机对接收的输入数据没有进行有效的检测,向缓冲区内填充数
据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。
通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。
7. 什么是索引文件? 为什么要引入多级索引?
【答案】(1)索引文件的定义
索引文件是为可变长记录文件建立一张索引表,对主文件中的每个记录在索引表中设有一个
,相应的表项,用于记录该记录的长度L 及指向该记录的指针(指向该记录在逻辑地址空间的首址)
以加快对记录检索的速度。
(2)引入多级索引的目的
为了进一步提高检索速度,使用户的访问速度更快,引入了多级索引结构,它可以有效地管理索引文件,根据用户的访问情况进行多级处理。
8. 某系统的进程状态变迁图如所示(设系统的进程调度方式为可剥夺式)。
(1)说明一个进程发生变迁2、3、5的原因。
(2)当发生一个变迁时可能引起另一个变迁的发生,这两个变迁称为因果变迁。下述变迁是否会发生,如果有可能的话,在什么情况下发生?
(3)根据此状态变迁图说明该系统的调度策略、调度效果。
图 进程状态变迁图
【答案】(1)发生进程状态变迀2的原因是一个更高优先级的进程到达,发生进程状态变迀3的原因是进程等待I/O设备,发生进程状态变迁5的原因是高优先级的进程抢占CPU 。
(2)a 有可能发生,当某个进程因I/O而阻塞,从运行态转换到阻塞态时,恰好有一个进程状态转换为高优先级就绪,就会发生转换
中没有进程在运行。 b 不可能发生。系统中总会有一个进程在运行。在转换
列为空。
d 不可能发生。转换4发生时,系统中有一个高优先级的进程就绪,所以不可能调度一个低
c 可能发生。低优先级的进程时间片用完,调度另一个低优先级进程,此时高优先级就绪队
相关内容
相关标签