操作系统重点.doc

上传人:工**** 文档编号:562535194 上传时间:2023-08-03 格式:DOC 页数:4 大小:28.50KB
返回 下载 相关 举报
操作系统重点.doc_第1页
第1页 / 共4页
操作系统重点.doc_第2页
第2页 / 共4页
操作系统重点.doc_第3页
第3页 / 共4页
操作系统重点.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《操作系统重点.doc》由会员分享,可在线阅读,更多相关《操作系统重点.doc(4页珍藏版)》请在金锄头文库上搜索。

1、1.分时系统主要功能实现:人机交互,共享主机,便于用户上机2.实时系统:是指系统能及时控制外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致运行。 能满足 实时控制,实时信息处理 的要求3.什么是中断 中断是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序。临界资源是:是一次仅允许一个进程访问的资源,例如打印机,共享的变量。进程中访问临界资源的那段代码段称为临界区。4.信号量机制和经典同步问题利用信号量机制即通过两个原子操作:操作和操作来实现解决进程同

2、步问题,信号量S是一个整数,S大于等于零时代表可供并发进程使用的资源实体数,但S小于零时则表示正在等待使用临界区的进程数。P原语操作的动作是:(1)S减1;(2)若S减1后仍大于或等于零,则进程继续执行;(3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。V原语操作的动作是:(1)S加1;(2)若相加结果大于零,则进程继续执行;(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV原语执行期间不允许有中断的发生5.基本分页存储管理原理,如何将逻

3、辑地址转换为物理地址(1)等分主存:把主存的存储空间划分成大小相等的片。(2)用户逻辑地址空间的分页:把用户的逻辑地址空间(虚地址空间)划分成若干个与存储块大小相等的片,称之为页面或页(Page)。(3)逻辑地址的表示:在分页系统中,每个虚拟地址(相对地址)用一个数对(p,d)来表示。其中p是页号,d是该虚拟地址在页面号为p的页中的相对地址,称为页内地址(位移量)。(4)主存分配原则:分页情况下,系统以存储块为单位把主存分给作业或进程,并且分给一个作业的各存储块不一定是相邻和连续的。进程或作业的一个页面装入系统分给的某个存储块中,所以页面与存储块对应。(5)页表和页表地址寄存器:为了便于管理和

4、保护,系统为每个装入主存的作业建立一张相应的页表,一旦这个作业被调度执行,把它的页表始址及大小装入特定的页表寄存器中。作业执行过程中CPU产生的每一个逻辑地址,由硬件地址变换机构自动将其分成两部分:一部分为页号,另一部分是页内位移量。如果页访问是合法的,则由页表始址和页号计算出所对应的物理块号;将物理块号与逻辑地址中的位移量拼接,形成最终访问的物理地址。 6.基本分段存储管理方式原理,与实现地址变换段式管理把一个进程的虚地址空间设计成二维结构,即段号S与段内相对地址W。一个用户作业的程序按其逻辑结构可划分为若干段,根据需要,段长可动态增长。地址变换过程:当访问不在主存中的分段时,便产生一缺段中

5、断信号。操作系统处理该中断后,按申请分区类似的方式,在主存中找到一块足够大的分区,以便容纳所要的分段。如没有这样的分区,则检查未分配分区的总和,确定是否要对分区进行拼接,或者移出一个(或几个)分段后再将所需段装入主存。7.分页与分段的主要区别,及优缺点()分页的作业地址空间是单一的线性地址空间,而分段作业的地址空间是二维的()页是信息的物理单位,大小固定;段是信息的逻辑单位,其长度不定。()分页管理实现的是单段式虚拟存储系统,而分段存储管理实现多段式虚拟存储系统。分页:没有外碎片,每个内碎片不超过页大小。一个进程不必连续存放。便于改变程序占用空间大小,但程序必须全部装入内存,要求要有相应的硬件

6、支持分段:便于实现分段可共享,易于保护,可动态链接8.段页式存储管理为了获得分段在逻辑上的优点和分页在管理存储空间方面的优点,兼用分段和分页两种方法,设计出了段页式存储管理技术来实现对存储器的管理。地址变换过程如下: 由段表控制寄存器确定段表在主存中的位置。将虚地址中的段号和控制寄存器中的段表大小比较,以确保其访问的有效性。 硬件地址转换机构根据虚地址中的段号S,得到欲访问段在该作业的段表中的表目。并验证存取权限,以确保本次存储访问是允许的。然后,检查分段存在标识(判状态位),如果访问的段在主存,则通过段表找到该段的页表存放地址,再根据虚地址中的页号P查页表,找到该页所对应的内存块号与虚地址中

7、的页内地址d相加形成物理地址;若访问的分段不在主存,则由硬件产生缺段中断。如果一完整的分段不在主存,则说明该段所有的页面均不主存,因而也没有相应的页表。操作系统对缺页中断响应后,必须重新构造其页表,并装入一页或多个所需的页面。此时,开始继续执行本次的存储访问。当页表的位置和大小确定后,其存储访问过程如先前描述过的页面系统一样进行。9.虚拟存储器是指具有请求调入功能和置换功能能从逻辑上对内存容量加以扩充的一种存储系统10.磁盘访问时间有:寻道时间 旋转延迟时间 传输时间三部分组成二、进程一般具有哪三个主要状态?举例说明状态转换的原因三、阐述线程和进程之间的关系七、用PV同步读写问题,要求写者优先

8、。20. 设系统中有5台类型相同的打印机,依次编号为15。 又设系统中有n个使用打印机的进程,使用前申请,使用后释放。 每个进程有一个进程标识,用于区别不同的进程。 每个进程还有一个优先数,不同进程的优先数各异。当有多个进程同时申请时,按照进程优先数由高到低的次序实施分配。 试用信号灯和PV操作实现对于打印机资源的管理,即要求编写如下函数和过程:(1) 函数 require(pid,pri): 申请一台打印机。参数pid为进程标识,其值为1到n的整数; pri为进程优先数,其值为正整数; 函数返回值为所申请到打印机的编号,其值为1到5的整数;(2) 过程 return(prnt): 释放一台打

9、印机。参数prnt为所释放打印机的编号,其值为1到5的整数。解:#define N 5Int flagN+1;/flag0表示可用打印机数,/flag表示第i号打印机的状态(1=i0)flag0-;for(int i=1;iN+1;i+)if(flag= =1)flag=0;break;V(mutex_flag);return i;elseV(mutex_flag);p(mutex_queue);将进程pid按其优先数插入到等待队列queue中;V(mutex_queue); return(int print)P(mutex_flag);if(queue=NULL)flag0+;flagpri

10、nt=1;V(mutex_flag);elseV(mutex_flag);p(mutex_queue);将print分配给queue队首进程;queue下移;V(mutex_queue); 26. 关于读者/写者问题,有人给出如下改进解法:semaphore r_w_w, mutex, s; (初值均为1)int count; (初值为0)读者活动:P(s);P(mutex);count+;if (count= =1)P(r_w_w);V(mutex);V(s);读操作P(mutex);count-;If (count= =0)V(r_w_w);V(mutex); 写者活动:P(s);P(r_

11、w_w);写操作V(r_w_w);V(s); 分析上述改进算法的调度效果。答:由于s以及读者和写者对s的操作,读者和写者都不会无限等待,因而算法不会出现饿死现象,是一个公平的解法。14. 设有一个可以装A、B两种物品的仓库, 其容量无限大, 但要求仓库中A、B两种物品的数量满足下述不等式:-MA物品数量B物品数量N其中M和N为正整数. 试用信号灯和PV操作描述A、B两种物品的入库过程.解:若只放入A,而不放入B,则A产品最多可放入N次便被阻塞;若只放入B,而不放入A,则B产品最多可放入M次便被阻塞;每放入一次A,放入产品B的机会也多一次;同理,每放入一次B,放入产品A的机会也多一次.Semap

12、hore mutex=1,sa=N,sb=M;产品A进程: 产品B进程:while(1) while(1)p(sa); p(sb);p(mutex); p(mutex);A产品入库; B产品入库;V(mutex); V(mutex);V(sb); V(sa); 12. 设S1和S2为两个信号灯变量, 下列八组P、V操作哪些可以同时进行? 哪些不能同时进行? 为什么?(1) P(S1), P(S2) (2) P(S1), V(S2)(3) V(S1), P(S2) (4) V(S1), V(S2) (5) P(S1), P(S1) (6) P(S2), V(S2)(7) V(S1), P(S1)

13、 (8) V(S2), V(S2)答: (1),(2),(3),(4)可以同时进行;(5),(6),(7),(8)不可以同时进行。因为如果将信号灯变量看作共享变量,则P、V操作作为其临界区,为了不发生于时间有关的错误,须保证多个进程不能对同一个信号灯变量同时执行P、V操作。13. 对于生产者消费者问题,假设缓冲区是无界的,试用信号灯与 PV 操作给出解法。 答:由于是无界缓冲区,所以生产者不会因得不到缓冲区而被阻塞。 semaphore mutex_in=1; semaphore mutex_out=1; semaphore product=0; int in=0 , out=0; 生产者: while(1) 生产一个物品; P(mutex_in); bufferin=物品; in+; v(mutex_in); V(product); 消费者: while(1) P(product); P(mutex_out); 物品=bufferout; out+; V(mutex_out);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号