![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 72
奠定理论基础。
Black.Spider
宝剑锋从磨砺出,梅花香自苦寒来
展开
-
时序竞态问题
一、信号引起的竞态 竞态是指设备或系统出现不恰当的执行时序,而得到不正确的结果,由于时间片,或其他因素,导致该到达并响应的信号没有被响应,这就是由信号引起的竞态。 假设我们要写一个sleep函数,其中利用到了信号,编写的过程如下: 1.注册一个信号signal(SIGALRM,handler)。接收内核给出的一个信号。 2.调用alarm()函数。 3.pause()挂起进程。(int pause(void)使调用进程挂.转载 2020-08-13 22:09:28 · 333 阅读 · 0 评论 -
操作系统锁的实现原理
所谓的锁,说白了就是内存中的一个整型数,拥有两种状态:空闲状态和上锁状态。加锁时,判断锁是否空闲,如果空闲,修改为上锁状态,返回成功;如果已经上锁,则返回失败。解锁时,则把锁状态修改为空闲状态。 为了弄明白锁的实现原理,我们首先看看如果OS不采用任何其他手段,什么情况下会导致上锁失败?假如我们把加锁过程用如下伪码表示: 1、read lock; 2、...转载 2020-03-25 14:14:33 · 1208 阅读 · 0 评论