![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 93
ZOEATER
这个作者很懒,什么都没留下…
展开
-
进程间通信
进程间通信由于进程之间不共享地址空间,所以要想实现进程间的通信,需要采取以下几种方法。管道管道本质上就是一个文件,前面的进程以写方式打开文件,后面的进程以读方式打开。这样前面写完后面读,于是就实现了通信,我们可以看出,管道实现的通信是单向的,如果我们想要实现双向通信,就必须创建两个管道。管道中存放的是无格式的字节流数据。实际上管道的设计也是遵循UNIX的“一切皆文件”设计原则的,它本质上就是一个文件。Linux系统直接把管道实现成了一种文件系统,借助VFS给应用程序提供操作接口。详细参考博客http原创 2021-05-24 19:31:51 · 100 阅读 · 0 评论 -
进程间通信方式之一——信号
信号信号是由用户、系统或者进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。Linux信号可由如下条件产生:(1)对于前台进程,用户可以通过输入特殊的终端字符来给它发送信号;(2)系统异常,比如浮点异常和非法内存段访问;(3)系统状态变化,比如alarm定时器到期将引起SIGALARM信号;(4)运行kill命令或调用kill函数。注意:服务器必须处理(或忽略)一些常见的信号,以免异常终止。Linux信号表取值名称解释默认动作1SIGHUP挂起原创 2021-05-24 19:22:44 · 350 阅读 · 0 评论 -
并发编程
并发,顾名思义,就是逻辑控制流在时间上重叠。并发机制运用在两个方面,一个是操作系统内核用于运行多个应用程序;一个是应用程序用于响应异步事件等,称为应用级并发,具体应用如下:1、Linux信号处理程序允许应用响应异步事件,例如用户键入Ctrl+C(终止进程)会发生以下事件:(1)用户输入命令,在Shell下启动一个前台进程;(2)用户按下Ctrl-C,这个键盘输入产生一个硬件中断;(3)如果CPU当前正在执行这个进程的代码,则该进程的用户空间代码暂停执行,CPU从用户态切换到内核态处理硬件中断;(4原创 2021-04-30 22:00:55 · 198 阅读 · 1 评论