网络和操作系统面试相关内容~(二)

161 篇文章 12 订阅
本文详细介绍了进程间通信的各种方式,包括管道、信号、信号量、消息队列、共享内存和Socket,并讨论了它们的优缺点。此外,还探讨了进程同步的几种方法,如临界区、互斥量和信号量,以及各自的适用场景和特点。重点阐述了信号量和共享内存在同步和通信中的作用及其注意事项。
摘要由CSDN通过智能技术生成

原文地址:网络和操作系统面试相关内容~(二)

1、进程间通信方式?

  1. 管道:有两种限制,一是半双工的通信,数据只能单向流动,二是只能在具有亲缘关系的进程间使用,进程的亲缘关系通常指的是父子进程关系。

  2. 信号:是一种比较复杂的通信方式,可在任何时候给某一进程发送,而无需知道该进程的状态。

  3. 信号量:是一个计数器,可用来控制多个进程对共享资源的访问,常作为一种锁机制,防止某进程正在访问共享资源时,其它进程访问该资源,因此,信号量主要作为进程间以及同一进程内不同线程之间的同步手段。

  4. 消息队列:是消息的链接表,包括POSIX消息队列和system V消息队列,有足够权限的进程可向队列中添加消息,被赋予读权限的进程则可读走队列中的消息,消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

  5. 共享内存:是映射一段能被其它进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可访问,共享内存是最快的IPC方式,它是针对其它进程间通信方式运行效率低而设计的,往往与其它通信机制,如信号量,配合使用,来实现进程间的同步和通信。

  6. Socket:可用于不同机器间的进程通信。

管道大致可分为两类,匿名管道和命名管道,匿名管道是单向的,只能在有亲缘关系的进程间通信,命名管道以磁盘文件的方式存在,可实现本机任意两进程通信。

2、Linux常用信号?

  1. SIGHUP:用户从终端注销,所有已启动的进程都将收到该信号,系统缺省状态下对该信号的处理是终止进程。

  2. SIGINT:程序终止信号,程序运行过程中,按Ctrl+C键产生该信号。

  3. SIGQUIT:程序退出信号,程序运行过程中,按Ctrl+\\键产生该信号。

  4. SIGBUS和SIGSEGV:进程非法访问地址。

  5. SIGFPE:计算中出现致命错误,如除零操作,数据溢出等。

  6. SIGKILL:用户终止进程执行信号,shell下执行kill -9发送该信号。

  7. SIGTERM:结束进程信号,shell下执行kill 进程pid发送该信号。

  8. SIGALRM:定时器信号。

  9. SIGCLD:子进程退出信号,如其父进程未忽略该信号,也并未处理该信号,则子进程退出后将形成僵尸进程。

3、进程间各通信方式的优缺点?

  1. 管道:速度慢,容量有限。

  2. Socket:任何进程间都可通信,速度慢。

  3. 消息队列:容量受系统限制,第一次读时,需考虑上次未读的数据。

  4. 信号量:不能传递复杂消息,只能用来同步。

  5. 共享内存区:很容易控制容量,速度快,但要保持同步,如一进程写时,另一进程需注意读写问题,相当于线程中的线程安全。

4、进程间的同步方式?

临界区:通过对多线程的串行化来访问公共资源或是一段代码,速度快,适合控制数据访问。

临界区优点:保证在某一时刻只有一个线程能访问数据的简便方法。

临界区缺点:虽然临界区同步速度很快,但只能用来同步本进程内的线程,不可用来同步多个进程中的线程。

互斥量:为协调共同对一个贡献资源的单独访问而设计,互斥量与临界区很相似,但比临界区要复杂,互斥对象只有一个,只有拥有会吃对象的线程才具有访问资源的权限。

互斥量的优点:使用互斥不仅能在同一应用程序不同线程中实现资源的安全共享,也可在不同应用程序间实现对资源的安全共享。

互斥量的缺点:

  1. 互斥量是可以命名的,可跨进程使用,所以创建互斥量需要的资源更多,如果只为了在进程内部使用的话,使用临界区会带来速度上的优势,还能减少资源占用量。

  2. 通过互斥量可指定资源被独占的方式来使用,但还有特殊情况通过互斥量就无法处理,如现在一位用户购买了一份三个并发访问许可的数据库系统,可根据用户购买的访问许可数量来决定有多少个线程或进程能同时进行数据库操作,此时利用互斥量则无法完成需求,信号量对象可说是一种资源计数器。

信号量:为控制一个具有有限数量的用户资源而设计,允许多个线程在同一时刻访问同一资源,但需限制在同一时刻访问此资源的最大线程数,互斥量是信号量的一种特殊情况,当信号量的最大资源数=1就是互斥量了。

