输入/输出应用程序接口和设备驱动程序接口

文章目录

1.输入/输出应用程序接口

1.字符设备接口

get/put系统调用:向字符设备读/写一个字符

2.块设备接口

read/write系统调用︰向块设备的读写指针位置读/写多个字符;

seek系统调用:修改读写指针位置

3.网络设备接口

网络设备接口,又称"网络套接字(socket)接口"

socket系统调用︰创建一个网络套接字,需指明网络协议(TCP? UDP? )

bind:将套接字绑定到某个本地"端口"

connect:将套接字连接到远程地址

read/write:从套接字读/写数据

1.网络设备套接字通信

4.阻塞/非阻塞I/O

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

eg:字符设备接口―---从键盘读一个字符get
非阻塞l/O:应用程序发出I/O系统调用,系统调用可迅速返回,进程无需阻塞等待。

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

2.设备驱动程序接口

1.统一标准的设备驱动程序接口

操作系统规定好设备驱动程序的接口标准,各厂商必须按要求开发设备驱动程序。

不同的操作系统,对设备驱动程序接口的标准各不相同。设备厂商必须根据操作系统的接口要求,开发相应的设备驱动程序,设备才能被使用。

相关推荐
小猿姐2 小时前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
七歌杜金房7 小时前
我终于又有了自己的 Linux 电脑
linux·debian·mac
SkyWalking中文站14 小时前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
tntxia1 天前
linux curl命令详解_curl详解
linux
扛枪的书生1 天前
Linux 网络管理器用法速查
linux
SkyWalking中文站1 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
顺风尿一寸2 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
雪梨酱QAQ2 天前
Kubeneters HA Cluster部署
运维
江华森2 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森2 天前
Matplotlib 数据绘图基础入门
运维