第四章 阻塞和非阻塞型IO课件.pptxVIP

  • 2
  • 0
  • 约6.63千字
  • 约 31页
  • 2016-12-31 发布于河南
  • 举报
上章回顾从并发的需要,引起的竞争状态,到解决竞争状态的方法机制:禁止中断信号量自旋锁Completion原子操作第4章 阻塞和非阻塞型I/O本章目标掌握进程睡眠和唤醒的方法 掌握阻塞型I/O的实现方法 掌握poll/select系统调用的实现方法 本章结构进程休眠和唤醒方法 阻塞型I/O 阻塞型I/O实例 非阻塞I/O阻塞和非阻塞型I/O非阻塞I/O poll/select异步通知 4-1 阻塞型I/O当用户程序调用read函数时,驱动程序的read并没有准备好数据,怎么办?当用户程序调用write时,驱动程序的write的缓冲区已满,此时怎么办?1.用户程序不会管理这些问题。2.驱动程序默认情况下,阻塞该进程。将其置入休眠状态直到请求可继续3. 直接返回,这是非阻塞IO4-1-1进程休眠和唤醒方法休眠的意义?从调度器的运行队列?某个等待队列等到某个事件发生,在从等待队列返回到运行队列。如何将进程安全的进入休眠状态?不能在原子上下文进行休眠:休眠时,对外界一无所知,进程必须重新检测等待条件进程只有确保会被其他进程唤醒,才能进入休眠需要等待队列来管理和维护这些信息:等待队列就是一个进程链表,其中包含了等待某个特定事件的所有进程4-1-1进程休眠和唤醒方法等待队列的作用实现阻塞进程的唤醒实现内核中的异步事件通知机制队列的数据结构系统的调度机制同步系统资源的访问Semaphore可以用

文档评论(0)

1亿VIP精品文档

相关文档