操作系统习题集[哈工大]
哈工大《操作系统》实验3

向kernel/printk.c中添加日志打印功能,将以下代码添加到原文件中:
在kernel/fork.c、kernel/sched.c和kernel/exit.c中,找到正确的状态转换点,并添加合适的状态信息,把它输出到log文件之中。
fork.c的修改如下:
exit.c的修改如下:
sched.c的修改如下:
在虚拟机上运行ls -l /var”或“ll /var”查看process.log是否建立,及它的属性和长度;
修改时间片
include/linux/sched.h宏INIT_TASK中定义的:
0,15,15, 分别对应state、counter和priority,将priority值修改,即可实现对时间片大小的调整。
0,15,15, 分别对应state、counter和priority,
priority值修改,即可实现对时间片大小的调整。
在修改时间片将priority由15改为150后,Process 9~20 中Turnaround, Waiting, CPU Burst, I/O Burst变化不大,原因可能是程序中I/O操作占用的时间对于总时间影响的权重过大,导致处理时间体现的并不明显。
或者变化不大的原因是,子进程连续占用cpu的时间要比时间片大很多。
2022年哈尔滨工程大学软件工程专业《操作系统》科目期末试卷B(有答案)

2022年哈尔滨工程大学软件工程专业《操作系统》科目期末试卷B(有答案)一、选择题1、采用SPOOLing技术后,使得系统资源利用率()。
A.提高了B.有时提高,有时降低C.降低了D.提高了,但出错的可能性增人了2、用户程序发出磁盘1/0请求后,系统的正确处理流程是()A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序3、考虑页面替换算法,系统有m个页帧(Frame)供调度,初始时全空:引用串(Reference String)长度为p.包含了n个不同的页号,无论用什么算法,缺页次数不会少于()A.mB.pC.nD.min(m,n)4、设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048B,内存总共有8个存储块,试问逻辑地址至少为多少位?内存空间有多大()?A.逻辑地址至少为12位,内存空间有32KBB.逻辑地址至少为12位,内存空间有16KBC.逻辑地址至少为15位,内存空间有32KBD.逻辑地址至少为15位,内存空间有16KB5、在一个请求分页系统中,采用LRU页面置换算法时,加入一个作业的页面走向为:1,3,2,1,1,3,5,1,3,2,1,5。
当分配给该作业的物理块数分别为3和4时,在访问过程中所发生的缺页率为()。
A.25%,33%B.25%,100%C.50%,33%D.50%,75%6、下列选项中,不是操作系统关心的主要问题的是()。
A.管理计算机裸机B.设计、提供用户程序与计算机及计算机硬件系统的接口C.管理计算机中的信息资源D.高级程序设计语言的编译7、下列选项中,在用户态执行的是()。
A.命令解释程序B.缺页处理程序C.进程调度程序D.时钟中断处理程序8、在磁盘上容易导致存储碎片发生的物理文件结构是()A.链接B.连续C.索引D.索引和链接9、某文件系统物理结构采用三级索引分配方法,如果每个磁盘块的大小为1024B.每个盘块索引号占用4B,请问在该文件系统中,最大文件的大小最接近的是()A.8GBB.16GBC.32GBD.2TB10、设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N 表示等待该资源的进程数,则M、N分别为()。
哈尔滨工业大学操作系统2001真题

哈尔滨工业大学2001年操作系统考研试题一.判断改错题(10分)(判断下列叙述是否正确,认为正确在括号内打“√”;若不正确打“╳”,并改正。
)1.现代操作系统的两个基本特征是中断处理和系统资源共享。
()2.临界区是进程执行程序中对临界资源访问的那一段程序代码。
()3.可执行目标程序是在经重定位后装入产生的。
()4.采用spooling技术,就可使独占设备增加,使用户同时面对独立的同类设备。
()5.打开文件的目的是把该文件的有关目录表复制到主存中约定的区域,以建立用户和该文件的联系。
()二.填空(15分)1.操作系统是对计算机进行()的程序,是()和用户的接口。
2.操作系统中进程的状态有许多种,但最基本的代表其生命周期的三种状态为()、()、()。
这三种状态间的转换称为()。
3.调度算法中,FIFO算法,也称为()法,它总是将处理机分配给()进入就绪队列的进程。
4.存储管理的目的是()和(),它的功能是()、()和()。
6.通道是一种硬件设施,它是一种专用的、有很强()的部件。
7.文件的安全管理,主要是通过设置()来控制用户对文件的访问。
三.简答题(30分)1.程序顺序执行与并发执行有什么不同?2.父进程创建子进程是否等价于主进程调用子程序?为什么?3.什么是“内存碎片”?应怎样解决“内存碎片”问题?4.缓冲技术主要包括哪几种方式?5.文件具有哪三大基本特征?6.选择调度方式和调度算法是,应遵循的准则是什么?四.单项选择题(15分)1.对于给定的信号量s ,等待操作wait(s)(又称P操作)定义为:if s>0 then ( ) eles挂起调用的进程。
唤醒操作signal(s)(又称V操作)定义为:if 存在等待的进程 then 唤醒这个进程 else()。
当s 被初始化为1时,代码段:();{临界区}定义了一个临界区,();这种临界区通常称为()。
选择:A~D:①s:=0②s:=s+1③s:=s-1④s:=1⑤signal(s+1)⑥wait(s-1)⑦signal(s)⑧wait(s)E:①模块②类程③管程④线程2.虚拟存储器的作用是允许(),它通常使用()作为它的一个主要组成部分,对它的调度算法与( )基本相似,即把要经常访问的数据驻留在。
哈工大操作系统读书笔记

