Windows Vistaは、Microsoft Windowsオペレーティングシステムシリーズに数多くの新しいI/O機能を導入しました。これらの機能は、システムの起動時間を短縮し、システムの応答性を向上させ、データストレージの信頼性を高めることを目的としています。
Vista では、非同期 I/O操作の動作が変更されています。新しい非同期 I/O API を使用すると、 I/O 要求を発行したスレッドとは別のスレッドに、操作の完了を通知できます。これにより、単一のスレッドですべての I/O 要求を発行し、その後別のワーカー スレッドに切り替えることができます。このスレッドが I/O 要求の完了後にデータを処理するスレッドである場合、パフォーマンスの低下を招くスレッド切り替えを回避できます。Windows Vista では、同期 I/O キャンセルも導入されています。同期 I/O 要求中は、要求が処理されるか失敗するまでアプリケーションはブロックされます。Windows Vista では、アプリケーションがキャンセル要求を発行できます。ユーザー フィードバックに基づいて操作をキャンセルするアプリケーションは、使いやすさのために、発行スレッドが中断されている間、ユーザー フィードバックを有効にすることを推奨します。
Windows Vista では、I/O スケジューリングを優先 I/O として実装しています。[ 1 ] Windows Vista のディスク I/O 要求には優先度が割り当てられます。優先度の高い要求は、優先度の低い要求よりも、要求の実行中に優先的に処理されます。Windows Vista では、優先度クラスとして「非常に低い」、「低い」、「標準」、「高い」、「クリティカル」の 5 つが定義されています。デフォルトでは、I/O 要求には「標準」の優先度が割り当てられます。Windows Vista では、ディスク アクセス中にアプリケーションごとに帯域幅を予約することもできます。これは、アプリケーションがディスクにアクセスする際に必要なスループットレートを保証することを目的としています。これらの機能は両方とも、メディア再生に関してWindows Media Playerで使用されています。 [ 2 ]ディスク デフラグ、SuperFetch、Windows Defender、Windows Search、および起動時に実行されるアプリケーションはすべて、優先 I/O を使用します。[ 3 ]優先 I/O は、 WinFSがファイル バック アイテムの昇格操作に使用することも意図されていました。 [ 4 ]
Windows Vista より前は、すべての I/O リクエストは 64 KB に制限されていました。そのため、より大きな操作はチャンク単位で完了する必要がありました。Windows Vista では、I/O リクエストのサイズに制限はありません。つまり、より少ないリクエストを発行することで I/O 操作全体を完了できるため、パフォーマンスが向上する可能性があります。Windows エクスプローラーとコマンド プロンプトのコピーコマンドは、1 MB のリクエストを発行するように変更されました。[ 2 ]
ReadyBoost は、 USB ドライブ( USB 2.0 または 3.0 のみ)、SD カード、コンパクト フラッシュ、またはその他の形式のフラッシュ メモリのフラッシュ メモリを使用してシステム パフォーマンスを向上させることにより、Windows Vista を実行している PCの応答性を向上させます。このようなデバイスが接続されると、Windows の自動再生ダイアログに、システムを高速化するためにそれを使用する追加オプションが表示されます。ドライブのプロパティ ダイアログに「ReadyBoost」タブが追加され、使用する容量を構成できます。Windows ReadyBoost は、Windows 7 および Windows 10 でも利用できます。ほとんどのフラッシュ メモリ デバイスは FAT32 形式でフォーマットされています。ReadyBoost でより大きなフラッシュ デバイスを適切に使用するには、これを変更する必要があります。ただし、Windows の自動再生を使用して ReadyBoost を有効にすると、そのデバイスの ReadyBoost が無効になるまで、デバイスを再フォーマットできなくなります。[ 5 ]
ReadyDrive(コードネームPiton [ 6 ] [ 7 ])は、Windows Vista の機能で、ハイブリッド ドライブやその他のフラッシュ メモリキャッシュ( Intel Turbo Memoryなど)を搭載した Windows Vista コンピューターの起動を高速化し、休止状態からの復帰時間を短縮し、バッテリーの電力を節約します。[ 8 ]ハイブリッド ハード ドライブは、不揮発性フラッシュ メモリを従来のハード ドライブと統合したタイプのハードディスクです。ドライブ側の機能はATA -8 で標準化される予定です。ハイブリッド ハード ドライブが Windows Vista マシンにインストールされると、オペレーティングシステムはデバイス マネージャー内のドライブのデバイス プロパティの一部として新しい「NV キャッシュ」プロパティ タブを表示します。[ 9 ]
eWeekでは、ハイブリッド ドライブ専用のドライバがないため、この技術は十分に活用されておらず、代わりにデバイスメーカーにその作業を委ねていると報じられた。[10] しかし、マイクロソフトは、ハイブリッド システム用の専用ドライバを提供していないという指摘を否定した。[ 11 ]また、 2006年6月、David Morgenstern は eWeek に、ReadyDrive は速度とバッテリー節約のためにデータの整合性を犠牲にする可能性があると示唆する記事を書いた。[ 12 ]しかし、マイクロソフトのドキュメントでは、データのコピーは常にハードディスクに保持されるため、フラッシュ キャッシュが故障してもデータ損失の問題はないと主張している。[ 12 ] [ 13 ]
SuperFetchは、よく使用されるアプリケーションをメモリにプリロードしてロード時間を短縮するWindows サービスです。これは、 Windows XPの「プリフェッチャー」機能を拡張したものです。SuperFetch は、よく使用されるライブラリやアプリケーション コンポーネントを、必要になる前にページ キャッシュにロードしようとします。これは、アプリケーションの動作や使用パターン(ログオン後の朝に通常使用されるアプリケーションなど)を継続的に分析することによって行われます。[ 14 ]キャッシュ メモリは優先度が低いとマークされているため、他のプロセスがそのメモリを必要とする場合は、解放されます。
デフォルトでは必要なファイルはメインメモリにロードされますが、 ReadyBoostと呼ばれる機能を使用することで、Windows VistaとWindows 7はUSBフラッシュドライブなどの代替ストレージを利用してメインメモリを解放できます。ハードディスクはシーケンシャルデータ転送速度が速い場合がありますが、フラッシュドライブはランダムシーク時間が短いため、小さなファイルや非シーケンシャルI/Oの処理には高速です。
ReadyBootはSuperFetchを補完する機能で、コアブートプロセス(ドライバなど)のみを分析することでコンピュータの起動を高速化します。[ 15 ]
Windows 10では、SuperFetchはSysMainに名称変更されました。
オフライン ファイルは、 Windows 2000で導入された Windows の機能で、ネットワーク経由で共有されるファイルのクライアント側キャッシュを維持します。オフライン アクセス用にマークされた共有ファイルをローカルにキャッシュし、リモート ファイルへのネットワーク接続が中断されたときにキャッシュされたコピーを使用します。Windows Vista Business、Enterprise、および Ultimate エディションには、オフライン ファイルに対する大幅な改善が含まれています。Windows Vista 以降では、接続が復元されるたびに、キャッシュされたコピーへのすべてのオープン ファイル ハンドルが、キャッシュされたファイルの同期を待たずにリモート バージョンにリダイレクトされます。[ 16 ]このオンラインからオフラインへの移行とオフラインからオンラインへの移行は、ファイルを使用するクライアントには透過的です。ローカル コピーは、ファイルのいずれかのコピーで行われた変更を反映するために、リモート コピーと自動的に同期されます。ファイル キャッシュと同期アルゴリズムも、差分をより高速に検出するために完全に書き直されました。キャッシュされたコピーの変更をリモート バージョンに同期するときは、Bitmap Differential Transferプロトコルが使用され、キャッシュされたバージョンで変更されたブロックのみが転送されます。これにより、大きなファイルのキャッシュのサポートも向上します。[ 16 ]リモートコピーから変更を取得する場合、ファイル全体がダウンロードされます。
ファイルは共有ごとに同期され、ユーザーごとに暗号化されます。ユーザーはエクスプローラーの[オフライン/オンライン]ボタンを使用して、Windows をオフライン モードまたはオンライン モードで使用するように強制したり、同期センターから手動で同期したりできます。同期センターは、同期エラーを報告したり、同期の競合を解決したりすることもできます。任意のファイルまたはフォルダーのプロパティ ページには、[オフライン ファイル] タブがあり、ステータスが表示され、ファイルまたはフォルダーのオフライン ステータスを制御できます。さらに、単一のファイルが利用できない場合でも、同じ共有内の他のファイルや他の共有内のファイルは利用できます。これは、移行がサーバー レベルではなく共有レベルで行われるようになったためです。オフライン ファイルはグループ ポリシーで構成でき、 DFSとの相互運用性が向上します。また、包括的なオフライン ファイル管理 API がCOMオブジェクトを介して、スクリプト機能としてWMIを介して利用できます。
Windows Vista は、オンライン ファイルとフォルダーの「ゴースト化」もサポートしています。ユーザーがディレクトリから一部のファイルのみをオフラインで使用できるように設定した場合、Windows Vista は残りの使用できないアイテムのゴースト エントリを作成して、オンライン コンテキストを維持します。オフライン ファイルには、グループ ポリシーで有効にすると、常にローカル キャッシュから読み書きして、低速なネットワーク接続でのパフォーマンスを向上させるスロー リンク モードも備わっています。また、Windows Vista では、ローカル キャッシュの合計サイズの上限と、自動的にキャッシュされるファイルで使用される領域の別のサブ 上限を指定することもできます。手動でキャッシュされたファイルは、キャッシュの上限に達してもローカル キャッシュから削除されることはありません。
Windows XP では、高速ユーザー切り替えが有効になっている場合、オフライン ファイルを有効にできませんでした。これは、オフライン ファイルがログ オフ時に同期されるのに対し、高速ユーザー切り替えではユーザーを完全にログ オフしないためです。Windows Vista では、オフライン ファイルはログオンやオフラインからオンラインへの移行などの適切なタイミングでユーザーの同期を実行するWindows サービスとして実行されるため、この制限は適用されなくなりました。同期はバックグラウンドで継続的に行われるわけではなく、[ 17 ]ログ オフ時にも行われません。
トランザクションNTFS (略称TxF)は、アトミックトランザクションの概念をNTFSファイルシステムにもたらし、Windowsアプリケーション開発者が、完全に成功するか完全に失敗するかのどちらかが保証されたファイル出力ルーチンを作成できるようにします。トランザクションNTFSでは、ファイルやディレクトリの作成、名前変更、削除をアトミックに行うことができます。トランザクションを使用することで操作の正確性が保証されます。一連のファイル操作(トランザクションとして実行される)では、すべての操作が成功すれば操作がコミットされます。いずれかの操作が失敗した場合は、操作全体がロールバックされ、失敗します。
Microsoft Windowsの多くのコンポーネントが、シャドウコピーを利用するように更新されました。Windows Vista以降のバックアップと復元センターは、システム全体のバックアップを実行する際にブロックベースのバックアップを実行します。ファイルバックアップ機能もシャドウコピーを使用しますが、ファイルはZIPファイル内に保存されます。
Windows Vista以降、シャドウ コピーはシステム保護コンポーネントでも使用されるようになりました。このコンポーネントは、システムとユーザー データの定期的なコピーを同じローカル ボリューム上に作成および維持します (Windows Server の共有フォルダーのシャドウ コピー機能と同様)。ただし、システム復元によってローカルでアクセスできるようになります。システム復元では、復元ポイントと呼ばれる以前のシャドウ コピーのセット全体に戻すことができます。Windows Vista より前は、システム復元は特定のファイル拡張子の変更を監視し、上書きされる前にファイルをコピーするファイル ベースのフィルターに基づいていました。[ 18 ]
さらに、 「以前のバージョン」と呼ばれるプロパティシートシェル拡張機能を使用すると、スナップショット作成時の状態に復元ポイントから個々のファイルやフォルダをローカルに復元できるため、ファイルの以前のバージョンを取得したり、誤って削除したファイルを復元したりできます。
シャドウ コピーは、ファイルが変更されるたびに作成されるわけではありません。バックアップ コピーは、1 日に 1 回自動的に作成されるか、復元ポイントを作成するバックアップ ユーティリティまたはインストーラ アプリケーションによってトリガーされた場合に手動で作成されます。[ 19 ]「以前のバージョン」機能は、Windows Vista の Business、Enterprise、および Ultimateエディションで使用できます。[ 20 ]
Windows Vista では、最大 10 個のユーザー プロファイルサブ フォルダーをネットワーク ロケーションに個別にリダイレクトする機能が導入されました。 [ 21 ]また、Windows Vista には、Windows Vista、Windows XP、および Windows 2000 を実行しているクライアントのフォルダー リダイレクトを構成できる管理コンソールスナップインもあります。
Windows Vista Service Pack 1では、exFATファイルシステムのサポートが導入されました。