操作系统试题1
1操作系统试题及答案

操作系统试题及答案一、选择题1、操作系统的主要功能是管理计算机系统中的()。
A.程序库 B.数据 C.文件 D.资源2、在操作系统中,()是竞争和分配计算机系统资源的基本单位。
A.程序 B.进程 C.作业 D.用户3、在操作系统中,并发性是指若干个事件()发生。
A,在同一时刻 B。
一定在不同时刻C.某一时间间隔内 D。
依次在不同时间间隔内4、产生死锁的基本原因是()和进程推进顺序非法。
A.资源分配不当B.系统资源不足C.作业调度不当D.进程调度不当5、文件系统采用多级目录结构的目的是()A.系统开销B.节省存储空间C.解决命名冲突D.缩短传送时间6、位示图方法可用于()A.盘空间的管理 B.盘的驱动调度C.文件目录的查找 D.页式虚拟存储管理中的页面调度7、下列算法中用于磁盘移臂调度的是( )A.时间片轮转法B. LRU算法C.最短寻找时间优先算法D.优先级高者优先算法8、存放在磁盘上的文件,()。
A.即可随机访问,又可顺序访问 B。
只能随机访问C.只能顺序访问 D。
只能读/写不能访问9、一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是()A.2 B.1 C.3 D.0.510、进程和程序的本质区别是()。
A.内存和外存 B。
动态和静态特征C。
共享和独占使用计算机资源D。
顺序和非顺序执行机器指令11、对于硬盘上存放的信息,物理上读写的最小单位是一个()。
A.二进位 B。
字节 C。
物理块 D。
逻辑记录12、多道程序设计是指()A.在实时系统中并发运行多个程序B.在分布系统中同一时刻运行多个程序C.在一台处理机上同一时刻运行多个程序D.在一台处理机上并发运行多个程序13、进程从运行状态进入就绪状态的原因可能是()A.被选中占有处理机 B.等待某一事件C.等待的事件已发生 D.时间片用完14、由于系统无法预先知道一个作业未来访问页面的情况,所以()在实际上是无法实现的。
计算机操作系统试题及答案

计算机操作系统试题及答案一、选择题1、操作系统是一种()。
A 应用软件B 系统软件C 工具软件D 调试软件答案:B操作系统是管理计算机硬件与软件资源的程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
2、以下不属于操作系统主要功能的是()。
A 进程管理B 存储管理C 设备管理D 文字处理答案:D操作系统的主要功能包括进程管理、存储管理、设备管理、文件管理和作业管理等。
文字处理通常是由专门的文字处理软件来完成,不是操作系统的主要功能。
3、在多道程序设计环境中,操作系统分配资源以()为基本单位。
A 程序B 进程C 作业D 指令答案:B进程是操作系统进行资源分配和调度的基本单位。
4、下列进程状态的转换中,不正确的是()。
A 就绪→运行B 运行→就绪C 运行→阻塞D 阻塞→运行答案:D进程状态的转换中,阻塞状态不能直接转换为运行状态,必须先转换为就绪状态,然后再被调度为运行状态。
5、临界区是指()。
A 一段程序B 一段数据区C 一种同步机制D 访问共享资源的程序段答案:D临界区是指访问共享资源的程序段,在这段程序中,进程可能会改变共享变量的值。
6、采用时间片轮转调度算法时,时间片过大,系统的性能将会()。
A 降低B 提高C 不变D 不确定答案:A时间片过大,会使得每个进程都能在一个时间片内完成大部分工作,导致进程切换次数减少,系统的响应时间变长,性能降低。
7、下面关于死锁的论述中,正确的是()。
A 死锁是指系统中多个进程无限期地等待永远不会发生的条件B 死锁是指系统中多个进程竞争资源而产生的一种僵持状态C 死锁是指系统中多个进程同时被阻塞,并永远无法唤醒D 死锁是指系统中多个进程相互等待对方释放资源答案:D死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进,即相互等待对方释放资源。
8、以下存储管理方式中,会产生内部碎片的是()。
国开电大《操作系统》形考任务1-3试题及答案

