摘要:
阻塞,就是在获取资源的时候,不能获取到,那么就会将当前的进程挂起(睡眠,也就是将当前进程从调度器拿走了,不会调度当前进程),直到满足条件为止再进行操作。相反,非阻塞,就是即使不能获取到资源,非阻塞的进程是,要么是直接放弃,要么就不停地的进行查询,直到满足为止。 当上层 read 或者 write 的时候,希望是阻塞地去获取资源时候,那么底层的驱动,就应该去以阻... 阅读全文
摘要:
一、并发与竞争 并发是指多个 多个执行单元同时执行,而这对对共享的资源,比如硬件的资源、软件的全局变量、静态变量 的访问,很容易导致竞态, 1.1、中断屏蔽 在单核的 CPU 里,避免竞态的一个简单有效的方法是,在进入临界区之前,就屏蔽系统的中断。也就是说,在进入临界区之前,中断被关闭,使得中断与进程之间的并发不会发生,而且,因为进程的调度器是依赖于中断来实现... 阅读全文