We know the traditional I/O models: sync and async, however, some researchers from Michigan University figures out a new model, they call it "external sync"
The difference between e-sync and sync is shown below:
![fig1](https://i-blog.csdnimg.cn/blog_migrate/4bb26bb4c5aa09ba2ed8155bfed820f0.jpeg)
This figure shows the behavior of a sample application that makes two file system modifications, then displays output to an external device. The diagram on the left shows how the application executes when its file I/O is synchronous; the diagram on the right shows how it executes when its file I/O is externally synchronous.
External synchrony preserves the simplicity and reliability of a synchronous I/O interface, yet performs approximately as well as an asynchronous I/O interface.