哈工大操作系统读书笔记在哈尔滨工业大学的计算机科学与技术专业的学习中,操作系统是我们学科的核心课程之一。
为了更好地掌握操作系统的基本原理和技术,我认真阅读了相关教材,并做了一些笔记。
一、操作系统的基本概念1. 操作系统定义:操作系统是控制计算机硬件和软件资源,管理用户程序运行,提供用户界面和应用程序开发环境的一种系统软件。
2. 操作系统功能:主要功能包括处理机管理、存储管理、文件管理、设备管理以及用户界面。
二、处理机管理1. 进程的定义:进程是程序的一次执行,是系统进行资源分配和调度的基本单位。
2. 进程的状态:包括新建、就绪、运行和阻塞四种状态。
3. 进程控制块PCB:用于描述进程的基本信息和运行状态。
4. 进程调度算法:包括先来先服务、最短作业优先、最短剩余时间优先等。
三、存储管理1. 内存分配方式:包括固定分区、可变分区、分页和分段。
2. 内存置换算法:包括先进先出、最近最少使用、最佳置换算法等。
3. 虚拟内存的概念:通过将内存和外存统一管理,为用户提供一个比实际内存大得多的虚拟内存空间。
四、文件管理1. 文件系统的概念:文件系统是操作系统中负责管理和存储文件信息的软件部分。
2. 文件的分类:按性质分为系统文件和用户文件;按内容分为文本文件和二进制文件;按存储方式分为顺序文件和随机文件。
3. 文件的访问方式:包括顺序访问和随机访问。
五、设备管理1. 设备驱动程序的概念:设备驱动程序是操作系统与硬件设备交互的接口,负责设备的初始化和释放、设备的读写操作以及设备的状态查询等。
2. 缓冲技术的概念:缓冲技术是解决I/O设备速度与CPU速度不匹配问题的一种方法,通过在内存中开辟一块缓冲区,暂时存放输入输出数据,以实现数据的同步传输。
3. 设备分配与回收:设备分配的主要任务是确定哪些进程可以使用哪些设备,并满足设备的互斥使用和独立性等约束条件;设备回收的任务是在进程终止时,将设备的使用权收回并重新分配给其他进程使用。
操作系统实验报告哈工大

