OSC 2013 徳島
最近サボりがちなので昨年のOSC愛媛に引き続いて歴史ネタで



      NetBSD 20年


         Izumi Tsutsui
         tsutsui@NetBSD.org
NetBSD 20周年
●
    1993年3月21日にCVSレポジトリ作成
NetBSD誕生の時代(1)
 1993年前後のCPU
・80486DX 33MHz        (1992)
   Pentium 60MHz は 1994年
・MC68040 33MHz        (1990)
   MC68060 50MHz も 1994年
・SuperSPARC 60MHz (1992)
・MIPS R4400 150MHz (1992)
・Alpha 21064 200MHz (1992)
   ……RISCの台頭の予感がしていた時代
NetBSD誕生の時代(2)
 1993年前後のOS
・MS-DOS 5.0      (1991) ※6.0は1993年
・Windows 3.1     (1993) ※日本語版
・SunOS 4.1.3     (1992)
・Solaris 2.1     (1992)
・NEWS-OS 4.2.1   (1993)
・Linux 1.0.0     (1994) ※1993年は0.99.x?
   ……実用度では商用OSが圧倒的に強かった時代
NetBSD 0.8
 1993年 4月20日リリース
・386BSD 0.1+patchkit 0.2.2
・i386 のみ
・当時は別グループであったFreeBSDと
 統合するという話もあったとか
NetBSD 0.9
 1993年 8月23日リリース
・amiga と hp300 の追加
・各種コマンドの更新やバグ修正が主
・replace gcc1 with gcc2 なんてログも
NetBSD 1.0
 1994年 10月26日リリース
・UCB vs USL訴訟の和解を受けて
 4.4BSD-Liteベースに更新
   ……そのせいで1年以上の時間が

・shared library サポート
・mac68k, pc532, sparc追加
NetBSD 1.1
 1995年 11月26日リリース
・alphaのサポート追加
   ……64ビットサポートの始まり

・atari, mvme68k 追加
・sun3 SCSI DMAサポートなど
 各種ドライバ追加やバグ修正
NetBSD 1.2
 1996年 10月 4日リリース
・x68k 追加
  ……初の日本発の移植成果のマージ

・ARMサポート(NetBSD/arm32)追加
  当時は「イギリスの怪しげなマシン」でした

・MC68060サポートとか
 gcc-2.7.2 とか
NetBSD 1.3
 1998年 1月 4日リリース
・bus_space, bus_dma API の追加
   ……NetBSD機種非依存ドライバ実装の象徴

・ATAPI, ISAPnP, PCMCIA など
 デバイスサポートの充実
・Sun3/80, R4000サポート追加
NetBSD 1.4
 1999年 5月 12日リリース
・新仮想記憶システム UVM
・USBサポート追加
・bebox, newsmips, macppc など
 日本人によるport追加
NetBSD 1.5
 2000年 12月 6日リリース
・移植バブルで一気にport数が増加
   ……1.4リリース時点から14port追加

・KAME Project の IPv6サポート追加
・OpenSSL, SSH が標準に
NetBSD 1.6
 2002年 9月 14日リリース
・Unified Buffer Cache (UBC) による
 ディスクI/Oの性能向上
・さらにport数が増加 …17portくらい(?)追加
・各portのELF移行と
 クロスコンパイル開発環境の始まり
 (build.sh スクリプト登場)
NetBSD 2.0
 2004年 12月 9日リリース
・バージョン番号命名規則の変更
・x86, macppc, sparc の SMPサポート
 ……Scheduler ActivationによるM:Nスレッド実装

・amd64, xen の追加
NetBSD 3.0
 2005年 12月 23日リリース
・新portは iyonix の1つだけ
・Enhanced SpeedStepや
 各種デバイスサポート追加がメイン
 ……私も sgimips O2 の Ethernetドライバを
   ごりごり書いたりしました
NetBSD 4.0
 2007年 12月 19日リリース
・gcc 4.x 移行でいろいろとハマった感
 ・リリースブランチやり直し事件
 ・gcc4 だと動かないドライバ多数発生とか
 ・VAX shlib が動かないよ 等々
・地味に日本発portとして
 ews4800mips と landisk 追加
 ・あと個人的に cobalt RestoreCD 作成開始
NetBSD 5.0
 2009年 4月 29日リリース
