阻塞
可以在打开文件时指定标志file->flag为O_NONBLOCK,则在没有准备就绪就读写设备时返回-EAGAIN,而不会阻塞进程。
阻塞方式是文件读写操作的默认方式。
read中数据没准备好时进行阻塞,并在write中写完数据后改变判断条件,并唤醒read进程所在的队列。同理read中读完后唤醒write所在队列。
read和write用俩个不同的等待队列,唤醒并不意味着立即获得cup,只是该变了进程的状态。
阻塞
可以在打开文件时指定标志file->flag为O_NONBLOCK,则在没有准备就绪就读写设备时返回-EAGAIN,而不会阻塞进程。
阻塞方式是文件读写操作的默认方式。
read中数据没准备好时进行阻塞,并在write中写完数据后改变判断条件,并唤醒read进程所在的队列。同理read中读完后唤醒write所在队列。
read和write用俩个不同的等待队列,唤醒并不意味着立即获得cup,只是该变了进程的状态。