Linuxカーネルの成功したフォークやリファクタリングはありますか?

Linuxカーネルの成功したフォークやリファクタリングはありますか?

Google 検索ショーこのスラッシュストーリー生産するこのgithubリポジトリは2016年以降にコミットされません。。持つgithub.comに22,602個のフォークが登録されています。しかし、これらはほとんどすべてではありませんが、ほとんどの開発分岐です。トバルズ/Linux

以前、Linuxがかなり悪くなったことを読んだことがあります。私の考えでは、少なくともユーザーエクスペリエンスの観点から、Linuxは10年前よりはるかに洗練されました。カーネルソースコード、「と、この行を理解できません」という簡単なことを除いて、ラップトップのLinux機能に関してカーネルで多くの開発が行われていることがわかります。とにかく、私はBSDユーザーがLinuxの欠点について文句を言ったことを見たことがあることを知っています。 vimの欠陥に基づいたvimのneovimフォークを考えると、同様の努力がカーネルでも成果を上げると思います。

この問題の原因はLWNに関するこの記事clang を使用して Linux をコンパイルしようとする試みについて議論します。私はカーネルが多くのgcc関連の欠点/特殊機能で最適化されていることを読んでいました(リンクされた記事は私の記憶に比べてこれらの機能を軽視しているようですが)、リファクタリング/ポーキングを試みた人がいるかどうか疑問になり始めました。カーネルをより移植性にするか、少なくともGNU環境の外部でコンパイル可能にします。私はgcc自体が不器用で、Linus自身がそれを批判したことも知っています。

私はRMSとGNUが嫌いで、GNUのないLinuxに興味がある唯一の人ではないことを知っています。わかりましたアルパインLinuxgnuツールは必要ありませんが、カーネルはまだgccでコンパイルされていませんか?代替ツールチェーンとユーザーエリアソフトウェアへの参照はたくさんありますが、特にカーネルとgcc / gnuの依存関係を削除するフォークがあるかどうか疑問に思います。タイトルに関する追加の質問があります。一人で尋ねるにはもったいない。

ベストアンサー1

特にカーネルとgcc / gnuの依存関係を排除するフォークがあるかどうか疑問に思います。

誰もclangとLinuxを同期できません。その後、長期フォークで保管してください。。特にメインストーリーへの関心と意志が高すぎる場合は、さらにそうです。 〜しない限りこれはあなたが見つけることができる大規模な可視プロジェクトのほんの一部です。 (あなたのように...)。

これをタイトルに関する付随的な質問だと思います。私の考えでは、タイトル自体を尋ねるのは無駄です。

機械的人造人間、最初の答えで述べたように。

いくつかの部分が合わさっているので、オリジナルほど悪くないかもしれません。私はこれについてよくわかりません。 Mainlineは間違いなくBIG.littleなどのARM CPU関連のいくつかの項目を処理できます。 Androidはメインラインリリースに基づいて継続的に再開発されています。 Google も大幅に遅れないでしょう。

しかし、これは長い間実行されているフォークです。 「上流優先」ルールに従わない。彼らは多くのハードウェアサポートを提供します。

私の意見では、「Android」と「Google」は、Linuxのフォークであることを正当化するために必要なリソースレベルを示す良い指標です。

Androidには、実行中のデバイスに付属のカーネルにツリーの外部コードが一括(通常は数百万行)含まれているため、問題があります。 -https://lwn.net/Articles/738225/


そしてRHELカーネルは名前はひどいです。たとえば、2018年の場合は2.6.32-754です。これは、セキュリティ更新プログラムではなく、2.6.32などのネイティブカーネルバージョンに近い動作を提供することを目的として、いくつかの新しいハードウェアのサポートを含みます。私はフォークがRHがそれを維持するのに必要なリソースを説明するのに適した言葉だと思います。

さまざまな最新のハードウェアでうまく動作するためには高価なので価値があります。これはLinuxカーネルプロジェクトのすべてであり、両方の四半期を理解する上で最も重要な要素であると言いたいと思います。

openhub.netでvimとLinuxのコードサイズを比較し、Linuxがサイズの20倍しかないと思うかもしれません。しかし、コミット数の違いははるかに大きいです。直帰率はかなり大きい。

また、正しくするのがより難しいのは、カーネルコードだけでなく…本当ですが…ハードウェアサポートも同様です。一見無害に見えるリファクタリングによって一部のデバイスが破損する場合は、問題をデバッグして解決するには、その特定のデバイスにアクセスする必要があります。


ハードウェアサポートが思います。 https://en.wikipedia.org/wiki/Embeddable_Linux_Kernel_Subset:-血。

サーバー仮想化の世界では、さまざまなハードウェアに追いつく必要がないため、これに最適化された分岐があると考えることもできます。しかし、良い例は思い出せませんね。 「unikernels」を探してみると、Linuxベースではないものがいくつかあるようです。


Linux-rt/PREEMPT_RTまた、ツリーの外部パッチセットと見なされます。連続したメインラインバージョンに基づいて再構築されたパッチセット。 200KB(圧縮)の専門コードは素晴らしいパッチセットです。少なくとも一点では、いくつかの塊がマージされた。

おすすめ記事