・スレッド関連の大幅な書き直しによる
 SMP性能の大幅な向上
  mutex(9)とかrwlock(9)とかSolaris Internals感

・WAPBL(ジャーナリング)サポート
 ……Wasabi Systems からの寄贈
NetBSD 6.0
 2012年 10月 17日リリース
・2038年問題対応 64ビット time_t
・Linuxバイナリエミュレーション向上
  新しいAdobe flash再生も一応それなりに

・64ビットを含むMIPSサポート追加
 ……しかし従来のR5000とかが壊れてる感?

・各謎マシンサポートについてはOSC広島資料を参照
NetBSD 6.0以降
 7.0の日程は現状未定?
・RaspberryPiを含む各種ARM追加
  OpenBlockA6も。koboはまだ
・マイナー機種もちまちまと作業
 ・X68030でのCD-ROM起動デバッグ
 ・luna68kのブートローダーとか
NetBSD Port数
               昨年のOSC愛媛資料
                                                                        NetBSD ports
                                                          removed              merged         kept          added
                  60
                                                                                                                    2      1      0
                                                                                                     2       1                           0      0      1
                                                                                              1
                  50
                                                                                        7

                  40
                                                                                12
Number of Ports




                  30
                                                                        9

                  20
                                                                 4
                                                          4
                                                   1
                                            3
                  10                 3
                              4
                       5
                  0
                                                          1998




                                                                                       2002




                                                                                                                    2006
                       1993

                              1994

                                     1995

                                            1996

                                                   1997




                                                                 1999

                                                                        2000

                                                                                2001




                                                                                              2003

                                                                                                     2004

                                                                                                             2005




                                                                                                                           2007

                                                                                                                                  2008

                                                                                                                                         2009

                                                                                                                                                2010

                                                                                                                                                       2011
                                                                                   YEAR
成長期と停滞期 (1)
 最初の10年
- いわゆる成長期
- ドライバ書きでも 謎マシン移植でも
 「自分のコードが入ったOSが動く」
 というのは未知の感覚?
- 商用OSに追いつけ追い越せ という目標
成長期と停滞期 (2)
 次の10年
- 簡単なところは結構やり尽くした感?
- OSとしての課題はまだまだあるけど
  Linuxのマンパワーと比べてしまうと
  個人ではなかなかそこまで頑張れない?
 …bus_dma, WAPBL, SMP 等の大きな成果は
  どれもスポンサー付きだったり
次の10年に向けて (1)
 OSC東京前のDoc-jaの方々のお言葉


 「”誰か” なんてものは存在しない。」


 「欲しいなら、自分がやるしかない。」
次の10年に向けて (2)
 mikutter作者 toshi_aさんのお言葉


 「楽しくなくなったらやめる。」


 「自分のために。」
NetBSDのよいところ (1)
 khorben@氏のスライド
  ”Touch your NetBSD” での紹介文

 ”clean, portable, embedded, coherent”
 “... fun!”
 “Portability comes from
            good design (not a goal)”
NetBSDのよいところ (2)
 NetBSDのここが楽しい
-「いろんなマシンで動く?」
⇒「どのマシンでも動かせるような実装」
  という設計思想が本質
- 各機能やデバイス等で独立して開発が可能
 - SMP向上の裏で謎マシンサポートとか
- クロスビルド環境も同様の思想が発端
何をすればよいのか
 できることをやろう
- インストールして動かすだけでもいい
 - 動いたら「次はmikutter」でも楽しかったり
 - メンテしてる側も動作レポートは嬉しいです
 - ハード固有の問題は結構大変なので
   RaspberryPiみたいな共通ハードはオススメ
- レシピ通りで満足したら次のステップに
 - アレンジしたり ソース読んだり 発表したり
今後の締切駆動案 (1)
 ておくれLive Image改善
- メディアサイズに
  応じたイメージの
  サイズ拡張機能
- jwm以外の
  軽量デスクトップ
  (オススメ募集)
今後の締切駆動案 (2)
 Intel DRM/KMS/GEMドライバ
   - Core i 内蔵ビデオサポートのテスト
http://mail-index.NetBSD.org/tech-x11/2013/02/25/msg001246.html

   - いまいち盛り上がってない(?)ので
     テストカーネル入りイメージ作成で支援?
   …まずはマシンを入手するところから ^^;)
まとめ
 NetBSD 20年
