操作系统
文章平均质量分 88
碌碌无为_心不在烟
这个作者很懒,什么都没留下…
展开
-
进程通信的6种方式
进程通信 IPC (Inter Process Communication)1、管道/匿名管道比如下面 Linux 命令行netstat -tulnp | grep 8080其中 ”|“ 是管道的意思,它的作用就是把前一条命令的输出作为后一条命令的输入。在这里就是把 netstat -tulnp 的输出结果作为 grep 8080 这条命令的输入。如果两个进程要进行通信的话,就可以用这种管道来进行通信了,并且我们可以知道这条竖线是没有名字的,所以我们把这种通信方式称之为匿名管道。并且这种通信方原创 2021-01-22 22:30:41 · 1635 阅读 · 0 评论 -
epoll原理及反应堆模型
前言设想一个场景:有100万用户同时与一个进程保持着TCP连接,而每一时刻只有几十个或几百个TCP连接是活跃的(接收TCP包),也就是说在每一时刻进程只需要处理这100万连接中的一小部分连接。那么,如何才能高效的处理这种场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这100万个连接告诉操作系统,然后由操作系统找出其中有事件发生的几百个连接呢?实际上,在Linux2.4版本以前,那时的select或者poll事件驱动方式是这样做的。这里有个非常明显的问题,即在某一时刻,进程收集有事件的原创 2020-12-06 23:34:17 · 132 阅读 · 0 评论 -
IO多路复用中 select、poll、epoll
IO多路复用中 select、poll、epoll什么是IO多路复用?IO多路复用就是一种同步IO模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;没有文件句柄就绪时会阻塞应用程序,交出cpu。多路是指网络连接,复用指的是同一个线程。一般来说,我们通常是一个请求就是一个线程,这样会造成多个线程同时存在,会造成上下文的切换造成不必要的开销。IO多路复用是指一个线程来管理这一个个的请求。文件句柄博客实现原理select 方法原理虚线上面原创 2020-12-06 22:09:44 · 365 阅读 · 0 评论