欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

VI.投入产出管理

最编程 2024-10-02 07:03:16
...

1.输入输出程序接口

由于各种设备的操作所提供的参数或者返回值都不同,也很难做到以设备独立性软件向上提供统一的接口,但是可以将设备进行分类,每一类设备由一种统一的接口操作。

①字符设备接口

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

②块设备接口

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

③网络设备接口

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

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

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

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

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

2.阻塞I/O和非阻塞I/O

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

例如:字符设备接口--从键盘读一个字符 get

非阻塞1/0:应用程序发出I0系统调用,系统调用可迅速返回,进程无需阻塞等待

例如:块设备接口--往磁盘写数据 write

3.设备驱动程序接口

设备独立性软件需根据实际操作的设备不同,去调用不一样的驱动程序。

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