当前位置:嗨网首页>书籍在线阅读

03-通用IO

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.2 通用I/O

UNIX I/O模型的显著特点之一是其输入/输出的通用性概念。这意味着使用4个同样的系统调用open()、read()、write()和close()可以对所有类型的文件执行I/O操作,包括终端之类的设备。因此,仅使用这些系统调用编写的程序,将对任何类型的文件有效。例如,针对程序清单4-1中的程序,如下操作都是有效的:

46.png 要实现通用I/O,就必须确保每一文件系统和设备驱动程序都实现了相同的I/O系统调用集。由于文件系统或设备所特有的操作细节在内核中处理,在编程时通常可以忽略设备专有的因素。一旦应用程序需要访问文件系统或设备的专有功能时,可以选择瑞士军刀般的ioctl()系统调用(4.8节),该调用为通用I/O模型之外的专有特性提供了访问接口。