IO应用程序接口&设备驱动程序接口

IO应用程序接口&设备驱动程序接口

image


一、输入/输出应用程序接口

背景:在设备独立软件层向上提供各种各样的输入/输出应用程序接口的原因是:

用户层的应用程序无法用一个统一的系统调用接囗来完成所有类型设备的 I/O

image

三种输入/输出应用程序接口:

  • 字符设备接口
  • 块设备接口
  • 网络设备接口

image

其中网络设备接口相关过程如下:

image

二、阻塞I/O 和 非阻塞I/O

  • 阻塞 I/O:应用程序发出 I/O 系统调用,进程需转为阻塞态等待。

    eg:字符设备接口——从键盘读一个字符 get

  • 非阻塞 I/O:应用程序发出 I/O 系统调用,系统调用可迅速返回,进程无需阻塞等待。

    eg:块设备接口——往磁盘写数据 write

(补充:上文对阻塞和非阻塞的 I/O 介绍较浅,以下参考网上(虽然也不够全面就是了))

image

参考:https://blog.csdn.net/weixin_58809023/article/details/140418502

三、设备驱动程序接口

理解:这里提到的不同设备的驱动程序接口所统一实现的角度是从特定的操作系统而言,是上一节的驱动程序的相关实现的更进一步(比较抽象)

image

image

image

posted @   Wind_730  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示