トップページ⇒linux
278コメント95KB

Linuxはカーネルからドライバを完全分離する時が来たね

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2012/03/12(月) 04:08:04.12ID:khwvZHK+
遅すぎるぐらいだが。
0159login:Penguin2012/03/26(月) 05:30:50.60ID:u3T5fxYB
まあ実際には、X Window や、 NFS や、NAS(Network Audio System のほう)などのように
仕様が公開されているプロトコルを使うデバイスならともかく、
プロトコル非公開のデバイスに関しては、
PC - デバイス間で流れているパケットを解析する必要があるのだが。
0160login:Penguin2012/03/26(月) 06:01:51.09ID:vDrkYKFR
X Windowってさ上野動物園を上野動物って言うのと似てるよね
わざと馬鹿っぽくしてるんだろうけど
0161login:Penguin2012/03/26(月) 13:16:46.23ID:Do9eiYNJ
ARMとか無線LANを内蔵したCPUとかけっこうあるじゃん。
0162login:Penguin2012/03/26(月) 13:39:27.33ID:dzzl1xdM
>無線LANを内蔵したCPU
それCPUとは別だから。
CPUと同一シリコンウェハー上に乗せたのはインテルが試作品作ったの
外ないだろ。
0163login:Penguin2012/03/26(月) 14:02:49.23ID:4XdVQuw0
無線LANがCPUに内蔵されれば、
CPUに対応するだけで、何もしなくても
無線LANが動くようになるのに。
0164login:Penguin2012/03/26(月) 17:07:42.57ID:/HNBa2kB
>>149
リアルタイム性に応答性能は含まれる
当然の話だ
処理完了までに数秒掛かるようなものはリアルタイム性がない
要求される性能をみたすかどうか。
0165login:Penguin2012/03/26(月) 17:11:36.97ID:/HNBa2kB
>>150
> LinuxHost+WindowsXP Client on Virtualboxだと、そこそこの速度が
> 出てるからデスクトップ用途では問題ないと思うけどな。
クライアントで要求されるリアルタイム性とは、そういう話ではないよ。

応答性の問題だから、遅いのは論外。
そこそこ早いでも駄目。

たとえば、マウスを素早く左右に動かした時、そのカーソルが
ほとんど同時に動くようなものを言う。

OSの処理が遅ければ、当然遅延が発生するし、
早くても例えばバックグランドで通信処理を行っていると
遅延が発生するようなものは使えない。