计算机操作系统课程实验报告专业信息管理与信息系统班级 1203601学号 120360117姓名乐云指导教师周学权计算机操作系统课程实验报告专业信息管理与信息系统班级 1203601学号 120360114姓名郭鑫指导教师周学权操作系统实验实验1 使用虚拟机安装系统 4学时【实验目的】1.了解虚拟机软件的使用。
2.了解使用虚拟机安装Windows及Ubuntu操作系统。
【实验内容】1. 安装虚拟机软件VirtualBox。
2. 配置VirtualBox环境安装WindowsXP,并在虚拟机中启动windowsXP。
3. 配置VirtualBox环境安装Ubuntu 10.10,并在虚拟机中启动Ubuntu。
【实验环境】VirtualBox4.0Windows XPUbuntu 8.04【实验过程】一、创建虚拟机首先运行VirtualBox,单击左上角的“新建”。
单击下一步。
出现如下图的界面,在名称后输入自己起的名字,如test选择自己想要安装的系统类型和版本,本次试验是安装windows xp系统设置完成后,单击下一步。
接下来是设置虚拟机的内存大小,本次实验操作的计算机内存为4GB,所以我选择分配给我的虚拟机的内存为512MB,然后单击下一步。
接着创建虚拟硬盘,选择创建新的虚拟硬盘,单击下一步。
选择虚拟硬盘的类型,默认选择了VDI类型,单击下一步。
接下来选择为动态扩展类型,因为计算机的存储空间不大。
单击下一步。
动态扩展:如果你为你的虚拟磁盘分配的是10G空间,虚拟磁盘占用真实磁盘空间的范围就为0~10G。
固定大小:如果你为你的虚拟磁盘分配的是10G空间,虚拟磁盘占用真实磁盘空间永远不是10G,不管虚拟磁盘空间是否被全部使用。
选择虚拟机在本地磁盘中的位置和大小,单击下一步。
确认虚拟机的详细情况,点击下一步。
这时我们已经成功的创建了一个虚拟机了,接下来我们要开始配置这个虚拟机安装操作系统选择刚才创建的虚拟机,然后单击上方的“开始”弹出了首次运行向导,单击下一步。
(完整word版)哈工大操作系统复习题

操作系统一、单项选择题1、计算机操作系统是一个()。
应用软件 B. 硬件的扩充 C. 用户软件 D.系统软件、操作系统程序结构的主要特点是()。
一个程序模块 B. 分层结构 C. 层次模块化结构 D. 子程序结构3.在以下的存储管理方案中,能扩充主存容量的是()A.固定式分区分配 B.可变式分区分配C.页式存储管理 D.分页虚拟存储管理4.()不是分时系统的基本特征:A、同时性B、独立性C、多路性D、交互性、可重定位内存分区分配目的为()。
解决碎片问题 B. 便于多作业共享内存回收空白区方便 D. 摆脱用户干预、逻辑地址就是()。
用户地址 B. 相对地址 C. 物理地址 D.绝对地址、原语是()。
一条机器指令 B. 若干条机器指令组成, 但中途不能打断一条特定指令 D. 中途能打断的指令8、某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态是()。
从就绪变为运行 B.从运行变为就绪从运行变为阻塞 D.从阻塞变为就绪9、把逻辑地址转变为内存的物理地址的过程称作()。
编译 B.连接 C.运行 D.重定位0、进程和程序的一个本质区别是()。
前者分时使用CPU, 后者独占CPU前者存储在内存,后者存储在外存前者在一个文件中,后者在多个文件中前者为动态的,后者为静态的11、引入进程概念的关键在于()A.独享资源.B.共享资源.C.顺序执行.D.便于调试12、操作系统核心部分的主要特点是()A.一个程序模块B.常驻内存C.有头有尾的程序D.串行执行。
13、系统调用是()A.一条机器指令.B.提供编程人员的接口.C.中断子程序.D.用户子程序。
14.任何两个并发进程之间( )A.一定存在互斥关系B.一定存在同步关系C.一定彼此独立无关D.可能存在同步或互斥关系15.多道程序设计是指( )A.在实时系统中并发运行多个程序B.在分布系统中同一时刻运行多个程序C.在一台处理机上同一时刻运行多个程序D.在一台处理机上并发运行多个程序1、D2、C3、D4、A5、A6、、B 8、C 9、D 10、D11.B 12.B 13.B 14.D 15.D三、是非题,正确的在括号内划√,错的划×。
2022年哈尔滨工程大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年哈尔滨工程大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、在现代操作系统中,文件系统都有效地解决了重名(即允许不同用户的文件可以具有相同的文件名)问题。
系统是通过()来实现这一功能的。
A.重名翻译结构B.建立索引表C.树形目录结构D.建立指针2、()结构的文件最适合于随机存取的应用场合。
A.流式B.索引C.链接D.顺序3、有3个作业J1,J2,J3,其运行时间分别为2h,5h,3h,假定同时到达,并在同…台处理器上以单道方式运行,则平均周转时间最短的执行序列是()。
A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J24、进程调度算法中,可以设计成可抢占式的算法有()。
A.先来先服务调度算法B.最高响应比优先调度算法C.最短作业优先调度算法D.时间片轮转调度算法5、既考虑作业等待时间,又考虑作业执行时间的调度算法是()A.高响应比优先调度算法B.短作业优先调度算法C.优先级调度算法D.先来先服务调度算法6、在虚拟页式存储管理方案中,()完成将页面调,入内存的T作。
A.缺页中断处理B.页面淘汰过程C.工作集模型应用D.紧缩技术利用7、下列关于虚拟存储的叙述中,正确的是()A.虚拟存储只能基于连续分配技术B.虚拟存储只能基于非连续分配技术C.虚拟存储容量只受外存容量的限制D.虚拟存储容量只受内存容量的限制8、下列关于操作系统的论述中,正确的是()。
A.对于批处理作业,必须提供相应的作业控制信息B.对于分时系统,不一定全部提供人机交互功能C.从响应角度看,分时系统与实时系统的要求相似D.在采用分时操作系统的计算机系统中,用户可以独占计算机操作系统中的文件系统9、计算机开机后,操作系统最终被加载到()。
A.BIOSB.ROMC.EPROMD.RAM10、I/O交通管制程序的主要功能是管理()的状态信息。
A.设备、控制器和通道B.主存、控制器和通道C.CPU、主存和通道D.主存、辅存和通道11、在采用SPOOLing技术的系统中,用户暂时未能打印的数据首先会被送到()存储起来。
哈工大操作系统第19讲