- 1993/3/21から開始でもうすぐ20歳
- まだまだやるべきことはいろいろ
- 自分が楽しいこと、できそうなところを
- 結果は OSCでも Twitterでも blogでも
  なんでもいいので共有すると楽しいです
おわり

NetBSD 20年

  • 1.
  • 2.
    NetBSD 20周年 ● 1993年3月21日にCVSレポジトリ作成
  • 3.
    NetBSD誕生の時代(1)  1993年前後のCPU ・80486DX 33MHz (1992) Pentium 60MHz は 1994年 ・MC68040 33MHz (1990) MC68060 50MHz も 1994年 ・SuperSPARC 60MHz (1992) ・MIPS R4400 150MHz (1992) ・Alpha 21064 200MHz (1992) ……RISCの台頭の予感がしていた時代
  • 4.
    NetBSD誕生の時代(2)  1993年前後のOS ・MS-DOS 5.0 (1991) ※6.0は1993年 ・Windows 3.1 (1993) ※日本語版 ・SunOS 4.1.3 (1992) ・Solaris 2.1 (1992) ・NEWS-OS 4.2.1 (1993) ・Linux 1.0.0 (1994) ※1993年は0.99.x? ……実用度では商用OSが圧倒的に強かった時代
  • 5.
    NetBSD 0.8  1993年4月20日リリース ・386BSD 0.1+patchkit 0.2.2 ・i386 のみ ・当時は別グループであったFreeBSDと 統合するという話もあったとか
  • 6.
    NetBSD 0.9  1993年8月23日リリース ・amiga と hp300 の追加 ・各種コマンドの更新やバグ修正が主 ・replace gcc1 with gcc2 なんてログも
  • 7.
    NetBSD 1.0  1994年10月26日リリース ・UCB vs USL訴訟の和解を受けて 4.4BSD-Liteベースに更新 ……そのせいで1年以上の時間が ・shared library サポート ・mac68k, pc532, sparc追加
  • 8.
    NetBSD 1.1  1995年11月26日リリース ・alphaのサポート追加 ……64ビットサポートの始まり ・atari, mvme68k 追加 ・sun3 SCSI DMAサポートなど 各種ドライバ追加やバグ修正
  • 9.
    NetBSD 1.2  1996年10月 4日リリース ・x68k 追加 ……初の日本発の移植成果のマージ ・ARMサポート(NetBSD/arm32)追加 当時は「イギリスの怪しげなマシン」でした ・MC68060サポートとか gcc-2.7.2 とか
  • 10.
    NetBSD 1.3  1998年1月 4日リリース ・bus_space, bus_dma API の追加 ……NetBSD機種非依存ドライバ実装の象徴 ・ATAPI, ISAPnP, PCMCIA など デバイスサポートの充実 ・Sun3/80, R4000サポート追加
  • 11.
    NetBSD 1.4  1999年5月 12日リリース ・新仮想記憶システム UVM ・USBサポート追加 ・bebox, newsmips, macppc など 日本人によるport追加
  • 12.
    NetBSD 1.5  2000年12月 6日リリース ・移植バブルで一気にport数が増加 ……1.4リリース時点から14port追加 ・KAME Project の IPv6サポート追加 ・OpenSSL, SSH が標準に
  • 13.
    NetBSD 1.6  2002年9月 14日リリース ・Unified Buffer Cache (UBC) による ディスクI/Oの性能向上 ・さらにport数が増加 …17portくらい(?)追加 ・各portのELF移行と クロスコンパイル開発環境の始まり (build.sh スクリプト登場)
  • 14.
    NetBSD 2.0  2004年12月 9日リリース ・バージョン番号命名規則の変更 ・x86, macppc, sparc の SMPサポート ……Scheduler ActivationによるM:Nスレッド実装 ・amd64, xen の追加
  • 15.
    NetBSD 3.0  2005年12月 23日リリース ・新portは iyonix の1つだけ ・Enhanced SpeedStepや 各種デバイスサポート追加がメイン ……私も sgimips O2 の Ethernetドライバを   ごりごり書いたりしました
  • 16.
    NetBSD 4.0  2007年12月 19日リリース ・gcc 4.x 移行でいろいろとハマった感 ・リリースブランチやり直し事件 ・gcc4 だと動かないドライバ多数発生とか ・VAX shlib が動かないよ 等々 ・地味に日本発portとして ews4800mips と landisk 追加 ・あと個人的に cobalt RestoreCD 作成開始
  • 17.
    NetBSD 5.0  2009年4月 29日リリース ・スレッド関連の大幅な書き直しによる SMP性能の大幅な向上 mutex(9)とかrwlock(9)とかSolaris Internals感 ・WAPBL(ジャーナリング)サポート ……Wasabi Systems からの寄贈
  • 18.
    NetBSD 6.0  2012年10月 17日リリース ・2038年問題対応 64ビット time_t ・Linuxバイナリエミュレーション向上 新しいAdobe flash再生も一応それなりに ・64ビットを含むMIPSサポート追加 ……しかし従来のR5000とかが壊れてる感? ・各謎マシンサポートについてはOSC広島資料を参照
  • 19.
    NetBSD 6.0以降  7.0の日程は現状未定? ・RaspberryPiを含む各種ARM追加 OpenBlockA6も。koboはまだ ・マイナー機種もちまちまと作業 ・X68030でのCD-ROM起動デバッグ ・luna68kのブートローダーとか
  • 20.
    NetBSD Port数  昨年のOSC愛媛資料 NetBSD ports removed merged kept added 60 2 1 0 2 1 0 0 1 1 50 7 40 12 Number of Ports 30 9 20 4 4 1 3 10 3 4 5 0 1998 2002 2006 1993 1994 1995 1996 1997 1999 2000 2001 2003 2004 2005 2007 2008 2009 2010 2011 YEAR
  • 21.
    成長期と停滞期 (1)  最初の10年 -いわゆる成長期 - ドライバ書きでも 謎マシン移植でも 「自分のコードが入ったOSが動く」 というのは未知の感覚? - 商用OSに追いつけ追い越せ という目標
  • 22.
    成長期と停滞期 (2)  次の10年 -簡単なところは結構やり尽くした感? - OSとしての課題はまだまだあるけど Linuxのマンパワーと比べてしまうと 個人ではなかなかそこまで頑張れない? …bus_dma, WAPBL, SMP 等の大きな成果は どれもスポンサー付きだったり
  • 23.
    次の10年に向けて (1)  OSC東京前のDoc-jaの方々のお言葉 「”誰か” なんてものは存在しない。」 「欲しいなら、自分がやるしかない。」
  • 24.
    次の10年に向けて (2)  mikutter作者toshi_aさんのお言葉 「楽しくなくなったらやめる。」 「自分のために。」
  • 25.
    NetBSDのよいところ (1)  khorben@氏のスライド ”Touch your NetBSD” での紹介文 ”clean, portable, embedded, coherent” “... fun!” “Portability comes from good design (not a goal)”
  • 26.
    NetBSDのよいところ (2)  NetBSDのここが楽しい -「いろんなマシンで動く?」 ⇒「どのマシンでも動かせるような実装」 という設計思想が本質 - 各機能やデバイス等で独立して開発が可能 - SMP向上の裏で謎マシンサポートとか - クロスビルド環境も同様の思想が発端
  • 27.
    何をすればよいのか  できることをやろう - インストールして動かすだけでもいい - 動いたら「次はmikutter」でも楽しかったり - メンテしてる側も動作レポートは嬉しいです - ハード固有の問題は結構大変なので RaspberryPiみたいな共通ハードはオススメ - レシピ通りで満足したら次のステップに - アレンジしたり ソース読んだり 発表したり
  • 28.
    今後の締切駆動案 (1)  ておくれLiveImage改善 - メディアサイズに 応じたイメージの サイズ拡張機能 - jwm以外の 軽量デスクトップ (オススメ募集)
  • 29.
    今後の締切駆動案 (2)  IntelDRM/KMS/GEMドライバ - Core i 内蔵ビデオサポートのテスト http://mail-index.NetBSD.org/tech-x11/2013/02/25/msg001246.html - いまいち盛り上がってない(?)ので テストカーネル入りイメージ作成で支援? …まずはマシンを入手するところから ^^;)
  • 30.
    まとめ  NetBSD 20年 -1993/3/21から開始でもうすぐ20歳 - まだまだやるべきことはいろいろ - 自分が楽しいこと、できそうなところを - 結果は OSCでも Twitterでも blogでも なんでもいいので共有すると楽しいです
  • 31.