削除された内容 追加された内容
→‎カーネル開発の遍歴: 表の書式を整形
編集の要約なし
22行目:
 
==概要==
{{lang|en|Linux}}カーネルは、もとは[[IA-32]]アーキテクチャのCPUを搭載した[[PC/AT互換機]]専用として開発されたが、その後、他の多種多様なハードウェアプラットフォームにも移植されていった<!--英語版: It has since been ported to more(?) computer hardware platforms than any other(?) operating system -- 記事はここで「最も多くのアーキテクチャに移植され...」と書いているが、NetBSDは? -->。カーネルについての詳細は[[Linuxカーネル|{{lang|en|Linux}}カーネル]]の記事を参照。現在では特に[[サーバ]]、メインフレーム、スーパーコンピュータ用のOSとして首位を走っている。<ref name="LinuxDevices">{{cite web|url=http://www.trl.ibm.com/projects/ngm/wp10_e.htm|title=Linux Watch|accessdate=29 September 2009|last=[[IBM]]|year=2001|month=October}}</ref><ref name="IBMLinuxWatch">{{cite web|url=http://www.linuxfordevices.com/c/a/News/Trolltech-rolls-complete-Linux-smartphone-stack/|title=Trolltech rolls "complete" Linux smartphone stack|accessdate=29 September 2009|last=Linux Devices|year=2010|month=January|archiveurl=http://archive.is/9aNu|archivedate=2012-05-25}}</ref><ref>{{cite web|title=IBM's newest mainframe is all Linux|url=http://www.computerworld.com/s/article/9142007/IBM_s_newest_mainframe_is_all_Linux_|last=Computerworld|first=Patrick Thibodeau|accessdate=22 February 2009 }}</ref><ref name="rules_supercomputers">{{ cite news|title=Linux rules supercomputers|url=http://www.forbes.com/home/enterprisetech/2005/03/15/cz_dl_0315linux.html|last=Lyons|first=Daniel|accessdate=22 February 2007|work=Forbes|date=15 March 2005}}</ref> 2010年10月現在、上位500のスーパーコンピュータのうちの90%以上は{{lang|en|Linux}}を使用している。<ref name="Top500 OS list">{{cite web|url=http://www.top500.org/overtime/list/32/os|title=Top500 OS chart|publisher=Top500.org|accessdate=31 October 2010}}</ref> また、携帯電話、ネットワークルータ、テレビ、ハードディスクレコーダ、カーナビゲーションシステムといった[[組み込みシステム]]でもよく使われている。<ref>{{cite web|title=Sony Open Source Code Distribution Service|url=http://products.sel.sony.com/opensource/|publisher=Sony Electronics|accessdate=8 October 2011}}</ref><ref>{{cite web|title=Sharp Liquid Crystal Television Instruction Manual|url=http://files.sharpusa.com/Downloads/ForHome/HomeEntertainment/LCDTVs/Manuals/Archive/tel_man_LC32_37_42HT3U.pdf|publisher=Sharp Electronics|accessdate=8 October 2011|page=24}}</ref> スマートフォンやタブレット端末用プラットフォーム{{lang|en|[[Android]]}}は{{lang|en|Linux}}カーネルの上に構築されている。
 
{{lang|en|Linux}}の開発は、[[FLOSS|フリーかつオープンソース]]なソフトウェアの共同開発として最も傑出した例のひとつである。{{lang|en|Linux}}カーネルのソースコードは無償で入手でき、[[GNU General Public License|{{lang|en|GNU}} 一般公衆利用許諾書]]のもとにおいて、非営利・営利に関わらず誰でも自由に使用・修正・頒布できる。{{lang|en|Linux}}は、世界中の開発者の知識を取り入れるという方法によって、あらゆる方面に利用できる幅広い機能と柔軟性を獲得し、数多くのユーザの協力によって問題を修正していくことで高い信頼性を獲得した。
50行目:
{{Main|BSD}}
<!--ここにビルジョイとマーシャルマキュージックのポートレートを入れるのは流石にやりすぎか?-->
1970年代後半から1980年代にかけて、[[カリフォルニア大学バークレー校]]の[[Computer Systems Research Group|CSRG]]は派生版{{lang|en|UNIX}}である[[BSD]]を開発していた<!--この頃のBSDはVAXとか用です-->1984年に{{lang|en|UNIX}}が[[プロプライエタリ]]に移行したため、これを自由に公開することができなくなっていた。以前のBSDからAT&Tからのライセンスが必要な部分を削り、必要な部分を書き直したものが4.3{{lang|en|BSD Net/2}}である。これをベースに、386で実際に動かすために必要なコードを補って1992年に[[ウィリアム・ジョリッツ]]らが1992年にリリースしたのが[[386BSD]]でありこれが{{lang|en|[[NetBSD]]}}や{{lang|en|[[FreeBSD]]}}の祖先である。市場において、マルチプロセスメモリ保護など、近代的なOSの実装が可能となる機能を搭載した安価な32ビットパーソナルコンピュータが普及しはじめ、{{lang|en|UNIX}}がパーソナルコンピュータで動くものとなる可能性があったことが、こうした広義の{{lang|en|PC-UNIX}}の移植や開発をスタートさせた大きな要因であり、{{lang|en|Linux}}もまたそれらの現象のうちのひとつだった。リーナス・トーバルスは、当時386BSDが入手可能であったならば、自分は{{lang|en|Linux}}を作っていなかっただろうと発言している。<ref name="meta">{{cite web|url=http://gondwanaland.com/meta/history/interview.html|title=The Choice of a GNU Generation -- An Interview With Linus Torvalds|last=Linksvayer|first=Mike|year=1993|work=Meta magazine|accessdate=20 January 2009}}</ref>
 
1993年に[[UNIX Systems Laboratories|USL]]が起こした訴訟において、{{lang|en|Net/2}}にもライセンスが必要なコードが含まれると主張されたため、386BSDに由来するBSDの開発は一時停止された。たとえば{{lang|en|FreeBSD}}の場合、4.4{{lang|en|BSD-Lite}}をベースとした{{lang|en|FreeBSD 2.0}}のリリースは1994年11月となった。
61行目:
1991年に、当時[[フィンランド]]の[[ヘルシンキ大学]]の学生であった[[リーナス・トーバルズ]]はオペレーティングシステムに好奇心を抱くようになっていた。<ref>{{cite newsgroup|title=What would you like to see most in minix?|newsgroup=comp.os.minix|id=1991Aug25.205708.9541@klaava.Helsinki.FI|url=http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b|last=Torvalds|first=Linus|accessdate=9 September 2006 }}</ref> 当時、近代的なOSを動作させる能力を持つ {{lang|en|Intel}} 80386 CPU を搭載した32ビットPC/AT互換パーソナルコンピュータが登場していた。ワークステーションやミニコンピュータ等と比較すれば遥かに安価に入手できるものであったため、リーナスはこれを使って{{lang|en|UNIX}}互換の機能を持つOSを動作させてみたいと考えていた。しかし商用{{lang|en|UNIX}}は高価であり、{{lang|en|UNIX}}を模して実装された安価な{{lang|en|[[MINIX]]}}も教育用という仕様から機能が大幅に簡略化されていたり、教育目的での使用に制限されているという問題があり、いずれもリーナスの目的を果たすことは困難だった。このためリーナスは、既に使用していた自作の[[ターミナルエミュレータ]]を改造したり、ファイルシステムなどの{{lang|en|Unix}}互換APIを実装したりして、独自のOSカーネルの開発を開始した。最終的にこれが現在の[[Linuxカーネル|{{lang|en|Linux}}カーネル]]へと成長することとなった。
 
リーナスは{{lang|en|Linux}}カーネルの開発を{{lang|en|MINIX}}上で開始し、{{lang|en|MINIX}}上で動作するアプリケーションは{{lang|en|Linux}}上でも使われていた。{{lang|en|Linux}}が十分に成熟すると、それ以降の{{lang|en|Linux}}の開発は{{lang|en|Linux}}上で行えるようになった。<ref>{{cite news|title=Chicken and egg: How was the first linux gcc binary created??|newsgroup=Comp.os.minix|url=http://groups.google.com/group/comp.os.linux/msg/4ae6db18d3f49b0e|accessdate=January 30 2012}}</ref> すべての{{lang|en|MINIX}}コンポーネントは{{lang|en|GNU}}のプロダクトによって置き換えられた。フリーで利用可能な{{lang|en|GNU}}プロジェクトのコードを使用することは、まだ青二才の段階だった{{lang|en|Linux}}にとって好都合であった。さらにリーナスは、商業製品の作成を禁じた独自のライセンスを廃して、{{lang|en|GNU}} [[GPL]]への切り替えを行なった。<ref>{{cite web|title=Release notes for Linux v0.12|first=Linus|last=Torvalds|url=http://www.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.12|authorlink=Linus Torvalds|date=5 January 1992|accessdate=23 July 2007|publisher=Linux Kernel Archives|quote=The Linux copyright will change: I've had a couple of requests to make it compatible with the GNU copyleft, removing the “you may not distribute it for money” condition. I agree. I propose that the copyright be changed so that it confirms to GNU ─ pending approval of the persons who have helped write code. I assume this is going to be no problem for anybody: If you have grievances ("I wrote that code assuming the copyright would stay the same") mail me. Otherwise The GNU copyleft takes effect since the first of February. If you do not know the gist of the GNU copyright ─ read it. }}</ref>
 
当初の{{lang|en|Linux}}の実装は極めて単純なものであり、他の既存の自由でない{{lang|en|Unix}}システムのどれに対しても、その機能と実績において比肩しうるものではなかった。また当時、自由なソフトウェアによる{{lang|en|Unix}}互換OSを開発しようとしていた{{lang|en|GNU}}プロジェクトは自身のカーネル ({{lang|en|[[GNU Hurd]]}}) を完成していなかった(2013年現在もなお開発途上である)。ライバルのBSDは1992年から{{lang|en|USL}}との訴訟を抱えており権利上の問題をクリアしたバージョンがリリースされたのは{{lang|en|FreeBSD}}では1994年11月だった。つまり、1990年代前半において、自由な{{lang|en|Unix}}互換カーネルと呼べるようなもののうち、実用的で権利上の問題がないと考えられる存在は{{lang|en|Linux}}の他になかった。PCで動作するフリーで本格的で{{lang|en|Unix}}系の環境を求める潜在的なユーザたちの多くは、当時は主に書籍として流通していた教育用OSの{{lang|en|MINIX}}に流れていたが、リーナスは{{lang|en|Linux}}を{{lang|en|MINIX}}のメーリングリスト上で公開し、GPLの下で利用可能にすることにした。これはインテルの32ビットCPUを搭載したパーソナルコンピュータでしか動作しなかったが、当時はちょうど32ビットPC/ATパーソナルコンピュータの普及期であり、GPLによって誰もが改良可能だったことから、より多くの機能を求める開発者たちによる改良を促した。開発者たちは{{lang|en|Linux}}カーネルを育てていくともに、{{lang|en|GNU}}コンポーネントと{{lang|en|Linux}}を統合する作業を行い、最終的に実用的かつフリーなオペレーティングシステムを作り上げた。<ref name="gnu history"/>