無用の用無 失敗の記録帳、こうすりゃよかったのね。

webは失敗回避の知恵でいっぱい。他人には無用の用ですら無い自己中心的な備忘録です。口頭だけでまだ無形な話もあります。

組み込みlinux用のmusl libcで軽量linuxにあたらしい潮流

2016年05月25日 | Weblog
現在の軽量linuxは組み込み用に軽量化したlib(ライブラリー)のmusl libc をつかったものが多い。これまでの悪評(小さくても使えない)にたえた努力が酬われたのだろう。
dockerのベースに選ばれて最近有名になったalpine linux、軽量linuxのpuppy linuxを作って有名だったBarry さんが始めているSabotaged Quirky,ほとんど無名なaboriginal linuxがあげられる。musl libcはi386やARMなどを対象しているので今後だれかがold pc用のlinuxを作ってくれることが楽しみだ。64MB以下になるとうれしい。自分で作れる自信がないのが残念。
ここでいう軽量は相当古いCPUでも動くものだ。intelのpentiumより前に386,486,586という32 bit のCPUがありそれがまだ世界中にのこっている。windows8になって騒がれ始めたpaeは64bitのメモリアドレスが扱えるCPUのことで演算レジスタは32bitでもメモリのアドレスが4GB以上に拡張できる新しいCPUだ。(地球36億年の歴史に比べれば。)INTELは64bitにする前にCPUのなかの処理部に工夫をこらして性能をあげることを考えた。まずSSE,SSE2,SSE3などマルチメディアの処理を効率よく行う機能だ。これによりそれまではワードプロセッサや表計算やブラウザーとしてしか使えなかった汎用のCPUで音楽や動画の再生が高速に行えるようになった。AMDはこの方面での競争に勝てずcpuを演算レジスタを64bit(まな板の広さを倍にする)に拡張する方向に走った。intelは処理速度をあげる工夫もしたが発熱が多すぎて諦め、AMDを追いかけて64bitCPUとマルチコア(まな板をたくさん用意する)という多面作戦で高速化を図った。(本当は32bitCPUの拡張が無理と別のCPUを作ってみたがM$がつかってくれなかっただけ。)この経緯があるのでpaeが使えるCPUに対して使えないnon paeのCPUに色々なものがあることになった。多量に作って安く売りまくったので世界中に負の遺産が残った。貧乏人のOSであるlinuxではすべてのCPUの高速化のために便利な機能があれば個性を活かして使いたいのはやまやまだが、すべてのCPUについてどんな機能をもっているかを調べる手間がかかりすぎる。使う側にしても電源を入れる度にそんなチェックをされて起動までの時間がかかるのは嫌なので両者の思惑が一致し、CPUの分類を2つにすることにした。それがpaeとnon paeだ。linuxの開発陣もmicro$oftがやった適当な判定方法と合わせたといえば文句は無いだろうということでそれにしたがった。ただ分類基準のいい加減さのためにpaeとマルチコアが一括りで、non paeとシングルコアが一括りとして扱われることになった。反面マルチコアでnon paeのCPUの処理速度は大きく低下することになり、新規の買い替え需要がおきintelの業績に貢献することになった。これは将来的にはnetbookに使われているatomの今後を危うくしている。
 そこで貧乏老人の知恵でこれらの能力を十分に発揮できないCPUを活用する妄想をいだいている。手順としてはまず老人の頭を活性化することが必要だ。これが一番ハードルが高い。つぎに対象とするpentium 4やMMXのlinuxのアーキテクチャーを指定して再コンパイルすることが活かす手段なので、古いCPUのjunkを見つければよいのだが、今ならもっと能力の高い最新のARMが買えるのでこれが2番目のハードルだ。まあコンパイルにはyoctoというprojectを使う方法を学んでおけば対象のCPUは古いintelものからarmまでとなるので知識の利用できる期間は今後ずいぶん長いく分野も広い。だれかの諺どおりハードよりソフトの方が変わりにくい。使い方を便利にするだけなので変わりにくいのは当たり前かもしれない。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする