Windowsはかつて「POSIXサブシステム」を備え、UNIX互換のファイルシステムと実行環境を提供していました。POSIXサブシステムは現在のWindowsにはもうありませんが、「Linux用Windowsサブシステム(WSL)」の登場で、POSIXサポートが復活というか、さらに強化されています。その1つが、「POSIX方式(スタイル)の削除」のサポートです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「POSIX(Portable Operating System Interface)」は、オペレーティングシステム(OS)の標準的なインタフェースと環境を定義するIEEE規格です。ソースコードレベルで移植性の高いアプリケーション開発を可能にするため、主にUNIX系OSに採用されました。
現在のWindowsの源流である「Windows NT」は、POSIX(IEEE 1003.1)準拠のOSとして開発され、当初は「POSIXサブシステム」というサブシステムと「Services for UNIX(SFU)」というUNIXとの互換性機能を備えていました。また、「NTFS」ファイルシステムには、POSIXサポートのために、大文字と小文字を区別するファイル名とディレクトリ名、ファイルやディレクトリのパーミッション、ハードリンクなどの機能が実装されました。
その後、POSIXサブシステムは廃止され、「UNIXベースアプリケーション用サブシステム(Subsystem for UNIX-Based Application、SUA)」に置き換わりましたが、「Windows 8.1」と「Windows Server 2012 R2」からは削除されました。WindowsにおけるPOSIXサポートはここでひとまず中断しましたが、その成果は「Windows 10」に導入された「Linux用Windowsサブシステム(Windows Subsystem for Linux、WSL)」(バージョン1709から一般提供開始、WSL2はバージョン1903以降)に引き継がれています。
WindowsとPOSIXの関係について、いろいろはしょって説明しましたが、要はWindowsにおけるPOSIXサポートは続いており、WindowsとWSL/WSL2のLinuxシェルのファイルシステム間で相互にファイルをやりとりできるようになったいま、POSIXサポートはさらに強化されているということです。
Windows 10 Fall Creators Update(バージョン1709、RS3)では、NTFSボリュームの新機能として「POSIXスタイル(POSIXセマンティクス)の削除」がサポートされました。「FSUTIL」コマンドの日本語版における出力結果には「POSIXスタイルのリンク解除と名前変更をサポート」と表示されますが、「POSIXスタイルのunlinkとrenameのサポート」です(画面1)。
Windowsでは、あるアプリケーションは別のアプリケーションによって排他的に(ファイルハンドルが)開かれているファイルを、たとえ共有モードで削除が許可されている場合でも、それを即座に削除することができません。
Copyright © ITmedia, Inc. All Rights Reserved.