Windows Vista I/O Technologies - I/O Subsystem

I/O Subsystem

Vista modifies the behavior of asynchronous I/O operations. With the new asynchronous I/O APIs, a thread, different from the one that issued the I/O request, can be notified when the operation completes. With this, a single thread can issue all the I/O requests, and then switch to a different worker thread. If this thread is the one that handles the data after the I/O request completes, then a thread-switch, which causes a performance hit, may be avoided. Windows Vista also introduces synchronous I/O cancellation. During a synchronous I/O request, the application is blocked until the request is serviced or fails. In Windows Vista the application may issue a cancellation request. Applications that cancel the operation on user feedback may prefer to enable user feedback during the time the issuing thread is suspended for usability.

Windows Vista also implements I/O scheduling as prioritized I/O. Disk I/O requests in Windows Vista are assigned priorities; a higher priority request is given preferential treatment, over a request that has a lower priority, during the execution of the request. Windows Vista defines five priority classes – Very Low, Low, Normal, High and Critical. By default I/O requests are assigned Normal priority. Windows Vista also allows reservation of bandwidth on a per-application basis during disk access; this aims to guarantee the required throughput rate to the application when it accesses the disk. Both these features are used by Windows Media Player with respect to media playback.

Prior to Windows Vista, all I/O requests were capped at 64 KB; thus larger operations had to be completed in chunks. In Windows Vista, there is no limit on the size of I/O requests. This means an entire I/O operation can be completed by issuing fewer requests, which in turn may lead to higher performance. Windows Explorer and the Command Prompt's copy command have been modified to issue 1 MB requests.

Read more about this topic:  Windows Vista I/O Technologies