国开电大《操作系统》形考任务一参考答案一、单项选择题试题11.操作系统的基本职能是()。
选择一项:A提供方便的可视化编辑程序B控制和管理系统内各种资源,有效地组织多道程序的运行C提供功能强大的网络管理工具D提供用户界面,方便用户使用正确答案是:控制和管理系统内各种资源,有效地组织多道程序的运行试题22.按照所起的作用和需要的运行环境,操作系统属千()。
选择一项:A应用软件B系统软件C支撑软件D用户软件正确答案是:系统软件试题33.在计算机系统中,操作系统是()。
选择一项:A处千裸机之上的第一层软件B处于应用软件之上的系统软件C处于系统软件之上的用户软件D处千硬件之下的低层软件正确答案是:处千裸机之上的第一层软件试题44.现代操作系统的基本特征是()、资源共享和操作的异步性。
选择一项:A实现分时与实时处理B程序的并发执行C. 中断处理D多道程序设计正确答案是:程序的并发执行试题55.以下不属于操作系统具备的主要功能的是()。
选择一项:A中断处理B. 文档编辑C.CPU调度国开电大《操作系统》形考任务二参考答案一、 单项选择题试题 11. 通常, 用户编写的程序中所使用的地址是()。
一项:选择A. 内存地址B逻辑地址C物理地址D绝对地址正确答案是:逻辑地址试题22.可由CPU调用执行的程序所对应的地址空间为()。
选择一项:A符号名空间B虚拟地址空间C物理空间D逻辑地址空间正确答案是:物理空间试题33.下列存储器中,速度最快的是()。
选择一项:A高速缓存CacheB硬盘C.CPU内部寄存器D内存正确答案是:CPU内部寄存器试题44.下列存储器中,容量最大的是()。
选择一项:A硬盘B高速缓存CacheC内存D.CPU内部寄存器正确答案是:硬盘试题55.把逻辑地址转变为内存物理地址的过程称作()。
选择一项:A运行B连接C. 编译国开电大《操作系统》形考任务三参考答案一、单项选择题试题11.按文件用途来分,编译程序是()。
计算机操作系统试题库(最全)

《计算机操作系统》试题库1.单项选择题(共200个题目)100236.一般用户更喜欢使用的系统是(C )。
A.手工操作B.单道批处理C.多道批处理D.多用户分时系统100237.与计算机硬件关系最密切的软件是(D).A.编译程序B.数据库管理程序C.游戏程序D.OS100238.现代OS具有并发性和共享性, 是由(D)的引入而导致的。
A.单道程序B.磁盘C.对象D.多道程序100239.早期的OS主要追求的是(A)。
A.系统的效率B.用户的方便性C.可移植D.可扩充性100240.(A )不是多道程序系统。
A.单用户单任务B.多道批处理系统C.单用户多任务D.多用户分时系统100241.(B)是多道操作系统不可缺少的硬件支持。
A.打印机B.中断机构C.软盘D.鼠标100242.特权指令可以在(C )中执行。
A.目态B.浏览器中C.任意的时间D.进程调度中100243.没有了(C )计算机系统就启动不起来了。
A.编译器B.DBMSC.OSD.浏览器100244.通道能够完成(C )之间数据的传输。
cA.CPU与外设B.内存与外设C.CPU与主存D.外设与外设100245.系统的主要功能有(c)。
A.进程管理、存储器管理、设备管理、处理机管理B.虚拟存储管理、处理机管理、进程调度、文件系统C.处理机管理、存储器管理、设备管理、文件系统D.进程管理、中断管理、设备管理、文件系统100246.单处理机计算机系统中, (A )是并行操作的。
A.处理机操作和通道操作是并行的B.程序与程序C.主程序与子程序D.用户程序与操作系统程序100247.处理机的所有指令可以在(D )中执行。
A.目态B.浏览器中C.任意时间D.系统态100248.(B )功能不是操作系统直接完成的功能。
A.管理计算机硬盘B.对程序进行编译C.实现虚拟存储器D.删除文件100249.要求在规定的时间内对外界的请求必须给予及时相应的OS 是(B )。
操作系统试卷1答案

)1、引入多道程序设计技术的目的是 (C)增强系统的用户友好性B.提高系统实时性C.充分利用处理器资源D.扩充内存容量2、假设系统处于下列状态,目前系统剩余资源数量为2。
下列哪一个进程序列有可能发生死锁?(b)进程已占资源数最大需求数P1 1 2P2 4 7P3 3 5P4 5 7A)P1,P2,P3,P4B)P2,P3,P4,P1C)P3,P1,P2,P4D)P4,P3,P2,P13、有如下请求磁盘服务的队列,要访问的磁道分别是98,183,37,122,14,124,65,67。
现在磁头在53道上,若按最短寻道时间优先法,磁头总的移动道数是:(c )。
A.234B.235C.236D.2374、下列关于紧凑技术的叙述中,哪个是不正确的?(A)A.内存中任意一个程序都可以随时移动B.移动可以集中分散的空闲区C.移动会增加处理器的开销D.采用紧凑技术时应尽可能减少移动的信息量5、引入虚拟存储技术的关键前提是(B)A.有大容量的外存B.程序执行的局部性原理C.硬件提供地址转换机制D.选择一种合适的页面调度算法6、构成文件的基本单位是字符,这一类文件称为(A)A.流式文件B.记录式文件C.顺序文件D.索引文件7、下列哪一种(些)磁盘调度算法只考虑了公平性(A)Ⅰ. 先来先服务Ⅱ. 最短寻道时间优先Ⅲ. 扫描A.ⅠB.ⅡC.Ⅰ和ⅢD.全部8、在可变分区分配方案中,为了实现主存的空间分配,采用(d )进行管理。
A.页表 B.段表 C.段表+页表 D.分区分配表+空闲区表9、设某类资源有5个,由3个进程共享,每个进程最多可申请(b )个资源而使系统不会死锁。
A. 1 B. 2 C. 3 D. 410、动态重定位是在(c)完成的。
A.作业执行前集中一次 B.作业执行过程中集中一次C.作业执行过程中 D.作业执行过程中由用户11、进程从等待状态进入就绪状态可能是由于(c )A.现运行进程运行结束B.现运行进程执行了P操作C.现运行进程执行了V操作D.现运行进程时间片用完12、UNIX文件系统对盘空间的管理采用(d )A. FAT表法 B.位示图法C.空闲块链接法 D.空闲块成组链接法13、下列算法可用于磁盘移臂调度的是(b )A. LRU算法B. SCAN调度算法C.时间片轮转法 D.响应比高者优先算法14、特权指令( b)执行。
操作系统复习题(1)

