SSブログ

実行 (可能) 状態にあるプロセスを休眠させるカーネル処理の実装 [Linux]

○ 実行 (可能) 状態にあるプロセスを休眠させるカーネル処理の実装

[ありえるえりあ] 実行 (可能) 状態にあるプロセスを休眠させるカーネル処理の実装


これによって、Onix のパフォーマンスがナンボか良くなった。

I/O スケジューラの実装における各種制限 [Linux]

○ I/O スケジューラの実装における各種制限

[ありえるえりあ] I/O スケジューラの実装における各種制限


 これから GNU/Linux の I/O スケジューラを作ろうとしている人間には、少しは役に立つ内容だろうと思う。

I/O スケジューラの sysfs エントリについてのまとめ [Linux]

○ I/O スケジューラの sysfs エントリについてのまとめ

I/O スケジューラの sysfs エントリについてのまとめ


GNU/Linux カーネルプログラミングにおいて、かなり実用的な内容にまとめた (つもり)

I/O スケジューラ (その8-2) + 他 [Linux]

○ I/O スケジューラ (その8-2)

[ありえるえりあ] I/O スケジューラ (その8-2)


○ 今後の学習予定

 先月 9 日に DRBD が本家マージを果たした [1]。
 今後はこれについても調べてみようと思う。

[1] http://www.linux-magazine.com/Online/News/DRBD-Merged-into-Mainline-Kernel

I/O スケジューラ (その8-1) + 他 [Linux]

○ I/O スケジューラ (その8-1)

[ありえるえりあ] I/O スケジューラ (その8-1)


○ JCSSAセミナーでプレゼンをしてきた話

日本コンピュータシステム販売店協会のIPA開発支援ソフトウェア説明会に、プレゼンテータとして参加してきた。
『説明会』というタイトルにもあるように、単なる成果の紹介だと思い、軽い気持ちで会場に行ったのだが。会場に来られたのは目をギラギラ光らせた利に聡い企業経営者の方々。そして他のプレゼンテータの方々の内容も、完全に各人の会社組織を代表したセールストークであった。

そんなわけで、自分の存在は完全に浮き上がっていた。
自分のプレゼンはというと。"販売店協会" へのプレゼンなので、技術者はあまり居なそうだなと思い、これまでに話してきたような技術話は一切封印した。そして、プロジェクトのコンセプト (グリーン IT) から話を始め、Onix の有用性を訴えた所で時間切れとなった。
プロダクトのアピールをするという点では弱かったが。かなり順を追って話をしたつもりなので、その存在がどんなものかという事はわかってもらえたんじゃないかなと思うのだが。いかんせん質問タイムが無いので、わかってもらえているのかが全くわからず、とっても不安になる。

I/O スケジューラ (その7) + 他 [Linux]

○ I/O スケジューラ (その7)

[ありえるえりあ] I/O スケジューラ (その7)


○ わかりやすい技術話

 自分がアルバイトとして所属する IT ベンチャー企業の開発部は、過去に多くの優秀な学生を世に排出しており、自分はそのうち二人の優秀な学生を存じ上げている。
 一人は一昨年、研究員として日本を代表する電気メーカーのひとつである某社に入社された、若き技術エリート。
 もう一人は、以前にも触れたが。あの Unix Magazine で、内閣官房の山口さん、現・東工大准教授で未踏PMの首藤さん、そして西谷さんら有名人を差し置いて、表紙のトップに名前を飾った凄い人で。今年、情報・通信業を主とする超多国籍企業の某社に入社し、入社式で新入社員代表挨拶を任された、折紙付きのエリートである。

 一昨日。そんな彼らと、上述のベンチャーに自分よりも前から所属しており、社内の技術部門幹部から天才と称され、自分も尊敬する未来のエリートと共に、現在お世話になっているベンチャーの CTO からご馳走になった。

 その席において。大変に恐縮ながら自分のブログエントリを閲覧していただいているという話とともに、一言。次のような大変にありがたいアドバイスを頂戴した。


 『わかりにくい』と。


 ありえるえりあに投稿している内容は。後から自分が読んで理解しやすいように、また他人がそれを読んで理解しやすいであろう内容及び記述を行っているつもりであるが。それらの配慮はどうやら、独り善がりであったようだ。
 目的が前者に重点を置いている場合には、問題はないのだが。せっかく彼らを含む、凄い人が読んでくれているのだから、最低限彼らが読みやすいと思ってもらえるように努力すべきだろう。

 なので。彼らのアドバイス (クレーム) 及び同社 CTO の貴重なご意見を尊重して。まずは文書フォーマットを次に示す形式に代えた。

タイトル

1. 序論 (前回の復習等)

2. 概要 (今回学習する内容は何で、どんなものかの説明)

3. 学習内容のまとめ (学習した内容を、自分なりに端的にまとめたもの)

