A stage clip from the PS2 game Shin Gouketuji Ichizoku: Bonnou Kaihou (aka Matrimelee). Urami Masuyo - "It's the Little Things that Make Me Happy" A woman eating at a restaurant finishes her steak, saving her favorite food, french fries, for last. Suddenly, the waitress takes her dish away! Shock and sadness ensues.
残業代を払えない経営者は無能である 有能な経営者を期待したら負けである なかなか面白くなってまいりました。 経営に関することは御大二人にお任せするとして、私はこれを一種の「理系哀歌」モノとして読みました。 ですが実は、日本の技術者や研究者の社会的立場がいつまでたっても弱く、「搾取」され続ける理由は明白なんです。 支持団体がないから これですよ。 もちろん瑣末な理由はいくらでも出して来れますが、社会的に観るならば間違いなくコレです。 例えば米国。 かの国には世界最大・最強の理系支持団体、 "AAAS (American Association for the Advancement of Science)" があります。 262の支部と1000万人の加入者を誇るこのNPOは世界最高峰の科学雑誌「Science」の発行元として有名ですが、ホームページを読めばその活動はまさに「アメリカ理系力」の
sakkyさんからTLBのキャッシュコストにはinvlpg命令を使うと良いとアドバイスを頂いた。 Intelのマニュアルによると ソース・オペランドで指定されたトランスレーション・ルックアサイド・バッファ(TLB) のエ ントリを無効化( フラッシュ) する。ソース・オペランドは、メモリ・アドレスである。プロ セッサは、そのアドレスが含まれるページを判定し、そのページのTLB エントリをフラッシュ INVLPG 命令は特権命令である。プロセッサが保護モードで動作している場合は、この命令を 実行するには、プログラムまたはプロシージャのCPL が0 でなければならない。 通常、INVLPG 命令は指定されたページのTLB エントリだけをフラッシュするが、場合によっ てはTLB 全体をフラッシュすることもある。TLB をフラッシュする操作の詳細については、本 章の「MOV―Move to/fro
id:shinichiro_hさんからコメントを頂きました。ありがとうございます。 『たぶん実装は似たものになると思うのですが、コルーチンですと Ruby や Io なんかから実装ひっこ抜いてきたらそれなりに動いた経験があります。 あと PCL も参考になるかなと思いますが。Scheme の継続をわかってないので外していたらすいません。』確かに coroutine の実装は context save context restore が共通しているのでとても参考になりそうです。(それを言ったら OS 側での context restore もほぼ同じだけど、ユーザー側でどう工夫しているかは知りたいところでもあります。) 共通しないところとしては、Scheme 継続の場合 longjmp とは逆方向への jmp が必要なので、スタックの一部を save/restore しなければいけない点でし
小ネタ。MSの中の人のblogをなんとなく眺めていたら、 Address Space Layout Randomization in Windows Vista - Function Pointer Obfuscation http://blogs.msdn.com/michael_howard/archive/2006/05/26/608315.aspx Protecting against Pointer Subterfuge http://blogs.msdn.com/michael_howard/archive/2006/01/30/520200.aspx という記事がありました。要約すると、「長生きするポインタ(特に関数ポインタ)は悪用されやすいので、値を素のまま格納しないほうがよい」という話です。長生きなポインタというのは、 atexit関数で登録された関数へのポインタ (プロ
うわぁ、GDTR に設定されるアドレスってリニアアドレスだったのか…物理アドレスだと思い込んでた。 物理アドレスが設定されるのは CR3 だけか。 と思ったら 4K ページサイズ時の PDE 内の PTE ベースアドレスも物理アドレスだ。 NetBSD の src/sys/arch/i386/include/pte.h の冒頭にあるコメントを適当に訳してみた。ちなみに元の文章には書いてない事もあるので注意しろ>未来の自分。 i386 MMU ハードウェア構造: i386 MMU は二階層テーブル構造をした MMU で 4GB の仮想メモリをマップする。1 ページサイズは 4096(4K) バイトで、Pentium プロセッサ以降では 4MB のページサイズもサポートしている。 MMU 第一階層のテーブルは「ページディレクトリ(PD)」と呼ばれ、1024 個のページディレクトリエントリ (P
TLB が無効化される範囲とトリガー。 非グローバル全エントリ無効化 CR3 更新、32bit タスクスイッチ。 全エントリ無効化 PE, PG ビットが変更される CR0 更新、PSE, PGE, PAE ビットが変更される CR4 更新、INVD、WBINVD。 実効アドレスで指定したページを含むエントリを無効化 INVLPG あ、下巻 p.341 9.10. に書いてあった…。 AMD64 には実行不許可にできる機構が導入されている様なので調べてみた。 long mode でのアドレス変換の図、初めて見たとき思わず笑っちゃったよ。 ページサイズ 4Kbyte の場合。 Virtual Address 63 48 47 39 38 30 29 21 20 12 11 0 +-------------+----------------+----------------+---------
文献案内 Binary Hack の参考になる文献を紹介します。 Hack #100 の「文献案内」の簡略版です。 書籍 Write Great Code 「グレートコード」を書く上で必要となるコンピュータの基礎的な 知識を幅広く扱った内容となっています。「ハードウェアを知り、 ソフトウェアを書く」という副題の通り、本書は CPU、キャッシュ、 メモリ、ストレージ、周辺機器といったハードウェアの話題に多く の紙面が割かれています。本書 Binary Hacks を読みこなす上で必 要になる基礎知識が多く含まれています。 詳解UNIXプログラミング Unix のシステムコール・ライブラリ関数ひとつひとつについて詳 細に解説した貴重な本です。普段何気なく使っているシステムコー ルも、よくよくこの本の説明を読んでみると、さまざまな注意事項 や意外な使い方などの発見があるはずです。歴史的背景につい
Learn all the significant processor evolution facts, including introduction date, ratings and number of transistors. Click on the processor family below to view facts on each processor in that family, or scroll down the page to see them all. For an informative overview of Intel processor history, view "The Evolution of a Revolution." (PDF 2.9MB - this file is for historical reference only and is n
saratoga曰く、"気づくのが遅れたが、俗に「パタヘネ」と称される、David A. Patterson と John L. Hennessy による 「コンピュータの構成と設計(上巻、下巻)」が7年ぶりに改定され、第3版が出たようだ 。 個人的には、ついでに「ヘネパタ」こと「コンピュータ・アーキテクチャ」の方も、ぜひ価格改定をお願いしたい。 ところで今の時期は新人さんが入ってくる季節だと思うが、新人さんたちにはややこしいソフトを書く前に、これらで少しはハードウェアの勉強もして欲しい、と願うばかりだ。「できればこれは読んでおいていただきたい」という定番・原典・基本書には他にどんなものがあるだろうか。諸賢のご意見を伺いたい。"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く