一、判断题(×)1、分时系统中,时间片设置得越小,则平均响应时间越短。
(√)2、多个进程可以对应于同一个程序,且一个进程也可能会执行多个进程。
(×)3、一个进程的状态发生变化总会引起其它一些进程的状态发生变化。
(×)4、在引入线程的OS中,线程是资源分配和调度的基本单位。
(√)5、信号量的初值不能为负数。
(×)6、最佳适应算法比首次适应算法具有更好的内存利用率。
(×)7、为提高对换空间的利用率,一般对其使用离散的分配方式。
(×)8、设备独立性是指系统具有使用不同设备的能力。
(√)9、隐士链接结构可以提高文件存储空间的利用率,但不适合文件的随机存取。
(×)10、访问控制矩阵比访问控制表更节约空间。
(×)11、分时系统在响应时间、可靠性及交互作用能力等方面一般都比分时系统要求高。
(√)12、Window XP是一个多用户、多任务的操作系统。
(×)13、一个进程正在临界区中间执行时不能被中断。
(×)14、系统处于不安全状态必然导致系统死锁。
(√)15、请求分段存储管理中,分段的尺寸要受存储空间的限制。
(√)16、属于同一个进程的多个线程可共享进程的程序段、数据段。
(×)17、设备的独立性是指每类设备有自己的设备驱动程序。
(×)18、虚拟设备是指允许用户使用比系统中具有的物理设备更多的设备。
(√)19、对物理文件来说,顺序文件必须采用连续分配方式,而链接文件和索引文件可采用离散分配方式。
(×)20、在UNIX文件系统中,文件的路径和磁盘索引节点之间是一一对应的。
(×)21、在分时系统中,为使多个用户能够同时与系统交互,最关键的问题是系统能及时连接多个用户的输入。
(×)22、在进程对应的代码中使用wait、signal操作后,可以防止系统发生死锁。
(√)23、在只提供用户级线程的多处理机系统中,一个进程最多仍只能获得一个CPU。
计算机操作系统试题及答案

