1. 程式人生 > >Unix系統編程(三)通用的I/O

Unix系統編程(三)通用的I/O

clas post 由於 應該 系統 特色 設備 瑞士軍刀 效果

UNIX IO模型的顯著特點之一是輸出輸出概念的通用性,這意味著,4個同樣的系統調用open,read,write和close可以對所有類型的文件執行IO操作,包括終端之類的設備。因此僅用這些系統調用編寫的程序,對任何類型的文件都有效。臥槽,是不是特別牛逼,妥妥的面相接口的編程啊。

那麽要達到這種效果其實還是要付出一些東西的。

必須確保每一個文件系統和設備都實現了相同的IO系統調用集。由於文件系統或設備所特有的操作細節在內核中處理,在編程的時候可以忽略設備專有的因素。

問題來了,不同的文件系統或者設備肯定會有一些特色的操作,那麽只有4個系統調用肯定是不夠的,應該怎麽辦呢?

這個時候瑞士軍刀ioctl系統調用提供了IO模型之外的專有特性接口。

Unix系統編程(三)通用的I/O