38、信号(下):项目组A完成了,如何及时通知项目组B?

信号处理最常见的流程主要是两步,第一步是注册信号处理函数,第二步是发送信号和处理信号。上一节,我们讲了注册信号处理函数,那一般什么情况下会产生信号呢?我们这一节就来看一看。 信号的发送有时候,我们在终端输入某些组合键的时候,会给进程发送信号,例如,C...

趣谈Linux操作系统

37、信号(上):项目组A完成了,如何及时通知项目组B?

上一节最后,我们讲了信号的机制。在某些紧急情况下,我们需要给进程发送一个信号,紧急处理一些事情。 这种方式有点儿像咱们运维一个线上系统,为了应对一些突发事件,往往需要制定应急预案。就像下面的列表中一样。一旦发生了突发事件,马上能够找到负责人,根据处理...

趣谈Linux操作系统

36、进程间通信:遇到大项目需要项目组之间的合作才行

前面咱们接项目的时候,主要强调项目之间的隔离性。这是因为,我们刚开始接的都是小项目。随着我们接的项目越来越多,就难免遇到大项目,这就需要多个项目组进行合作才能完成。 两个项目组应该通过什么样的方式进行沟通与合作呢?作为老板,你应该如何设计整个流程呢?...

趣谈Linux操作系统

35、块设备(下):如何建立代理商销售模式?

在[文件系统]那一节,我们讲了文件的写入,到了设备驱动这一层,就没有再往下分析。上一节我们又讲了mount一个块设备,将block_device信息放到了ext4文件系统的super_block里面,有了这些基础,是时候把整个写入的故事串起来了。 还...

趣谈Linux操作系统

34、块设备(上):如何建立代理商销售模式?

上一章,我们解析了文件系统,最后讲文件系统读写的流程到达底层的时候,没有更深入地分析下去,这是因为文件系统再往下就是硬盘设备了。上两节,我们解析了字符设备的mknod、打开和读写流程。那这一节我们就来讲块设备的mknod、打开流程,以及文件系统和下层...

趣谈Linux操作系统

33、字符设备(下):如何建立直销模式?

上一节,我们讲了一个设备能够被打开、能够读写,主流的功能基本就完成了。我们讲输入输出设备的时候说到,如果一个设备有事情需要通知操作系统,会通过中断和设备驱动程序进行交互,今天我们就来解析中断处理机制。 鼠标就是通过中断,将自己的位置和按键信息,传递给...

趣谈Linux操作系统