计算机操作系统试题及答案试题一:填空题1. 计算机操作系统的五大功能是:处理机管理、存储管理、设备管理、文件管理和________管理。
答案:作业管理2. 在操作系统中,用于进程之间进行通信的方式称为________。
答案:进程通信3. 虚拟存储器的作用是________。
答案:扩大内存空间4. 在操作系统中,负责处理中断信号的程序称为________。
答案:中断处理程序5. 在操作系统中,文件的物理结构主要有顺序结构、链接结构和________。
答案:索引结构试题二:选择题1. 以下哪个操作系统不是分时系统?A. UnixC. Windows 98D. Mac OS答案:C2. 下列哪个不是进程的同步机制?A. 信号量B. 事件C. 临界区D. 管程答案:B3. 在操作系统中,下列哪个不是存储管理的方式?A. 分区管理B. 分页管理C. 分段管理D. 分区交换答案:D4. 下列哪种文件系统不支持长文件名?A. FAT16B. FAT32D. ext3答案:A5. 在操作系统中,下列哪个设备不是独占设备?A. 打印机B. 显示器C. 磁盘D. 键盘答案:C试题三:判断题1. 操作系统是计算机硬件与用户之间的接口,用于管理计算机的软硬件资源。
()答案:正确2. 在操作系统中,进程和线程是同一个概念。
()答案:错误3. 虚拟存储器技术可以提高计算机的运行速度。
()答案:正确4. 在操作系统中,文件系统负责管理用户的数据文件。
()答案:正确5. 通道技术可以提高设备的使用效率。
()答案:正确试题四:简答题1. 简述进程与线程的区别。
答案:进程是计算机中的执行单位,它拥有独立的地址空间、程序计数器、寄存器和状态信息。
线程是进程内部的一个执行流,它是进程的组成部分,共享进程的资源,但拥有独立的执行序列。
进程和线程的主要区别在于:(1)地址空间:进程间有独立的地址空间,而线程共享进程的地址空间。
(2)资源:进程拥有独立的资源,而线程共享进程的资源。
计算机操作系统试题题库及答案

