NetBSD

NetBSDの最新ニュースをまとめて検索!

NetBSD
"WindowMaker環境でのNetBSD"
公式サイト www.jp.netbsd.org
開発者 The NetBSD Foundation
OSの系統 BSD
ソースコード オープンソース
最新リリース 5.0.1 / 2009年8月3日
カーネル種別 モノリシックカーネル
ライセンス BSDライセンス
開発状況 開発中
  

NetBSD(ネットビーエスディ-)は、UNIXライクオープンソースオペレーティングシステムである。

FreeBSDOpenBSDと同じくBSDの子孫の1つ。

近代的なオープンソースBSDとしては最も古く、1993年5月に最初の公式リリースである 0.8 が公開された。


目次

[編集] 特徴

NetBSDは、幅広いアーキテクチャに対して移植されている。このことは、NetBSDの標語である "Of course it runs NetBSD." にも表れている。単一のソースツリーから、58以上のアーキテクチャに対してバイナリが構築可能である。ソースツリーは機種依存部分と機種独立部分を可能な限り分離するように構成されている。これにより、機種独立部分に追加された機能は、全てのアーキテクチャで利用可能となり、再移植が不要である。ドライバの開発も機種独立である。あるPCIカード向けに書かれたドライバは、80386AlphaPowerPCSPARC その他 PCI バスを備えたアーキテクチャであればどれでも使うことができる(PCIは一例であり、PCI ExpressUSB等も同様にアーキテクチャに関係なく実装される)。この機種独立性が、組み込みシステムでの開発に大きく寄与している(コンパイラアセンブラリンカその他の、クロスコンパイルに完全対応したツールチェーン一式を持つ NetBSD 1.6 以降では、特に顕著である)。

"NETBSD" は、2004年4月20日をもって、The NetBSD Foundation の登録商標となっている。

[編集] 歴史

NetBSD はカリフォルニア大学バークレー校Computer Systems Research Group がリリースした 4.3BSD から、Networking/2 および 386BSD を介して派生したものである。NetBSD プロジェクトは、386 BSD の開発者コミュニティ内の開発のペースや方向性に対する不満から始まった。四人の NetBSD プロジェクトの創始者Chris Demetriou、シオ・デ・ラット、Adam Glass、Charles Hannumは、移植性、きれいで正確なコードを軸とした開かれた開発モデルがプロジェクトに有益であると感じていた。彼らの目的は、統一された、マルチプラットフォームの、製品レベルの品質を持った BSD ベースのオペレーティングシステムを作り出すことであった。"NetBSD" の名称はインターネットなどの当時の急速に発展していたネットワークの重要性と、開発が分散した環境で共同で行われるというプロジェクトの性質からラットが提案したものである。

NetBSD のソースコードリポジトリは 1993年3月21に設立され、最初の公式リリース NetBSD 0.8 は 1993年4月に行われた。このときのコードは 386BSD 0.1 に バージョン 0.2.2 の非公式のパッチをあて、386BSD に不足していたいくつかのプログラムを Net/2 リリースから再統合し、そのほかいくつかの改良が含まれていた。最初のマルチプラットフォームのリリース NetBSD 1.0 は 1994年10月に行われた。同年暮れ、創設者の一人シオ・デ・ラットがプロジェクトから追われることとなった。彼は1995年の終わりごろ、NetBSD 1.0 のコードからフォークした新しいプロジェクトOpenBSDを立ち上げた。1998年、NetBSD 1.3 で pkgsrc パッケージコレクションが導入された。

現在の安定版リリースはバージョン5.0 (2009年4月29日)である。

[編集] 対称マルチプロセッシング

NetBSD は対称型マルチプロセッシング(SMP)を2004 年リリースの NetBSD 2.0 よりサポートしており[1]、初期の実装はジャイアントロックを用いた方法であった。NetBSD 5のリリースに向けた開発サイクルで、SMP のサポートを改善する主要な作業が完了した。カーネルサブシステムの大半の部分がマルチプロセッサでも安全になり、細粒度のロックを用いるよう修正された。新しい同期機構が導入され、2007年2月に Scheduler activations1:1スレッドモデルに置き換えられた[2]。スケーラブルな M2 スレッドスケジューラが実装されたが、4.4 BSD のスケジューラがデフォルトで使用されている(これも SMP でスケールするよう変更された)。同期化の性能を向上させるため、スレッド化された割り込みが実装された。仮想メモリシステム、メモリ割り当て例外ハンドリングがマルチプロセッサでも安全になり、仮想ファイルシステムおよび主要なファイルシステムを含むファイルシステムフレームワークもマルチプロセッサ対応になった。2008年4月以降、ジャイアントロックで動作しているのはネットワークプロトコルと(大半の)デバイスドライバのみとなっている。

[編集] バージョンについて

[編集] 最新のバージョン

2009年4月29日現在、NetBSD の最新リリース版は 5.0 である。

[編集] これまでのリリース

2009年
  • 4月29日 - NetBSD 5.0
2008年
  • 10月14日 - NetBSD 4.0.1
2007年
  • 12月19日 - NetBSD 4.0
2006年
  • 11月4日 - NetBSD 3.1
  • 11月4日 - NetBSD 3.0.2
  • 7月24日 - NetBSD 3.0.1
2005年
  • 12月23日 - NetBSD 3.0
  • 11月2日 - NetBSD 2.1
  • 10月31日 - NetBSD 2.0.3
  • 4月14日 - NetBSD 2.0.2 (2.0.1はサーバトラブルのためリリースされず)
