操作系统简答题总汇(5)

2019-03-21 19:26

c. 拷贝进程表项中的数据;

d. 子进程继承父进程的所有文件; e. 为子进程创建进程上下文; f. 子进程执行.

7. 为何要采取进程自我终止方式?如何实现 exit?

a. 为了及时回收进程所占用的资源,并减少父进程的干预,UNIX 系统利用 exit 来实现进程的自我终止; b. 实现 exit,核心应该做的工作是: 关闭软中断;

回收资源; 写记帐信息; 置进程为\僵死状态\ 8. UNIX 系统采用什么样的进程调度算法?其优先级是如何计算的? a. UNIX 系统采用的是多级反馈队列轮转调度算法;

b. 每隔 1 秒,核心按如下公式重新计算用户优先数:优先数=(最近使用 CPU 的时间/2)+基本用户优先数. 9. 试说明信号与中断两种机制间的异同处?

a. 相似处: 信号和中断都采用了相同的异步通

信方式;

当检测出有信号或中断请求时,都是暂停正在执行的程序而转去执行相应的处理程序; 两者都是在处理完毕后返回到原来的断点; 对信号或中断都可进行屏蔽; b. 差异处: 中断有优先级,而信号没有优先级,即所有信号都是

平等的;

信号处理程序是在用户态下运行的,而中断处理程序则是在核心态下运行的; 中断响应是及时的,而信号响应通常都有较大的时间延迟. 10 扼要说明信号机制中信号的发送和对信号的处理功能?

a. 信号的发送是指由发送进程把信号送到指定进程的信号域的某一位上; b. 对于对信号的处理功能: 首先,

---利用系统调用 signal(sig,func)预置对信号的处理方式,func=1 时,该类信号被屏蔽; ---func=0 时,进程收到信号后终止自己;

---func 为非 0,非 1 类整数时,func 的值即作为信号处理程序的指针. 然后,

---如果进程收到的软中断是一个已决定要忽略的信号(func=1),进程不作任何处理返回; ---进程收到软中断后便退出(func=0); ---执行用于设置的软中断处理程序.

11 什么是管道?无名管道和有名管道的主要差别是什么?

a. 管道是指能够连接一个写进程和一个读进程的,并允许它们以生产者-消费者方式进行通信的一个共享 文件,又称为 pipe 文件;

b. 无名管道是一个临时文件,是利用系统调用 pipe()建立起来的无名文件,没有路径名,只有调用 pipe 的进程及其子孙进程才能识别此文件描述符而利用该文件(管道)进行通信;有名管道是利用 mknod 系统调 用建立的,是可以在文件系统中长期存在的,既有路径名的文件,其它进程可以知道其存在,并利用该路

径名来访问该文件.

12 读,写管道时应遵循哪些规则? a. 对 pipe 文件大小的限制; b. 进程互斥;

c. 进程写管道时,检查是否有足够的空间存放要写的数据,若有,则写入,若无,则由核心对该索引结 点做出标志,然后让写进程睡眠等待,直到读进程读走数据后,再将写等待进程唤醒;

d. 进程读管道时,检查是否有足够的要读的数据,若有,则进程从读指针的初始值处去读数据,每读出 一块后,便增加地址项的大小,读结束后由核心修改索引结点中的读指针,并唤醒所有等待的写进程,若 无,则在读完后,进程暂时进入睡眠等待,直到写进程又将数据写入管道后,再将读进程唤醒.

13 在消息机制中,有哪些系统调用?并说明它们的用途. 在 UNIX 中,消息机制向用户提供了四个系统调用:

a. msgget(),用来建立一消息队列,或者获取一消息队列的描述符;

b. msgsnd(),用于向指定的消息队列发送一个消息,并将该消息链接到该消息队列的尾部; c. msgrcv(),用于从指定的消息队列中接收指定类型的消息; d. msgctl(),用来读取消息队列的状态信息并进行修改.

14 在共享存储区机制中,有哪些系统调用?并扼要说明它们的用途. a. shmget(),建立一共享存储区;

b. shmat(),将共享存储区附接到进程的虚地址空间上; c. shmdt(),把共享存储区与新进程断开;

d. shmct(),对共享存储区的状态信息进行读取和修改,也可以断开进程与共享存储区的连接. 15 核心在执行 shmget 系统调用时,需完成哪些工作?

a. 首先检查共享存储区表,若找到指定 key 的表项,表明该共享区已经建立,此时返回该表项的描述符 shmid;

b. 若未找到指定的 key 表项,而 flag 标志又为 IPC_CREAT,且参数 size 值在系统限制值内,则分配一系 统空闲区作为共享区的页表区,分配响应的内存块,再将这些块号填入页表中;

c. 核心在共享存储区和系统区表中,为新建立的共享区分配一空表项,并在共享存储区表填上存储区的 关键字及其大小,共享区页表的始址,指向系统区表项的指针等,最后返回共享存储区的描述符---shmid.

16 在信号量集机制中,有哪些系统调用?并说明它们的用途. a. semget(),建立信号量集; b. semop(),对信号量进行操作. 17 核心是如何对信号量进行操纵的?

a. 核心根据 sem_op 来改变信号量的值,可分为 3 种情况;

b. sem_op 的值为正,则将其值加到信号量的值上,它相当于通常的 V 操作;

c. sem_op 的值为负,相当于 P 操作,若信号量的值大于操作值的绝对值,则核心将一个负整数加到信号 量值上,否则,核心将已经操作了的信号量,恢复到系统调用开始时的值; d. 若(sem_flg&IPC_NOWAIT)为真,便立即返回,否则,让进程睡眠等待. 18 为实现请求调页管理,在 UNIX 系统中,配置了哪些数据结构? a. 页表;

b. 磁盘块描述表;

c. 页框数据表; d. 对换使用表.

19 在 UNIX 系统中,如何改变有效页的年龄?并用实例说明之. a. 一个页可计数的最大年龄,取决于它的硬件设施;

b. 对于只设置两位作为年龄域时,其有效页的年龄只能取值为 0,1,2,3,当该页的年龄为 0,1,2 时, 该页处于不可换出状态,而当其年龄达到 3 时,则可为换出状态,每当内存中的空闲页面数低于某规定的 低限时,核心便唤醒换页进程,又换页进程取检查内存中的每一个活动的,非上锁的区,对所有有效区的 年龄字段加 1,对于那些年龄已增至 3 的页便不再加 1,而是将它们换出,如果这种页已被进程访问过, 便将年龄域中的年龄降为 0.

20 当需访问的缺页是在可执行文件上或在对换设备上时,应如何将它调入内存? 核心先为缺页分配一内存页,修改该页表项,使之指向内存页,并将页面数据表项放入相应的散列队列 中,然后把该页从对换设备上调入内存,当 I/O 操作完成时,核心把请求调入该页的进程唤醒. 21 在将一页换出时,可分为哪几种情况?应如何处理这些情况?

a. 若在对换设备上已有被换出页的拷贝,且被换出页的内容未被修改,则此时核心不必将该页重写回对 换设备上,而只需将该页的页表项中的有效位清零,并将页框数据表项中的引用计数减 1,最后将该页表 项放入空闲页链表中;

b. 若在对换设备上没有被换出的拷贝,则换出进程应将该页写到对换设备上,可采用页面链集中写入; c. 在对换设备上已有换出页的副本,但该页内容已被修改过,此时核心将该页在对换设备上的原有空间 释放,再重新将该页拷贝到对换设备上,使在对换设备上的拷贝内容总是最新的.


操作系统简答题总汇(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:谈判技巧在商务中的作用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: