
Windows 10 Insider Preview、AF_UNIXソケットによるWSLアプリとWin32アプリの相互通信が可能に 60
相互 部門より
Windows 10 Insider Preview ビルド17093では、Win32アプリとWSLアプリがAF_UNIXソケット(UNIXドメインソケット)によって相互に通信できるようになった。VcXsrvが対応すれば、TCPソケットを使わずにXクライアントを動かせるようになるかもしれない(Windows Command Line Tools For Developersの記事、 Windows Subsystem for Linuxリリースノート)。
なお、AF_UNIXソケット自体はビルド17063からWin32アプリで使えるようになっていたが、その時点ではWSLアプリのAF_UNIXソケットと互換性がなく、Win32アプリ同士でしか通信できなかった。
ビルド17093のWSL関連では、NTFSにディレクトリ単位でファイル名の大文字小文字を区別するフラグが追加されており、Windowsアプリケーションが大文字と小文字を区別してファイルを開けるようになっている。フラグを変更する手段は現在のところ用意されていないようだが、Bashで新たに作成したディレクトリではWindows側から大文字小文字のみ異なる同名ファイルを作成可能で、それぞれを区別して開くことも可能だった。このほか、ビルド17083に追加されていた診断データの閲覧機能に加え、ビルド17093では診断データの削除機能も利用できるようになった。また、Windows 10 SではMicrosoft Authenticatorアプリをインストールしたモバイルデバイスとの組み合わせにより、パスワードを入力することなく使用できるようになるなど、さまざまな新機能が追加されている。
生み出される新たな地獄 (スコア:2)
WSLの何かに依存しているか、GNU/LinuxではなくWSL上で動いていることをわざわざ確認するようになっていて、WSLをインストールした特定のバージョン範囲のWindows 10でしか動かないツールが生まれてしまう……
Re: (スコア:0)
バカじゃねーの
Re: (スコア:0)
これがバイナリ脳か。
Re: (スコア:0)
そんなのWSLどころか新バージョンのWindows出るたびにそういう話になるし、そもそもWindowsに限った話じゃねえよってなるわ
Re: (スコア:0)
Wineの何かに依存しているか、WindowsではなくWine上で動いていることをわざわざ確認するようになっていて、Wineをインストールした特定のバージョン範囲の*nixでしか動かないツールは生まれましたか?
Re: (スコア:0)
Wineか。
LinuxでWine上にIEの4、5、6(5、5.5、6とかかも)をインストールしてIEの各バージョンの動作確認をできるようにするツールがあって、これWindows使うより便利じゃないか?と思ったことならあったよ。
そのツールをWindowsで試したがことないから、Wineかどうか確認してたかどうかはわからないけど。
UbuntuやSuseなどがWSL上で依存のツールを作るかどうかは、なさそうだけど、OpenstackみたいなのとかWinRMとかでワンチャンあるかもね。
Re: (スコア:0)
MS公式でもっと多機能なソフトがあるから、別に便利じゃないんだけどね
そういうWindowsで動かす必要のないWine専用ソフトなら、Wineかどうか見ているのもあるんじゃないの
Re: (スコア:0)
そうですか。
多機能なソフトはありそうなものですが、私の知識では何の事をおっしゃっているのかわかりません。
Re: (スコア:0)
> MS公式でもっと多機能なソフト
これって何の話?
各バージョンのIE入れれるなら今でも便利なんですけど・・・
Re: (スコア:0)
CLR4の何かに依存しているか、CLR2ではなくCLR4上で動いていることをわざわざ確認するようになっていて、CLR4をインストールした特定のバージョン範囲のWindows 10でしか動かないツールが生まれてしまう……
Re: (スコア:0)
特定のバージョン範囲のWindowsでしか動かないツールなんて既に山のように存在してるじゃん
Re: (スコア:0)
釣りに二匹も引っかかってて香ばしいです。
Re: (スコア:0)
そんなの今更心配することではないでしょう。WSL内からWin32プロセスを起動してみるとか、/mnt/c/Windows/System32の存在を調べるとか、やりようはいくらでもあることですし。
Win10には、どこまで発展の余地が残されているのだろうか (スコア:0)
既に限界なのか、まだまだ発展の余地があるのか。
10に発展の余地があるのなら、Vista78等の旧バージョンはどうだったのだろうか。
まあVistaと特に8は、切り捨てられるべきマーケティング上の大失敗だったのだが。
Re: (スコア:0)
Vistaを改良/発展させたものが7で、7を改良/発展させたものが8、、、
なのだけど、別物だと思ってる?
Re: (スコア:0)
Vistaから7になるときにカーネルを劇的に軽量化した上でモジュール化をすすめたそうです。
7から8になるときにサーバ版とデスクトップ版でカーネルの共通化を実現したそうです。
10のワンコア戦略は一朝一夕に実現したわけではないと。
大体発展させたものって発展の程度次第で別物になるんだけどね。
こうやって相互通信が可能になってくると奴はやってくる (スコア:0)
パッパカパッパッパーッパッパー
まるうえあー
Re:こうやって相互通信が可能になってくると奴はやってくる (スコア:1)
アナルファック_UNIX
そんな事よりファイルI/Oは (スコア:0)
少しは速くなったの?
Re: (スコア:0)
ファイルI/Oは十分早いでしょ。
NTFSのディレクトリトラバースが絶望的に遅いだけで。
Re: (スコア:0)
そこを分けて考える事の意義がさっぱりわからないんですが。
Re: (スコア:0)
いつ私がプログラマだと自己紹介しました?
Re: (スコア:0)
分類、分析が必要無い場面を想定できない人なんですね。
了解しました。
Re: (スコア:0)
#3360086のコメントをするには必要な能力だと思うけどなあ
Re: (スコア:0)
ディレクトリ単位のcase sensitiveフラグとか追加したくらいだからむしろ遅くなったんじゃね?
(ごく初期を除いて)Cygwinより遅いというのはさすがに草も生えないからマジでなんとかしてくれ
シェルのパイプってなにものなの (スコア:0)
あれはUNIXソケットやWindowsでいう名前付きパイプとは違う概念なんだよね…?標準入力と標準出力繋いでるだけの簡単なものと思ってたのに何でWindowsとUNIXで振る舞いが全然違うんだろう
Re:シェルのパイプってなにものなの (スコア:1)
シェルのパイプと同じものはpipe(2) [linuxjm.osdn.jp]で作れて、pipe(7) [linuxjm.osdn.jp]によれば、パイプと名前付きパイプで入出力動作は同じものと書かれている。
Windowsのcmd.exeのパイプは、CreatePipe関数で作る匿名パイプだろう。Windowsのも名前付きパイプとの違いはない。Anonymous Pipe Operations [microsoft.com]に匿名パイプとはユニークな名前の名前付きパイプで実装されていると書かれている。
さて、前半の問いにはこれで回答できたと思うけど、後半の問い(WindowsとUnix)の違いはなんだろう?違いが現れる例を逆に教えてほしい。もちろん、散々指摘されているように、cmd.exeはちゃんとパイプの両側のプロセスが同時に動くからね、それ以外で頼む。
Re:シェルのパイプってなにものなの (スコア:1)
「Windowsの」がWindowsのコマンドプロンプトのことなら、昔はMS-DOS時代のしがらみで一時ファイル作って逐次実行してたけど、NT系のcmd.exeは同時実行するよ。
ping -t localhost | findstr ms とか実行してみれば確認できるはず。
Re: (スコア:0)
Windows の名前付きパイプってそんなに不便なものなの?
UNIX にも名前付きパイプがあって、mkfifo で作れるわけだけど、GNU 版 diff だと、二つのファイルのどちらも fifo にすることができて、
てなことをして、でっかい一時ファイルを作らずに済ませたものだ。
Re: (スコア:0)
シェルのパイプは「一時ファイルをつくっているような動作で前のものが完了しないと次に進まない」だけど
Windows の名前付きパイプは全くの別物だ。
シェルは動作の互換性で旧来の方式を使ってるだけかと。
Re: (スコア:0)
その例、bashやzshを使っているなら、プロセス置換使えば1行で書けて便利です。これも内部ではmkfifoが使われています(ls -l <(echo)すれば分かる)。
Re: (スコア:0, フレームのもと)
>一時ファイルをつくっているような動作で前のものが完了しないと次に進まない
そんなうんこな実装してんのMS-DOSとWindows 9xだけですが
老害の知識で語るなよ
Re: (スコア:0)
MS-DOS時代から頭の中身がまったく進歩していない老害の見本
こういった地味な機能向上のほうが余程好ましい (スコア:0)
スグに完璧なものが出来るとは思ってないけどさ、どうせアップデートするなら、こうした地味な取り組みをした方が余程良い。
パット見で新しさを強調するために、UIの見てくれや追加のゲームとかに労力割きすぎなんだと思う。
Re: (スコア:0)
>パット見で新しさを強調するために、UIの見てくれや追加のゲームとかに労力割きすぎ
そりゃ、あんたがそういう所しか見てないってだけでしょ
名前が分らない (スコア:0)
> NTFSにディレクトリ単位でファイル名の大文字小文字を区別するフラグが追加されており、Windowsアプリケーションが大文字と小文字を区別してファイルを開けるようになっている。
パスの先頭に付けるアレ(名前が分らない)でモードを切り替えるようにするんじゃないかと予想。
Re: (スコア:0)
何のためのフラグだよ
大文字と小文字を区別してファイルを開ける (スコア:0)
>ビルド17093のWSL関連では、NTFSにディレクトリ単位でファイル名の大文字小文字を区別するフラグが追加されており、Windowsアプリケーションが大文字と小文字を区別してファイルを開けるようになっている。
これほんと?WSL 内では昔からできるけど、たとえば NotePad が大文字と小文字を区別できる?
まだできないよ (スコア:0)
フラグが追加されただけ。対応アプリが出るかどうかも、office 等 MS の製品だけで無く、OS 付属のアプリが case-sensitive モードをサポートするか、なにもまだ発表はない。
多分、対応しないんじゃないかな。となんとなく思う。
Re: (スコア:0)
Linuxアプリとファイルで連携可能にする為の土台であって、Windows系アプリが対応する事は無いかと。
.log、.Log、.LOG等々
で使い分けるような奴に対応するのに必要だから入れるだけで。
winsock 扱いでselectが呼べるようになる? (スコア:0)
windowsの名前付きパイプとかファイルハンドルに対してselectが呼べなくて
WinでだけWaitSingleObjectで特殊な実装しなきゃならなくてだるいんだけど
Re: (スコア:0)
そういう変更点は今のところ聞かないね。そういうクロスプラットフォームで非同期IOやりたかったら、libuvとか専門のライブラリ使ったほうがいいんじゃないかな。
Re:独自カーネル、マイクロソフトはやめちゃう? (スコア:2)
GoogleがFuchsiaなんか作ってるところを見るに、独自カーネルは一種の核兵器な気もしますけどね。捨てるならカーネルよりユーザランドでしょう。
Re: (スコア:0)
一種の核兵器ってのが何を意味するのかイマイチ理解できないのだがおそらく北の将軍様がやっているような渡りきれば強大な力が手に入るなんかだと解釈した。
その上で一種の核兵器ってのが何を考えてみた。結論としてはカーネルやユーザランドやGUIではなく独自開発が一種の核兵器ってやつに該当するのではないかと思う。
まあ結局は何を求めるかでしょうね。グーグルくらいの企業なら全部自前でもいいし実際マイクロソフトとアップルはそんな感じ。
なんとなくワンウィンドウズ的なことをグーグルもやりたいのかなとは思う。ナニはなくとも弾(金)はあるし。
Re:独自カーネル、マイクロソフトはやめちゃう? (スコア:2)
使いもしない自慢のゴミは、人目につかない場所に捨てておけって事かなって。
Re: (スコア:0)
UNIXは今となっては規格なんで準拠することはできてもベースにすることはできません。
第一オリジナルのUNIXは古すぎる。
Re:独自カーネル、マイクロソフトはやめちゃう? (スコア:3)
UNIXは今となっては規格なんで準拠することはできてもベースにすることはできません。
第一オリジナルのUNIXは古すぎる。
そもそも Windows Subsystem for Linux の話なのに UNIX を出されても。元のコメントも「LinuxまたはUNIXベースになるのかな?」ですし。
クライアントはともかくサーバ・クラウド分野で戦っていくには Linux 互換(もしくはソース互換)を導入していくのは手としてはありだと思います。OS X のように「MS-Office の使える UNIX」を目指しているのではなさそう。
Re: (スコア:0)
AF_UNIXなんだかわかってる?
プロセス間通信のプロトコルの名前だよ?それも、ローカルだけの通信だから明確に決まってるわけじゃない。
なんで独自カーネルが限界とかいう単語がでてくるの。
ちょっと意味がよくわからないけど (スコア:0)
まず限界って何ってとこからかな。
Re: (スコア:0)
ごめんなさい。