オープンソースのDarwin は Mac OS Xに何をもたらすのか

Slides:



Advertisements
Similar presentations
© 2007 Autodesk1 ProjectPoint API 概要 AEC ソリューション CPM オートデスク株式会社.
Advertisements

TestLink紹介 オープンソースで日本語対応のテスト管理ツール TestLink の紹介. TestLink の概要 フリーで WEB ベースのテスト管理シス テム フリーで WEB ベースのテスト管理シス テム 直観的で使いやすい 直観的で使いやすい 「 TEF 有志による TestLink.
エンジニアから見る Mac OS X. Mac のイメージ お洒落、かっこいいマシン デザイナーさんが使うマシン DTP に強いマシン 実は、 Developer のためにある!・・・は ず.
MOSA プログラミングセミナー Mac OS X プログラミング 事始め 新居雅行( MOSA 理事) 2002/4/28.
2002/2/8 ASUG Conference in PAGE 2002 Mac OS X 開発環境と AppleScript MDOnline 編集長 新居雅行.
RitsPen 2.0 起動方法 CentOS を 例にして. CentOS を起動した状態 RitsPen がインストールしておく.デスクトップに ritspen というフォルダがあるはず.
BBT 大学 Ruby on Rails 開発環境セットアップマニュアル Mac 版 1.1 最終更新日: 2013/1/5.
講師 松本 章代. 携帯電話のプラットフォーム オープンプラットフォーム Android のアーキテクチャ LiMo のアーキテクチャ 携帯電話用 OS 携帯電話用の自作アプリ事情 2009/11/142.
Processing + WiiRemote
Firebird ユニバーサル オープンソース データベース
OpenOffice.org の独自コンパイル
Macユーザーの方:データ転送 ターミナル使用.
Unix生活 Vol.1
NetBSD以外でpkgsrcを使うZoularis
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
[グループ名]向けウェブナー [所属機関名] [日付] [発表者の氏名] [発表者の敬称/肩書]
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
オレポータビリティ 日本Rubyの会 青木 峰郎.
UNIX Life KMSF M2 saburo.
翻訳サポートメモ – Developerじゃないと理解できない内容とかあります。 木谷公哉(KITANI
VO講習会2013春 VOツール使用法(1) TOPCAT 国立天文台 天文データセンター 小宮 悠.
沖縄インターネット協議会 瑞慶覧辰 Linuxの紹介 沖縄インターネット協議会 瑞慶覧辰
情報技術と著作権.
「絵葉書を通じてのハルビンの 街の印象調査」システムUIの iPadアプリ化 谷研究室  飯 祐貴.
Mavenによる プロジェクト管理 近畿大学理工学部 情報学科3年  小野実.
アプリケーションのインストール 8. アプリケーションのインストール 水野嘉明
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
バックドア(rootkit&rootshell) vs Tripwire
VO講習会 2015如月 (2015年2月26-27日、国立天文台三鷹)
情報 第一回: 練習課題 第一回 田浦健次朗 2010/4/9.
ソースコード品質概論 なぜソースの品質を追求するのか
Phenixサーバ クラックまとめ.
Piggy Bank: Experience the Semantic Web Inside Your Web Browser
まずオープンソース開発者に対する支援から!
Javaのインストール手順 For Mac users
文字化けの背景を知る.
L A T E X B o x Ver Manual 2010 Tanaka.
Full Text Finder Publication Finder の概要
インターネット活用法 ~ブラウザ編~ 09016 上野喬.
HTTPプロトコルとJSP (1) データベース論 第3回.
Curlの仕組み.
2009/5/22 けーちゃん カンタン  Wikiで情報共有 あいさつ 2009/5/22 けーちゃん
TA 高田正法 B10 CPUを作る 2日目 SPIMのコンパイル TA 高田正法
Cygwin の install.
サーバー立ち上げ記 2009/5/23
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
第8章 Web技術とセキュリティ   岡本 好未.
FreeBSDインストール 2002年4月10日.
映像配信サーバ入門 金山典世 稚内北星学園大学情報メディア学部
Javaソースコード蓄積・ 検索システムSPARS-Jの概要
Gmsh, Elmer, Garfield++のInstall
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
オペレーティングシステム イントロダクション
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
WinSCPのインストール方法
7-0.SWORD Client for WEKO インストールマニュアル Version 2.2
同志社大学工学研究科 知的システムデザイン研究室 修士2年 中尾昌広
高度プログラミング演習 (01).
複数のリポジトリを統合できる バージョン管理システムの提案と試作
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Webインテリジェンス論 Protégé演習 (インストール)
ネットワーク・プログラミング Linuxシステムとソフトウェア開発.
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
関数の変更履歴と呼び出し関係に 基づいた開発履歴理解支援システム
オープンソースソフトウェア開発に見る SCM中心型ソフトウェア開発
7-Zipのインストール (Windows 10)
Presentation transcript:

オープンソースのDarwin は Mac OS Xに何をもたらすのか

今日話すこと Darwin とは何か? Darwin の入手方法 Darwin があると、どうメリットがあるのか

Darwin とは? Mac OS X の基盤部分 APSL というライセンスに基づいたオープンソースのOS

Darwin とは? Darwinに含まれるもの カーネル 基本ライブラリ コマンドラインツール CoreService ( の一部 ) Mach BSD UNIX IOKit 基本ライブラリ LibC OpenSSL, zlib コマンドラインツール ls, cat, tcpdump GCC, bison, flex... CoreService ( の一部 ) CoreFounation OpenDirectory Rendezvous アプリケーション Finder OS X 独自 Aqua Classic Cabon Cocoa CoreServices コマンドライン ツール ライブラリ Darwin カーネル Darwin BSD IOKit Machカーネル

Darwin とは? その気になれば、こういう事も、一応、可能 アプリケーション GNOME KDE Gtk + Qt XLib ライブラリ コマンドライン ツール ライブラリ Darwin カーネル BSD IOKit Machカーネル

Darwin の入手方法 Apple Developer Connection からダウンロード Open Darwin 等からダウンロード Apple ID の入手 Apple Developer Connection .Mac AppleStore iTunes Music Store APSL の承認 Open Darwin 等からダウンロード http://www.oopendarwin.org http://www.gnu-darwin.org etc...

Darwin と OpenDarwin OpenDarwin.org Appleの配布物をベースに独自のOSとしてメンテナンス、リリースを 行うコミュニティ ISCや Apple が出資しているが、それら組織から独立性を保っている インストール可能なDarwin の CDやフルセットのCVSツリーを提供 Darwin として便利なツールの提供 DarwinPorts rync_hfs darwine Apple の Darwin に比べバージョンが少々古い Apple Darwin : 7.5.5 ( Mac OS X 10.3.5 ) Open Darwin : 7.2.1 ( AppleDarwin 7.2 ベース )

Apple Developer Connection からの Darwin の取得 Web ベースのソース閲覧 tarball によるソースのダウンロード ともに全てのソースにアクセス出来る 履歴を追っかけにくい CVS でのソースのダウンロード SSH (APSLライセンスのもの) pserver (それ以外のもの) 履歴が追いかけやすい 全てのソースがある訳ではない 基本的にバイナリ配布はない たまにインストールCDが配布される事がある

Demo - download

ソースのコンパイル方法 Xcode でビルド make

Demo - build

Darwin の利点 (一部とはいえ) Mac OS X のソースコードが手に入る ソースを見る自由 ソースを直す自由

ソースが手にはいると何が嬉しいか? 挙動を調べる事ができる OS X のバグを直す事ができる!! Apple へ具体的な形でバグを示唆することができる Mac OS X がよりよくなる OS そのものの改善 よりよい 3rd party のソフトウェアの開発促進

Demo - mount_webdav

Demo - mount_webdav (1) /* Either way, decoded_dir_ref contains a full uri, utf8_decoded * now lets get past the prefix for the uri we will put in the inode * cache */ cache_uri = &decoded_dir_ref[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = &cache_uri[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = strchr(after_dir_ref_hostname, '/');

Demo - mount_webdav (2) http://water.local/dir01/subfolder/ /* Either way, decoded_dir_ref contains a full uri, utf8_decoded * now lets get past the prefix for the uri we will put in the inode * cache */ cache_uri = &decoded_dir_ref[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = &cache_uri[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = strchr(after_dir_ref_hostname, '/'); #define _WEBDAVPREFIX “http://” strlen(_WEBDAVPREFIX) == 7 7文字スキップ cache_uri http://water.local/dir01/subfolder/ http://water/dir01/subfolder/

after_dir_ref_hostname Demo - mount_webdav (3) /* Either way, decoded_dir_ref contains a full uri, utf8_decoded * now lets get past the prefix for the uri we will put in the inode * cache */ cache_uri = &decoded_dir_ref[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = &cache_uri[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = strchr(after_dir_ref_hostname, '/'); #define _WEBDAVPREFIX “http://” strlen(_WEBDAVPREFIX) == 7 cache_uri 7文字スキップ after_dir_ref_hostname http://water.local/dir01/subfolder/ http://water/dir01/subfolder/

after_dir_ref_hostname Demo - mount_webdav (4) /* Either way, decoded_dir_ref contains a full uri, utf8_decoded * now lets get past the prefix for the uri we will put in the inode * cache */ cache_uri = &decoded_dir_ref[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = &cache_uri[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = strchr(after_dir_ref_hostname, '/'); cache_uri after_dir_ref_hostname http://water.local/dir01/subfolder/ http://water/dir01/subfolder/

Demo - mount_webdav (5) rbo water.local フォルダ一覧を要求 (PROPFIND) rbo water.local フォルダ内の一覧とフォルダ自身の情報を返答 PROPFINDに対して返されるフォルダ自身の情報が URL の解釈ミスでフォルダ自身ではなくファイルと認識される 実際にアクセスするとそんなファイルはないためにアイコンが消える

after_dir_ref_hostname Demo - mount_webdav (6) /* Either way, decoded_dir_ref contains a full uri, utf8_decoded * now lets get past the prefix for the uri we will put in the inode * cache */ cache_uri = &decoded_dir_ref[strlen(_WEBDAVPREFIX)]; //after_dir_ref_hostname = &cache_uri[strlen(_WEBDAVPREFIX)]; after_dir_ref_hostname = strchr(cache_uri, '/'); cache_uri after_dir_ref_hostname http://water.local/dir01/subfolder/ http://water/dir01/subfolder/

直せたとしてどうするの? 喜びましょう Apple に報告しましょう すると、みんなが幸せになれます

Demo - BugReporter

まとめ Darwin : オープンソースになった Mac OS X の一部 Apple のサイトなどからソースコードがダウンロードできる ソースをアクセスすることで挙動や原理を知る 自身のプロダクトへの反映させる事ができる ソースをアクセスすることでバグを捕らえ、治せる 具体的にバグレポートする事でバグが早期に直される(事もある) Mac OS X がより良くなる

See Also Apple Developer Connection Darwin トップページ http://developer.apple.com/ja/ Darwin トップページ http://developer.apple.com/darwin/ CVS を使ったソースアクセス HOWTO http://developer.apple.com/darwin/tools/cvs/howto.html BugReporter http://developer.apple.com/bugreporter/ OpenDarwin http://www.opendarwin.org/