NetBSD

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
NetBSD
Netbsd-unam.jpg
"WindowMaker環境でのNetBSD"
開発者 The NetBSD Foundation
OSの系統 BSD
開発状況 開発中
ソースモデル オープンソース
最新安定版 9.1 - 2020年10月18日(4か月前) (2020-10-18[1] [±]
最新開発版 9.99.x / Daily builds
リポジトリ ウィキデータを編集
パッケージ管理 pkgsrc
プラットフォーム Alpha, ARM, PA-RISC, 68k, MIPS, PowerPC, SH3, SPARC, RISC-V, VAX, x86
カーネル種別 モノリシックカーネル
ライセンス BSDライセンス
ウェブサイト The NetBSD Project
日本NetBSDユーザーグループ
テンプレートを表示

NetBSD(ネットビーエスディー)は、UNIXライクオープンソースオペレーティングシステムである。いわゆるBSDの子孫のひとつであるが、そのなかでも、386BSDがフォークされて生まれた公式リリースの中で最初に生まれたものである。1993年5月に最初の公式リリースである0.8が公開された。さまざまなアーキテクチャへの高い移植性、コードの分かりやすさ、などに焦点が置かれて開発されている。→#特徴

NetBSDのソースコードは誰でも利用でき、そのライセンスはパーミッシブ・ライセンスである。なお「NETBSD」という名称のほうは、2004年4月20日をもってThe NetBSD Foundationの登録商標となっている。

特徴[編集]

移植性の高さ

NetBSDは"Of course it runs NetBSD."という標語を掲げて開発が行われており、幅広いアーキテクチャに対して移植され、単一のソースツリーから、58以上のアーキテクチャに対してバイナリが構築可能である。

コードの分かりやすさ

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

歴史[編集]

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

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

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

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

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

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

2020年10月18日現在、NetBSD の最新リリース版は9.1である。

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

  • 1993年
    • 4月20日 - 0.8
    • 8月23日 - 0.9
  • 1994年
    • 10月26日 - 1.0
  • 1995年
    • 11月26日 - 1.1
  • 1996年
    • 10月4日 - 1.2
  • 1997年
    • 5月20日 - 1.2.1
  • 1998年
    • 1月4日 - 1.3
    • 3月9日 - 1.3.1
    • 5月29日 - 1.3.2
    • 12月23日 - 1.3.3
  • 1999年
    • 5月12日 - 1.4
    • 8月26日 - 1.4.1
  • 2000年
    • 3月19日 - 1.4.2
    • 12月6日 - 1.5
    • 11月25日 - 1.4.3
  • 2001年
    • 7月11日 - 1.5.1
    • 9月13日 - 1.5.2
  • 2002年
    • 7月22日 - 1.5.3
    • 9月14日 - 1.6
  • 2003年
    • 4月21日 - 1.6.1
  • 2004年
    • 3月1日 - 1.6.2
    • 12月9日 - 2.0
  • 2005年
    • 4月14日 - 2.0.2 (2.0.1はサーバトラブルのためリリースされなかった。)
    • 10月31日 - 2.0.3
    • 11月2日 - 2.1
    • 12月23日 - 3.0
  • 2006年
    • 7月24日 - 3.0.1
    • 11月4日 - 3.0.2, 3.1
  • 2007年
    • 12月19日 - 4.0
  • 2008年
    • 10月14日 - 4.0.1
  • 2009年
    • 4月29日 - 5.0
    • 8月2日 - 5.0.1
  • 2010年
    • 2月12日 - 5.0.2
    • 11月19日 - 5.1
  • 2012年
    • 2月11日 - 5.1.2 (5.1.1はリリースされなかった[5]。)
    • 10月17日 - 6.0
    • 12月3日 - 5.2
    • 12月26日 - 6.0.1
  • 2013年
    • 5月18日 - 6.0.2, 6.1
    • 8月22日 - 6.1.1
    • 9月30日 - 6.0.3, 6.1.2
  • 2014年
    • 1月27日 - 5.1.4, 5.2.2, 6.0.4, 6.1.3
    • 4月12日 - 6.0.5, 6.1.4
    • 9月22日 - 6.0.6, 6.1.5
    • 11月15日 - 5.1.5, 5.2.3
  • 2015年
    • 9月25日 - 7.0.0
  • 2016年
    • 5月28日 - 7.0.1
    • 10月21日 - 7.0.2
  • 2017年
    • 3月11日 - 7.1
    • 12月22日 - 7.1.1
  • 2018年
    • 3月15日 - 7.1.2
    • 7月17日 - 8.0
    • 8月29日 - 7.2
  • 2019年
    • 5月31日 - 8.1
  • 2020年
    • 2月14日 - 9.0
    • 3月31日 - 8.2
    • 10月18日 - 9.1

対応機種[編集]

ポート[編集]

  • acorn26
  • acorn32
  • algor
  • alpha
  • amd64
  • amiga
  • amigappc
  • arc
  • atari
  • bebox
  • cats
  • cesfic
  • cobalt
  • dreamcast
  • emips
  • epoc32
  • evbarm
  • evbmips
  • evbppc
  • evbsh3
  • ews4800mips
  • hp300
  • hp700
  • hpcarm 例 Advanced/W-ZERO3[es]など[6]
  • hpcmips
  • hpcsh
  • i386
  • ia64
  • ibmnws
  • iyonix
  • landisk
  • luna68k
  • mac68k
  • macppc
  • mipsco
  • mmeye
  • mvme68k
  • mvmeppc
  • netwinder
  • news68k
  • newsmips
  • next68k
  • ofppc
  • pmax
  • prep
  • rs6000
  • 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)は、Linux、FreeBSD、OpenBSD、SolarisDarwin/macOSIRIXInterix (Windows Services for UNIX) など、NetBSD以外の多くのオペレーティングシステムに移植されている。

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