2004年
  • 12月9日 - NetBSD 2.0
  • 3月1日 - NetBSD 1.6.2
2003年
  • 4月21日 - NetBSD 1.6.1
2002年
  • 9月14日 - NetBSD 1.6
  • 7月22日 - NetBSD 1.5.3
2001年
  • 9月13日 - NetBSD 1.5.2
  • 7月11日 - NetBSD 1.5.1
2000年
  • 12月6日 - NetBSD 1.5
  • 11月25日 - NetBSD 1.4.3
  • 3月19日 - NetBSD 1.4.2
1999年
  • 8月26日 - NetBSD 1.4.1
  • 5月12日 - NetBSD 1.4
1998年
  • 12月23日 - NetBSD 1.3.3
  • 5月29日 - NetBSD 1.3.2
  • 3月9日 - NetBSD 1.3.1
  • 1月4日 - NetBSD 1.3
1997年
  • 5月20日 - NetBSD 1.2.1
1996年
  • 10月4日 - NetBSD 1.2
1995年
  • 11月26日 - NetBSD 1.1
1994年
  • 10月26日 - NetBSD 1.0
1993年
  • 8月23日 - NetBSD 0.9
  • 4月20日 - NetBSD 0.8

[編集] 対応機種

[編集] ポート

  • acorn26
  • acorn32
  • algor
  • alpha
  • amd64
  • amiga
  • amigappc
  • arc
  • atari
  • bebox
  • cats
  • cesfic
  • cobalt
  • dreamcast
  • evbarm
  • evbmips
  • evbppc
  • evbsh3
  • ews4800mips
  • hp300
  • hp700
  • hpcarm
  • hpcmips
  • hpcsh
  • i386
  • ia64
  • ibmnws
  • iyonix
  • landisk
  • luna68k
  • mac68k
  • macppc
  • mipsco
  • mmeye
  • mvme68k
  • mvmeppc
  • netwinder
  • news68k
  • newsmips
  • next68k
  • ofppc
  • playstation2
  • pmax
  • pmppc
  • prep
  • sandpoint
  • sbmips
  • sgimips
  • shark
  • sparc
  • sparc64
  • sun2
  • sun3
  • vax
  • x68k
  • xen
  • zaurus


[編集] 関連プロジェクト

[編集] pkgsrc

NetBSDには、独自のサードパーティーソフトウェア集、NetBSD Packages Collection (別名pkgsrc)がある。2009年7月現在、8,000 を超えるパッケージが用意されている。

GNOMEKDEApache HTTP ServerPerl 等をインストールするには、適切なディレクトリに移動して "make install" とタイプするだけである。こうすると、ソースの取り寄せ、展開、configure、構築や、後で削除可能な形でのパッケージのインストールを自動的に行ってくれる。このようなコンパイルを行うかわりに、あらかじめ構築されたバイナリパッケージを使うこともできる。どちらを使うにせよ、事前準備や依存するパッケージのインストールは、パッケージシステムによりすべて自動で行われ、手動での調整は必要ない。

移植性の教義に従い、NetBSD Packages Collection (pkgsrc) は、NetBSDの動いているハードウェアにとどまらず、(autoconf ベースの bootstrap システムの助けを得て)Linux、FreeBSD、OpenBSD、Solaris、Darwin/Mac OS XIRIXInterix (Windows Services for UNIX) など、NetBSD 以外の多くのオペレーティングシステムにも移植されている。

DragonFly BSDでは標準のパッケージシステムをpkgsrcに変更した。

[編集] 使用例

NetBSD はNASAによる国際宇宙ステーションの微小重力を調査するプロジェクトで使用され、また人工衛星ネットワークにおけるTCPの利用に関する研究にも使用された

NetBSD のきれいな設計、高い性能とスケーラビリティ、幅広いアーキテクチャのサポートは 組み込み機器やサーバー、特にネットワークや工業用途に適している。

商用のリアルタイムオペレーティングシステム QNX は、NetBSD のコードから派生した ネットワークスタックを使用しており [3]、 デバイスドライバも NetBSD から多数ポートされている [4]

フォーステンネットワークスは NetBSD を高スケーラビリティのルーターで用いられるFTOS (Force10 Operating System)の基盤 OS として使用している[5]。フォーステンはまた 2007年、NetBSD 財団の更なる発展とオープンな開発コミュニティを助けるため寄付を行っている[6]

Wasabi Systems は、組み込みのサーバーやストレージ機器への応用に焦点を置いて NetBSD に商用のエンタープライズ向けの機能拡張を行ったWasabi Certified BSD を提供している[7]

NetBSD はNASAによる国際宇宙ステーションの微小重力を調査するプロジェクトで使用され、また人工衛星ネットワークにおけるTCPの利用に関する研究にも使用された [8]

2004年には、SUNETInternet2の地上における最高速記録を樹立する際に NetBSD が用いられた。 このとき NetBSD は「TCP コードのスケーラビリティ」を理由に選定されている[9]

T-Mobile Sidekick LX 2009 スマートフォンのオペレーティングシステムは NetBSD を元にしたものである [10]

[編集] 関連項目

[編集] 外部リンク

[編集] 参考文献


最終更新 2009年9月16日 (水) 14:40 (日時は個人設定で未設定ならばUTC)。
【NetBSD】変更履歴

ご利用上の注意