
Linux カーネル 3.8 では i386 がサポート外に 57
ストーリー by reo
3.7のタレコミをはよ 部門より
3.7のタレコミをはよ 部門より
ymitsu 曰く、
このたびカーネル 3.7 がリリースされ、さらに次期カーネル 3.8 へ向けて着々と開発が進んでいる Linux であるが、カーネル 3.8 では i386 がサポート外になるとのこと (ZDNet の記事、Linux Daily Topics の記事、本家 /. 記事より) 。
オリジナルの Linux は、Linus Torvalds 氏が所有していた Intel 386 DX を積んだパソコンで 1991 年より開発が始められ、i386 を搭載した PC の普及と歩みを同じくして世間に広まったことはよく知られる話である。それから二十余年、現在まで i386 のサポートは続けられているものの、既にオリジナルの Intel 386 も生産が終了して久しく、開発の重みになっていた。そこで、Red Hat の開発者 Ingo Molnár 氏が i386 をサポートから外すことを Linus 氏に提案した所、Torvalds 氏が了承した。
なお「(サポート中止にコストはかからないが) nostalgic cost がかかる」という、Molnár 氏の若干ノスタルジックなコメントに対し、Torvalds 氏本人は逆に「いい厄介払いが出来た (Good riddance)」と返答している。さらに Tovalds 氏は、i486SX で必要とされる FPU エミュレーションの削除をも提案しており、かつて Linux の普及を支えたこれらの 32bit CPU もいよいよ過去のものとなるもよう。
なんという手抜きなタレこみ・・・ (スコア:4, 参考になる)
とりあえず英語で書いてあればどれも同じだから適当に並べときゃ良いや、という思考が透けて見える。
根本的な部分を省略して何をどう説明するというのか・・・
この件に関してのタレコミをするのなら、リンクはLinusのコミットメッセージ [kernel.org]だけで良い。
他は全くの無駄。
引用すると
Pull "Nuke 386-DX/SX support" from Ingo Molnar:
"This tree removes ancient-386-CPUs support and thus zaps quite a bit
of complexity:
24 files changed, 56 insertions(+), 425 deletions(-)
... which complexity has plagued us with extra work whenever we wanted
to change SMP primitives, for years.
Unfortunately there's a nostalgic cost: your old original 386 DX33
system from early 1991 won't be able to boot modern Linux kernels
anymore. Sniff."
I'm not sentimental. Good riddance.
おわかりだろう?
最も重要なのは「 ... which complexity has plagued us with extra work whenever we wanted to change SMP primitives, for years.」の部分。
このマルチコア/スレッド全盛の時代に、SMP周りの部分に余分なリソースを割かせていた現況たる、i386が切り捨てられただけの話。
正にGood Riddance、消えてくれて良かった。
だいたいからして件のi386コードの除去がコミットメッセージに流れるやいなや、gccでも「i386除去すんべ」って議論になってる。 [phoronix.com]
たかがゲーム機の発売如きで一々タレコむ暇があるなら、コミットされた時点でタレコめよ。
どんだけ遅いんだ・・・
Re:なんという手抜きなタレこみ・・・ (スコア:4, 参考になる)
386と486の違いって何だっけ?
と調べると
などで、この中のXADDやCMPXCHGはSMP関連でロックを実現するのに便利な命令群である。
386の場合は、おそらくソフトウェアで代替コードを作りこむ必要がある。
逆に言えば、386はシングルCPUのみ対応する形であれば、完全に切り捨てなくても保守コストは大して変わらないんじゃないのかなと個人的には思う。
Linusのメッセージは見てなかったけど、
> we wanted to change SMP primitives
なので予想通りだった。
Re: (スコア:0)
具体的にはIO-APICをサポートしていないような旧式のSMPのサポートをやめるということなのかな。本当はi8259互換の旧式の割り込み制御も切り捨てたいところだろう。 PCI世代以降だけになれば、仮想化も多少楽になるだろうしね。
Re: (スコア:0)
「手抜き」という意味合いでここにぶら下げさせてください。
内容とは全く関係ない事なんですが…。
この程度の表記(Linus 氏/Torvalds 氏)も統一できないのでしょうか?
Re:なんという手抜きなタレこみ・・・ (スコア:1)
じゃおいらも便乗してここにぶら下げさせていただこう。
開発の「重荷に」か、「足枷に」あたりが妥当だと思いますな。
「開発の重み」って言われてもなあ…。
Re: (スコア:0)
あれ、あなた、LinusとTorvaldsが同一人物だと信じてたの?
Re: (スコア:0)
たかがゲーム機の発売如きで一々タレコむ暇があるなら、コミットされた時点でタレコめよ。
どんだけ遅いんだ・・・
あなたは何故コミットされた時点でタレコまなかったんですか?
Re:なんという手抜きなタレこみ・・・ (スコア:1)
きっとモンハンで忙しかったのさ
// 無駄を無駄と思わないことこそまさにアレゲ(:>^
Re: (スコア:0)
たかがLinux如きより新しいゲームコンソール発売の方が大事に決まってるじゃねーか。
朽ちろゲーム脳信者。
80386に対応していたのに驚いた (スコア:2)
便宜上、i386って表記にしているだけだと思っていた。
今後はi486にでもするのかな?
Re:80386に対応していたのに驚いた (スコア:3, 参考になる)
今回サポートをやめるのは、`uname -m`で表示されるmachine hardware nameのi386です。最近のディストリビューションなら、i686が表示されるはずです。hardware platformの方ではありません。
一部の80386下位互換の組込み向けCPUで未だ現役だったはずだけど、大丈夫なのかなあ。もっとも、大騒ぎになっていないところを見ると、最近はコストやIPの問題でARMへの移行が進んでいるので、問題にならなくなったのかなあ。
Re:80386に対応していたのに驚いた (スコア:2)
>一部の80386下位互換の組込み向けCPU
そういうのはカーネルのバージョンを上げる必要がないことが多いのでほとんど問題にならんでしょう。
gccの386サポート打ち切りも同様ですね。
# 関係ないけどFPUエミュレーションサポートが打ち切られるとNexGen Nx586でLinuxが動かなくなっちゃうわけだな。
# Nx587を積んだマザーボードは見たことがなかったけど実在した石なだろうか。未だに気になる。
Re:80386に対応していたのに驚いた (スコア:2)
Nx586ですが、 i486で追加された「ユーザーページへの特権レベルからの書込み禁止機能」をサポートしていないためにLinuxカーネルからはi386相当の扱いだそうで、
今回のi386サポート打ち切りでサポート外となるそうです。
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=com... [kernel.org]
Nx587、所有されてるコレクターはいるようですが、実際に使っていたという話はさっぱり見かけませんね
Re: (スコア:0)
Vortex86SX「|∀・)」
Re:80386に対応していたのに驚いた (スコア:2)
Vortex86sxは486ベースですよ。Rise>SIS>DM&Pって
ずいぶん販売元は変わってるけど元はRiSEのmP6系
M6117のほうは386だったと思うけど。元はALiだっけ。
Re: (スコア:0)
Re:80386に対応していたのに驚いた (スコア:2)
バイナリだと新しめのCPUに最適化した奴にはi686がよくついてますね。
スルースキル:Lv2
Keep It Simple, Stupid!
Re:80386に対応していたのに驚いた (スコア:1)
さらに Tovalds 氏は、i486SX で必要とされる FPU エミュレーションの削除をも提案しており
と言うんだから、i586 辺りかな。
# というか、FPU エミュレーションが載っている事に驚いた。まぁ、時代を考えれば確かにそうなんだけど。
Re:80386に対応していたのに驚いた (スコア:2)
さらに Tovalds 氏は、i486SX で必要とされる FPU エミュレーションの削除をも提案しており
と言うんだから、i586 辺りかな。
i486DX [wikipedia.org]以降?
と思ったけど、時間軸だと i486SX の方が後でしたっけ?
Re:80386に対応していたのに驚いた (スコア:1)
リンク先のZDNetの記事も読もうよ。
So while the 486DX and SX will live on in Linux 3.8, the 386 has come to the end of the road in mainstream Linux.
FPUエミュレーションは残すことになったので486SXでもLinux 3.8は動くとのこと。
Re: (スコア:0)
Re: (スコア:0)
組み込みで使うアプリは自前(か自分で調達)だろうから、浮動小数点演算のライブラリを
用意してアプリから呼び出せばいいのでは?
アプリをコンパイルするときFPU命令を生成しないようにすればok。
# と言いながら、想像しているのはMSDOS時代のCコンパイラ。
Re: (スコア:0)
i386とi486って、ソフトウェア側から見てそんなに違うもんなんすかね?
Re:80386に対応していたのに驚いた (スコア:5, 参考になる)
排他制御で用いられるCMPXCHG命令、キャッシュとTLBが内蔵されたことに伴って追加されたキャッシュ管理命令など、OSの機能を実装する上で「美味しい」命令がi486では追加されていると言えるでしょう。
逆に今となっては、それらの命令を持たない(少数派となった)i386のためにわざわざソフトウェアエミュレーションを入れ、コードを維持しつづけるのは結構な手間だと思います。排他制御や仮想記憶のバグはシステム全体に致命的な問題を引き起こしますしね。
i386アーキテクチャが外されるのかと思ったよ (スコア:1)
一瞬i386アーキテクチャが外されるのかと思って些かびっくりしたけど、
単にオリジナルのi386チップがサポートから外されるだけなんだね。
NetBSDとかはその性質上まだサポートされてそうだけど、
FreeBSDとかはどうなのだろう?
WindowsNTとかは、仮にアーキテクチャ的にはサポートしてても、
重すぎて動作しなさそう。
Re:i386アーキテクチャが外されるのかと思ったよ (スコア:2, 参考になる)
Re:i386アーキテクチャが外されるのかと思ったよ (スコア:2, 参考になる)
FreeBSD は、i386が6.0で切られています。
http://www.freebsd.org/releases/6.0R/relnotes-i386.html#KERNEL [freebsd.org]
2.2 Kernel Changes
Support for 80386 processors (the I386_CPU kernel configuration option) has been removed. Users running this class of CPU should use FreeBSD 5.X or earlier.
Re:i386アーキテクチャが外されるのかと思ったよ (スコア:1)
i386はまさにi386アーキテクチャそのものです。
上位互換のi486/Pentiumなどのアーキテクチャはまだサポートされていますが、この辺もあとどれだけ続くのでしょうか?
Re: (スコア:0)
XP以降はCMPXCHG命令がないCPUではインストール拒否するし
無理に動かそうとしても青画面で停止しますね。
Re: (スコア:0)
WindowsNT系は、確か4.0あたりの頃にサポートを外した気がする(うろおぼえ)
公式情報が見つからなかったので、かわりに。
http://www.ne.jp/asahi/ft-system/ts/PcSoft/MS_OS_Taiou.htm [www.ne.jp]
Re: (スコア:0)
OpenBSD探してみた。
2007年11月リリースの4.2 以降サポートしなくなった模様。
http://www.openbsd.org/faq/faq12.html#FPU [openbsd.org]
http://www.openbsd.org/plus42.html [openbsd.org]
PAE (スコア:1)
Ubuntuは12.04からPAEが乗っていないCPUでは、OSのインストールができなくなったしね。
そのせいで6年前のノートPCにインストールできなくなった・・・
Re:PAE (スコア:1)
12.04を直接インストール出来ないだけらしいです。
11.10をインストールして、アップグレードすれば動作するらしいですよ。
Re:PAE (スコア:1)
動作しますね、経験済み
ただ、ほかのディストリビューションを選んだほうがよさそう
旧兵は死なず、消え去るのみ (スコア:0)
どのあたりの世代までが旧兵になるかですが、
Socket485より前はもういいんじゃないかと思いますね。
good-by PentiumⅡ、Pentium!!!. Rest in junk yard.
Re: (スコア:0)
Win8ではXDビット必須になった。
Re: (スコア:0)
ソフトウェアなんだから物理レイヤーではなく
命令セットの違いで切り分けるんじゃねーのか?
でもi486ってFPU以外はi386と大差ないはずだけど……
P5だってMMX以前は大差ないし。
だからCPUとかソケット云々ではなく
FPU前提にするとかMMX前提にするとかだろ。
Re: (スコア:0)
Linux Kernel じゃなくてディストリビューションだけど
Ubuntu Linux が 12.10 でPAE非対応のCPUを切り捨てたので
Pentium M 機でさえ動かなくなっちゃいましたね…
今後は他のOSでもこの辺は切り捨てられていくんでしょうね~
armel も切り捨てですよ (スコア:1)
Re: (スコア:0)
切り捨てに踏み切る時期がいつになるのかで、対応が違ってきそうな気もします。時間が経って「i386-PAEにするくらいならamd64で」というようになった後だったらと仮定した場合、PAEは前提にするか無前提でいくか、どちらが保守コストひくいんでしょうか……? まあ、よくわかってない上に机上の空論ですが。
Re: (スコア:0)
ドライバ周りをいじっていると、PAEは早いとこ無くなって欲しいものです。まともに対応しようとすると意外に大変だし、メモリーアクセスのオーバーヘッドも結構大きいしね。
もっとも、メモリーアクセスに対するオーバーヘッドという意味だと、64bit用TLBの数が少ないCPUではx86_64の方が更に大きい。
Re: (スコア:0)
Pentium!!!時代のPCはまだ現役です!
# このPCだったりしますw
Tualatinならスラドくらいは使える (スコア:2)
PentiumIII搭載だと、東芝の筆圧対応タブレットPCと、1400x1050液晶積んだT23を持っています。
たしかにPentiumIIIノートでも、Chromium BrowserでHTML5動画も対応ですが…
いかんせん、Lubuntuを入れても、グラフィック性能的にこの二台は快適とは言いがたい。
どちらも、使いたいスペシャリティを持っていますが、実用していません。
(メモリー384MBでも電源投入から45秒くらいでログイン終了しますけどね)
Tegra2のdynabookAZのほうが、PentiumIII/1.33GHz機より速いので
x86でしか…という用途を考えてみても、i386の出番どころかi486SXの出番も無いと思います。
Re:旧兵は死なず、消え去るのみ (スコア:1)
え?このPC i5載ってるよ?
ちなみにこのPCのIPアドレスは127.0.0.1です。
Arch Linuxとか (スコア:0)
Arch LinuxとかないLinuxもあるわけだし、もっと互換性は切っていった方がいいと思いますけどね
5年以上前にすでに (スコア:0)
5年くらい前にはもうすでにi586のバイナリしかないパッケージがいっぱいあったような?
もうi686以上でいいんじゃないかと思う
ARM大勝利! (スコア:0)
i386ディヴァイスってまだまだ現役だと思っていたけど今後はARMに取って代わられるんですね。
Re: (スコア:0)
いや、メモリが4GB以上搭載するのが普通になって、atomからXeonまでx86_64に移行するということです。
必要メモリが増えると今のARMでは対応できなくなります。もっとも、64bit版が出るまでの話だし、メモリが少なくてもいい環境はいくらでもある。
Re: (スコア:0)
宇宙に飛んでいく物体ではまだi386が現役ですよね。
今更 (スコア:0)
それ以前にまだ対応してたのか!という驚きが上回ってますが、もう386使ってるPCは限りなく無に近いだろうし妥当かと。