Linuxはカーネルからドライバを完全分離する時が来たね
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2012/03/12(月) 04:08:04.12ID:khwvZHK+0066login:Penguin
2012/03/19(月) 05:19:09.76ID:BIu6/OgO0067login:Penguin
2012/03/19(月) 20:13:28.98ID:/cGywOeJ0068login:Penguin
2012/03/19(月) 20:28:31.61ID:TmtIccbz日本語って難しいですね
0069login:Penguin
2012/03/19(月) 20:40:21.33ID:fHtsMJFS0070login:Penguin
2012/03/20(火) 01:53:44.86ID:oOb/xGv+コミュニティはグダグタ、ソースはごちゃまぜ。 誰も根本的な設計ミスを認めようとしない。
そこらのゴミかき集めてもゴミの山にしまならない。
臭いから、一から作りなおせよ。
0071login:Penguin
2012/03/20(火) 01:56:52.47ID:oOb/xGv+リリース前にDRぐらいしてんだろうな?
0072バイさるマスター
2012/03/20(火) 02:01:13.33ID:RIu4mvwJ0073login:Penguin
2012/03/20(火) 02:17:42.55ID:+/tay6Np0074login:Penguin
2012/03/20(火) 03:56:49.13ID:1Swu4Na5サンプルを用意しないからコいうことになる。
いい加減その場のノリで修正するのではなく
修正が入らないような設計に変更しろ。
ドライバは、どのバージョンのどのディストリの
Linuxでも共通に使える。が原則だ。
0075login:Penguin
2012/03/20(火) 03:58:57.12ID:+/tay6Np0076login:Penguin
2012/03/20(火) 04:43:23.21ID:yCFwZRJs職を奪われたプロプラ系元開発者か、簿給でコキ使われているネガキャン要員か
0077login:Penguin
2012/03/20(火) 04:47:17.46ID:ntlASaje0078login:Penguin
2012/03/20(火) 05:28:25.25ID:1Swu4Na5毎度毎度修正がはいって
互換性がなくなるようなものの
どこが標準化されてるって?w
0079login:Penguin
2012/03/20(火) 05:30:01.72ID:+/tay6Np?
0080login:Penguin
2012/03/20(火) 05:31:42.25ID:1Swu4Na50081login:Penguin
2012/03/20(火) 05:33:05.54ID:+/tay6Np0082login:Penguin
2012/03/20(火) 05:38:48.05ID:ntlASaje> なんでLinuxは毎度毎度再コンパイルが必要なんだろうねw
え?
0083login:Penguin
2012/03/20(火) 05:48:39.67ID:1Swu4Na5カーネルがリリースされる度にリビルドする必要がある。
モジュールのビルドはカーネルソースコードに含まれる
デバイスドライバに対するものとカーネルソースコードに
含まれない外部のカーネルモジュールに対するものの2通りあるが、
いずれもカーネルビルドのインフラを利用している。
通常、カーネルソースコードに含まれる一部のデバイスドライバは
カーネルコンフィグレーション(Kconfig)にてカーネルに直接静的リンクするか、
もしくはモジュールとして構築するかのいずれかを選ぶことができる。
モジュールとして構築することを選択した場合、カーネルソースのMakefileには
modulesというターゲットが存在し、予めこのディレクトリでカーネル
(に直接関係し、カーネルイメージの生成前段階のファイルvmlinux)を作成した後、
このmodulesターゲットを実行する事でモジュールのビルドと依存関係の解決用ファイルが生成される。
そして、make installを実行すると、システムにカーネルとモジュールを同時にインストールする。
0084login:Penguin
2012/03/20(火) 05:50:50.97ID:1Swu4Na5すなわち、カーネルのバージョンが異なれば内部のデータ構造や機能に差異があり、
非互換問題を発生する可能性がある。
Solaris、WindowsといったOSでは、カーネルのAPIとABIは
比較的安定に保たれており、このような問題を回避している。
0085login:Penguin
2012/03/20(火) 05:57:13.14ID:ntlASaje堅牢性を求められるからこのような規約があるわけで
君がバイナリレベルでの互換を望むならWindowsでも使ってればいいんじゃないの?
0086login:Penguin
2012/03/20(火) 06:13:17.23ID:CWRZW1dS0087login:Penguin
2012/03/20(火) 06:58:00.16ID:oCDgHpi9だからドライバのメンテナンスって作業が必要になる。
それが嫌だからカーネルに含めようとするんだろう。
一旦カーネルに含まれてしまえば、自分でメンテナンスル必要なくなるからな。
しかし根本的な問題は、ドライバのメンテナンスが必要とされる頻度が
高いってことだ。APIやABIが安定してないからね。
安定させれば、ドライバのメンテナンスを必要とせずに長期間使えるが、
そうすると今度はクローズドなドライバが増えるだろう。
Linuxはこのジレンマから抜けださないといけない。
おすすめはクローズドなドライバを認めて多数採用するってことだが。
0088login:Penguin
2012/03/20(火) 07:07:42.60ID:oCDgHpi9Windowsなんか、クローズドだから故に
パッチというものはまず存在しない。
だからパッチじゃなくてもドライバだけで実現可能なように
OS自体が柔軟な拡張性を持って設計されている。
Linuxがこのレベルに到達できるのはいつだろうね。
0089login:Penguin
2012/03/20(火) 10:37:29.12ID:yCFwZRJs>おすすめはクローズドなドライバを認めて多数採用するってことだが。
なんだ、これが言いたいだけだったのか、、、
”ドライバが不安定””しばしば書き換えなければいけない”といった文言が出てるけど
具体例は一度も書き込まれず。 ネガキャンにしても読む意義の少ないレスだな
0090login:Penguin
2012/03/20(火) 11:46:07.07ID:VMGHwWVq> Linuxがこのレベルに到達できるのはいつだろうね。
難しいんじゃないか?Windowsのクローズドな所があるが故に
いくらでも誤魔化せた。Win98とNT,2kは別物なのにAPIを
極力共通化し、カーネルだけさっと入れ替えた。
さらにドライバのインタフェースまで作って、ドライバ周りの作業を
カーネルの開発の作業から外へ追い出した。これはOSSには無理。
始めから設計しておかないといけない。
もしやるなら、ドライバインタフェースのレイヤを設けて、そこで
標準化する必要がある。コミュニティにそこまでリソースを掛けられるかどうか。
0091login:Penguin
2012/03/20(火) 12:09:04.47ID:Hwwj1hKOを提供してソースの一部(無償)を共有させることで全体のバランスを
保っていたと思うよ。
ハードウエアの特徴を個々に追加するのではなく、最初から拡張可能な
ゆとりがある設計は性能には繋がらない面があるがマイクロソフトは
その辺が非常に上手じゃないかとおもう。
NTのビデオシステムは当初、ユーザーモードで動くサブシステムで
非常に遅かったから次期でカーネルに組み込んだ。その後もカーネルだけで
は速度が遅いのを改良するためにDirectハードウエア関係の
拡張を繰り返してきた。
ハードウエアの抽象化とアプリケーションレベルでのハードウエア末端
の利用を同時にするのって間違った働きを完璧に検閲できないと無理
なんだろう。ドライバーを作った人がドライバーのBUG利用をさせない
為のコードを書き、パラメータの組み合わせ全てで動作を保証する
動作テストプログラムなどを同時に設計するのは金と時間がかかるんだろうね。
0092導入犬
2012/03/20(火) 13:36:43.14ID:88ub99EO0093login:Penguin
2012/03/20(火) 23:18:34.46ID:Sbz1ewXy0094login:Penguin
2012/03/21(水) 00:31:39.80ID:DL5Rb0HD0095login:Penguin
2012/03/21(水) 00:56:22.11ID:7Tu8TQrwOSSか企業かの問題じゃないと思うよ。
コミュニティのやる気の問題。
パクリしかできないハッカーばっかりだから、設計とかしたことないだろ
0096login:Penguin
2012/03/21(水) 01:01:08.88ID:7Tu8TQrw0097login:Penguin
2012/03/21(水) 03:01:29.68ID:qHV3VV6g「GPLなんてヤダ! GNUなんてなくなっちゃえ!!」 いいたいだけなんだよ。
もうプロプラの流れには戻らんし、BSDじゃ企業間のソース共有に不公平を生む
から現在のような競合他社が切磋琢磨しながらも、互いの成果を土台にして
ともに上を目指すような流れは起きにくい。
iPad向けのミニゲーム、便利アプリ開発するにはいいんじゃない? プロプラもBSDも
0098login:Penguin
2012/03/21(水) 05:29:32.90ID:/tI1Iw/6> *BSDでできてることが、Linuxでできないんだから
> OSSか企業かの問題じゃないと思うよ。
BSDには元々そういう設計思想が入っているじゃないの?
だからマイクロカーネルのMachはBSDサーバが標準になっていた。
後から作り直そうとすると、マイクロソフトみたいな誤魔化しを
やらなければならなくなる。
まず、マイクロカーネルのバージョン(Windows NTにあたる)を開発する。
とりあえずカーネルモード、ユーザモードに処理を振り分けて、
極力ユーザモードで処理してしまうようにする。
次にカーネルとドライバとHAL(ハードウェアを抽象化する層)を
カーネルから分離した状態にして切り分ける。
最終的にドライバのインタフェースを標準化して、正式なドライバのみを
認定していく。
この作業を今からOSSでやるとすると、どれくらいのリソースが
掛かるのか?という話なんだが?
0099login:Penguin
2012/03/22(木) 01:02:17.08ID:Gq7eum/2「俺が、俺が」ばっかりのOSS界隈に居るのか疑問。
0100login:Penguin
2012/03/22(木) 01:06:32.09ID:O+AuMM3k自分でバカ発言する
のかね
0101login:Penguin
2012/03/22(木) 01:14:04.05ID:Gq7eum/20102login:Penguin
2012/03/22(木) 07:43:38.28ID:ivXFYhhi0103login:Penguin
2012/03/22(木) 18:50:10.12ID:l2iiocoG0104login:Penguin
2012/03/22(木) 19:23:06.52ID:+Y5zV3Cm0105login:Penguin
2012/03/22(木) 19:33:02.31ID:l2iiocoG0106login:Penguin
2012/03/22(木) 19:35:53.53ID:eR5nleZsでなきゃ今みたいに多くのアーキテクチャへ移植されてないもん
0107login:Penguin
2012/03/22(木) 19:41:27.22ID:l2iiocoGARM系とのごたごたで
>>83
が問題にされているんだろうけれど、今更カーネルを作り直すのは
容易でないだろうし
コンパイル文化があるから移植性が高いとも言えるし
俺も多くを望まないなら、今のままでいいと思う
0108login:Penguin
2012/03/22(木) 19:51:08.77ID:HrImL8Dkだから『LINUXは間違っている』と繰り返してるだけで、然したる理由もないんだけどね。
そういう連中に取ってはWINDOWSと同じ構造であるか、無いかってのが噛みつくに値する
理由なんだろうが
0109login:Penguin
2012/03/22(木) 20:59:50.38ID:GWyjEzLlWindowsは共通のドライバでいいなんて嘘っぱち。
WinsockやDirect Xですらそれ自身のバージョンどころか、
同じバージョンでも乗ってるOS違ったら仕様が細かく変わりまくりで、
バージョン違いをアプリ側で対処しないといけないのに。
追従を許さない最大大手だからコストかけて対応してるだけの話。
開発者の多くはうんざりしてる。特に仕事でやってるんじゃない人は。
0110login:Penguin
2012/03/22(木) 21:13:47.56ID:jY+HVAUZLinuxはドライバ以前にバイナリの実行ファイルにバイナリ互換がない
0111login:Penguin
2012/03/22(木) 21:19:33.70ID:eR5nleZs0112login:Penguin
2012/03/22(木) 21:48:24.60ID:H4Nkscjw0113login:Penguin
2012/03/22(木) 21:52:08.22ID:GWyjEzLl大げさに言い過ぎるのもどうかと思うが。
0114login:Penguin
2012/03/22(木) 22:59:20.17ID:R0vMtRKL仕様が変わっても互換性があるのなら問題ないんだよ。
>>112
> カーネルのバージョンが同じならバイナリー互換性があるでしょ
同じで互換性があるのは当たり前。
違っても互換性がなくちゃいかんだろ。
0115login:Penguin
2012/03/22(木) 23:05:00.49ID:eR5nleZsドライバはカーネルに直接触れるものなんだし、多少手間はかかってもリビルドするのは良いと思う
0116login:Penguin
2012/03/22(木) 23:10:42.44ID:R0vMtRKL互換性があれば
不都合が出た場合・・・リビルドする
不都合が出ない場合・・・そのまま使える
互換性がなければ
不都合が出た場合・・・リビルドする
不都合が出ない場合・・・リビルドする
どっちが優れてるか言うまでもない。
0117login:Penguin
2012/03/22(木) 23:17:17.27ID:eR5nleZs不具合が出る事自体が許されない場合の方が圧倒的に多いとおもうが
0118login:Penguin
2012/03/22(木) 23:29:00.89ID:R0vMtRKL互換性があれば
許されない場合・・・リビルドする
許される場合・・・そのまま使える
互換性がなければ
許されない場合・・・リビルドする
許される場合・・・リビルドする
どっちが優れてるか言うまでもない。
0119login:Penguin
2012/03/22(木) 23:32:01.25ID:R0vMtRKLなんてよくあるわけだが、そんなんで不具合が出る事自体許されないとか
ちゃんちゃらおかしい
0120login:Penguin
2012/03/22(木) 23:41:51.86ID:eR5nleZsドライバがハードウェアを認識できないってこと?
0121login:Penguin
2012/03/23(金) 02:39:14.28ID:nsIEq+bKうん。ドライバ製作者と
ハードウェア製作者が別だからね。
ドライバ製作者は完全にすべてのハードウェアに対応できない。
0122login:Penguin
2012/03/23(金) 03:44:28.40ID:fIilFj3R不都合が出た場合・・・呑む
不都合が出ない場合・・・そのまま
互換性がなければ
不都合が出た場合・・・踊る
不都合が出ない場合・・・唄う
どっちが楽しいか言うまでも無い
0123login:Penguin
2012/03/23(金) 03:57:15.03ID:KjKXwaRy互換性があるのかないのかわからない・・・祈る
0124login:Penguin
2012/03/23(金) 06:27:15.01ID:B9XBLSSF0125login:Penguin
2012/03/23(金) 07:00:32.43ID:fIilFj3R不都合が出た場合・・・寝る
不都合が出ない場合・・・そのまま
互換性がなければ
不都合が出た場合・・・寝る
不都合が出ない場合・・・寝る
やるきなし
0126login:Penguin
2012/03/23(金) 07:03:38.54ID:HptWyA0iなるべく静的に保ったほうがいいんです
0127login:Penguin
2012/03/23(金) 12:42:09.51ID:d0fhmSpgやばすぎてここには書けない
0128login:Penguin
2012/03/23(金) 13:34:25.60ID:ivBh1GH+0129login:Penguin
2012/03/23(金) 17:28:34.15ID:sbTXokTQ・PDFを直接印刷
・無線LAN接続でwebプリント
ってケースが増えてきて、ドライバ必要なくなったね。
0130login:Penguin
2012/03/23(金) 19:15:55.87ID:jtqS6EJz的な事を言ってる人が居るけど、やろうと思えばVMというか
WINE的な互換レイヤを一つ設ければ良いだけ何じゃないかな。
ビデオ周りや高速ストレージはやはりネイティブで書かないと
ならないけど無線LANとかUSBの先に付く類の物は大抵賄えそうな
気がする。
どうしてそれを開発者の連中がやらないのかと言えば、そうなったら
ハード情報を公開したがらない連中や、売りっぱなしでバグフィックスを
しない輩がよってくるからではないかと
0131login:Penguin
2012/03/23(金) 19:28:48.96ID:BLomvucK0132login:Penguin
2012/03/23(金) 20:07:37.44ID:Jki4TuVr0133login:Penguin
2012/03/23(金) 20:16:30.53ID:KAaQq6Mvそれ、おれがまえに考えたやつだ!
0134login:Penguin
2012/03/23(金) 20:34:53.73ID:KjKXwaRyそれって一般的なのか、俺のまわりではみたことないが。
0135login:Penguin
2012/03/23(金) 21:16:54.95ID:sYTRfJtK0136login:Penguin
2012/03/23(金) 21:22:20.94ID:sbTXokTQUbuntuのnvidiaのドライバパッケージで、
同意すれば後は自動でカーネル再コンパイルするのあったよ。
0137login:Penguin
2012/03/23(金) 21:27:37.71ID:jtqS6EJzNICは早いほうがいいけどUSB2.0なんかは互換レイヤ挟んだとしても
それほど遅くならないと思うな。 Windowsでしか動かないハードル類を
VirtualBoxやVMware使って動かしたりするんだけど、素のWindowsに比べて
2〜3割遅い程度。 インターフェイスだけ処理してれば良いし、
Linuxに特化できることを考えればオーバーヘッドは更に小さくならないか
>134
今、ネットワークに対応していないプリンタを探すほうが難しいんじゃないか?
複合機にすればスキャナのLINUX対応も考えなくて良さそう。 複合機持って
ないからわからんが
>135
現にKVMだの仮想マシンだの、WINEだの既存技術があるじゃないか
0138login:Penguin
2012/03/23(金) 21:38:48.01ID:KjKXwaRyそのネットワーク対応の複合機を使っているが
メーカー提供(メーカー外注のサードパーティ製)の
純正linuxプリンタドライバはlp/lprを通しているよ。
さらにPDFを直接印刷だそうだが
adobereader(adobe製linux版)の印刷出力はやっぱり伝統のlprだぞ。
さらに無線LANなら間にWIRELESSLANのドライバが挟まるわけだが・・・
(こっちは大分カーネルに入ってきているが)
正直言ってることが意味不明なんだよ。だから聞いたんだが。
プラットフォーム間ちがえてないか?
マカーはでてってほしんだが。
0139login:Penguin
2012/03/23(金) 22:01:43.95ID:Ifu/vFXT0140login:Penguin
2012/03/23(金) 22:44:35.56ID:R/7+cN6jファイルサーバにコピーすると印刷やメールで送ると印刷とか?
0141login:Penguin
2012/03/23(金) 23:02:51.11ID:sbTXokTQ0142login:Penguin
2012/03/23(金) 23:44:30.34ID:KjKXwaRy0143login:Penguin
2012/03/24(土) 00:01:26.96ID:uwsOA6FY0144login:Penguin
2012/03/24(土) 00:08:25.82ID:ppKXJ3dvお前の廻りはlpでいいじゃんか。
0145login:Penguin
2012/03/24(土) 17:56:17.72ID:4xGPA7oC標準だった頃はアプリの印刷メニューから直接キューを出すことが多かったけど
ペーパーレス化が叫ばれだして、フロアに付き数台に減らされてからは
取り敢えず書類はなんでもPDF化してプリンタへ放り込んでおき、必要な分だけ
印刷ってのが主流になってるな、うちの場合。
142はpopplerとかでググッてみると幸せになれるかもしれない。
0146login:Penguin
2012/03/24(土) 20:35:14.96ID:Gdao7o0K> LINUXはモノリシックだから今更ドライバ分離できない、手遅れ
> 的な事を言ってる人が居るけど、やろうと思えばVMというか
> WINE的な互換レイヤを一つ設ければ良いだけ何じゃないかな。
これやると速度の問題が出てくる。
リアルタイム性を著しく損なうことになるのでクライアントとしては使えない。
逆に鯖側ならそういうアプローチもあるだろうが、需要があるのかな?
0147login:Penguin
2012/03/24(土) 21:22:32.75ID:VxhuUC0H実際カーネルをプロセススケジューリングとメッセージバスに絞った組み込み用途のQNXとかあるし。
さわってみたことあるけどLinuxなんて目じゃない軽さだったよ。
0148login:Penguin
2012/03/24(土) 21:48:39.27ID:Gdao7o0Kそれはマイクロカーネルだからでしょ。
かつては「遅い」とされていたが、モノリシックなカーネルで
同じことをやらせようとすれば、オーバヘッド分余計に時間が掛かるし。
そもそもQNXはリアルタイムOSだから一般の汎用OSとは応答性能が
桁が違う。
0149login:Penguin
2012/03/24(土) 22:15:40.05ID:15Dr7Ufz0150login:Penguin
2012/03/24(土) 22:24:28.84ID:4xGPA7oC出てるからデスクトップ用途では問題ないと思うけどな。
DBとか高負荷サーバ用途ならドライバソースを寄贈しないような
時代遅れのとこの製品はハード選定の段階で弾けばいい話だし
0151login:Penguin
2012/03/25(日) 03:21:37.30ID:e22vQITZ0152login:Penguin
2012/03/25(日) 08:50:43.85ID:2aiPKJYWモノリシックだからこそ、この程度で済んでいると考えるんだ。
って、Linuxが遅く感じるのはXとFSのせいじゃないの?
0153login:Penguin
2012/03/25(日) 10:55:37.35ID:i7pkou/E0154login:Penguin
2012/03/26(月) 01:30:47.75ID:u3T5fxYBなるほど。あらゆるデバイスを TCP/IP に対応させて、
PC とデバイスはネットワークで接続すればいいのか。
あとはどうやって NIC と PC を接続するかを考えるだけだな。
0155login:Penguin
2012/03/26(月) 01:54:08.91ID:Bfa3/Rf40156login:Penguin
2012/03/26(月) 02:15:41.24ID:n0QyJnCR使いにくくなったもんだよ
0157login:Penguin
2012/03/26(月) 02:41:02.73ID:Ses0ANj/0158login:Penguin
2012/03/26(月) 05:15:41.28ID:u3T5fxYBネットワーク関連の命令も最初から CPU にプリセットしておけば、
もう我々は、何も悩まなくてもよくなるはずだ。
CPU に至るバスのワイヤレス化も実現するので、
これまでにないくらいに柔軟な設計のコンピュータが製造できるようになることだろう。
問題は、マルチプロセッサ化を推し進めると、
通信効率が、いちじるしく悪化することになるので、
これを解決するために、CPU 間で自律的に同期し、
時分割によるトークンリングなどを実装する必要があることだろうか。
0159login:Penguin
2012/03/26(月) 05:30:50.60ID:u3T5fxYB仕様が公開されているプロトコルを使うデバイスならともかく、
プロトコル非公開のデバイスに関しては、
PC - デバイス間で流れているパケットを解析する必要があるのだが。
0160login:Penguin
2012/03/26(月) 06:01:51.09ID:vDrkYKFRわざと馬鹿っぽくしてるんだろうけど
0161login:Penguin
2012/03/26(月) 13:16:46.23ID:Do9eiYNJ0162login:Penguin
2012/03/26(月) 13:39:27.33ID:dzzl1xdMそれCPUとは別だから。
CPUと同一シリコンウェハー上に乗せたのはインテルが試作品作ったの
外ないだろ。
0163login:Penguin
2012/03/26(月) 14:02:49.23ID:4XdVQuw0CPUに対応するだけで、何もしなくても
無線LANが動くようになるのに。
0164login:Penguin
2012/03/26(月) 17:07:42.57ID:/HNBa2kBリアルタイム性に応答性能は含まれる
当然の話だ
処理完了までに数秒掛かるようなものはリアルタイム性がない
要求される性能をみたすかどうか。
0165login:Penguin
2012/03/26(月) 17:11:36.97ID:/HNBa2kB> LinuxHost+WindowsXP Client on Virtualboxだと、そこそこの速度が
> 出てるからデスクトップ用途では問題ないと思うけどな。
クライアントで要求されるリアルタイム性とは、そういう話ではないよ。
応答性の問題だから、遅いのは論外。
そこそこ早いでも駄目。
たとえば、マウスを素早く左右に動かした時、そのカーソルが
ほとんど同時に動くようなものを言う。
OSの処理が遅ければ、当然遅延が発生するし、
早くても例えばバックグランドで通信処理を行っていると
遅延が発生するようなものは使えない。
つまりマウスを右に動かしている時にカーソルが左に動くような物は駄目。
昔のWindowsやLinuxはそういう状態になり易い。音楽用途になると更に
かなりリアルタイム性の基準が高くなる。
0166login:Penguin
2012/03/26(月) 19:10:56.37ID:A6Ta1zq9今時1/60s(16.66ms)程度に追従できないような実装なんてなぁw
■ このスレッドは過去ログ倉庫に格納されています