随笔分类 -  系统编程

摘要:###中断系统调用 系统调用可以分为两类,慢速系统调用和其他系统调用。 慢速系统调用:可能会使进程用于阻塞的一些系统函数,如:read、write、pause、wait....。如果在阻塞期间收到了并不是想要的信号,该系统调用就被中断,不再继续执行,这不是我们想要的,当处理完了信号,应该返回原来的地 阅读全文
posted @ 2021-01-15 00:14 ding-ding-light 阅读(178) 评论(0) 推荐(0) 编辑
摘要:###SIGCHLD信号 只要子进程发生变化就会产生SIGCHLD信号通知父进程: 1.子进程终止时; 2.子进程接收到SIGSTOP信号停止时; 3.子进程处在停止态,接收到了SIGCONT唤醒时。 ###利用信号捕捉函数回收子进程 #include <stdio.h> #include <std 阅读全文
posted @ 2021-01-14 21:24 ding-ding-light 阅读(227) 评论(0) 推荐(0) 编辑
摘要:###基本概念 信号作为最简单的进程间通信手段,具有简单和开销小的优点,但是携带的信息有限。信号相当于软件层面的“中断”,它的实现手段导致了信号有很强的延时性。当一个进程收到另一个进程的信号时,无论程序执行到什么位置。必须立即停止运行,处理信号,处理结束后再继续执行后续指令,注意所有信号的产生及处理 阅读全文
posted @ 2021-01-14 00:55 ding-ding-light 阅读(287) 评论(0) 推荐(0) 编辑
摘要:###进程间通信(IPC) 即使是有血缘关系的父子进程之间,它们的PID也是独立的,所以它们彼此之间相互独立,当两个进程要进行数据交流时,需要在它们之间架起一个桥梁,数据便可以通过桥梁进行发送和接收,这就叫做进程间通信(InterProcess Communication)。就如上图所示。 在32位 阅读全文
posted @ 2021-01-07 00:37 ding-ding-light 阅读(129) 评论(0) 推荐(0) 编辑
摘要:###fork()函数 如上图所示,调用fork()函数将产生一个子进程(程序与父进程完全一致),其中父进程继续执行,子进程将在fork()的下一行开始执行,当然fork()函数的返回值会被接收,需要用于区分子进程和父进程(两者返回值不同,一个大于0,一个等于0)。fork()函数说明如下所示: f 阅读全文
posted @ 2021-01-06 11:32 ding-ding-light 阅读(451) 评论(0) 推荐(0) 编辑
摘要:##进程概念 程序,指的是一个静态文件,只占用磁盘空间,里面的内容是待处理的计算机指令,数据;进程是运行起来的程序,需要占用内存,总线,cpu等系统资源。 ##并发 假设操作系统中有3个进程在运行,如上图所示,CPU会为每个进程分配时间片,每个进程在运行了一个时间片后将会产生时钟中断(时钟滴答),产 阅读全文
posted @ 2021-01-04 21:40 ding-ding-light 阅读(388) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示