- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
操操作作系系统统常常见见⾯⾯试试题题
1.进进程程的的常常见见状状态态??以以及及各各种种状状态态之之间间的的转转换换条条件件??
就绪:进程已处于备好运⾏的状态,即进程已分配到除CPU外的所有必要资源后,只要再获得CPU,便可⽴即执⾏。
执⾏:进程已经获得CPU,程序正在执⾏状态。
阻塞:正在执⾏的进程由于发⽣某事件(如I/O请求、申请缓冲区失败等)暂时⽆法继续执⾏的状态。
2.进进程程同同步步
进程同步的主要任务:是对多个相关进程在执⾏次序上进⾏协调,以使并发执⾏的诸进程之间能有效地共享资源和相互合作,从⽽使程序的
执⾏具有可再现性。
同步机制遵循的原则:
(1)空闲让进;
(2)忙则等待(保证对临界区的互斥访问);
(3)有限等待(有限代表有限的时间,避免死等);
(4)让权等待,(当进程不能进⼊⾃⼰的临界区时,应该释放处理机,以免陷⼊忙等状态)。
3.进进程程的的通通信信⽅⽅式式有有哪哪些些??
进程通信,是指进程之间的信息交换(信息量少则⼀个状态或数值,多者则是成千上万个字节)。因此,对于⽤信号量进⾏的进程间的
互斥和同步,由于其所交换的信息量少⽽被归结为低级通信。
所谓⾼级进程通信指:⽤户可以利⽤操作系统所提供的⼀组通信命令传送⼤量数据的⼀种通信⽅式。操作系统隐藏了进程通信的实现细
节。或者说,通信过程对⽤户是透明的。
⾼级通信机制可归结为三⼤类:
(1)共享存储器系统(存储器中划分的共享存储区);实际操作中对应的是“剪贴板”(剪贴板实际上是系统维护管理的⼀块内存区域)
的通信⽅式,⽐如举例如下:word进程按下ctrl+c,在ppt进程按下ctrl+v,即完成了word进程和ppt进程之间的通信,复制时将数据放⼊到剪
贴板,粘贴时从剪贴板中取出数据,然后显⽰在ppt窗⼝上。
(2)消息传递系统(进程间的数据交换以消息(message)为单位,当今最流⾏的微内核操作系统中,微内核与服务器之间的通信,
⽆⼀例外地都采⽤了消息传递机制。应⽤举例:邮槽(MailSlot)是基于⼴播通信体系设计出来的,它采⽤⽆连接的不可靠的数据传输。邮
槽是⼀种单向通信机制,创建邮槽的服务器进程读取数据,打开邮槽的客户机进程写⼊数据。
(3)管道通信系统(管道即:连接读写进程以实现他们之间通信的共享⽂件(pipe⽂件,类似先进先出的队列,由⼀个进程写,另⼀
进程读))。实际操作中,管道分为:匿名管道、命名管道。匿名管道是⼀个未命名的、单向管道,通过⽗进程和⼀个⼦进程之间传输数
据。匿名管道只能实现本地机器上两个进程之间的通信,⽽不能实现跨⽹络的通信。命名管道不仅可以在本机上实现两个进程间的通信,还
可以跨⽹络实现两个进程间的通信。
管道:管道是单向的、先进先出的、⽆结构的、固定⼤⼩的字节流,它把⼀个进程的标输出和另⼀个进程的标输⼊连接在⼀起。
写进程在管道的尾端写⼊数据,读进程在管道的道端读出数据。数据读出后将从管道中移⾛,其它读进程都不能再读到这些数据。管
道提供了简单的流控制机制。进程试图读空管道时,在有数据写⼊管道前,进程将⼀直阻塞。同样地,管道已经满时,进程再试图写
管道,在其它进程从管道中移⾛数据之前,写进程将⼀直阻塞。
注1:⽆名管道只能实现⽗⼦或者兄弟进程之间的通信,有名管道(IO)可以实现互不相关的两个进程之间的通信。
注2:⽤IO让⼀个服务器和多个客户端进⾏交流时候,每个客户在向服务器发送信息前建⽴⾃⼰的读管道,或者让服务器在得到数
据后再建⽴管道。使⽤客户的进程号(pid)作为管道名是⼀种常⽤的⽅法。客户可以先把⾃⼰的进程号告诉服务器,然后再到那个以⾃⼰
进程号命名的管道中读取回复。
信号量:信号量是⼀个计数器,可以⽤来控制多个进程对共享资源的访问。它常作为⼀种锁机制,防⽌某进程正在访问共享资源时,
其它进程也访问该资源。因此,主要作为进程间以及同⼀进程内不同线程之间的同步⼿段。
消息队列:是⼀个在系统内核中⽤来保存消息的队列,它在系统内核中是以消息链表的形式出现的。消息队列克服了信号传递信息
少、管道只能承载⽆格式字节流以及缓冲区⼤⼩受限等缺点。
共享内存:共享内存允许两个或多个进程访问同⼀个逻辑内存。这⼀段内存可以被两个或两个以上的进程映射⾄⾃⾝的地址空间中,
⼀个进程写⼊共享内存的信息,可以被其他
文档评论(0)