信号量的优点:适用于对Socket(套接字)程序中线程的同步。

信号量的缺点:

  1. 必须有公共内存,不能用于分布式操作系统。

  2. 功能强大,但使用时对信号量的操作分散,且难以控制,读写和维护都很困难,加重编码负担。

  3. 核心操作P-V分散在各用户程序的代码中,不易控制和管理,一旦错误,后果严重,且不易发现和纠正。

事件:用以通知线程有一些事件已发生,从而启动后继任务的开始。

事件的优点:通过通知操作的方式来保持线程同步,可实现不同线程中的线程同步。

至此,本次分享就结束了,后期会慢慢补充的。

以上仅为个人观点,不一定准确,能帮到各位那是最好的。

好啦,到这里本文就结束了,喜欢的话就来个三连击吧。

扫码关注公众号,获取更多优质内容

  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 计算机网络操作系统是计算机科学中非常重要的两个领域,对于计算机网络操作系统的知识掌握程度也是面试中常被问及的内容。在准备面试时,可以通过阅读和整理计算机网络操作系统相关面试资料来提高自己的面试准备水平。以下是关于计算机网络操作系统面试整理PDF的回答。 计算机网络操作系统面试整理PDF可以是一份包含计算机网络操作系统面试经典问题、解析和答案的PDF文档。这份整理可以包括对常见的计算机网络操作系统概念、原理、算法、协议和技术的介绍和解析,以及对这些概念的实际应用和相关面试问题的答案。 在整理这份PDF时,可以根据自己的理解和经验,总结出常见的面试问题,并给出简洁明了、易于理解的答案。可以通过查阅相关文献、参考书籍、互联网资源和自己的学习笔记来整理这些问题和答案。同时,在整理过程中,可以对这些问题进行分类和归纳,以便于面试前快速地回顾和复习。 这份PDF的目标是帮助面试者快速了解和掌握计算机网络操作系统相关的知识,以提高在面试中的表现和竞争力。通过学习这份整理,面试者可以更好地理解计算机网络操作系统的原理和应用,更加深入地思考和回答与这些领域相关的问题。 总之,计算机网络操作系统面试整理PDF是一份帮助面试者准备计算机网络操作系统面试的资料,其中包含了面试常见问题和答案,以及对计算机网络操作系统相关知识的解析和讨论。这份整理能够帮助面试者提高面试准备水平,更好地应对计算机网络操作系统面试问题。 ### 回答2: 计算机网络操作系统面试整理PDF是一份综合了计算机网络操作系统相关知识点的面试资料。这份PDF的目的是帮助求职者更好地准备计算机网络操作系统面试。 在这份PDF中,可以查看到一些常见的面试问题和答案,这些问题涵盖了计算机网络操作系统领域的重要知识点。通过研究这些问题和答案,求职者可以更好地了解计算机网络操作系统的原理和应用。 PDF中还会提供一些常见的面试题型和解题思路。求职者可以通过思考和解答这些问题,来提高他们的问题解决能力和技巧。 此外,这份PDF还可能包括一些实例题和代码。通过研究这些实例和代码,求职者可以更深入地理解计算机网络操作系统的实际应用,并能够更好地回答与实际工作相关的问题。 总之,计算机网络操作系统面试整理PDF是一份旨在帮助求职者准备相关面试的资料。如果求职者认真学习和应用这份PDF中的知识和思路,相信他们将对计算机网络操作系统面试有更好的准备和应对能力。 ### 回答3: 计算机网络操作系统是计算机科学中非常重要的两个领域,对于工程师的面试准备来说,掌握这两个领域的知识非常重要。在准备面试过程中,一份整理有关计算机网络操作系统面试题的PDF是很有帮助的。 这份PDF可以包含一些常见的计算机网络操作系统面试题,如网络协议、网络拓扑、路由算法、数据链路层、TCP/IP协议、资源管理、进程调度、内存管理等。针对每个领域,可以列出一些重要的概念和算法,并配备相关的例子和解答。 这份PDF的好处是有组织地整理了面试中常见的问题,可以帮助面试者系统地学习和复习。通过阅读这份整理,面试者可以了解到常见的面试考点和重要的知识点,可以帮助面试者更加全面和深入地掌握这些知识。 此外,这份PDF还可以配备一些面试技巧和建议,在面试过程中帮助面试者更好地回答问题。例如,一些常见的面试技巧包括准备充分、自信积极、清晰简洁地表达观点等。这些技巧可以帮助面试者在面试过程中更加出色地表现自己。 总的来说,一份整理有关计算机网络操作系统面试题的PDF对于面试者来说是非常有帮助的。它可以帮助面试者系统地学习和复习相关知识,并配备面试技巧和建议,帮助面试者在面试中取得更好的成绩。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luyaran

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值