Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linux開発モデルと動作メカニズム

Linux開発モデルと動作メカニズム

  

フリーソフトウェアの出現により、従来の会社ベースのクローズドソフトウェア開発モデルが変わりました。オープンで共同開発モデルを使用してソースコードを無料で提供し、誰でもフリーソフトウェアのソースコードを入手、変更、および再発行できるようにします。この開発モデルは、世界中のソフトウェア開発者の熱意と熱意を刺激しました。多数のソフトウェア開発者がフリーソフトウェアの開発に投資してきました。ソフトウェア開発者の総体的な知恵が十分に活用されているため、不必要な作業の重複を大幅に減らし、フリーソフトウェアの脆弱性を早期に発見して克服することができます。商用ソフトウェアを開発しテストするためにそのような強力なマンパワーを投資することは、いかなる会社にとっても不可能です。この開発モデルはフリーソフトウェアに強力な命を与えます。

商用のUnix開発プロセスでは、システム全体の開発には、厳密な品質保証、完全な文書化、包括的なソースコード、包括的なテストレポート、および対応するソリューションが必要です。開発者は、プログラムに機能を追加したり、コードの主要部分を自由に変更したりすることができますが、それを有効にするためにエラーレポートに書き込んでからソースコード管理システムのチェックを受ける必要があります。変更も無効になる場合があります。各開発者はシステムコードの1つまたは複数の部分を設計し、開発者はプログラムチェック中にのみ対応するコードを変更できます。品質保証部門が新しいオペレーティングシステム
の厳密なリグレッションテストを内部で行い、識別された問題を報告し、そして開発者が報告された問題を解決する責任があります。品質保証部門は、高度な統計分析システムを使用して、次のリリースでプログラムエラーの数パーセントが確実に修正されるようにします。

つまり、商用のUNIX開発プロセスではコードが非常に複雑になるため、次のオペレーティングシステムの改訂品質を保証するためには、オペレーティングシステムのパフォーマンスを収集して統計的に分析する必要があります。商用のUinxを開発することは大きなプロジェクトであり、しばしば何百人ものプログラマー、テスター、狙撃手、そしてシステム管理者を巻き込んでいます。

Linuxの場合は、組織開発の概念、ソースコード管理システム、構造化エラー報告、統計分析などをすべて捨てることができます。

Linuxはもともとインターネットを介して世界中から集まったボランティアのグループによって開発されました。インターネットや他の手段を通じて、だれでもLinuxカーネルの開発とデバッグ、新しいソフトウェアのリンク、ドキュメントの作成、または新しいユーザーの手助けをする機会を得ています。実際、このシステムの開発に責任を負う独立した組織はなく、Linuxコミュニティはほとんどメーリングリストを介してUSENETメッセージグループと通信しています。あなたが開発したコードを "公式の"カーネルに含めたいのであれば、Linus Torvaldsに電子メールを送ってください。そうすれば、彼はそれをテストしてカーネルに組み込みます。システム設計全体を矛盾せずにクラッシュさせないでください。Linusはそれを含めることを喜んでいます。

Linuxシステム自体は、完全にオープンで機能重視のアプローチで設計されています。一般的な規則は、約数ヶ月で新しいバージョンのLinuxカーネルをリリースすることです。もちろん、リリースサイクルは、プログラムの失敗数、ユーザーテストのプレリリースの数、Linuxの作業負荷など、他の要因によっても異なります。

2つのリリースの間に、すべての障害が解消されたわけではなく、それぞれの問題が解決されたと言えるでしょう。システムがそれほどうるさいまたは明らかな障害ではない限り、システムは安定していると見なされ、新しいバージョンをリリースすることができます。 Linux開発の動機は、完璧を追求すること、失敗することを追求することではなく、Unixの無料実装を開発することです。

システムに新しい機能やアプリケーションを追加したい場合は、「初期」フェーズを通過する必要があります。いわゆる「初期」フェーズは、新しいコードの問題を見つけたいユーザーによる絶え間ないテストのフェーズです。 Linuxコミュニティの大部分はインターネット上にあるので、「初期」ソフトウェアは通常1つ以上のLinuxFTPにインストールされ、そのコードを取得してテストする方法に関するメッセージがLinuxUSENETメッセージグループに投稿されます。 'ソフトウェアのユーザーは、作成者に結果、失敗、または問題を報告できます。

最初のコードの問題が解決した後、コードは「第2段階」に入ります。作業は安定していますがまだ完了していません(つまり、機能しますが、すべての機能を備えているとは限りません)。もちろん、それはまた「最後の」段階に入るかもしれません、すなわち、ソフトウェアは完全で使用可能です。カーネルコードについては、それが完成したら、開発者はLinusにそれを標準カーネルに含めるか、またはカーネルの追加オプションとして含めることができます。

これらは単なる合意であり、規則は形成されていません。多くの人は初期の「初期」またはベータ版でソフトウェアをリリースする必要はないので、どのバージョンがリリースされるかは開発者の決定次第です。

あなたは、ボランティアのグループが完全なUnixシステムを実際に書いてデバッグできることに驚くかもしれません。 Linuxカーネル全体はパッチワークで、特許取得済みのソースコードはありません。多くの作業がボランティアによって行われています。彼らはGNUの下でフリーソフトウェアをLinuxシステムに移植し、ライブラリ、ファイルシステムおよび一般的なデバイスハードウェアドライバを開発します。プログラム等

実際、世界中のLinusが率いるLinuxカーネル開発チームは、いまだに高速で動いています。現在の安定版Linuxカーネル2.4.xバージョンは、Linux開発チームの驚くべき創造性と共同開発モデルの価値を十分に実証しています。

Copyright © Windowsの知識 All Rights Reserved