紧张的考研生活随着网络游戏的gameover拉开了序幕,同时也进入了全面的复习阶段。每天看了什么,掌握了什么必须有个小小的总结,或者说是读书心得。所有的心得都分门别类,今天就谈谈操作系统中的进程间通信。
细想下,进程间通信的方式还真有点多有点杂,还是一点点的来吧,毕竟我是在给自己理思路哈。第一种就是利用软中断的方式来达到进程之间的通信。先打个很简单的比方。同学A呢今天不想下楼去食堂吃饭,怎么办呢?不吃肯定会饿肚子啊,所以同学A就想了个招,要同学B帮忙带饭啊。那同学A怎么通知同学B要他带个盒饭呢。发个短信撒,同学B收到这个短信就自然知道要做什么事情了。好了,言归正传。同学A想要给同学B发短信,就用kill(pid_t pid,int sig)函数来把信号量sig发送给进程号为pid的进程。同时同学B呢用signal(sig,function)函数来接收这个信号量sig,并且执行function函数。有人会问啊,这个function函数是干嘛的啊?废话,这个函数就是同学B的打饭程序啊。是不是很简单呢,嘿嘿。
别高兴太早,问题多多呢?不是所有的同学都能给别人发短信的,也就是说不是所有的进程都有使用kill()函数的权利。摘抄下书本上说的“只能是核心或者超级用户进程才能用kill来向任意的其他进程发送软中断信号,而普通用户进程只能给同组或者同用户标识的进程发送软中断信号”。问题又来了啊,这个核心用户进程,超级用户进程,同组用户进程,同用户标识的进程又是啥子东东哟?我稍微用自己的方式解释下,可能不全面哈。算了,还是引用下别人的说法吧,偶毕竟还是在学习。进程的种类。
今天就暂时到这里吧,要睡觉了。