一:阻塞与非阻塞
1、当应用程序对设备驱动进行操作的时候,如果不能立即获取到设备资源。
对于阻塞式IO来讲,会将对应线程挂起,直到获取到设备资源为止。
对于非阻塞IO,线程则不会挂起,而是一直轮询等待直到设备资源可以使用,要么就直接放弃。
2、应用程序实现方式
阻塞式:
fd = open("/dev/xxx_dev", O_RDWR); /* 阻塞方式打开 */
非阻塞式:
fd = open("/dev/xxx_dev", O_RDWR | O_NONBLOCK); /* 非阻塞方式打开 */