リネオブログ

Bash シェルが使えるようになった Windows 10

2016 年 06 月 24 日   Linux 技術ネタ

toolchain の議論を含めて興味深い話題なので少しコメント。

Cygwin 開発者の受け止め方としては、頓挫した以前の SFU (Service for UNIX) と同じ話という意見が主流な様だが、少し事情が異なるは、やはり Ubuntu 14.04 の x86_64 バイナリをそのまま apt-get 等で導入できる点が大きい。SFU と cygwin/mingw について述べるのとは多少次元の異なることではあるが、Linux とは違うバイナリを用意しなくてはいけないことがあり、これがインストーラの件を含めて、少なからず導入障壁になっていた。また、NTFS と Windows の API が、Linux 的な POSIX 仕様と動作やデフォルト状態に違いがあるということも大きな問題の一つで、これはこれでかなり根が深い。加えて、VirtualBox や VMware Player などの方が 主ストレージの VM を 複製・管理すれば良いう簡便さで、開発環境としては現時点で大きく有利だ。

それで、今回のトピックをポストした趣旨となるが、Ubuntu Bash に於ける fork() 関数の動きに着目している。過去 Windows では Linux 的な POSIX 仕様の fork() を実現することが中々できなかった。 改善はされてきているものの、これは Windows 8 に至っても細かい点が異なるのは同様で、今回の Ubuntu Bash が Windows10 からいうことになっているのも、真偽は定かではないが、それが背景の一つにあるのではという話しが出ていた。

これまで Windows での fork() の動きで問題になっている点は、mingw などの実装に見られるPIPEやファイルディスクリプタ(Windows ではファイルハンドル)の動作の差異なのだが、Linux で普通に動くオープンソースのツールの一部が、Windows ではそのまま動かないために修正が必要になる原因となっている。ただ、Windows10 になれば、この問題が解決ということにはなっていないのが実情なので(この辺りの Windows API 仕様が明確でないという事情があり、CygwinはUndocument な機能を使って実装しているという話しもあるようだ)、今回の Ubuntu Bash の実装がまだまだ不明なので、より使える情報が出てくることが期待されている。

Yocto Project 公式実践講座 7 月 ~ 9 月 開催分 受講お申込み受付中!
Yocto Project よもやま話
Yocto よもやま話 第 2 回「Yocto Project SUMMIT 2022/05」
Yocto よもやま話 第 2 回「Yocto Project SUMMIT 2022/05」

2022 年 06 月 20 日 Yocto Project よもやま話

新企画「Yocto Project よもやま話」の連載を始めます
新企画「Yocto Project よもやま話」の連載を始めます

2022 年 04 月 28 日 Yocto Project よもやま話

Linux 技術ネタ
イベントレポート
ET & IoT 2021 レポート
ET & IoT 2021 レポート

2021 年 12 月 01 日 イベントレポート

組込み総合技術展 Embedded Technology 2019 レポート
組込み総合技術展 Embedded Technology 2019 レポート

2019 年 12 月 13 日 イベントレポート

組込み総合技術展 関西 ETWest2019 レポート
組込み総合技術展 関西 ETWest2019 レポート

2019 年 06 月 20 日 イベントレポート

リクルート
新卒採用、絶賛募集中!
新卒採用、絶賛募集中!

2022 年 06 月 06 日 リクルート

違うズラ
違うズラ

2018 年 10 月 26 日 リクルート

信州で人生がかわる
信州で人生がかわる

2018 年 07 月 24 日 リクルート

北小野通信
入笠山ハイキング その 2
入笠山ハイキング その 2

2019 年 10 月 09 日 北小野通信

入笠山ハイキング その 1
入笠山ハイキング その 1

2019 年 10 月 09 日 北小野通信

氷の世界
氷の世界

2019 年 01 月 22 日 北小野通信

ソリューション統括部
シリコンバレー探検記 2019 ~番外編~
シリコンバレー探検記 2019 ~番外編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~後編~
シリコンバレー探検記 2019 ~後編~

2019 年 12 月 10 日 ソリューション統括部

シリコンバレー探検記 2019 ~前編~
シリコンバレー探検記 2019 ~前編~

2019 年 12 月 10 日 ソリューション統括部

マーケティング統括部
大成功決起大会!!(ET2019)
大成功決起大会!!(ET2019)

2019 年 12 月 13 日 マーケティング統括部

ESEC 2019 決起大会
ESEC 2019 決起大会

2019 年 04 月 25 日 マーケティング統括部

シリコンバレー探検記 その 2
シリコンバレー探検記 その 2

2018 年 12 月 18 日 マーケティング統括部