つまりマウスを右に動かしている時にカーソルが左に動くような物は駄目。
昔のWindowsやLinuxはそういう状態になり易い。音楽用途になると更に
かなりリアルタイム性の基準が高くなる。
0166login:Penguin2012/03/26(月) 19:10:56.37ID:A6Ta1zq9
つまりマウスを右に動かしている時にカーソルが左に動くような物は駄目(キリッ

今時1/60s(16.66ms)程度に追従できないような実装なんてなぁw
0167login:Penguin2012/03/26(月) 20:13:26.31ID:/3FZXWaz
すべてのMac OS Xのマウスの移動にはタイムラグが存在している
http://gigazine.net/news/20120208-mac-os-x-mouse-delay-32-milliseconds/
0168login:Penguin2012/03/26(月) 20:17:02.92ID:3cnMS++r
>>167 板違い
0169login:Penguin2012/03/26(月) 22:34:37.34ID:/HNBa2kB
>>166
リアルタイム性の意味をまったく理解していませんな。
バックグランドで重たい処理をするとマウスの動作がおかしくなる
ように見えるという話をしているんだが?

しかも、マウスの問題はそれ程深刻ではない。これが音楽に
なると深刻になる。

ところでLinuxカーネルって標準でプリエンプティヴになっていなかったよね?
preemptive版を組み込むとか何とかそういう話はあったけど。
0170login:Penguin2012/03/26(月) 22:55:26.47ID:I6aCChZZ
grep -r PREEMPT .
0171login:Penguin2012/03/27(火) 01:25:17.94ID:hZo04L/r
>>169
16msなんて今時のCPUなら止まってるも同然だがなぁw
Linuxってそんなヘボい実装されてんの?w
0172login:Penguin2012/03/27(火) 02:36:01.19ID:8nqDocGj
>>171
割り込み処理に時間が食うと今時も10年後も変わらない。
またCPU以外がボトルネックになる場合も多い(バス、メモリ、グラフィックスなど)。
リアルタイム性をスループットで謀ろうとするのは素人が犯す間違い。

分かり易く書けば1億人の労働者を雇っても100億人分の
仕事が一度に来たら処理が滞るということだ。
0173login:Penguin2012/03/27(火) 03:05:19.45ID:hZo04L/r
判りやすい解説乙w

1億人に100倍の仕事来たら到着順に処理するんじゃなく優先するものは優先するだろうJK
こんなのJKだってふつーに考えるだろうJK歯磨いて顔洗ってトイレ入る、って計画立てて
今にもはちきれんばかりの尿意と戦ってる状態で歯を磨き始めるJKはいないだろJK
Linuxはこんな状況だと垂れ流しながら歯を磨くのか?w
0174login:Penguin2012/03/27(火) 12:21:52.19ID:Q5A5VTZd
>>164
所定の時間内に応答できることが要件であって『高速』は必須じゃない
そんな基礎知識も知らないのな
0175login:Penguin2012/04/02(月) 05:54:32.11ID:UT9eFXPC
>>173
バカ過ぎて釣りに見える、って釣りか?
0176login:Penguin2012/04/06(金) 01:27:31.76ID:dXsHKkVQ
バージョン上がるたびに、新しいドライバがぶち込まれるから、サイズがでかくなって結局重くなる。
やはり、ドライバとカーネルは分離すべき。

今の開発体制って
カーネルコミュニティが、上から目線でメーカーをこき使って
悦に浸ってるだけじゃないのか。
0177login:Penguin2012/04/06(金) 02:46:54.00ID:nC5X6DIk
>>175
馬鹿を馬鹿にするために馬鹿丸出しで書いているのだから、馬鹿過ぎてあたりまえ。
0178login:Penguin2012/04/06(金) 11:33:24.12ID:RPUZOFaT
と馬鹿がおしゃっております
ああこりゃこりゃ
0179login:Penguin2012/04/06(金) 22:52:52.92ID:EQ3yuqcL
>>176
そんなアホなビルドしなきゃいいだけじゃん
というか誰もそんな無駄な事はしてない。
0180login:Penguin2012/04/06(金) 23:57:49.41ID:QE9zWki8
>>174
>所定の時間内に応答できることが要件であって『高速』は必須じゃない
>そんな基礎知識も知らないのな

『高速』に応答するのが必須なんじゃないの?
10分後に応答してもいいの?
0181login:Penguin2012/04/07(土) 00:49:42.83ID:jBsevqU2
ビルドなんかしたくねぇんだよ
0182login:Penguin2012/04/07(土) 00:49:43.30ID:7SYCSB1I
10分後に応答で問題ないとアプリが
指定したのであれば、
10分後に応答で問題ない。
0183login:Penguin2012/04/07(土) 01:10:35.14ID:/0eRIgjP
ビルドしたくないならOSなんぞ作れないだろ
誰かが作ったOS使うしかない、窓、Fedora、OSXとかね
これらは不要なドライバはある程度削られてるし。
0184login:Penguin2012/04/07(土) 04:35:11.76ID:mDZkQuCB
>>182
それじゃリアルタイムとはいわないだろう。
何の話しているんだおまえは。バカか。
0185横レス2012/04/07(土) 09:46:08.66ID:oellQcB7
馬鹿はおまえ
0186login:Penguin2012/04/07(土) 09:50:36.82ID:xsR4lDMG
リアルタイム処理の定義を知らないおバカ再来w

遅くてもいいんだよ
規定した時間内に応答できるなら機能するんだから
0187login:Penguin2012/04/07(土) 10:51:39.90ID:cZNQu+oH
用語の定義云々置いといて、応答に10分もかかるような処理は問題だろ。
0188login:Penguin2012/04/07(土) 11:27:27.94ID:7SYCSB1I
ぜんぜん問題じゃないよ。
そんなの相対的な問題だ。
地球の寿命レベルからすればすごく短い時間だし。
0189login:Penguin2012/04/07(土) 11:53:55.61ID:yihAQ0cI
だよな。
宇宙の年齢レベルからすれば、応答は一万年後でもいいくらいだ。
0190login:Penguin2012/04/07(土) 12:01:07.28ID:7SYCSB1I
うん。で「リアルタイムOS」というのは
その「いつまでに終わらせればいいのか?」という与えられた条件を
満たすための機能があるOSのことであって、
できるだけ短い時間で終わらすOSのことではないのだよ。

ま、初心者が間違えるところだよね。
間違えても恥ずかしくないよ。初心者だもん。
0191login:Penguin2012/04/07(土) 13:13:26.78ID:xVLa4EMo
おうとうできなくても いいじゃないか  みつを
0192login:Penguin2012/04/07(土) 14:23:16.02ID:cZNQu+oH
言葉遊びもいい加減にしろよ。
RTOS開発してる会社が、このスレ見たらなんというか。
0193login:Penguin2012/04/07(土) 17:06:39.37ID:mNrqMqBL
リアルタイムってのを、必要な時に即時応答出来ればいいと考えれば
どうにでもなることでしょ
0194login:Penguin2012/04/08(日) 16:01:18.98ID:Q9z7F/Mw
リアルタイムOSは、リアルタイムで応答できるOSだよ。
瞬時に処理完了とはいっていないからな。
瞬時に処理しはじめられるOSだよ。
「いつまでに終わらせればいいのか?」という与えられた条件を
満たすための機能があるOSのことではない。
そんな機能あるOSはない。
1000000テラバイトのデータを低速回線で五秒以内に送信完了しろという指示を出しても
五秒以内でやれるOSはない。
何秒以内にやれとかいっても、終わらないものはできないだろ。
指定時間に終わらせる機能ではなく、瞬時すなわちリアルタイムに処理を開始しはじめられるOSだ。
0195login:Penguin2012/04/08(日) 18:13:42.76ID:egOveXVr
じゃぁそれで
0196login:Penguin2012/04/08(日) 20:06:48.90ID:RVOHhEUC
>>194
どこで勉強しましたか?

間違ってますよw
0197login:Penguin2012/04/08(日) 20:37:30.84ID:larjChNm
無能が無能に質問、回答?
0198横レス2012/04/08(日) 21:52:09.83ID:YaVgLDjN
>>194
レベル低すぎで哀れ
書き込みできてるだけでよくぞって感じ
0199login:Penguin2012/04/08(日) 22:10:37.33ID:PoWPUaoG
勉強しているわけ無いだろwwwww
バカはバカ、自分で自分を晒す
あははははhwwwwwwwwwwwww
0200login:Penguin2012/04/08(日) 23:49:26.16ID:FGPC74ke
犬厨「(俺が)していした時間に応答が帰ってくるから、LinuxもRTOSだよなwwwwwww」
0201login:Penguin2012/04/08(日) 23:59:19.42ID:larjChNm
RTOSって言ってるだけのが多いからね
RTOS化するとは言ってるみたいだけど、linux
0202login:Penguin2012/04/09(月) 02:17:31.73ID:I6FxkbZn
Real Tweet OSっすか?

loguin:Penguin 1時間前
www.playboy.comなう

みたいな。
0203login:Penguin2012/04/09(月) 16:59:02.48ID:rwLqa1UN
TRONってRTOSじゃないの?
0204login:Penguin2012/04/09(月) 17:02:37.21ID:SzMvUvjM
TRONはTRON。それ以上でもそれ以下でもない。
0205login:Penguin2012/04/09(月) 17:03:48.28ID:rwLqa1UN
じゃあLinuxはLinuxだね
いちいちRTOSとかどうでもいいじゃん
0206login:Penguin2012/04/09(月) 17:04:26.00ID:dUfwZhkW
平場でタスク切り替え?(タイマーで時分割していない)なのでRTOSっていっていいのかは微妙なところだと、個人的には、itronとかは
0207login:Penguin2012/04/09(月) 23:47:26.23ID:xEn2Drt7
Linuxみたいな重いOS(組み込みの世界じゃ重いほう)でも、
組み込みで使えるになったのはハードのスペックが上がったせいだからな。
0208login:Penguin2012/04/09(月) 23:49:52.40ID:dUfwZhkW
書き方が回りくどいから、重く見えるのかね?
0209login:Penguin2012/04/10(火) 00:15:12.04ID:a8xpc4Hr
うん。無駄なコードが多すぎる。
0210login:Penguin2012/04/10(火) 00:16:15.47ID:TjB2iYHy
パクリ防止のモジュールもあるみたいだからね
それ見たんじゃないの?
0211login:Penguin2012/04/10(火) 04:24:18.52ID:te0RSNi5
>>207
重く作れば重いし軽く作れば軽いんだよ
石やデバイスが制限されてる場合は軽めにビルドするのが普通だよ。
組み込み用途なのにLinuxのコード全部乗せたOS作るバカなんて居ないと思うよ
0212login:Penguin2012/04/10(火) 05:17:24.53ID:a8xpc4Hr
外せない部分が冗長だったりするからな。組み込みには向いてないねLinuxは
0213login:Penguin2012/04/10(火) 18:15:29.45ID:TjB2iYHy
マイコンってピンキリなのに何同じことが出来るみたいなこというだろうね?
0214login:Penguin2012/04/10(火) 23:56:29.55ID:jMgBsT87
こんだけ普及してるものを向いてないとか言えるのってある意味すごいね。

予防接種の前日に両耳を塞いで「僕は何も聞こえない聞こえない聞こえない」
って、自分が認めなければ世界も変化しないと思い込んでる子供をみてるようで
微笑ましい
0215login:Penguin2012/04/11(水) 01:16:44.01ID:jnmbGaMw
無料だから多少向いてなくてもトレードオフを見て採用してるってことじゃない?
0216login:Penguin2012/04/11(水) 01:18:45.44ID:JR+hwIU8
>>214
なるほど。具体的に反駁できないから個人攻撃に逃避ですか。わざわざ自白ご苦労さん。
馬鹿だから気が付かないんだろうけどそれって禿同したのと同じことだよ。

そもそも何を持って「これだけ普及」って言ってるのかねぇ。組み込み系全体からみれば
Linuxなんてほんの一握りでしか使われてないだろ
0217login:Penguin2012/04/11(水) 05:11:05.56ID:xfUbqAHm
どこからどこまでが組み込み系全体なのかも説明できないのに何いってんのか
0218login:Penguin2012/04/12(木) 15:57:25.81ID:ZlGXitAh
     Å   
   ヽ('A`)ノ、スーパーちんぽマン参上!!
    / ( ) \
    んヘヽヽ〜'
0219login:Penguin2012/04/12(木) 18:27:59.70ID:4A+5WXkr
SDカード上でLINUXを動かしている製品がある時代に
VxWorksだのITRONだのを有難がるのは馬鹿げてる気がするなぁ、、、

0220login:Penguin2012/04/12(木) 22:11:24.34ID:py+EArbp
OSの特徴を知らない人なら
Linuxでいいと思っちゃうかもねw
0221login:Penguin2012/04/13(金) 12:15:23.47ID:9+kM0PEo
バグの修正一つ、アプリ一つ書くのにアセンブラを持ち出すようなOSはもう要らない。
1980年代には必要だったかもしれないしその意義も認めるけど
2010年代には2010年代なりのやり方があるんだよ。

ロートルはCOBOLの保守と同じ、旧機種のメンテだけやってればいいよ。
0222login:Penguin2012/04/14(土) 07:44:13.28ID:oAQPV2S3
バグの修正一つ、アプリ一つ書くのに、巨大なフレームワークだのIDEだのシェル環境だのを何個も
OSの許可ダイアログに伺いをたてながらインスコしなければならなかったり
ハードよりものすげ高額なお布施が必要だったりして、アイデア一つじゃ試すことすらできない
敷居が高いOSってのも相当勘弁してほい気がするが。
0223login:Penguin2012/04/14(土) 10:02:06.25ID:BUXq+H82
とりあえず言えることは
金もかからず手間もかからないOSがいいってことだな
0224login:Penguin2012/04/14(土) 10:07:39.32ID:cDSwiX+m
>>223
同意
0225login:Penguin2012/04/14(土) 10:42:20.66ID:odbGPVh6
Linuxは手間がかかるんだよな。
0226login:Penguin2012/04/14(土) 12:20:44.98ID:hQcUzHTF
まぁOSのみの状態ではWindowsの手間暇も似たようなもんだけどな。
本当にスイッチ投入からほぼ全ての設定が完了してるように持って行きたいなら
日本製のハード設定・アンチウィルス・年賀状ソフト全部入りPCを買い続けるしか無い
0227login:Penguin2012/04/14(土) 12:29:12.90ID:odbGPVh6
PCメーカーの人は、なぜWindowsを選ぶんだろうね。
0228login:Penguin2012/04/14(土) 12:37:34.93ID:0pKPS3cj
儲かるからだろ
0229login:Penguin2012/04/14(土) 12:41:27.49ID:odbGPVh6
なぜを3回繰り返して、本質に迫るという手法があるよね。
それに従って聞きます。

>>228
なぜ儲かるのですか?
0230login:Penguin2012/04/14(土) 19:44:40.30ID:VdeDpIM/
値段が高いから。
0231login:Penguin2012/04/14(土) 19:53:38.55ID:wnlLR3HA
金もかからず手間もかからない儲かるOSを教えろ!
いや…教えてください
0232login:Penguin2012/04/14(土) 21:00:08.77ID:cDSwiX+m
>>226
スレ的にはドライバの開発やメンテの話にしてくれ。
アプリまで含めたらきりがない。
0233login:Penguin2012/04/16(月) 17:29:04.83ID:Aww9+PmX
儲かるOSってどういう事だろう? 対応アプリの販売実績が伸びてるOSってこと?

今ならiOSかAndroidだね。
0234login:Penguin2012/04/21(土) 18:56:33.08ID:JfRq4RcJ
儲かるってか市場のシェアを握ったOSは
ハードメーカーがドライバとかいち早く対応させるし
サポートも手厚いからPCメーカー側(組み立て屋)
が楽ってだけの話じゃないの?
消費者の大半は新しいもの求めてると思うし
要は早い者勝ちよ
0235login:Penguin2012/04/22(日) 12:22:07.00ID:QeSFRWlH
>>234
iOSとかだとサードパーティ製ドライバって概念が希薄だから、その理屈だと測定できなくない?
0236login:Penguin2012/04/22(日) 17:52:25.11ID:mFjQLQlD
234は
「答えはWindowsだよ。 他のOSは全部無意味だから
それ向けのプログラミングなんてするなよ」

って言いたいのかな
0237login:Penguin2012/04/22(日) 20:50:58.55ID:Mj9d/MFf
ひどい被害妄想だなw
0238login:Penguin2012/04/25(水) 21:58:27.13ID:jN9rybhO
はいはいワロスワロス
0239login:Penguin2012/04/29(日) 13:21:26.34ID:DSVV4bVh
>>227
なんでスマートフォンメーカーの人はAndroidを選ぶんだろうね。
0240login:Penguin2012/05/03(木) 09:44:57.09ID:eVufE9TZ
は?
0241login:Penguin2012/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して豆電球を光らせられるような気がする。妄想。
02422412012/05/03(木) 12:52:32.87ID:ieD2eJmw
>> 241
ーーここまでで既に間違えてるのかもしれないがーーー


ーーーだとすれば、
もしも生のメモリーに、直接書き込める方法さえ提供すれば、間にドライバーを介さなくても、直接メモリーをon/offしてハードを動かせる気がする。
だから、何かしらの方法で「この常駐プログラムは、ドライバーとして動かしてるので、生メモリーへの直アクセスOKにしてください」という要求と許可の機構を、linux側が提供すれば

わざわざOSにバイナリーレベルで組み込まなくても、ユーザーレベルでドライバーを書けるし、
企業秘密等があるならバイナリーオンリーでも提供できるし、
linux自体の内部で使われてる変数名や変数の動作がどう変わろうが、そんなの知ったこっちゃ無いと、ただメモリーの0x1234をonにすれば豆電球が光ることだけ考えればいいし、
いろいろシンプルになっていいような気がする。

/devを見たら、/dev/mem というものが目についたのだが、これってもしかして、生の本当のリアルな固定の実メモリーへの読み書きを提供してるってこと? 危なそうなので触ったこと無いが。
もしそうなら、これを介せば、カーネルにドライバー組み込まなくても、ソフトから直接メモリーの0x1234をon/offして豆電球光らせたりできるのだろうか?とか妄想。



以上、まったくドライバー書いたこと無い人間の妄想でした。wikiとかは一切見てないので、いろいろ的外れな考え方してるとは思う。ダメ出しよろです。
0243login:Penguin2012/05/03(木) 14:36:30.56ID:xdSKp7k9
>>241
直接読み書きする手段があるかどうかは関係ない。

違うメーカーのUSBキーボードであっても
結局はキーを入力するという同じ機能を提供している。

ドライバはそういう違うメーカーの物を
同じように見せるもの。
0244login:Penguin2012/05/03(木) 15:33:56.52ID:vA9elne1
>>243
複数の機種で動かすのがドライバーではなく、
別に単一機種で動かしてもドライバーだよ
誤解しているよね君
0245login:Penguin2012/05/03(木) 18:00:06.87ID:b1/f/36O
>>242
流通量の少ないデバイスなんかでは、そういうポリシーのごく単純なドライバを書いて
複雑なことは全部ユーザランドでやることもある。

でも普通は抽象化が不十分だと相互運用性が低くて使いにくいからやらない
0246login:Penguin2012/05/04(金) 16:06:47.25ID:ulpq0FrP
OSレベルじゃなくライブラリレベルでももちろん構わないんだけどね
0247横レス2012/05/05(土) 16:42:19.72ID:2uJ9hScj
>>241-242
Linuxカーネルがversion 1の頃は、
そういうユーザランドのドライバ相当のコードたくさんあったよ。
昔のLinuxはroot権限で怪しいメモリもアクセスできたので。
けどこれがシステムの不安定さを招いているので辞めた。

偉い人達の書いたドライバさんは「保護モード」で動いてる。
0248login:Penguin2012/05/06(日) 17:49:43.51ID:iinhuikV
カーネルモード、ユーザーモードてあんまり関係ない。
OSのインターフェースにどう合わせるか、そこがバラバラなのが問題。

単純なLEDを点けるだけであっても、例えばLEDデバイスをオープンして
そのあとどのように操作すればLEDのON/OFFが出来るか?という部分。

ここに決まりが無いんだわ。write()の下に実装してもいいし、ioctl()の実装でもいい。
そのあたりの実装がドライバー独自って状況を生み出す。

カーネル自体が変更されると影響受けるのでまた再実装する。
なことを繰り返してるうちに特定のカーネルバージョンでしか動かないドライバーが出来上がる。
(特にARMはこれがひどい、切り離すなんて絶対無理)
0249横レス2012/05/06(日) 18:54:37.73ID:CUcotG37
元の話はどうしてユーザランドでやってはいけないのかってことでしょ?
インターフェースの統一も含めて。
0250login:Penguin2012/05/06(日) 20:47:10.53ID:R63eHi+y
AndroidでGoogleがフレームワークでIF定めたような作業が必要だな
カーネル開発者がやるとは思えんが…
0251login:Penguin2012/05/06(日) 21:34:50.37ID:tdwvS5oW
素朴な疑問で悪いんだが、カーネルバージョンが変わると、
ドライバーを開発する上で、具体的に何が変わるんです?

あまり詳しくないので、「具体例」を出してわかりやすく説明してくれると嬉しい。
0252横レス2012/05/06(日) 22:01:12.84ID:CUcotG37
USBシリアルデバイスのbulk転送対応がオンオフしかなかったのが、
bulk必須、bluk可能、bulk不可能の3つになり、
ドライバのstructのビットフィールドが1bitから2bitになり、
可能な値は0/1だったのがenumになった。
おまけにフィールド名も変わった。(そのままではちょっと不適切な名前なので)

だからバイナリ互換性もないし、ソース互換性もない。

要するにカーネル内のインターフェースの変更。こういうのはあちこちで起きる。
こういうのを固定して変更しないと、互換性のためにプログラマが我慢したり、
苦労したりするので、開発者が逃げていってしまう。
開発者が多いことが重要なのは、Linuxと他のPC UNIXを比べればよく分かる。
0253login:Penguin2012/05/06(日) 23:25:44.51ID:vMlcB1qP
ソース互換性無くなるのはひでーよなぁ。
0254login:Penguin2012/05/07(月) 00:19:10.20ID:Lt2ZES7q
>>252
ありがとうございます。
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+V
しょっちゅう起きてない。
0256login:Penguin2012/05/07(月) 00:39:57.08ID:Lt2ZES7q
>>255
そうだったんです?>>11他多数のレスを見る限り、
カーネルバージョンが上がる度に構造体が変更されているように勘違いしてしまいました。

ただ、ドライバー部分(1000万行近く?)全てとはいわずとも、マイナーバージョンアップのたびに
何百万行を調べる余裕はとてもあるようには思えないので(仮にそうだとしたら大問題)、
そうなのではないかとも思っていました。

一つ疑問が解決した感じです。
0257login:Penguin2012/05/07(月) 10:41:18.41ID:uqtLgDw3
>要するにカーネル内のインターフェースの変更。こういうのはあちこちで起きる。
>こういうのを固定して変更しないと、互換性のためにプログラマが我慢したり、
>苦労したりするので、開発者が逃げていってしまう。
ドライバーの内部的な変更は早々あるもんじゃないでしょ
やってる人の回転?がいいのがlinux
0258login:Penguin2012/06/24(日) 02:29:53.58ID:DUNs0UrU
ヴァーチャルファイルシステムみたいにI/F固定できないのかね
■ このスレッドは過去ログ倉庫に格納されています