4. 内容詳細 (学習した内容を、かいつまんで説明)

5. まとめ

 一般的に論文はこのような形式で書かれているわけだ。
 ジャーナルに掲載されている論文と比較して、これはかなり砕けたフォーマットだが。意識としてはそれに近づけるように、今後の学習内容を記述してゆく。

I/O スケジューラ (その5) + 他 [Linux]

○ I/O スケジューラ (その5)

[ありえるえりあ] I/O スケジューラ (その5)


○ 人助けの名目でおいしい所をかすめとる目論みの話

 最近。研究室の学部生が研究で iPhone アプリを作るために研究費で Mac mini を買っていた。
 かなり昔の Unix マガジンで cocoa を使った Objective-C の連載をやっており、その時のワクワクが再燃する。今回は Mac がタダで使える。
 
 とりあえず、手元で Objective-C のコードを動かせないと練習できないので。GNUstep のライブラリを使って cocoa フレームワークアプリを Objective-C で作る環境を日曜につくった。
 偉そうに言っているが、何て事はない。

 まずは、関連ライブラリのパッケージをインストール。尚、自分の環境は Debian etch である。

 # apt-get install gobjc gnustep*

 おしまい。ただインストールしたライブラリやヘッダファイルが変なところにあるので、環境変数 C_INCLUDE_PATH 及び LD_LIBRARY_PATH を書き換えるか。プログラムコンパイル時にディレクトリを指定してやるとよい。加えて GNUstep のライブラリをリンクしてやる。

 $ gcc -lgnustep-base -I/usr/include/GNUstep/Headers -L/usr/lib/GNUstep/System/Library/Libraries foo.m

 としてコンパイルする。
 
 友人の研究を手伝うという体裁で、研究のおいしい所を横取りしてしまおうと目論む。恐らく文句を言われる事は無いだろう。

 この大学生活も残りもいよいよあとわずかなので、大学に転がっている機会や機材を徹底的に利用するつもりだ。

I/O スケジューラ (その4) + 他 [Linux]

○ I/O スケジューラ (その4)

[ありえるえりあ] I/O スケジューラ (その4)


○ おまけ
 今回の学習内容を踏まえて、前回紹介した素っ気ないカーネルドキュメントに上述した説明を加えた内容をパッチとして LKML に投稿した[1]。上述した内容に間違いが無く、そして運がよければ、修正が本家にマージされるかもしれない。
 しかし、最初に投稿してからもう 4 日が過ぎるので、軽く無視されている可能性が高い。

[1] http://lkml.org/lkml/2009/11/22/66

I/O スケジューラ (その3) + 他 [Linux]

○ I/O スケジューラ (その3)

[ありえるえりあ] I/O スケジューラ (その3)


○ 紛らわしいネーミングの話

 Onix OS と言ったとき。世間の反応は大きく3つに分かれる。

 恐らく大多数の人間は、「なにそれ?」と言う。
 IT 系の世界に居る人の一部は、「ああ。IPA 未踏のグリーンOSのアレね。」と、グリーン (と本人が称する) OS を指す。
 ごくごく少数の (特定の会社組織に偏在する) 超玄人は、「どこぞの学生がフルスクラッチした x86 アーキテクチャで動く OS の事ね。」と言う (と思う)。

 問題は後者の2例である。
 どちらも、自分が手掛けた事には間違いないのだが。どちらも固有名詞があるようでない。フルスクラッチした OS は、実際にはカーネルなので 「Onix カーネル」とも呼んでいたが。やはり分かりづらい。
 なので、この2例を区別する為に前者のグリーンOSを "未踏 Onix" というコードネームで区別するようにする。
 後者の "Onix" の活動は絶賛停滞中であるが。決して開発を止めたわけではない。ただ、現在自分の周りにおもしろい事、勉強しなければならない事が多すぎるので、まだしばらくは放置される事になるだろう。


○ 未踏 Onix カーネルモジュール化の話

 カーネルの機能がモジュールで表されると、それはそれは素晴らしい。
 ファイルシステムにしろ I/O スケジューラにしろ、カーネルモジュールで表されるコンポーネントは動的に脱着可能であり、スケーラビリティに富む。
 例えば「未踏 Onix のキャッシュアルゴリズムを、システムの環境に合わせて動的に追加・変更を行う」なんて事も可能となる。
 また、追加機能をカーネルモジュールに閉じさせて、オリジナルの GNU/Linux に準拠できれば、他の環境に適応する為の諸処の政治的なハードルがグッと下がる (かもしれない。結局カーネルを触る事には変わりは無いので) 。

 未踏プロジェクトが終わってから現在まで、未踏 Onix は可用性向上の為の機能追加を必死こいて作っていたが。もしかしたら、そっちの方がずっと重要なのかもしれない。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。