パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

ESR曰く、WindowsはそのうちLinuxカーネルになる」記事へのコメント

  • by Anonymous Coward on 2020年09月30日 18時15分 (#3898003)

    デバイスドライバを分離できず、各ベンダーのハードウェアのドライバが全部Linuxカーネルのソースツリーに含まれてる、なんてクソださいOS誰が喜んで使うんだよ。
    このクソ仕様のせいで各Androidメーカーが独自にカーネルをビルドせざるを得ず、
    Androidのハードウェアがセグメンテーション化されてろくにセキュリティパッチも適用されない惨状を生み出してるんだろうに。
    このダサさを理解できないのは、エンジニアとして無能としか言いようがない。

    • by Anonymous Coward on 2020年09月30日 19時58分 (#3898100)

      https://www.kernel.org/doc/Documentation/process/stable-api-nonsense.rst [kernel.org]
      多分この辺の話かな

      要はカーネル内で固定されたAPI/ABIが定義されてないからカーネルのバージョン毎、ビルド時のオプション毎、ビルドに使ったツールチェーンのバージョン毎その他諸々いつでもカーネルモジュールのソース/バイナリの互換性が破壊されうるのよね

      だから中の人も「カーネルのバージョン、ディストリビューション毎にそれぞれバイナリを用意するなんて悪夢だし更にアプデに追従するのも無理ゲーでしょ、だからGPLでソースを公開してカーネルツリーに取り込まれるように働きかけてね、嫌なら自分で頑張って」って言ってる

      親コメント
      • by Anonymous Coward

        最近これで苦労したけど、ドライバ公開させるためにわざとやってるのかー

      • by Anonymous Coward

        その話聞くとやっぱりクソダサOSなのではと思える

      • by Anonymous Coward

        読んだ。
        分かるけど…クソだなぁ。
        そりゃ個人プロジェクトなら何も考えずリファクタリングで破壊的変更とか普通にするけど、カーネルでそれはないでしょ。

        あとCだからコンパイラによってインターフェースが壊れますってのも引くわ。
        アラインメントを固定する方法くらいないの?
        古いインターフェースを開発者に警告するとかもできるでしょ。C#でいう[Obsolete]。
        そっか…本当にC言語なんだなとしみじみと思った。

        • by Anonymous Coward

          コンパイラによる破壊は、C言語規格がABIを規定できないので無理。
          コンパイラ拡張機能でアライメントを揃える程度はできるが、呼び出し規約やシンボル名生成等まで壊さないのは非現実的。
          これはカーネルの問題ではないし、C言語に限った話でもない。

    • "Unixはただ死んだだけでなく、ほんとうにひどい臭いを放ち始めている" -- Rob Pike
      親コメント
    • by Anonymous Coward

      ダサくてセンス悪いのが生き残るのは実に良くある事

      • by Anonymous Coward

        CとかC++とかWindowsとか

        • by Anonymous Coward

          どなたか親コメントにすば洞お願いします。

          ※ C++はなんであんな大魔境になってしまったのでしょうか。

          • by Anonymous Coward

            えー、Cも含めるのー

          • by Anonymous Coward

            .c と .h を分けなければいけないとか、開発環境がボロだった時代の遺産だよな。。
            VSのような開発環境でフォローしないといけなくなってる。

            • by Anonymous Coward

              「読みやすいアセンブリ言語」にみんな色々期待しちゃって
              よってたかってあれこれ付け加えちゃった末路なので
              そっとしといてあげて

    • Re: (スコア:0, 荒らし)

      by Anonymous Coward

      すごい妄想ですね。あなたのLinuxカーネルの知識は全部間違ってるので書き連ねるのはやめます。
      気に入らないことがあるなら有能なご自身でどうぞ直してください。

    • by Anonymous Coward

      普通にドライバをツリー外でビルドできるし、DKMSってやつもあるんだけど。
      >各Androidメーカーが独自にカーネルをビルドせざるを得ず
      そりゃバイナリが用意されてなければビルドせざるを得ないわな
      >セキュリティパッチも適用されない惨状を生み出してる
      メーカがエンジニアとして無能なのを他人のせいにするな

      • by Anonymous Coward

        AndroidのカスタムROMなんかが共通のカーネルバイナリを使えず、機種ことに個別にビルドされたものを使っているのは何故なんでしょうか。

        • by Anonymous Coward

          Androidが、標準でビルドツール類やDKMSを同梱してないからでしょ。

    • by Anonymous Coward

      Linuxのドライバはカーネルに組み込むこともカーネルモジュールとして分離することもできるけど、なにを主張したいのでしょうか。
      Andoroidメーカーごとにビルドしなきゃいけないのは、メーカー各社がハードを揃える気がないからです。
      PC LinuxはどのメーカーのPCでも関係なく動きますよね。
      PCみたいに仕様が揃っていればカーネルをビルドする必要はないです。

      • by Anonymous Coward

        PC がどこでも動くのは、モジュールで大量にプリビルド済みのを使ってるからですよ。
        Andoridの端末メーカーがビルドするのは、ハードウェアが決まってるのに無関係なモジュールまで組み込んでストレージに負荷をかけたくないから。

        PCでもLinuxのカーネルやモジュールは自分のPC用に最適化するし、余分なモジュール外してビルドするでしょ?
        最近は気にしない人もいるのかもしれんけど。

        ちなみにご存知ないかもしてませんが、ハードウェア仕様の乱立ぐあいは、あれだけ乱立メーカーのあるAndroid端末と比べたって、PCのほうが百花繚乱で一切、統一なんかされてませんよ。

        • by Anonymous Coward

          Androidが実際どうやってるかしらんが、PC(x86系)だったらPlug and Playとか各種アドレスのスキャンでデバイスの種類や状態が判別できるからデバイスドライバの処理レベルで対応できる。ARM系はほぼハードウェア定義ファイル(DTB)必須だし、ボードメーカ提供のドライバでもソースレベルで定義変えないと動作しないものがざらにある。

    • >Linuxはクソださい三流OS

      タネンバウム教授お疲れです!
      結局のところ、設計がクソでも、アップデートが頻繁で使いやすいツールが正解なんですよ!

      • by Anonymous Coward

        > 結局のところ、設計がクソでも、アップデートが頻繁で使いやすいツールが正解なんですよ!

        人呼んで、それをWindows Updateというアレですね

        # Linuxのディストリビューションで言うところのyumとかaptとかdnf相当ですので私は更新が多すぎるとは思っていません

      • by Anonymous Coward

        Windows Update最強だな

    • by Anonymous Coward

      dkms使っても良いんですよ?

      • by Anonymous Coward

        カーネルヘッダーを提供してくれればね
        #開発環境に入ってないことがあってね…

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

処理中...