アセンブラの勉強方法 3
前回(アセンブラの勉強方法 2)の続きです。わかりづらいud2、cli、sti命令を紹介します。
初めて見ると、add、movとは違い予想しづらい命令ですが、簡単で知っていればダンプからソースのどの箇所か特定するときの助けにもなります。
![]() |
|
日本発のリナックス企業、ミラクル・リナックスで奮闘する社員のブログです。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 |
前回(アセンブラの勉強方法 2)の続きです。わかりづらいud2、cli、sti命令を紹介します。
初めて見ると、add、movとは違い予想しづらい命令ですが、簡単で知っていればダンプからソースのどの箇所か特定するときの助けにもなります。
前回の(crashコマンド ライブシステム)では現在のプロセス情報を見るだけでした。
今回はcrashライブシステムで起動中のカーネルに書き込みもしたいと思います。書き込みをすることでデバッグ情報を、あるときだけ出力させます。またカーネル内の関数コールシーケンスを出力させてみます。
2月の旧正月(春節)の後に、Asianux開発のために中国は北京の開発センター(CDC)まで2週間(ビザなしのほぼ限界日数)の出張に行ってきました。今回はこの話をネタの続きを書きます。
Asterisk を使った日・中・韓間の内線システムの構築は前にも記事にしてきました。
Asterisk で VoIP (実現できるか?)
Asterisk で VoIP (2)
その時のネットワークの混雑(主に中国-海外間)の状況により、会議電話の音声品質が左右されることもありますが、概ね良好なようです。
1対1の通話であれば特に問題はありません。
これまで、VoIP 通話のクライアントは PC で動作する、ソフトウェア SIP クライアントを利用していましたが、常駐型ソフトだと起動しない人とかも出てきて話したいときにかからなかったりして不便です。
もともと、PCの方で Skype, MSN や IRC 等々の IM ソフトを利用している側にとっては、これ以上常駐型ソフトウェアコミュニケーションツールを増やしたくないというのはホンネでしょう。
そこで、中国のAsianux開発センターではハードウェア型の VoIP デバイスを購入しました。
日本では花見シーズンですかね。
北京に来てから数年間、この時期はいつも北京にいるので花見はずいぶんご無沙汰です。
2年くらい前に、こちらで知り合った日本人の友人に、北京にも花見ができる場所があるとは聞いていたのですが、重い腰があがらず、つい機会を見逃ししつづけていました。
昨日、天気もよかったので、カメラ片手にぶらぶらしてみました。
2月の旧正月(春節)の後に、Asianux開発のために中国は北京の開発センター(CDC)まで2週間(ビザなしのほぼ限界日数)の出張に行ってきました。私にとっては2回目で、一人で2週間も行った(一回目は二人で1週間でした)のは初めてになりますが、おそらく他社の方が北京へ出張をする際にもある程度参考になると思うので、今回はこの話をネタにして書こうと思います。
Asianuxは、Fedora Projectで開発されていて、RHELなどでも使用されている、anacondaをカスタマイズして使用しています。今回ひさしぶりにインストーラー開発に戻ってきた所、RHEL5.1のインストーラーからあるコードが削除されていて、ちょっと寂しくなりました。
こんにちは kakapapaです。
안녕하세요 kakapapa입니다.
今日は「mallocで取ったメモリ」の2回目です。
오늘은 "malloc으로 얻은 메모리" 2번째 시간입니다.
(このタイトルで再び投稿する気は無かったんですが、前回の話にmalloc_usable_size()の内部実装の調査依頼がありまいたので…)
(이 제목으로 다시 글을 쓰려고 생각하진 않았습니다만, 지난번 글에 대해 malloc_usable_size()의 내부 구현에 대한 조사 의뢰가 있어서...)
けっこう前の話になってしまいましたが、8月17日金曜日、ミラクル・リナックスマラソン部で葛西臨海公園で開催されたナイトマラソンに出走してきました。
昨夜、Asianux へのベトナム企業参入(詳細は弊社児玉のブログ を)および、Asianux Server 3 開発完了。ということでパーティーがありました。
場所は、北京、北三環の联想橋付近の中華料理店です。
안녕하세요. 오늘 블로그 데뷰하는 kakapapa입니다.
こんにちは。今日ブログデビューするkakapapaです。
APUE勉強会で"mallocで取ったメモリのサイズを確認する方法は?"という質問があって調べたところ、linuxでは以下の関数が存在すること見付かりました。
ごぶさたしてました、rkです。
Asianux Server 3開発もRCに入り、大分落ち着いてきました。
今回の開発で個人的に気に入ったのは、翻訳の充実でしょうか。Asianux 2.0の時(はまだこの会社にいなかったのですが...)はヘルプが英文のままになっているツールがあって「こんなディストリ認められん!」と勝手に一人憤っていたのですが(笑) そのせいかAXS3ではとことん翻訳に時間をかけました。どうも、弊社Linuxのお客様にはLinuxのプロフェッショナルが多いらしく、使わないツールの翻訳に時間かけてもあまりお客様から評価されないという風潮があったように思えます。しかし今後は翻訳を含めたドキュメントの品質に気をつかっていきたいです。OSSのツールの翻訳の品質はまちまちなので、既に翻訳されているものも含めて底上げしていきたいと思います。
さて、前置きが長くなりました。
弊社内におけるコンピュータの構成を見ますと、圧倒的にIA-32マシンが大多数を占めています。また、AsianuxプロジェクトとしてはIA-64もPPC64もやっているので、これらのマシンも若干あります。ところがなぜか、一台PowerMac (正確に言うとmacmini) がぽつねんと存在していました。これはPPC32なので、Asianuxをインストールすることもできません。しかし、元Mac党の私としては、まだ十分現役可能なMacが片隅に追いやられているというのは納得がいかず、時間を作ってAsianuxのインストールに挑戦してみました。
Web Application FrameWorkについて。日本でWeb Application FrameWork で最も人気が高いのはやはり、Ruby on Railsのようです。(某サイトでの集計) ただ、個人的にはPythonが好きなので、PythonのWeb Application FrameWorkでも触ってみようかと。。。。
前回はcrashコマンド ライブシステムでカレントプロセスのバックトレースを見ましたが、
SysRqキーでも可能です。その方法を紹介します。
SysRqキーを使用するとバックトレース以外もいろんな情報を取得できます。
カーネルのデバッグでは特に便利です。
去年自転車を買って、自転車通勤を始めました。
12月末に寒くなって、一時中断していたのですが、4月ころ復活しました。
最後の投稿から一ヶ月が過ぎてしまいました。
このブログは Asianux 開発チームが担当しており、現在 Asianux Server 3 リリースをむかえ、(きっと)ブログを投稿する時間もないほど忙しいわけです。たぶん。
っと、Asianux チームだけが忙しいわけではなく、Miracle は少数精鋭でがんばっていますので当然他の部署も非常に忙しいわけで、忙しいので記事を書く時間がないというのは言い訳でしかありません。
ここでも紹介されていますが、韓国HaanSoft社のJayKayが結婚します。我々は結婚式には参加しないので、関係者一同で色紙を送ることになりました。
こんにちは、RKです。
本気で書くことに困ったので、開発日誌でも書くことにする。
あと、ですます調で書いてください、という意見があったのだが、よしおかさんだけである調なのはずるい気がするのと、たまにはである調で書きたいので、今回はである調で書きます。すみません。
どのくらい中身をさらけだせるかは分からないので、今回は実験的に書いてみました。
crashコマンドではダンプファイルを解析するのに使用しますが、ダンプがなくても現時点のカーネルの状態をcrashのlive systemで確認することができます。
crashのlive systemではカレントプロセスのバックトレースを表示させることができませんが、今回はそれを無理矢理 表示させる方法を紹介します。
しまった!!
先日ニュース23で自転車ツーキニストの特集をやっていた・・・。
ここでの紹介のとおり、「Advanced Programming in the UNIX Environment - second edition」を使った社内の勉強会がスタートしました。
本書はUNIX系プログラマにとってはバイブルの一つと言ってよいものです。
前回からながーく空いてしまいましたが、とりあえず作ってみました。
仕事ばかりじゃあ煮詰まってしまいますよね。やっぱり、たまには息抜きが必要です!!
というわけで、先週の金曜日、神宮球場に繰り出しました。何を隠そう、ミラクル社には何人かのLinux兼タイガース信者がいて、汐留猛虎会なるものを結成しています。
最近、仕事で疲弊気味ですが、体に鞭打って勉強会を始めることにしました。とりあえず、Asianux開発のTokyoメンバでどんな勉強会を実施したいかを話し合ったのですが。。。
前回、「たまった仕事を片付ける方法」を書くときに、参照文献である"なぜか「仕事がうまくいく人」の習慣"のことをウェブでいろいろ検索しました。
その中で、「そもそもこの本は、"超整理法"が指摘している「整理してはいけない」ということを実践しているから読み飛ばした。"超整理法"はすばらしい。」みたいなコメントがあったので、今回はその"超整理法"を読んでみました。
こんにちは、moriyama です。
次期 Asianux (Asianux Server 3) に、Perl でのエンコーディング変換を行なう Encode モジュールに eucJP-ms などのエンコーディングを追加するために、Encode::EUCJPMS モジュールを入れることになりました。
CPAN に登録されている Perl のモジュールは、cpan2rpm というツールで自動的に spec ファイルを生成して RPM パッケージ化する事ができる為、このツールを使わせてもらいました。
それでは、実際に cpan2rpm を使って、Encode::EUCJPMS モジュールを RPM 化してみましょう。
システムコールをトレースするのにstraceを使うのは定石ですが、既存プロセスにattachしてトレースできることを初めて知りました。
こんにちは、moriyama です。
現在、Asianux の次期バージョンの開発なのですが、その中で、私が新たに知った Linux の仮想コンソールの動作についてお話したいと思います。
Linux の仮想コンソール (ランレベル3 でテキストログインする時のコンソール) では、日本語の表示が出来ないため、Asianux では、仮想コンソールを使用する際には、システムデフォルトの LANG 設定が "ja_JP.UTF-8" の時には、"en_US.UTF-8" に設定変更して動作するようになっています。
システムデフォルトの LANG の設定は、/etc/sysconfig/i18n、仮想コンソール使用時の設定変更は、/etc/profile.d/lang.{sh,csh} で行なわれています。
lang.{sh,csh} では、LANG の設定が "*.UTF-8" だった時には、仮想コンソールを Unicode モードで動作させるために、unicode_start を実行して、setup コマンドなど罫線を利用しているソフトの表示が正しく行なわれるようにしています。
たまった仕事を片付ける方法。
ここのところ、Asianuxの開発が忙しいため、ネタ切れが続いているrkです。
# だからといってサボりはいかんぞ>Asianuxチーム
タイトルですが、某番組のパクリです。意味が分からないと思うので解説しますと、「趣味でマーケティングについて考える」という意味です。
「Linuxカーネル解析入門」にある便利なコマンドを紹介します。
私は便利で結構使用しているので、参考までに。
カーネルのコンフィグを見る場合、/proc/config.gz ファイルを見ることができます。
カーネル構築(make)で使用する.configファイルと同じものです。
これはカーネル2.6だとコンフィグがカーネルの中に含んでいるので、起動したカーネルの
コンフィグをprocファイルシステムで取得できるのですが、これはあくまで起動している
カーネル自身のしか見ることができません。
他のカーネルのコンフィグが見たい場合はカーネルソースにあるextract-ikconfigコマンドを
使用すれば見ることができます。
こんにちはgordonlです。さて、今回は、”天才に嫉妬”に付いてお話させていただきたいと思います。何、それとおっしゃらず、しばし、お付き合いください。以前より、私、天才に嫉妬しています。私、中学生以来、Rockに魅せられている者ですが、ドラマーの
John Bonham
Kieth Moon
Bill Braford
の3人の演奏を聞けば聞く程、その天性の才に嫉妬を覚える次第です。
随分前にある記事を読んだのですが、人には顕在意識と潜在意識があり、良いアイデアを出すには後者の潜在意識を利用すると良いそうです。
先日、自宅を引っ越しました。
自分のネットワーク依存度に気がつきました。
こんにちは、gordonlです。今回は、最近の作業の中で、少し、手間取った事について、お伝えしようと思います。昨今ですが、あるバグについての調査をしたのですが、そのバグが、ミラクルリナックスの各バージョンで、動作が違っているようなので、まず、各バージョンの動作を確認しようと言う事になりました。そこで、各バージョンをインストールして、動作確認をすると、インストール作業の方が、実際の動作確認よりも時間が掛かってしまいそうだ、何か良い方法は…と少し考えてみました。ミラクルリナックスにお世話になる前の私は、Windowsのカーネルモードドライバや呪文のようなVxDを担当しており、障害対応の頻度が高く、その度毎に必要とされる各バージョンをインストールするのは面倒(体裁的には、非効率)なので、NT4、W2K、WXP、W2K3、W98のPCを買ってもらいました。もちろん、私は主に障害対応専任でしたので、NT4で発生したBSODを解析しながら、W98のブルースクリーンに対応したり、そうかと思えば、WXPのBSODと格闘したりと結構役に立ちました(買って貰ったのは良かったのですが、その分、仕事が大変になりました)。WinDbgで5つのクラッシュダンプを同時に解析しつつ、WDEB386をシリアルで接続して、ブルースクリーンのデバッグなどをしていたわけです。と、まあ、昔の話はここまでにして、今回の作業、どうしたら効率的(面倒で無い)か、少し考えてみる事にしました。
3/14、15で、Asianux開発会議のために北京出張がありました。 この出張での肝を冷やしたタクシー事情です。
先週、今週と中国に出張に来ておりますので、こちらでの出来事をすこし書きたいと思います。先週金曜に、中国にいる開発メンバ(RedFlag and Haansoftの人たち)と飲みに行きました。(HaansoftのXueHongの誕生日会)
話には聞いていたのですが、Chinese Wine(ばいじゅう?)なるものが出てきて、しこたま飲むことになりました。度数は38度程度(私にとってはかなり高いアルコール度数ですが、50度越えのが普通?のようです。。)ですが、味がわりとさらっとしているのでどんどん飲めます。ただ、5回くらい乾杯したところで、これはやばいと感じました。。。
こんばんは、某H氏が中国に出張に行ってしまったせいで、他グループからの問い合わせラッシュに揉まれ、少々疲れ気味のrkです。
タイトルと絡ますつもりはなかったのですが、LinuxやPCの世界にいると、これらのシステムが人間社会の方法理論に基づいて作られていることが嫌でも分かってくるものです。
仕事はぎりぎりまで遅らせるのがよいはずなのに(遅延書き込み)だとか、疑問に思うこともありますが...(人間の記憶は揮発します...)
昨年、Linuxカーネルメモリ管理についての社内勉強会がありました。そういえば、2002年頃の春頃(随分昔だなあ。。。)に2.4.17を対象にメモリアロケータに関する技術資料を作ったことを思い出しました。当時は、その資料を使って社内勉強会やYLUGで発表したりしていました。今回はその資料の一部の内容を、若干手直しして紹介します。
仕事、プライベートで、インターネット経由でファイルを受渡ししたいことがありませんか。
最近自分が使っているサービス、いわゆるオンラインストレージサービスの紹介です。
以前、コアテクの路地でISO/IEC 15408の取得中という記事を書きましたが、このたびついに取得することができました。OSとしては国内初ということで、無事に取得ができ胸をなでおろしているところです。
こんにちは、gordonlです。突然ではありますが、先週なのですが、韓国に出張をしてまいりました。飛行機の中で、普段、聞き逃しているCDを聞いてみようと思い、音楽プレイヤーにダウンロードし、飛行機に乗りました。
前回の「中国、舌の事情」に引き続き、今回は下(しも)の事情を。
最近のコメント