哈尔滨工业大学远程教育课程操作系统第1 9 讲主讲人:张英涛专用处理机分配方式指在一个应用程序的执行期间,专门为该应用程序分配一组处理器,每一个线程一个处理器,供应用程序专用直至该应用程序完成。
专用处理机分配方式缺点可造成单个处理机的浪费专用处理机分配方式引入原因n多处理机系统中单个处理机的利用率不很重要n在一个应用程序的运行中完全避免了进程或线程的切换,大大加速运行。
死锁n多个进程在运行过程中因竞争资源而造成的一种僵局。
n各并发进程彼此等待对方拥有的资源,且在得到对方资源前不释放自己的资源。
例如:系统中共有5台打印机,进程A需要3台,进程B需要4台,进程A、B并发执行时进程A 已经占2台,进程B已经占3台。
则此时陷入死锁状态。
产生死锁的原因(1)竞争资源。
资源(打印机、公用队列)数目不能满足进程的需要时(2)进程间推进顺序非法。
进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。
竞争资源引起死锁1)可剥夺和非剥夺性资源2)竞争非剥夺性资源3)竞争临时性资源可剥夺和非剥夺性资源资源分成两类:n可剥夺性资源:指某进程在获得这类资源后,该资源可以在被其他进程或系统剥夺。
如:CPU、主存n不可剥夺性资源:当系统把这类资源分配给某进程后,再不能强行收回,只能在进程用完后自行释放,如磁带机、打印机。
竞争非剥夺性资源非剥夺性资源的数量不能满足进程运行的需要,会使进程在运行过程中,因争夺这些资源而陷入僵局。
P1打印机磁带机P2I/O设备共享时的死锁情况竞争临时性资源n临时性资源:由一个进程产生由另一个进程使用暂短时间后便无用的资源。
n如:进程产生的消息n可能引起死锁P1:…Release(s1); Request(s3);…P2:…Release(s2); Request(s1);…P3:…Release(s3); Request(s2);…P1:…Request(s3); Release(s1);…P2:…Request(s1); Release(s2);…P3:…Request(s2); Release(s3);…产生死锁的必要条件(1)互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件互斥条件指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占有。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:1、操作系统的主要性能参数有(响应时间)、(可靠性)。
2、Windows98是一个(单用户多任务)得操作系统。
3、当前作为自由软件的操作系统是(c)a、Windowsb、UNIXc、Linuxd、OS/24. 操作系统的地位:操作系统是裸机之上的第一层软件,是建立其他所有软件的基础。
它是整个系统的控制管理中心,既管硬件,又管软件,它为其它软件提供运行环境。
5. 操作系统的发展历程1.最初是手工操作阶段,需要人工干预,有严重的缺点,此时尚未形成操作系统2. 早期批处理分为联机和脱机两类,其主要区别在与I/O是否受主机控制3.多道批处理系统中允许多道程序并发执行,与单道批处理系统相比有质的飞跃6.操作系统的主要类型?多道批处理系统、分时系统、实时系统、个人机系统、网络系统和分布式系统1.多道批处理系统1)批处理系统的特点:多道、成批2)批处理系统的优点:资源利用率高、系统吞吐量大3)批处理系统的缺点:等待时间长、没有交互能力2.分时系统1)分时:指若干并发程序对CPU时间的共享。
它是通过系统软件实现的。
共享的时间单位称为时间片。
2)分时系统的特征:同时性:若干用户可同时上机使用计算机系统交互性:用户能方便地与系统进行人--机对话独立性:系统中各用户可以彼此独立地操作,互不干扰或破坏及时性:用户能在很短时间内得到系统的响应3)优点主要是:响应快,界面友好多用户,便于普及便于资源共享3.实时系统1)实时系统:响应时间很快,可以在毫秒甚至微秒级立即处理2)典型应用形式:过程控制系统、信息查询系统、事务处理系统3)与分时系统的主要区别:4.个人机系统1)单用户操作系统单用户操作系统特征:个人使用:整个系统由一个人操纵,使用方便。
界面友好:人机交互的方式,图形界面。
管理方便:根据用户自己的使用要求,方便的对系统进行管理。
适于普及:满足一般的工作需求,价格低廉。
2)多用户操作系统多:代表是UNIX,具有更强大的功能和更多优点。
①网络操作系统计算机网络= 计算机技术+通信技术计算机网络的特征:分布性、自治性、互连性、可见性网络操作系统功能本机+网络操作系统:本地OS之上覆盖了网络OS,可以是同构的也可以是异构的。
功能:实现网络通信、资源共享和保护、提供网络服务和网络接口等②分布式操作系统定义:运行在不具有共享内存的多台计算机上,但用户眼里却像是一台计算机。
(分布式系统无本地操作系统运行在各个机器上)分布式系统特征:分布式处理、模块化结构、利用信息通信、实施整体控制分布式操作系统特点:透明性、灵活性、可靠性、高性能、可扩充性第二章:1、判断题:进程是一个程序在某数据集上的一次执行,所以不同进程对应不同的程序。
分析:进程是程序在某数据集上得一次执行,但是不同进程可以对应同一程序。
2、程序顺序执行与并发执行有什么不同?哈简答题3、用户程序必须在进程中运行。
(正确)1、进程由就绪态转为运行态是因为(c)引起的?A、中断事件b、进程状态转换c、进程调度的d、为程序创建进程2、分配到必要的资源并获得处理机的进程状态是(运行态)3、当(b ),进程从执行状态转变为就绪状态。
a、进程被调度程序选中b、时间片到c、等待某一事件d、等待的时间发生4、一个单cpu的系统中有n个进程,则在等待(阻塞)队列中的进程个数最多可能是(n)1、临界区是指(d )A、一个缓冲区b、一段数据区c、同步机制d、一段程序2、若P/V操作的信号量S初值是2,当前值是-1,则表示有( b )个等待进程。
A .0 b. 1 c. 2 d. 33、原语操作是不可被中断的。
正确原语指的是完成某种功能且不被分割不被中断执行的操作序列,有时也称原子操作。
通常由硬件来实现4.应用举例[例1]设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。
设每个用户程序对应一个进程。
问:这三个进程间有什么样的制约关系?使用P、V操作写出这些进程使用打印机的算法。
解:由于打印机是一种临界资源,故三个进程只能互斥使用这台打印机。
设三个进程分别为P A、P B和P C,互斥信号量mutex初值为1,执行过程如下:[例2]判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正。
1)设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。
注:信号量S的初值为0[解] 该算法不正确。
因为A、B两个进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,则缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。
改正如下:A、B两进程同步使用缓冲区Q,应设定两个信号量:empty 表示缓冲区Q为空,初值为1;full表示缓冲区Q已满,初值为0算法框图如下:2)设A、B为两个并发进程,它们共享一临界资源。
其运行临界区的算法框图如图所示。
[解] 该算法不正确。
因为A、B两个进程并发执行,且共享一临界资源,故A、B应互斥地使用该临界资源,即在某一时刻只允许一个进程进入该临界资源,无时序关系。
改正算法:A、B二进程应互斥进入临界区,设定一信号量mutex,初值为1。
[例2]设有一台计算机,有两个I/O通道,分别接一台卡片输入机和一台打印机。
卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上印出,问:1)系统要设几个进程来完成这个任务?各自的工作是什么?2)这些进程间有什么样的相互制约关系?3)用P、V操作写出这些进程的同步算法。
[解]1)系统可设三个进程来完成该任务:Read进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;Get进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;Print进程负责从缓冲区B2中取出信息,并在打印机上打印输出。
2)操作过程:Read进程受Get进程的影响,B1缓冲区中放满信息后Read进程要等待get进程将其中信息全部取走后才能读入信息;Get进程受Read进程和Print进程的约束:B1缓冲区中信息放满后,Get进程才可从中取走信息,且B2缓冲区信息被取空后Get进程才能将加工结果送入其中;Print进程受Get进程的约束,B2缓冲区中信息放满后Print进程方可取出信息进行打印输出。
3)信号量的含义及初值:B1full——缓冲区B1满,初值为0B1empty——缓冲区B1空,初值为0B2full——缓冲区B2满,初值为0B2empty——缓冲区B2空,初值为04)操作框图如下:5.三种信号量的比较:整型信号量:只有一个资源,只能互斥访问这个资源记录型信号量:只可申请一类资源,该资源有n个,一次只可申请一个。
AND型信号量:可申请n类资源,每类资源有m个,每次可申请每类资源中的一个。
信号量集:可申请n类资源,每类资源有m个,每次可申请每类资源中的多个。
6. 例1 用信号量实现司机和售票员的同步。
设S1为司机的私用信号量,0表不许开车,1允许开车,初值为0S2为售票员的私用信号量,0表不许开门,1允许开门,初值为0由于初始状态是汽车行车和售票员售票。
所以初值都为0则司机和售票员的同步过程描述如下:7.2:桌子上有一只盘子,每次只能放入一只水果,爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,一个儿子专等吃盘子中的桔子,一个女儿专等吃盘子里的苹果。
只有盘子空则爸爸或妈妈就可向盘子中放一只水果,仅当盘子中有自己需要的水果时,儿子或女儿可从盘子中取出。
把爸爸、妈妈、儿子、女儿看作四个进程,用PV操作进行管理,使这四个进程能正确的并发执行。
•爸爸和妈妈存放水果时必须互斥。
临界资源为盘子•儿子和女儿分别吃桔子和苹果。
•爸爸放了苹果后,应把“盘中有苹果”的消息发送给女儿;•妈妈放了桔子后,应把“盘中有桔子”的消息发送给儿子;•取走果品后应该发送“盘子可放水果”的消息,但不特定发给爸爸或妈妈,应该通过竞争资源(盘子)的使用权来决定如何定义信号量?S 是否允许向盘子中放入水果,初值为1,表示允许放入,且只允许放入一只。
SP表示盘子中是否有苹果,初值为0,表示盘子为空,不许取,SP=1时可以取。
SO表示盘子中是否有桔子,初值为0,表示盘子为空,不许取,SP=1时可以取。
至于儿子或女儿取走水果后要发送“盘子中可存放水果”的消息,只要调用V(S)就可达到目的,不必在增加信号量了。
BegainS, SP, SO: semaphoreS:=1; SP:=0; SO:=0;Cobegainprocess fatherbegainL 1:have an apple;P(S);put an apple;V(SP);go to L 1end;process motherbegainL 2:have an orange;P(S);put an orange;V(SO);go to L 2end;process sonbegainL3: P(SO);get an orange;V(S);eat an orange;go to L 3end;process daughtbegainL4: P(SP);get an apple;V(S);eat an apple;go to L4end ; coend; end ;第三章:1.例题:假设系统有四类资源:磁带驱动器、绘图仪、打印机和卡片穿孔机。
各类资源的总数用W=(6, 3, 4, 2)表示,即有6 台磁带驱动器,3 台绘图仪,4 台打印机,2 台卡片穿孔机。
现有五个进程A、B、C、D和E,已获得的资源的种类及数量如下所示:括号外面的数字代表:已获得的资源的种类及数量(1)请找出一个执行的安全队列。
(2)如果B请求(0110 ),能否分配给它?如分配给它会否死锁?(3)如果C请求(1000 ),能否分配给它?如分配给它会否死锁?(4)如果E请求(1020 ),能否分配给它?如分配给它会否死锁?(1)该状态是否安全?若安全,则列出一个安全序列。
(2)如果进程P2提出请求Request(1、0、1、0) 后,系统能否将资源分配给它,写出分析过程(文字描述)解:(1)该状态使安全的。
P0 p3 p4 p1 p2是它的一个安全序列。
(2)假设对进程p2提出请求Requrst(1、0、1、0.)予以满足,则系统资源剩余量为1、0、1、2。
此时资源申请可以满足的进程只有p3和p4,假设先让p3完成,它完成后系统资源剩余量为1、3、4、5。
此时资源申请可以满足的进程有p1p2p4,假设先让p4完成,它完成后系统资源剩余量为1、3、5、7。
此时资源申请可以满足的进程有p1和p2,假设先让p1完成,它完成后系统资源剩余量为2、3、5、7。
最后资源满足p2的要求。
由此可见p2的请求可以给予满足。