web-dev-qa-db-ja.com

カーネルの専有部分または閉じた部分

Linuxカーネルで配布されているコード行が開いていないという話を聞いたことがあります。たぶん、いくつかのドライバーかそのようなもの。

それがどれだけ真実か知りたいのですが? (kernel.orgからダウンロードしたときのように)カーネルとともに配布されている、まったく開いていないコード行はありますか?そして、それは合計のどれくらいですか(それを知る方法がある場合は、行数またはパーセンテージ)?

そして、これに関する詳細情報はどこにありますか?多分読むべきいくつかの記事...

どうもありがとうございました!

7
jpmelos

Linuxカーネル 自体はすべてフリーソフトウェアであり、 GNU General Public License の下で配布されています。

サードパーティは、ロード可能なカーネルモジュールの形式でクローズドソースドライバを配布する場合があります。 GPLがそれらを許可するかどうかについてはいくつかの議論があります。 Linus Torvaldsは、 独自のモジュールが許可されています と宣言しました。

今日のコンピュータの多くのデバイスには、プロセッサと少量の揮発性メモリが含まれており、完全に動作させるには、その揮発性メモリにコードをロードする必要があります。このコードは ファームウェア と呼ばれます。ドライバとファームウェアの違いは、ファームウェアが別のプロセッサで実行されていることです。ファームウェアメーカーは、多くの場合、コードソースのないバイナリブロブのみをリリースします。多くのLinuxディストリビューションは、フリーでないファームウェアを個別に(または極端な場合にはまったく)パッケージ化しません。 Debian

カーネルはオープンソースです。ソースをダウンロードし、自分でコンパイルします。

CSカーネルモジュールでカーネルを汚染する可能性があります。これらのモジュールは「汚染された」とマークする必要があり、短いコマンドでそれらを見つける必要があります。

cat /proc/sys/kernel/tainted

詳細については:

grep tainted /var/log/*log 

詳細はこちらをご覧ください。

1
user unknown