操作系统
朱又炖粉条
这个作者很懒,什么都没留下…
展开
-
操作系统中锁的实现
在多线程编程中,为了保证数据操作的一致性,操作系统引入了锁机制,用于保证临界区代码的安全。通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性。锁机制的一个特点是它的同步原语都是原子操作。那么操作系统是如何保证这些同步原语的原子性呢?操作系统之所以能构建锁之类的同步原语,是因为硬件已经为我们提供了一些原子操作,比如:中断禁...原创 2018-09-23 17:11:02 · 8085 阅读 · 2 评论 -
线程/进程同步操作的监视器:管程
我们通过信号量解决同步问题,而信号量存在程序编写困难或效率低下的问题。于是发明了管程,将信号量的这些组织工作交给一个专门的构造来管。管程(monitor)意为监视器,它监视的是进程或线程的同步操作。管程就是一组子程序,变量和数据的组合,即你把需要同步的代码用一个管程的构造框起来。注意:进程只能互斥的使用管程,即当一个进程使用管程时,另一个进程必须等待。当一个进程使用完管程后,它必须释放管程...原创 2018-09-22 15:20:02 · 693 阅读 · 0 评论 -
进程间通信方式
1.进程间通信每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。不同进程间的通信本质:进程之间可以看到一份公共资源;而提供这份资源的形式或者提供者不同,造成了通信方式不同。2.进程间通...原创 2019-07-05 15:19:40 · 588 阅读 · 1 评论