非同步IO,同步IO,Direct IO,FILESYSTEMIO_OPTIONS, DISK_ASYNCH_IO [final]
一, 非同步IO與同步IO
--- 非同步IO
非同步檔案IO方式中,執行緒傳送一個IO請求到核心,然後繼續處理其他的事情,核心完
成IO請求後,將會通知執行緒IO操作完成了。
比如將一個程式所做的IO部分的工作 可以交給多個從屬程式去完成,但是呼叫仍然
是真正的成功(寫入磁碟)後才返回成功,交出去後主程式可以做其他事情,等IO處理
完成後再通知主程式來繼續處理。
例子:
Oracle DBWR 負責蒐集dirty buffer , slaves負責寫磁碟
Checkpoint 的成功過程是:
dbwr 蒐集dirty buffer ,交給 slave 寫磁碟,寫完畢通知dbwr ,然後dbwr才返回檢查點完成
但是在 slave 寫磁碟的過程中,dbwr 可以去做別的事情,比如蒐集dirty buffer ,但並不是
說這個任務已經完成 (寫磁碟完成後才通知檢查點完成)
--- 同步IO
在同步檔案IO中,執行緒啟動一個IO操作然後就立即進入等待狀態,直到IO操作完成後執行緒才
醒來繼續執行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-759700/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- IO模式和IO多路複用(阻塞IO、非阻塞IO、同步IO、非同步IO等概念)模式非同步
- Java 非阻塞 IO 和非同步 IOJava非同步
- java同步非阻塞IOJava
- oracle非同步IO之filesystemio_options引數Oracle非同步
- 非同步IO非同步
- IO - 同步 非同步 阻塞 非阻塞的區別非同步
- 談談對不同I/O模型的理解 (阻塞/非阻塞IO,同步/非同步IO)模型非同步
- IO通訊模型(二)同步非阻塞模式NIO(NonBlocking IO)模型模式BloC
- 檔案讀寫網路IO簡單瞭解,同步IO和非同步IO非同步
- 【死磕NIO】— 阻塞IO,非阻塞IO,IO複用,訊號驅動IO,非同步IO,這你真的分的清楚嗎?非同步
- asyncio(非同步io)非同步
- ORACLE 非同步IOOracle非同步
- 網路IO之阻塞、非阻塞、同步、非同步總結非同步
- 11、協程和io教程01 -- 併發 並行 同步 非同步 阻塞 非阻塞 以及 IO多路複用並行非同步
- direct IO和AIOAI
- 阻塞IO與非阻塞IO
- 如何解讀 Java IO、NIO 中的同步阻塞與同步非阻塞?Java
- linux 下filesystemio_options disk_asynch_io 導致的I/O效能下降Linux
- Oracle 之 AIO (非同步io)OracleAI非同步
- PostgreSQL非同步IO實測SQL非同步
- Java網路程式設計和NIO詳解5:Java 非阻塞 IO 和非同步 IOJava程式設計非同步
- Windows核心程式設計:第10章 同步裝置IO與非同步裝置IOWindows程式設計非同步
- Python的非同步IO:APIPython非同步API
- asyncio非同步IO——Streams詳解非同步
- InnoDB儲存引擎——非同步IO儲存引擎非同步
- Node - 非同步IO和事件迴圈非同步事件
- linux 同步IO: sync、fsync與fdatasyncLinux
- 【轉】linux非同步io機制Linux非同步
- 如何給女朋友解釋什麼是IO中的阻塞、非阻塞、同步、非同步?非同步
- python非同步IO程式設計(一)Python非同步程式設計
- Python 非同步 IO系列:認識asyncioPython非同步
- 非同步IO模型和Overlapped結構非同步模型APP
- Linux上Oracle啟用非同步IOLinuxOracle非同步
- Python 支援重啟的非同步 IOPython非同步
- Python 的非同步 IO:Asyncio 簡介(一)Python非同步
- Python黑魔法 --- 非同步IO( asyncio) 協程Python非同步
- Oracle在Linux下使用非同步IO配置OracleLinux非同步
- 使用C++20協程和io_uring優雅地實現非同步IOC++非同步