同步 I/O 與異步 I/O 之間的差別

同步 I/O 與異步 I/O 之間的差別

數據傳輸可以是同步的,也可以是異步的。決定因素取決於調度傳輸的入口點是立即返回還是等到 I/O 操作完成之後。 read(9E) 和 write(9E) 入口點都是同步入口點。傳輸在 I/O 操作完成之前不得返回。待例程返回值時,進程就會知道傳輸是否成功。 aread(9E) 和 awrite(9E) 入口點都是異步入口點。異步入口點調度 I/O 並立即返回。返回時,發出請求的進程即知道 I/O 被調度,並且隨後必須確定 I/O 的狀態。同時,該進程還可以執行其他操作。 對於發送到內核的異步 I/O 請求,不要求進程在 I/O 處理過程中等待。一個進程可以執行多個 I/O 請求,並允許內核處理數據傳輸細節。通過異步 I/O 請求,事務處理等應用程序可以使用併發編程方法來提高性能或縮短響應時間。但是,因使用異步 I/O 的應用程序而改善的任何性能,必須以增加編程複雜性爲代價。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章