UIO 可以剥离内核驱动,驱动的大部分可以在用户空间实现,内核中只保留一小部分。通过使用字符设备和sysfs 文件系统来处理进程中断和内存访问控制。
1,中断处理
2,I/O 内存访问
3,连续的内存分配
UIO使用的顾虑
1,程序中的 设备依赖
2,内核资源不可用
3,难以共享设备
4,变化的延迟
5,抢占
UIO 对于嵌入式的好处
1,应用程序和设备行为紧耦合
--减少的IO拷贝
--中断传递到用户空间
2,次要的或者特殊设备的使用
3,专用的设备(不需要共享)
4,使内核稳定安全
5,更易于开发,可以使用丰富的用户空间的库