使用例[編集]

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

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

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

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

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

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

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

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

脚注[編集]

  1. ^ Announcing NetBSD 9.1”. The NetBSD Foundation (2020年10月18日). 2020年10月21日閲覧。
  2. ^ GLYN MOODY 著、小山祐司監訳『ソースコードの反逆』株式会社アスキー、2002年6月11日、103頁。ISBN 4-7561-4100-5
  3. ^ NetBSD 2.0 release notes”. 2009年7月25日閲覧。
  4. ^ Significant changes from NetBSD 4.0 to 5.0”. 2009年7月25日閲覧。
  5. ^ Re: NetBSD 5.1.1 released and no announcement?”. 2012年2月11日閲覧。
  6. ^ NetBSD/hpcarm News”. 2020年9月29日閲覧。
  7. ^ Core Networking 6.4: Neutrino's Next Gen Networking Stack and Foundry27”. 2009年7月25日閲覧。
  8. ^ Foundry27: Project Networking - Driver wiki page”. 2009年7月25日閲覧。
  9. ^ “Force10 Networks uses NetBSD to build software scalability into operating system” (プレスリリース), http://www.force10networks.com/news/pressreleases/2007/pr-2007-02-13.asp 
  10. ^ “Force10 Networks introduces unified operating system across product portfolio to lower total cost of owning and operating networks” (プレスリリース), http://www.force10networks.com/news/pressreleases/2008/pr-2008-01-28b.asp 
  11. ^ Wasabi Certified BSD”. 2009年7月25日閲覧。
  12. ^ HTTP Page Transfer Rates over Geo-Stationary Satellite Links”. 2009年7月25日閲覧。
  13. ^ SUNET Internet2 Land Speed Record: 69.073 Pbmps”. 2009年7月25日閲覧。
  14. ^ Sidekick LX 2009 / Blade Will Run NetBSD”. www.hiptop3.com (2009年1月30日). 2009年2月5日閲覧。

関連項目[編集]

外部リンク[編集]