Upload
fd0-fujimura
View
4.834
Download
5
Embed Size (px)
Citation preview
Cygwin 1.7 の紹介
id:fd0天下イヒ仮想化技術大会#1
@IT Frontier2009-09-29
2009-09-29 Cygwin 1.7 について 2
Are you using Cygwin?
別に coLinux とかVMware を使えば事足りるだろ JK
2009-09-29 Cygwin 1.7 について 3
What's Cygwin?
● http://www.cygwin.com/● Windows のための Linux ライクな環境
– Linux (&POSIX) API emulation DLL– Linux look&feel tools (cyg*.exe)
● 現在は 1.7 へ向けてβテストナウ– 1.5 は既にメンテナンスリリースのみ
2009-09-29 Cygwin 1.7 について 4
Notice!
● 本資料は公式ページから自分で理解できる範囲の情報を抽出したものです。
– What's new and what changed in Cygwin 1.7
● そのため誤解している箇所があるかもしれません。m(_ _)m
● あくまで私的和訳のみであるため、実機での確認は一部しかできておりません。
– 誰も知らなかった Cygwin 1.7 - BOOLEANLABEL
2009-09-29 Cygwin 1.7 について 5
Cygwin 1.7 features & changes
● OS● File Access● Network● Device● POSIX● Security● Misc
2009-09-29 Cygwin 1.7 について 6
Cygwin 1.7 features & changes
● OS● File Access● Network● Device● POSIX● Security● Misc
2009-09-29 Cygwin 1.7 について 7
OS
● Windows 95, 98, Me はサポートしない
2009-09-29 Cygwin 1.7 について 8
OS
● Windows 95, 98, Me はサポートしない
2009-09-29 Cygwin 1.7 について 9
OS
● Windows 95, 98, Me はサポートしない
2009-09-29 Cygwin 1.7 について 10
OS
● Windows 95, 98, Me はサポートしない
UNSUPPORTED
2009-09-29 Cygwin 1.7 について 11
Cygwin 1.7 features & changes
● OS● File Access● Network● Device● POSIX● Security● Misc
2009-09-29 Cygwin 1.7 について 12
File Access (1)
● マウントにレジストリを使用しない– /etc/fstab, /etc/fstab.d/{$USER}– /, /usr/bin, /use/lib は自動
● ファイル名に UTF-8 が使用可能– 大文字小文字も区別できる
● ファイル名に以下のものが使用可能– DOS 特殊文字, デバイスファイル
● PATH_MAX = 4096
2009-09-29 Cygwin 1.7 について 13
File Access (2)
● 構造体 dirent にメンバ d_type 追加● 環境変数 CYGWIN
– ntsec → acl/noacl (mount option)– ntea → removed– check_case → removed
● unlink(2), rmdir(2) の改善● 構造体 stat にメンバ st_birthtim 追加● アトミックな O_APPEND モード
2009-09-29 Cygwin 1.7 について 14
File Access (3)
● ファイルロックは互いに独立– lockf(2) (POSIX)– flock(2) (BSD)
● シンボリックリンクは UTF-16 – 古い形式を認識できるが互換性なし
● NFS 共有の認識で正しく動作– stat(2), open(2), mkdir(2), chmod(2)
2009-09-29 Cygwin 1.7 について 15
File Access (4)
● API 追加– Linux 拡張属性 ([fl]{getxattr, ...)– Win32 ↔ POSIX パス変換
(cygwin_conv_path, ...)– openat 関連 (openat, faccessat, ...)– その他 (posix_fadvise,
posix_fallocate, funopen, ...)
2009-09-29 Cygwin 1.7 について 16
Cygwin 1.7 features & changes
● OS● File Access● Network● Device● POSIX● Security● Misc
2009-09-29 Cygwin 1.7 について 17
Network (1)
● スレッド/プロセス間でソケット共有可能● IPv6 をサポート
– IPv4 のための代替関数もある– WinSock を使用
● マルチキャスト– netinet/in.h に構造体を定義
● デバイスへの低レベルアクセス–物理 I/F のフラグもサポート
2009-09-29 Cygwin 1.7 について 18
Network (2)
● API 追加– ソケット (binresvport, etc...)– インタフェース (if_nameindex, etc...)
● /proc/net/if_inet6 追加
2009-09-29 Cygwin 1.7 について 19
Cygwin 1.7 features & changes
● OS● File Access● Network● Device● POSIX● Security● Misc
2009-09-29 Cygwin 1.7 について 20
Device (1)
● パイプ再実装– Windows native 名前付きパイプを利用
● 環境変数 CYGWIN– binmode → removed
● コンソール– UTF-8 が使用可能– Linux コンソールおよび xterm 互換
2009-09-29 Cygwin 1.7 について 21
Device (2)
● /dev 追加– シリアルインタフェース (/dev/ttyS*)– raw ディスク (/dev/sda, etc...)
● API 追加
2009-09-29 Cygwin 1.7 について 22
Cygwin 1.7 features & changes
● OS● File Access● Network● Device● POSIX● Security● Misc
2009-09-29 Cygwin 1.7 について 23
POSIX (1)
● setlocale() での文字集合対応– 環境変数 LANG にあらかじめ設定で OK–今は「文字コード」だけが有効–「言語/領土」は POSIX 互換のため
● スレッド毎の並行読み出しロック● pthread_kill(thread, 0) をサポート
–エラーチェックはするがシグナル未送信
2009-09-29 Cygwin 1.7 について 24
POSIX (2)
● strings.h から string.h を分離● API 追加
– 名前付きセマフォ (sem_*)– メッセージキュー (mq_*)– 共有メモリ (shm_*)– その他 (_Exit, etc...)
2009-09-29 Cygwin 1.7 について 25
Cygwin 1.7 features & changes
● OS● File Access● Network● Device● POSIX● Security● Misc
2009-09-29 Cygwin 1.7 について 26
Security (1)
● LSA 認証パッケージ● レジストリ隠し領域にパスワード格納● mkpasswd, mkgroup 仕様変更
–操作の一貫性を維持しやすく
2009-09-29 Cygwin 1.7 について 27
Cygwin 1.7 features & changes
● OS● File Access● Network● Device● POSIX● Security● Misc
2009-09-29 Cygwin 1.7 について 28
Misc (1)
● ldd 追加● lib{dl,resolv,rt}.a 追加● 長いパス名の切り捨て● DOS パス初回使用時に警告
– CYGWIN=nodosfilewarning● 環境変数領域サイズ制限撤廃● 環境変数を強制的に大文字に変更しない
– CYGWIN=upcaseenv
2009-09-29 Cygwin 1.7 について 29
Misc (2)
● プロセス起動時の DLL チェック● /proc/registry{32,64}● /proc/cpuinfo を Linux 互換● /proc/${PID}/mounts 追加
– /proc/mounts → /proc/self/mounts● strstr, memmem 最適化● 古いシグナルマスクの下位互換性排除
2009-09-29 Cygwin 1.7 について 30
個人的にうれしいところ
● API 大幅追加で移植の幅が広がりんぐ– dirent.d_type, getaddrinfo(3) は待望
2009-09-29 Cygwin 1.7 について 31
ご清聴ありがとうございました