计算机操作系统试题题库及答案一、选择题1. 下列哪个不是操作系统的特征?A. 并发B. 共享C. 有序D. 异步答案:C2. 操作系统的主要功能不包括以下哪项?A. 处理机管理B. 存储器管理C. 设备管理D. 文件管理答案:D3. 下列哪种类型的操作系统用于实现多任务处理?A. 单用户单任务B. 单用户多任务C. 多用户单任务D. 多用户多任务答案:B4. 在操作系统中,进程和线程的区别是什么?A. 进程是系统进行资源分配和调度的基本单位,线程是进程的组成部分B. 线程是系统进行资源分配和调度的基本单位,进程是线程的组成部分C. 进程和线程都是系统进行资源分配和调度的基本单位D. 进程和线程没有区别答案:A5. 下列哪个进程调度算法可能会导致“饥饿”现象?A. 先来先服务(FCFS)B. 最短作业优先(SJF)C. 优先级调度D. 最高响应比优先答案:C二、填空题6. 操作系统中的进程与程序的区别是:进程是______的实例,而程序是______的实例。
答案:进程;程序7. 在操作系统中,为了解决进程之间的同步问题,通常使用______机制。
答案:信号量(Semaphore)8. 虚拟存储器的作用是扩大______,提高______。
答案:物理存储器;存储器的利用率9. 文件系统的主要功能包括:文件的______、______、______和______。
答案:创建;删除;读写;权限管理10. 设备驱动程序的作用是实现对______的______。
答案:设备;控制三、判断题11. 进程和线程是操作系统的基本单位,它们都可以独立执行程序。
答案:错误。
进程是基本单位,线程是进程的组成部分,线程可以独立执行程序。
12. 在操作系统中,所有的进程都可以并发执行。
答案:错误。
在单处理器系统中,进程不能同时执行,而是分时执行。
13. 虚拟存储器的容量仅受物理存储器的限制。
答案:错误。
虚拟存储器的容量受物理存储器和硬盘空间的限制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1次作业一、单项选择题1. C 操作系统允许用户把若干个作业提交给计算机系统。
A.单用户B.分布式C.批处理D.监督2.下面对进程的描述中,错误的是 D 。
A.进程是动态的概念B.进程执行需要处理机C.进程是有生命期的D.进程是指令的集合3.在进程控制块中,主要包括4方面用于描述和控制进程运行的信息。
其中,C 主要是由处理器各种寄存器中的内容组成的。
A.进程标志符信息B.进程调度信息C.处理器状态信息D.进程控制信息4.下面有关选择进程调度算法的准则中不正确的是 D 。
A.尽快响应交互式用户的请求B.尽量提高处理器利用率C.尽可能提高系统吞吐量D.适当增长进程就绪队列中的等待时间5.设有4个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理机上按单道方式运行,系统的平均周转时间为 B 。
A.1小时B.5小时C.2.5小时D.8小时6.静态重定位是在 D 重定位。
A.程序执行时B.开机时C.启动时D.装入内存时7.为了提高内存的利用率,在动态重定位分区分配方式中可以通过 A 技术来减少内存碎片。
A.紧缩B.扩充C.放大D.可重定位8.虚拟存储器.....受到的限制有外存的容量和 A 。
A.指令中表示地址的字长B.内存的容量C.硬件的好坏D.以上观点都对9.引入缓冲技术的主要目的是 B 。
A.改善用户编程环境B.提高CPU与设备之间的并行程度C.提高CPU的处理速度D.降低计算机的硬件成本10.下面有关进程的说法错误的是 C 。
A.进程也是可共享的资源B.Windows NT中,进程是资源分配的基本单位C.每一进程都是对象,对象一定是进程D.进程对象是由NT执行体中对象管理程序创建的11.在UNIX文件系统中,为了对磁盘空间的空闲块进行有效的管理,采用的方法是 C 。
A.空白文件目录法B.FAT表法C.空闲块成组链接法D.位示图法12.UNIX是 A 操作系统。
A.分时B.批处理C.单道D.实时13.UNIX系统中,把输入/输出设备看作是 A 。
A.普通文件B.物理设备C.索引文件D.目录文件14.有关设备管理概念的下列叙述中, C 是不正确的。
A.通道是处理输入、输出的处理器B.所有外围设备的启动工作都由系统统一来做C.来自通道的I/O中断事件由设备负责处理D.编制好的通道程序是存放在主存储器中的15.进程是一个具有一定独立功能的程序在某个数据集上的一次 B 。
A.等待活动B.运行活动C.单独活动D.关联操作16.多道程序环境下,操作系统分配资源以 C 为基本单位。
A.程序B.指令C.进程D.作业17.按作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指 B 调度算法。
A.短作业优先B.先来先服务C.时间片轮转D.响应比高者优先18.存储器管理的主要功能是内存分配、地址映射、内存保护和 A 。
A.内存扩充B.外存扩充C.内存和外存扩充D.地址保护19.下列关于缓冲技术描述正确的是 C 。
A.以空间换取时间的技术B.以时间换取空间的技术C.是为了协调CPU与内存之间的速度D.是为了提高外设的处理速度20.请求分页存储管理中,若把页面尺寸增加一倍,在程序顺序执行时,则一般缺页中断次数会 B 。
A.增加B.减少C.不变D.可能增加也可能减少二、填空题1.计算机系统是由硬件和软件两部分组成。
2.在操作系统中,不确定性主要是指不可再现性和异步性。
3.在分时和批处理系统结合的操作系统中引入了“前台”和“后台”作业的概念,其目的是提高CPU利用率。
4.如果操作系统在用户提交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理(类型)操作系统。
5.进程的基本特征有动态、并发、独立性、异步及结构特征。
6.将进程的PCB 链接在一起就形成了进程队列。
7.采用多道程序设计技术能充分发挥处理器与外围设备并行工作的能力。
8.一个作业进入系统到运行结束,一般要经历后备、运行和完成3个阶段。
9.在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,计算时间短的作业将得到优先调度。
三、简答题1、操作系统的主要目标是什么?操作系统的主要目标是提供一个计算机用户与计算机硬件系统之间的接口使计算机系统易于使用;有效的控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用;合理地组织计算机系统的工作流程,以改善系统性能。
2、请叙述简单页式存储管理中多个作业实现信息共享的方法,并用图示方法说明。
共享信息在主存中只要保留一个副本,各作业共享这些信息时可使它们各自页表中有关表目指向共享信息所在的主存块。
3、设备管理的主要功能有哪些?实现对外设的分配和回收,实现外设的启动,处理外设的中断事件,实现虚拟设备。
四、综合分析题1、一组作业的提交时刻和运行时间如下表,在一单道批处理系统中,采用计算响应比高者优先调度算法时作业的执行顺序、各作业的周转时间及平均周转时间。
8:00 J1: 响应比(0+2)/2=1J1运行: 周转时间(0+2)=210:00 J2: 响应比(1.5+1)/1=2.5J3: 响应比(1+0.25)/0.25=5J4: 响应比(0.5+0.5)/0.5=2J3运行: 周转时间(1+0.25)=1.2510:15 J2: 响应比(1.75+1)/1=2.75J4: 响应比(0.75+0.5)/0.5=2.5J2运行: 周转时间(1.75+1)=2.7511:15 J4: 响应比(1.75+0.5)/0.5=5J4运行: 周转时间(1.75+0.5)=2.25执行顺序:J1、J3、J2、J4周转时间:(2+2.75+1.25+2.25)/4=2.06252、解决死锁问题常用哪几种措施?分别是如何解决的。
解决死锁的一般方法又3种:(1)死锁预防。
其主要方法是打破造成死锁的4个必要条件中的一个,或者是打破死锁的环路条件。
(2)死锁避免。
有2种方法静态预先分配所有资源;受控资源分配法。
(3)死锁检测与恢复。
3、在一个采用页式虚拟存储管理的系统中,有一个450字的程序的内存访问序列为:10,79,110,170,73,309,185,245,258,420,413,375。
若该作业的第0页已经装入主存,现分配给该作业的主存共200字,页的大小为100字,请详细计算当采用LRU置换算法时的缺页次数。
4、银行自助服务厅内有一台自助服务终端,自助服务厅内只能容纳10人,当客户数少于10人时可以进入;超过10人时,后来的客户必须在室外等候,每次只能允许一位客户在自助服务终端上操作。
若将每一位客户作为一个进程,试用P、V操作写出客户进行自助服务的程序,并给出信号量的初值。
P i(i=1,2,3,…)···P(S1);进入自助服务厅;P(S2);在自助服务终端上操作;V(S2);离开自助服务厅;V(S1);信号量初值:S1=10;S2=15、请利用信号量机制写出一个不会死锁的哲学家进餐问题的算法。
方法1:原理:至多只允许四个哲学家同时进餐,以保证至少有一个哲学家能够进餐,最终总会释放出他所使用过的两支筷子,从而可使更多的哲学家进餐。
以下将room 作为信号量,只允许4 个哲学家同时进入餐厅就餐,这样就能保证至少有一个哲学家可以就餐,而申请进入餐厅的哲学家进入room 的等待队列,根据FIFO 的原则,总会进入到餐厅就餐,因此不会出现饿死和死锁的现象。
伪码:semaphore chopstick[5]={1,1,1,1,1};semaphore room=4;void philosopher(int i){while(true){think();wait(room); //请求进入房间进餐wait(chopstick[i]); //请求左手边的筷子wait(chopstick[(i+1)%5]); //请求右手边的筷子eat();sig nal(chopstick[(i+1)%5]); //释放右手边的筷子signal(chopstick[i]); //释放左手边的筷子signal(room); //退出房间释放信号量room}}方法2:原理:规定奇数号的哲学家先拿起他左边的筷子,然后再去拿他右边的筷子;而偶数号的哲学家则相反.按此规定,将是1,2号哲学家竞争1号筷子,3,4号哲学家竞争3号筷子.即五个哲学家都竞争奇数号筷子,获得后,再去竞争偶数号筷子,最后总会有一个哲学家能获得两支筷子而进餐。
而申请不到的哲学家进入阻塞等待队列,根FIFO原则,则先申请的哲学家会较先可以吃饭,因此不会出现饿死的哲学家。
伪码:semaphore chopstick[5]={1,1,1,1,1};void philosopher(int i){while(true){think();if(i%2 == 0) //偶数哲学家,先右后左。
{wait (chopstick[ i + 1 ] mod 5) ;wait (chopstick[ i]) ;eat();signal (chopstick[ i + 1 ] mod 5) ;signal (chopstick[ i]) ;}Else //奇数哲学家,先左后右。
{wait (chopstick[ i]) ;wait (chopstick[ i + 1 ] mod 5) ;eat();signal (chopstick[ i]) ;signal (chopstick[ i + 1 ] mod 5) ;}}。