Coreから、WindowsのみならずmacOSとLinuxもサポート対象に加えるようになった。Coreが利用しているコア技術がオープンソース化され、さらにその技術がmacOSとLinuxをサポートしているために実現できたことだった。WindowsもmacOSもLinuxも大体似たような機能を提供しているのでこうしたことが可能になるわけだが、それでも超えられない部分がいくつかある。その1つが、ファイルシステムだ。ファイルシステムが提供する基本的な機能はどのOSも同じなのだが、ファイルシステムのアクセス保護やリソース保護のアプローチがWindowsとUNIX系ではかなり異なっているため、この部分を双方に対応したものにするのには苦労する。WindowsでLinuxバイナリを実行する機能であるWSLの最初の実装系となるバージョン1はレイヤ技術を採用しており、Linuxが使用するファイルシステムとしてWindowsのファイルシステムを利用している。Linuxから利用できるように専用のドライバを噛ませており、Linuxバイナリからファイルシステムへのアクセスが発生した段階でドライバを経由してWindowsのファイルシステムを利用する仕組みを採用している。したレイヤ技術は、UNIX系のOSでは比較的利用されていることが多い。Windowsの場合、ファイルシステムのリソース保護の概念がUNIX系のファイルシステムと異なっているため、どうにもうまくなじみきれなかった。動作するには動作するのだが、Windows側の保護機構のなかでLinux側の保護機構がさらに動作するような状態になるため、動作は遅くなり、そして仕組みもわかりづらくなっている。Microsoftはこうした問題を解消するため、次のバージョンとなるWSL2では仮想化技術であるHyper-Vを使った実装に変更している。Coreでも起こっていた。PowerShellがもともとWindowsプラットフォームで開発されているためか、UNIX系ファイルシステムのアクセス保護/リソース保護の情報がうまく扱われていなかった。(Get-ChildItem)でLinuxのファイルやディレクトリの情報を表示させると、Windows風のファイルシステム情報が表示されてしまう。これはLinuxやmacOS側からするとマイナスポイントだろう。肝心の保護情報が抜け落ちてしまっており、管理向けのシェルとして使うには大きな問題だと言える。7をLinuxやmacOSで活用する上ではなくてはならない改善となっている。5での動作を確認してみよう。LTSで動作を確認している。5でlsコマンドをオプション「-l」付きで実行すると、次のような出力が得られる。LTSが用意しているlsコマンドの実行結果なので、Linuxネイティブなコマンドの実行結果だ。ファイル保護機能であるパーミッション情報、そのユーザーとグループ情報などが表示されていることが確認できる。(Get-ChildItemコマンドレット)を実行すると、次のような出力結果が得られる。5でdirの実行結果Linuxでのパーミッション情報に相当する部分が「Mode」に表示されているのだが、多くの情報が落ちてしまっていることがわかる。ユーザやグループのデータも抜けているし、ディレクトリに至ってはサイズ情報も表示されていない。Windowsでdirを実行したときのような出力まで出力結果が削減されてしまっていることがわかる。Windowsを使っているユーザーがLinuxやmacOSでこの出力を得た場合には特に問題ないかもしれないが、普段macOSやLinuxを使っているユーザーがこの出力しか得られないということになると、かなり問題だ。OSを切り分けてdirとlsで処理を書くということもできるが、できればGet-ChildItemを使ってどのプラットフォームでも動くようにスクリプトを書きたい。このままではLinuxやmacOSでの動作を大雑把なものにする必要がある。6で動作を確認してみよう。6当然だが、lsコマンドの実行結果は先ほどと同じになる。(Get-ChildItemコマンドレット)を実行すると、次のような出力結果が得られる。表示される情報が増えている点に注目したい。Group」と大きく変わった点にある。Modeと違い、UnixModeにはユーザー・グループ・その他のすべてのパーミッション情報が含まれている。ユーザーとグループの情報も表示されているし、UNIX的な出力になった。ディレクトリのサイズも表示されるようになった点にも注目だ。UNIX系OSではディレクトリにもサイズが表示されることが多い(ベースとなっているUFSではディレクトもファイルでありサイズがあるため)。-l」と同じレベルのデータが表示されるようになった。小さな変化ではあるのだが、LinuxやmacOSで使っていくためには必須の改善が取り込まれたといえる。今後さらに対応が進むかもしれないファイルシステムにおける保護機構はOSごとに異なっている。UNIX系のOSは保護ドメインと言われる仕組みがベースにあることが多く、これにファイルシステムごとに拡張機能があったり、アクセス制御リスト、またはまったく異なるセキュリティ機能でアクセス制御機能が提供されていたりする。Windowsのファイル保護機能はこうしたUNIX系OSとは異なっている。最初から複数のユーザーが利用することを前提としたUNIX系のOSと、ユーザーが1人で使用するOSとして出発しているWindowsとでは、ファイルシステムに求められる前提が異なっているためだ。読み書きといった最低限の機能は大体同じなのだが、そもそものアクセス保護の概念が異なっているので、なかなか同じように扱えるようにするのは難しいのだ。7から制御できるようになる可能性がある。今後のバージョンでこういった機能がどこまで取り込まれてくるのか、今後も注目していきたい。本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。人気記事をお届けしますダウンロードBOXに入れる記事をダウンロードBOXに追加します。よろしいですか?ブックマーク記事をブックマークに追加します。Corporation。