Linuxはカーネルからドライバを完全分離する時が来たね
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2012/03/12(月) 04:08:04.12ID:khwvZHK+0002login:Penguin
2012/03/12(月) 04:16:00.05ID:9YevqZjUバイナリーとしては切り離せるようになってるけど、昔から
0003login:Penguin
2012/03/12(月) 04:20:25.42ID:khwvZHK+3月31日、LinusはLinuxカーネルのメーリングリストに宛てたメッセージで
「つまり私が言いたいのは、ARMデバイス用のドライバを闇雲にLinuxカーネルに
加えるべきでないということだ」「なぜなら、それは動かないからだ。長期的に見れば、
これらの変更はメンテナンスできないゴミだ。」「カーネル内に組み込むべきではない」と述べており、
4月18日には「無意味なプラットフォームのコードが果てしない程あるというのは
問題だってことに皆気がつかなくてはならないし、唯一私にできることといったら
『直す努力を怠るようなら、お前達から離れるぞ』と言うことだけだ。最終的にはそうすることになるだろうが」と
強気な姿勢を崩していない。
ARM用Linuxカーネルを開発するLinaroのDavid Rusling氏によれば、新カーネルに対して
およそ70,000ものARMコードが追加されるのに対し、x86コードはたったの5,000程
しか追加されていないとのこと。Torvalds氏の苛立ちはもっともであると思われる。
0004login:Penguin
2012/03/12(月) 04:34:51.12ID:c7mzFDkoカーネルモジュールはカーネルとファイルは分かれていても、その特定のカーネルのバージョンに密接に依存しすぎていて
カーネルとドライバが分離しているとは言いがたい。
ファイルが分かれているだけで密接に癒着している。
カーネルのバージョンがわずかに上がっただけでもカーネルモジュールはエラーを出して読み込まない。
強制的に読み込ますオプションはあるが動く保証はないし実際に動かないことも多い。
Linuxのドライバにはカーネルのバージョンに格バージョンに対してのバイナリ互換が全く無いということだ。
おまけにソース互換すらあまりない。
0005login:Penguin
2012/03/12(月) 04:37:34.81ID:9YevqZjU下位互換性が無いようにしてるのは、わざとじゃないの
0007login:Penguin
2012/03/12(月) 09:13:20.62ID:L5BkpBqn0008login:Penguin
2012/03/12(月) 11:40:09.36ID:SvjO9eMj0009login:Penguin
2012/03/12(月) 11:42:31.66ID:fAuugTIpカーネルを構成しているファイルが1つとカーネル空間で1塊は
また意味が違うと思うが。プラットホームごとに明らかに無駄な
部分がリンクされないカーネルが自動で作れればいいんじゃね?
起動時にメモリ上に読み込まれなければHDDの中にあったところで
そんなに問題じゃないと思うけどな。
0010login:Penguin
2012/03/12(月) 12:51:09.79ID:yRRdLxRf0011login:Penguin
2012/03/12(月) 13:36:52.99ID:Er/NhAVuドライバーのいろいろな構造体(テーブル)をカーネルのバージョンが上がるたびに
変更するんだもの、そのたびにドライバーのソースの変更が必要になる。
Windowsは嫌いだがこういう点はWindowsを見習って欲しいね。
FreeBSD系はカーネルのバージョンがちょっと上がったくらいでドライバーのソース
の変更が発生することはめったにないと思うのだが…
0012login:Penguin
2012/03/12(月) 14:05:44.08ID:9YevqZjUそういう状態が嬉しい側?
0013login:Penguin
2012/03/12(月) 15:08:17.12ID:0vI/GQmaカーネルソースに入れる必要はないと思うけど
0014login:Penguin
2012/03/12(月) 16:01:28.35ID:Er/NhAVu0015login:Penguin
2012/03/12(月) 18:14:09.59ID:1NTMdULcちゃんと動かすためにいつまでも古いカーネルを使い続けてもいいの?
そのためにいつまでも古いパソコンを使うことにもなる。
0016login:Penguin
2012/03/12(月) 18:16:57.91ID:9YevqZjU見られたくない事でもしてるのかね?
0017login:Penguin
2012/03/12(月) 18:39:24.19ID:dUxfatOt今でも十分柔軟性があるとは思うけどね
プロプライエタリなドライバが少ないのは実装よりシェアの問題だし
0018login:Penguin
2012/03/12(月) 19:33:56.10ID:0vI/GQmaメンテ嫌ならパッチ提供って何のことだ?
ニーズのないドライバでもマージしたらカーネル維持の仕事がムダに増える
そんなアホな作業が増えたらやってられんって話だと思ったが
0019login:Penguin
2012/03/12(月) 19:50:44.51ID:9YevqZjU0020login:Penguin
2012/03/12(月) 20:17:33.89ID:9osQBCTiカーネルのバージョンアップと共にソースを書き直してコンパイルし直すというメンテを必要としているLinuxカーネル側の設計ミスだろうこれは。
メンテ、メンテって言っているやつバカ?
バグがないのならメンテの必要ないシステムを考えるべきだ。
0021login:Penguin
2012/03/12(月) 21:01:13.06ID:0vI/GQmaそれとどうでもいいドライバのマージや保守は別の話だろ
0022login:Penguin
2012/03/12(月) 21:03:00.08ID:9YevqZjU0023login:Penguin
2012/03/12(月) 21:55:50.53ID:khwvZHK+ドライバとドライバの間に入れて、別のドライバを拡張したりする奴。
OSとドライバのインターフェースがきっちり決まってるからこそ、
このように間に割り込ませる汎用の方法ができるんだよね。
Linuxだとドライバに特定の機能を追加しようとしたら
ソースコードにパッチを当てて修正という作業になる。
0024login:Penguin
2012/03/12(月) 22:03:39.24ID:khwvZHK+> メンテしたくないなら、patch提供して取り込んでもらえばいいのに
> 見られたくない事でもしてるのかね?
だから、そのpatchを誰がメンテするんだってこと?
ドライバに関しては、カーネルのバージョンが上がるたびに
メンテしないといけない状況になる。
取り込んで終わりというわけにはいかない。
たとえ不具合がなくとも、メンテが必要。
こんなんじゃニッチなドライバはLinuxでは使えなくなっていくよね。
そもそも、>>20がいうように、メンテが必要なのがおかしい。
しっかりドライバのインターフェースを定めておけば、
カーネルがメジャーアップデートでもしない限り互換性が保てるはず。
そうなればメンテする必要も少なくなってメンテナがつかれることも減るだろう。
0025login:Penguin
2012/03/12(月) 22:11:29.67ID:Er/NhAVu積極的にドライバーのソースを直して新機能に対応させるのだが、そうでなくただ構造体が変更に
なっただけでドライバー自体は安定動作しているのにソースコードを修正する作業が発生するのは
メンテナーにはちっともありがたくない。
0026login:Penguin
2012/03/12(月) 22:15:42.65ID:Er/NhAVu>しっかりドライバのインターフェースを定めておけば、
>カーネルがメジャーアップデートでもしない限り互換性が保てるはず。
なんかしらんがカーネルのバージョンがちょっと上がっただけで
ころころテーブルフォーマットを変更するんだよな。
なんか意味があって改良になっているんだろうがよくわかんない。
0027login:Penguin
2012/03/12(月) 22:17:00.44ID:khwvZHK+真剣に考えるときがきているのだろうな。
0028login:Penguin
2012/03/12(月) 23:20:31.03ID:baGPtD41それはいいとして
こんな所にスレ立ててまで主張したいことがあるんなら
コミュニティーとかに飛び込めばいいのに
0029login:Penguin
2012/03/12(月) 23:28:36.22ID:L5BkpBqn0030login:Penguin
2012/03/12(月) 23:31:01.11ID:HoNJEposモノリシックでも、せめてNetBSDみたいにMI/MDを分離すべきだったな。
単なるゴチャ混ぜ、gdgdなだけのLinux kernel...
Linusも20年前と言ってることが正反対だしぃ。
0031login:Penguin
2012/03/12(月) 23:53:17.74ID:baGPtD41この板に張り付いて書き込んでる人達にも同じ臭いを感じるぜ
0032login:Penguin
2012/03/12(月) 23:59:49.81ID:a3oLpxGm正式なLinuxカーネル開発会社を起業すべき。
そんで、企業サポートの名のもとに、まともなABIと完全なバイナリ互換を補償しろや。
0033login:Penguin
2012/03/13(火) 00:08:36.11ID:KDpxLFscあめぞうからパクった2chみたいに。
0034login:Penguin
2012/03/13(火) 00:24:43.44ID:KDpxLFsc0035login:Penguin
2012/03/13(火) 00:41:03.14ID:XEqUJYrfそしたらハードウェアメーカーもビジネスチャンス増えるでしょ。
それか、Linuxのほうが、Windowsのドライバをそのまま使える仕組みを入れればいいんじゃないの?
0036login:Penguin
2012/03/13(火) 01:16:47.23ID:lDK2KLr40037login:Penguin
2012/03/13(火) 01:42:05.91ID:8AsNMusWはあ、いい加減なドライバー作りましたって言ってるのか?
一時、ドライバ作ります的な流れがあったんだけど、kernel方面
0038login:Penguin
2012/03/13(火) 02:09:49.49ID:nKr+C/4Qハードの方をどうにかしようとしたら、例えばアナログラジオみたいに
プロセッサなんて使いませんというくらいのものにしなきゃいけない
だろうから無理だろうけど、ドライバの無い状況を想像するのは可能。
要するにアプリが直接ハードを叩く。Xサーバーがグラフィックカードを
音楽再生アプリがサウンドカードを、ライティングソフトがドライブを
直接制御するようなことを考えれば想像し易い。
ただしアプリが占有すると困るものも多々あるので、各ハードウェア毎に
専用の制御プロセスがメーカー等から提供されて、それらがプロセス間
通信でやりとりしながら協調動作する形に落ち着く。
それなんてマイクロ(ry
0039login:Penguin
2012/03/13(火) 02:43:16.35ID:SuHCuBnKカーネル開発スタッフのヒエラルキーも崩れてしまうんではないの?
0040login:Penguin
2012/03/13(火) 04:35:00.62ID:1fFC/8Hu0041login:Penguin
2012/03/13(火) 04:36:33.75ID:8AsNMusW0042login:Penguin
2012/03/13(火) 11:57:40.23ID:4opldOAK>要するにアプリが直接ハードを叩く。Xサーバーがグラフィックカードを
>音楽再生アプリがサウンドカードを、ライティングソフトがドライブを
>直接制御するようなことを考えれば想像し易い。
それをしたくないからドライバーあるんじゃないの。
たとえばサウンドカードなんて無数にあるのにアプリが全部対応できるわけない。
0043login:Penguin
2012/03/13(火) 11:58:25.06ID:4opldOAKWindowsがそれやってるな
0044login:Penguin
2012/03/13(火) 16:20:09.94ID:qixrR3enkernel.orgで行われていた議論の論点と、滅茶苦茶ずれてる。
というか、ほとんど関係のない、勘違い話してる。
0045login:Penguin
2012/03/13(火) 17:00:58.93ID:dBuLw4viおいおい、kernel.orgの議論なんて知ったこっちゃないさ。当たり前だろ
それ程面白くないしタイトル見て分かる通りこのスレはネタスレだから
0046login:Penguin
2012/03/13(火) 17:17:18.84ID:ja3xvS7Z0047login:Penguin
2012/03/16(金) 16:45:10.86ID:DsuwJYoU(なんかワイヤレスLANがらみに手が入ったようなんだが)
うちのPCのRHINE2(NIC)がIRQエラー吐きつづけている。
これってやっぱカーネルにドライバがはっているせい?
RHINE2のドライバのソースは2003年製で
そのあと更新されている形跡がないのだが。
もはやコンパイルが通らない。
どうしたものか…
まぁ、使ってないからいいんだけど
syslogがうざくて。
[ 19.627065] via-rhine 0000:00:12.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[ 19.627408] via-rhine 0000:00:12.0: eth1: VIA Rhine II at 0x*******, xx:xx:xx:xx:xx:xx, IRQ 23
...
[ 5683.476022] Polling IRQ 23
[ 5684.476020] Reenabling IRQ 23
...
Message from syslogd@localhost at Mar 16 16:38:01 ...
kernel:[ 5743.020899] Disabling IRQ 23
0048login:Penguin
2012/03/16(金) 17:44:14.09ID:h0xF1Usy日本語でおけ
0049login:Penguin
2012/03/16(金) 18:12:20.00ID:bhRIzDAZここ質問スレじゃないよ。
0050login:Penguin
2012/03/16(金) 18:48:00.12ID:QO1H+a6Q今まで使えているデバイスドライバを使い続けたければ
カーネルは更新してはいけない。
こういうトラブルが嫌な人のために有料のLinuxの高機能ディス鳥であるWindowsが存在する。
0051login:Penguin
2012/03/16(金) 19:38:23.27ID:+QBbOQyJ解決と言うか、オンボNICならBIOS等でDisableにしちゃうとか。
0052login:Penguin
2012/03/16(金) 21:31:08.53ID:DsuwJYoUそれだっ!!。なんで気づかなかったんだろ。
つーかこのマザボは、もともとカーネル更新の度に
NICのドライバをコンパイル・インスコするのが面倒で
普通に認識されるの別の1000円蟹NIC差してたんだった。
忘れてたよ。
でもここ数年は知らんうちに両方のNICが動くようになってて
カーネルに取り込まれたのかねぇとか思っていたんだけど。
ありがとね。
まぁ、近々マザボ交換する予定なんだけどね。
さて、今度は(チップセット)ドライバのおかげでマザボの交換だけするか
OSの再インストールにするか悩みどころだよ
カーネルとドライバの分離ってありかもしれんね。
0053login:Penguin
2012/03/16(金) 23:11:02.44ID:TaPzQg9u0054login:Penguin
2012/03/17(土) 08:06:41.68ID:S+VvOKbMそれ、RH厨しかしらない専門用語
0055login:Penguin
2012/03/17(土) 14:44:08.86ID:pw1PzXpkLinuxカーネルに入れるなってことだろ?
昔のGPUドライバ。今メンテされてないよね。
GPUドライバもカーネルに入れるべきではないんじゃね?
0056login:Penguin
2012/03/17(土) 14:51:24.92ID:pw1PzXpkいち早くそれに対応した、無名のメーカーがある。
将来このメーカーはUSB4.0で大きくなるかもしれないが、
Linuxは大きくなるまで、サポートしないわけだよね。
だって他のメーカーが製品作って、すぐ誰も
メンテナンスしなくなるかもしれないじゃん。
リーナスの考えは、Linuxは新しいデバイスに対応しないって
悪い流れを更に推し進めるものになるよ。
Linuxは新しいのも古いのもメジャーなもの以外は対応しない
0057login:Penguin
2012/03/17(土) 19:08:10.44ID:oP2ZyJls0058login:Penguin
2012/03/18(日) 22:28:14.24ID:jlvZAE6y>>3の話?
ぜんぜん違うよ。
これは元の報道自体が説明不足でミスリーディングしてんだけど、
Linusが問題にしていたのは、ARMの組み込み用のSoCがたくさんあって、
そのSoC専用の、主にペリフェラル用の、コード群を、抽象化して共通化せずに、
SoC毎に別のドライバとして提供されたのを、マージしようとしていたこと。
組み込みCPU作った奴らのコードが場当たり的で、抽象化が甘いから起きた問題。
Linuxカーネル構造の固有の問題じゃないし、kernel.orgの体制の不備でもない。
指針ドキュメントが不足していたということは言えると思う。
Linusはトサカにくると言葉が荒くなって説明が下手になるのも祭りになる原因の一つだが。
0059login:Penguin
2012/03/18(日) 22:34:34.46ID:MmrcJrwnえっと、ARMで抽象化は無理だよ。
ARMってのは、基本はあれど、それに対して
無限にあるいろんな拡張を施して製品にする。
だから製品毎に全く違うものが出来上がる。
http://pc.watch.impress.co.jp/docs/2009/0312/hot601.htm
逆にARMのビジネスは、差別化の戦略にある。同じARMコアを採用していても、
A社の最終製品とB社の最終製品は互換性を持たない。ライセンシーごと
、あるいはプラットフォームごとに差異化された世界だ。
たとえばTIのOMAP用に書かれたソフトウェアが、NVIDIAのTegraでそのまま動いたりはしない。
もちろんプロセッサコアが同じアーキテクチャだから、注意深くプログラミングすれば、
他社のプラットフォームで動作するソフトウェアを制作することは不可能ではないが、
それはSoCに集積されたDSPやその他のI/O機能を利用しない、非効率なものになってしまう。
0060login:Penguin
2012/03/18(日) 23:08:10.42ID:4+k9wvvvその細かい差異を吸収して互換性を高めるためにOSを載せるんじゃないの?
同アーキテクチャ内の製品ごと柔軟に対応するためになるべく象徴化するわけで
もしも組込み等で独自の機能を使いたければソフトウェアの提供側でソースを修正するか、
それこそ独自のファームウェアでもいい
0061login:Penguin
2012/03/18(日) 23:24:31.81ID:MmrcJrwnPCってのはPC互換機とも言われるように、
ハードウェアレベルで細かい差異を吸収している。
ARMではそれがない。
だから、PCとCPUが同じだけどアーキテクチャが
違うものとして、昔NECのPC-98シリーズってのがあったけど、
ARMはそれと同じで、A社製ARM、B社製ARMといくつも
違うものが存在する。
それを単一のOSでサポートするならば、A社製アーキテクチャ、
B社製アーキテクチャって、アーキテクチャごとに対応しないといけない。
互換性がないのだから、ARMというくくりで一つにはできない。
0062login:Penguin
2012/03/18(日) 23:46:48.63ID:Ly5bsK+Q周辺機器ごとに違う。
0063login:Penguin
2012/03/19(月) 02:05:36.83ID:43FlxjNBコード見ればわかるけど、そういうレベルじゃないんだよ。
出来る抽象化が行われてないコードがマージされようとしていた。
ドライバにすべき部分がもっとコアの部分のパッチになっていたり。
0064login:Penguin
2012/03/19(月) 02:06:52.16ID:43FlxjNBMicrosoftのSoCは固定してサポートする方針だけど、
>>61で言うようなレベルじゃないコードがマージされようとしていた。
0065login:Penguin
2012/03/19(月) 03:41:11.02ID:2mUIztoh0066login: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
0167login:Penguin
2012/03/26(月) 20:13:26.31ID:/3FZXWazhttp://gigazine.net/news/20120208-mac-os-x-mouse-delay-32-milliseconds/
0168login:Penguin
2012/03/26(月) 20:17:02.92ID:3cnMS++r0169login:Penguin
2012/03/26(月) 22:34:37.34ID:/HNBa2kBリアルタイム性の意味をまったく理解していませんな。
バックグランドで重たい処理をするとマウスの動作がおかしくなる
ように見えるという話をしているんだが?
しかも、マウスの問題はそれ程深刻ではない。これが音楽に
なると深刻になる。
ところでLinuxカーネルって標準でプリエンプティヴになっていなかったよね?
preemptive版を組み込むとか何とかそういう話はあったけど。
0170login:Penguin
2012/03/26(月) 22:55:26.47ID:I6aCChZZ0171login:Penguin
2012/03/27(火) 01:25:17.94ID:hZo04L/r16msなんて今時のCPUなら止まってるも同然だがなぁw
Linuxってそんなヘボい実装されてんの?w
0172login:Penguin
2012/03/27(火) 02:36:01.19ID:8nqDocGj割り込み処理に時間が食うと今時も10年後も変わらない。
またCPU以外がボトルネックになる場合も多い(バス、メモリ、グラフィックスなど)。
リアルタイム性をスループットで謀ろうとするのは素人が犯す間違い。
分かり易く書けば1億人の労働者を雇っても100億人分の
仕事が一度に来たら処理が滞るということだ。
0173login:Penguin
2012/03/27(火) 03:05:19.45ID:hZo04L/r1億人に100倍の仕事来たら到着順に処理するんじゃなく優先するものは優先するだろうJK
こんなのJKだってふつーに考えるだろうJK歯磨いて顔洗ってトイレ入る、って計画立てて
今にもはちきれんばかりの尿意と戦ってる状態で歯を磨き始めるJKはいないだろJK
Linuxはこんな状況だと垂れ流しながら歯を磨くのか?w
0174login:Penguin
2012/03/27(火) 12:21:52.19ID:Q5A5VTZd所定の時間内に応答できることが要件であって『高速』は必須じゃない
そんな基礎知識も知らないのな
0175login:Penguin
2012/04/02(月) 05:54:32.11ID:UT9eFXPCバカ過ぎて釣りに見える、って釣りか?
0176login:Penguin
2012/04/06(金) 01:27:31.76ID:dXsHKkVQやはり、ドライバとカーネルは分離すべき。
今の開発体制って
カーネルコミュニティが、上から目線でメーカーをこき使って
悦に浸ってるだけじゃないのか。
0177login:Penguin
2012/04/06(金) 02:46:54.00ID:nC5X6DIk馬鹿を馬鹿にするために馬鹿丸出しで書いているのだから、馬鹿過ぎてあたりまえ。
0178login:Penguin
2012/04/06(金) 11:33:24.12ID:RPUZOFaTああこりゃこりゃ
0179login:Penguin
2012/04/06(金) 22:52:52.92ID:EQ3yuqcLそんなアホなビルドしなきゃいいだけじゃん
というか誰もそんな無駄な事はしてない。
0180login:Penguin
2012/04/06(金) 23:57:49.41ID:QE9zWki8>所定の時間内に応答できることが要件であって『高速』は必須じゃない
>そんな基礎知識も知らないのな
『高速』に応答するのが必須なんじゃないの?
10分後に応答してもいいの?
0181login:Penguin
2012/04/07(土) 00:49:42.83ID:jBsevqU20182login:Penguin
2012/04/07(土) 00:49:43.30ID:7SYCSB1I指定したのであれば、
10分後に応答で問題ない。
0183login:Penguin
2012/04/07(土) 01:10:35.14ID:/0eRIgjP誰かが作ったOS使うしかない、窓、Fedora、OSXとかね
これらは不要なドライバはある程度削られてるし。
0184login:Penguin
2012/04/07(土) 04:35:11.76ID:mDZkQuCBそれじゃリアルタイムとはいわないだろう。
何の話しているんだおまえは。バカか。
0185横レス
2012/04/07(土) 09:46:08.66ID:oellQcB70186login:Penguin
2012/04/07(土) 09:50:36.82ID:xsR4lDMG遅くてもいいんだよ
規定した時間内に応答できるなら機能するんだから
0187login:Penguin
2012/04/07(土) 10:51:39.90ID:cZNQu+oH0188login:Penguin
2012/04/07(土) 11:27:27.94ID:7SYCSB1Iそんなの相対的な問題だ。
地球の寿命レベルからすればすごく短い時間だし。
0189login:Penguin
2012/04/07(土) 11:53:55.61ID:yihAQ0cI宇宙の年齢レベルからすれば、応答は一万年後でもいいくらいだ。
0190login:Penguin
2012/04/07(土) 12:01:07.28ID:7SYCSB1Iその「いつまでに終わらせればいいのか?」という与えられた条件を
満たすための機能があるOSのことであって、
できるだけ短い時間で終わらすOSのことではないのだよ。
ま、初心者が間違えるところだよね。
間違えても恥ずかしくないよ。初心者だもん。
0191login:Penguin
2012/04/07(土) 13:13:26.78ID:xVLa4EMo0192login:Penguin
2012/04/07(土) 14:23:16.02ID:cZNQu+oHRTOS開発してる会社が、このスレ見たらなんというか。
0193login:Penguin
2012/04/07(土) 17:06:39.37ID:mNrqMqBLどうにでもなることでしょ
0194login:Penguin
2012/04/08(日) 16:01:18.98ID:Q9z7F/Mw瞬時に処理完了とはいっていないからな。
瞬時に処理しはじめられるOSだよ。
「いつまでに終わらせればいいのか?」という与えられた条件を
満たすための機能があるOSのことではない。
そんな機能あるOSはない。
1000000テラバイトのデータを低速回線で五秒以内に送信完了しろという指示を出しても
五秒以内でやれるOSはない。
何秒以内にやれとかいっても、終わらないものはできないだろ。
指定時間に終わらせる機能ではなく、瞬時すなわちリアルタイムに処理を開始しはじめられるOSだ。
0195login:Penguin
2012/04/08(日) 18:13:42.76ID:egOveXVr0196login:Penguin
2012/04/08(日) 20:06:48.90ID:RVOHhEUCどこで勉強しましたか?
間違ってますよw
0197login:Penguin
2012/04/08(日) 20:37:30.84ID:larjChNm0199login:Penguin
2012/04/08(日) 22:10:37.33ID:PoWPUaoGバカはバカ、自分で自分を晒す
あははははhwwwwwwwwwwwww
0200login:Penguin
2012/04/08(日) 23:49:26.16ID:FGPC74ke0201login:Penguin
2012/04/08(日) 23:59:19.42ID:larjChNmRTOS化するとは言ってるみたいだけど、linux
0202login:Penguin
2012/04/09(月) 02:17:31.73ID:I6FxkbZnloguin:Penguin 1時間前
www.playboy.comなう
みたいな。
0203login:Penguin
2012/04/09(月) 16:59:02.48ID:rwLqa1UN0204login:Penguin
2012/04/09(月) 17:02:37.21ID:SzMvUvjM0205login:Penguin
2012/04/09(月) 17:03:48.28ID:rwLqa1UNいちいちRTOSとかどうでもいいじゃん
0206login:Penguin
2012/04/09(月) 17:04:26.00ID:dUfwZhkW0207login:Penguin
2012/04/09(月) 23:47:26.23ID:xEn2Drt7組み込みで使えるになったのはハードのスペックが上がったせいだからな。
0208login:Penguin
2012/04/09(月) 23:49:52.40ID:dUfwZhkW0209login:Penguin
2012/04/10(火) 00:15:12.04ID:a8xpc4Hr0210login:Penguin
2012/04/10(火) 00:16:15.47ID:TjB2iYHyそれ見たんじゃないの?
0211login:Penguin
2012/04/10(火) 04:24:18.52ID:te0RSNi5重く作れば重いし軽く作れば軽いんだよ
石やデバイスが制限されてる場合は軽めにビルドするのが普通だよ。
組み込み用途なのにLinuxのコード全部乗せたOS作るバカなんて居ないと思うよ
0212login:Penguin
2012/04/10(火) 05:17:24.53ID:a8xpc4Hr0213login:Penguin
2012/04/10(火) 18:15:29.45ID:TjB2iYHy0214login:Penguin
2012/04/10(火) 23:56:29.55ID:jMgBsT87予防接種の前日に両耳を塞いで「僕は何も聞こえない聞こえない聞こえない」
って、自分が認めなければ世界も変化しないと思い込んでる子供をみてるようで
微笑ましい
0215login:Penguin
2012/04/11(水) 01:16:44.01ID:jnmbGaMw0216login:Penguin
2012/04/11(水) 01:18:45.44ID:JR+hwIU8なるほど。具体的に反駁できないから個人攻撃に逃避ですか。わざわざ自白ご苦労さん。
馬鹿だから気が付かないんだろうけどそれって禿同したのと同じことだよ。
そもそも何を持って「これだけ普及」って言ってるのかねぇ。組み込み系全体からみれば
Linuxなんてほんの一握りでしか使われてないだろ
0217login:Penguin
2012/04/11(水) 05:11:05.56ID:xfUbqAHm0218login:Penguin
2012/04/12(木) 15:57:25.81ID:ZlGXitAhヽ('A`)ノ、スーパーちんぽマン参上!!
/ ( ) \
んヘヽヽ〜'
0219login:Penguin
2012/04/12(木) 18:27:59.70ID:4A+5WXkrVxWorksだのITRONだのを有難がるのは馬鹿げてる気がするなぁ、、、
0220login:Penguin
2012/04/12(木) 22:11:24.34ID:py+EArbpLinuxでいいと思っちゃうかもねw
0221login:Penguin
2012/04/13(金) 12:15:23.47ID:9+kM0PEo1980年代には必要だったかもしれないしその意義も認めるけど
2010年代には2010年代なりのやり方があるんだよ。
ロートルはCOBOLの保守と同じ、旧機種のメンテだけやってればいいよ。
0222login:Penguin
2012/04/14(土) 07:44:13.28ID:oAQPV2S3OSの許可ダイアログに伺いをたてながらインスコしなければならなかったり
ハードよりものすげ高額なお布施が必要だったりして、アイデア一つじゃ試すことすらできない
敷居が高いOSってのも相当勘弁してほい気がするが。
0223login:Penguin
2012/04/14(土) 10:02:06.25ID:BUXq+H82金もかからず手間もかからないOSがいいってことだな
0224login:Penguin
2012/04/14(土) 10:07:39.32ID:cDSwiX+m同意
0225login:Penguin
2012/04/14(土) 10:42:20.66ID:odbGPVh60226login:Penguin
2012/04/14(土) 12:20:44.98ID:hQcUzHTF本当にスイッチ投入からほぼ全ての設定が完了してるように持って行きたいなら
日本製のハード設定・アンチウィルス・年賀状ソフト全部入りPCを買い続けるしか無い
0227login:Penguin
2012/04/14(土) 12:29:12.90ID:odbGPVh60228login:Penguin
2012/04/14(土) 12:37:34.93ID:0pKPS3cj0229login:Penguin
2012/04/14(土) 12:41:27.49ID:odbGPVh6それに従って聞きます。
>>228
なぜ儲かるのですか?
0230login:Penguin
2012/04/14(土) 19:44:40.30ID:VdeDpIM/0231login:Penguin
2012/04/14(土) 19:53:38.55ID:wnlLR3HAいや…教えてください
0232login:Penguin
2012/04/14(土) 21:00:08.77ID:cDSwiX+mスレ的にはドライバの開発やメンテの話にしてくれ。
アプリまで含めたらきりがない。
0233login:Penguin
2012/04/16(月) 17:29:04.83ID:Aww9+PmX今ならiOSかAndroidだね。
0234login:Penguin
2012/04/21(土) 18:56:33.08ID:JfRq4RcJハードメーカーがドライバとかいち早く対応させるし
サポートも手厚いからPCメーカー側(組み立て屋)
が楽ってだけの話じゃないの?
消費者の大半は新しいもの求めてると思うし
要は早い者勝ちよ
0235login:Penguin
2012/04/22(日) 12:22:07.00ID:QeSFRWlHiOSとかだとサードパーティ製ドライバって概念が希薄だから、その理屈だと測定できなくない?
0236login:Penguin
2012/04/22(日) 17:52:25.11ID:mFjQLQlD「答えはWindowsだよ。 他のOSは全部無意味だから
それ向けのプログラミングなんてするなよ」
って言いたいのかな
0237login:Penguin
2012/04/22(日) 20:50:58.55ID:Mj9d/MFf0238login:Penguin
2012/04/25(水) 21:58:27.13ID:jN9rybhO0239login:Penguin
2012/04/29(日) 13:21:26.34ID:DSVV4bVhなんでスマートフォンメーカーの人はAndroidを選ぶんだろうね。
0240login:Penguin
2012/05/03(木) 09:44:57.09ID:eVufE9TZ0241login:Penguin
2012/05/03(木) 12:50:43.19ID:ieD2eJmwたとえば、あるハードは、
メモリーの0x1234が1の場合は、ブザーが鳴って、
メモリーの0x5678が1の場合は、豆電球が光るとか、
という装置だとする。
直接ソフトが、本当のメモリー番地を指定してon/offすることはOSによって禁止されてるので、
間にドライバーを介して、ドライバーに対して buza-on とか mame-on とかを要求して、実際にはドライバーが 0x1234 等へのon/offを操作するってこと?
周辺機器(ハード)って、結局、メインメモリーのどこそこをon/offすることで、豆電球光ったり消したりのスイッチになってる
それだけの単純な装置だと考えてしまえば、
結局、生のメインメモリーの、本物のアドレス(OSによって割り振られた仮想的なアドレスじゃなくて、文字どうり、本物のハードレベルでの固定の本物のアドレス)さえ
自由に読み書きする手段さえあれば、ドライバーを介さなくても、直接、ソフトから直接メモリーをon/offして豆電球を光らせられるような気がする。妄想。
0242241
2012/05/03(木) 12:52:32.87ID:ieD2eJmwーーここまでで既に間違えてるのかもしれないがーーー
ーーーだとすれば、
もしも生のメモリーに、直接書き込める方法さえ提供すれば、間にドライバーを介さなくても、直接メモリーをon/offしてハードを動かせる気がする。
だから、何かしらの方法で「この常駐プログラムは、ドライバーとして動かしてるので、生メモリーへの直アクセスOKにしてください」という要求と許可の機構を、linux側が提供すれば
わざわざOSにバイナリーレベルで組み込まなくても、ユーザーレベルでドライバーを書けるし、
企業秘密等があるならバイナリーオンリーでも提供できるし、
linux自体の内部で使われてる変数名や変数の動作がどう変わろうが、そんなの知ったこっちゃ無いと、ただメモリーの0x1234をonにすれば豆電球が光ることだけ考えればいいし、
いろいろシンプルになっていいような気がする。
/devを見たら、/dev/mem というものが目についたのだが、これってもしかして、生の本当のリアルな固定の実メモリーへの読み書きを提供してるってこと? 危なそうなので触ったこと無いが。
もしそうなら、これを介せば、カーネルにドライバー組み込まなくても、ソフトから直接メモリーの0x1234をon/offして豆電球光らせたりできるのだろうか?とか妄想。
以上、まったくドライバー書いたこと無い人間の妄想でした。wikiとかは一切見てないので、いろいろ的外れな考え方してるとは思う。ダメ出しよろです。
0243login:Penguin
2012/05/03(木) 14:36:30.56ID:xdSKp7k9直接読み書きする手段があるかどうかは関係ない。
違うメーカーのUSBキーボードであっても
結局はキーを入力するという同じ機能を提供している。
ドライバはそういう違うメーカーの物を
同じように見せるもの。
0244login:Penguin
2012/05/03(木) 15:33:56.52ID:vA9elne1複数の機種で動かすのがドライバーではなく、
別に単一機種で動かしてもドライバーだよ
誤解しているよね君
0245login:Penguin
2012/05/03(木) 18:00:06.87ID:b1/f/36O流通量の少ないデバイスなんかでは、そういうポリシーのごく単純なドライバを書いて
複雑なことは全部ユーザランドでやることもある。
でも普通は抽象化が不十分だと相互運用性が低くて使いにくいからやらない
0246login:Penguin
2012/05/04(金) 16:06:47.25ID:ulpq0FrP0247横レス
2012/05/05(土) 16:42:19.72ID:2uJ9hScjLinuxカーネルがversion 1の頃は、
そういうユーザランドのドライバ相当のコードたくさんあったよ。
昔のLinuxはroot権限で怪しいメモリもアクセスできたので。
けどこれがシステムの不安定さを招いているので辞めた。
偉い人達の書いたドライバさんは「保護モード」で動いてる。
0248login:Penguin
2012/05/06(日) 17:49:43.51ID:iinhuikVOSのインターフェースにどう合わせるか、そこがバラバラなのが問題。
単純なLEDを点けるだけであっても、例えばLEDデバイスをオープンして
そのあとどのように操作すればLEDのON/OFFが出来るか?という部分。
ここに決まりが無いんだわ。write()の下に実装してもいいし、ioctl()の実装でもいい。
そのあたりの実装がドライバー独自って状況を生み出す。
カーネル自体が変更されると影響受けるのでまた再実装する。
なことを繰り返してるうちに特定のカーネルバージョンでしか動かないドライバーが出来上がる。
(特にARMはこれがひどい、切り離すなんて絶対無理)
0249横レス
2012/05/06(日) 18:54:37.73ID:CUcotG37インターフェースの統一も含めて。
0250login:Penguin
2012/05/06(日) 20:47:10.53ID:R63eHi+yカーネル開発者がやるとは思えんが…
0251login:Penguin
2012/05/06(日) 21:34:50.37ID:tdwvS5oWドライバーを開発する上で、具体的に何が変わるんです?
あまり詳しくないので、「具体例」を出してわかりやすく説明してくれると嬉しい。
0252横レス
2012/05/06(日) 22:01:12.84ID:CUcotG37bulk必須、bluk可能、bulk不可能の3つになり、
ドライバのstructのビットフィールドが1bitから2bitになり、
可能な値は0/1だったのがenumになった。
おまけにフィールド名も変わった。(そのままではちょっと不適切な名前なので)
だからバイナリ互換性もないし、ソース互換性もない。
要するにカーネル内のインターフェースの変更。こういうのはあちこちで起きる。
こういうのを固定して変更しないと、互換性のためにプログラマが我慢したり、
苦労したりするので、開発者が逃げていってしまう。
開発者が多いことが重要なのは、Linuxと他のPC UNIXを比べればよく分かる。
0253login:Penguin
2012/05/06(日) 23:25:44.51ID:vMlcB1qP0254login:Penguin
2012/05/07(月) 00:19:10.20ID:Lt2ZES7qありがとうございます。
1.USBシリアルデバイスのbluk転送対応がon/off ->
bulk必須・bulk可能・bluk不可能の3種類に変更(よくわからんけど、必須っていうのが追加ってこと?)
2.構造体名はちょっと書いてないのでわからないけど、とにかく1bitの0/1で表してた部分が
2bitで表されるようになり、enum になった。
(0/1で表されていた部分は、2bitに増やされた時に意味も変更されたのだろうか?)
3.何かはわからないけど、フィールド名が変更になった。
ちょっと聞くだけでは、3.の変更以外、ソース互換性がないかどうかは判断できませんが、
互換性がないというからにはないんでしょう。
そういう、ソース互換性がないというのは、「あちこちで起きる」「開発者が逃げていってしまう」
と書いてあるからには、頻繁に起きていると思うのですが、
マイナーバージョンアップでしょっちゅう起こってるんです?
そうだとすれば、Linuxには膨大なドライバーソースが含まれている(ドライバーだけでも1000万行近く?)ので、
マイナーバージョンアップが変わるごとに、全部メンテナが変更していることになりますけど、
それってあまりにも大変ですよね?
私があまり知らないだけだからだろうけど、話を聞くだけだと深刻な問題に思えます。
この問題って、他のどこで議論されてるか知っていれば教えて下さい。
どのように解決しているのかも知りたいので、参考にしたいです。
0255横レス
2012/05/07(月) 00:25:05.86ID:Cj7ymg+V0256login:Penguin
2012/05/07(月) 00:39:57.08ID:Lt2ZES7qそうだったんです?>>11他多数のレスを見る限り、
カーネルバージョンが上がる度に構造体が変更されているように勘違いしてしまいました。
ただ、ドライバー部分(1000万行近く?)全てとはいわずとも、マイナーバージョンアップのたびに
何百万行を調べる余裕はとてもあるようには思えないので(仮にそうだとしたら大問題)、
そうなのではないかとも思っていました。
一つ疑問が解決した感じです。
0257login:Penguin
2012/05/07(月) 10:41:18.41ID:uqtLgDw3>こういうのを固定して変更しないと、互換性のためにプログラマが我慢したり、
>苦労したりするので、開発者が逃げていってしまう。
ドライバーの内部的な変更は早々あるもんじゃないでしょ
やってる人の回転?がいいのがlinux
0258login:Penguin
2012/06/24(日) 02:29:53.58ID:DUNs0UrU0260login:Penguin
2012/07/26(木) 21:16:29.35ID:gEKA9x+l削除するとかありえないわ。サポートしないのはいいとして削除したら
何もできなくなる。
むやみに増やしすぎたドライバーはハードウエアが実装されていないので
動かないダークな分部で満ちている。
基本ネットワークだけ(無線も含む)サポートすれば他は後付で対応するべき。
HDDのドライバも後付で何の問題もなしで最低はローダーレベルでの
RAMDISKで起動できればいいだろ。
0261login:Penguin
2012/07/27(金) 02:02:54.33ID:q7PvhmtZ0262login:Penguin
2012/07/27(金) 12:22:43.61ID:SllXP1480263login:Penguin
2012/07/30(月) 06:18:37.54ID:486wwef+なるほど。
例えば、arch/*/configs/下にあるdefconfigファイルの数を較べると、
・ARM 125個
・x86: 2個(i386とx86_64)
linuxの歴史的なことを考えれば、x86に対してARM多過ぎ。
もちろんdefconfigの数が問題なのではなく、ドライバがてんでバラバラなことですね。
ドライバ改造してるんだけど、2.6.xと3.2.xと3.4.xとで全然関数IFが異なってて面倒です。
割と新しいI/F規格だし仕方ないのだろうけど。
0264login:Penguin
2012/07/31(火) 18:39:33.43ID:JdT2TbRvcpuのアーキテクチャについて一度勉強したほうがいいよ。
0265login:Penguin
2012/08/01(水) 20:38:57.09ID:vTI9JmmaもしかしてCPUの略語の略をしらないの?
単語として知識を暗記(合理化)しちゃったの?
0266login:Penguin
2012/08/08(水) 02:32:34.01ID:uudX+7lgMS-DOSのIO.SYS(ドライバ)MS-DOS.SYS(カーネル)みたいな状態か?
0267login:Penguin
2012/08/18(土) 00:04:10.74ID:AFOOumUeインチキ臭いよな。
0268login:Penguin
2012/08/23(木) 23:19:54.43ID:vsdrNnIk必要はないとしても、この世にある全てのハードウエアを一枚板のように
混ぜ合わせるのは良くないね。カーネルが動作する段階では一枚板でいいだろうけど
そのPCに適合するカーネルに動的に編集されて不要な分部は削除されるべき。
例えばinetdで書き換え可能なRAMDISKとしてカーネルをファイルではなく
動的に編集可能なディスクイメージとしてのRAMDISKとして実装し、非実装な
機能分部は多機能(フル実装)の編集する前のinitrdとて存在させておき。
必要において起動中に削除実装ができるようにするカーネルファイルシステム
というのが必要な気がする。
PnPで汎用のカーネルは動的に繋がる新しいハードウエアを認知する為の機能があり
それはアプリケーションのように後天的に実行されるべきで先天的に読み込まれる
のは多様性が膨らむと資源の無駄遣いとシステムの起動の遅さに繋がる。
0269login:Penguin
2012/08/24(金) 09:49:29.74ID:IHiydYt70270横レス
2012/08/24(金) 11:02:30.28ID:RNK6oyOp0271login:Penguin
2012/08/29(水) 14:25:33.40ID:DEjcO5E1変更は毎回起きるわけじゃないけど、結構カーネルのマイナーなアップデートでも変更があるので困る。
他のOS(Windows,BSD,UNIX)などに比べるとLinuxは頻繁に変更があると言わざる得ない。
0272login:Penguin
2012/08/30(木) 12:19:13.72ID:IaFygKFm0273login:Penguin
2012/09/17(月) 19:48:11.24ID:AZJsxh/n頻繁に変更が起こるのなら、
具体的にどのバージョンでどこが変更になったか言えっつってるんだろ。
今まで、変更になってソース互換性もなくなったという
構造体名の具体例は一度も出てない。
マイナーアップデートで変更がありまくるのなら、
数百は言えてもおかしくないはずなんだけど・・・
0274login:Penguin
2012/09/18(火) 06:02:12.08ID:Yt5HyjCSコミットログみれば?
0275login:Penguin
2012/09/23(日) 21:15:35.69ID:vJajxKe4下位互換性がないのなんんて、殆ど見たことないよ。
そもそもカーネル2.4時代のドライバも動く奴あるし。
そもそも、ドライバだけで数万行のコードがあるのに、
マイナーアップデートでソース互換性がなくなるとすれば、
変更のあった部分全てやり直していることになるんだけど、
実際そんなことは滅多にやってないでしょ?
それと、ドライバーのインターフェイスが頻繁に変わってるって言っていた奴も
いるけど、どこがどう変わったのか、すっげー興味あるから
教えてくれないかなぁ・・・。
0276login:Penguin
2012/09/23(日) 21:17:06.46ID:vJajxKe4数万とかw間違えた。数百万ね。
0277login:Penguin
2012/09/23(日) 21:45:20.56ID:vxVhbaWP0278login:Penguin
2012/09/24(月) 06:52:06.87ID:cJHKRjztマイナーアップデートで大幅な変更とかしないよ。メジャーの間違い?
あと、変更点見たいならgit logで確認したらいいよ。
■ このスレッドは過去ログ倉庫に格納されています