思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。
思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。
Linux カーネルのプロセススケジューラの核である kernel/sched.c の schedule() を読み進めていくと、タスク切り替え(実行コンテキスト切り替え)はその名も context_switch() という関数に集約されていることが分かります。2.6.20 の kernel/sched.c だと以下のコードです。 1839 static inline struct task_struct * 1840 context_switch(struct rq *rq, struct task_struct *prev, 1841 struct task_struct *next) 1842 { 1843 struct mm_struct *mm = next->mm; 1844 struct mm_struct *oldmm = prev->active_mm; 1845 184
x86系アーキテクチャ上におけるLinuxのメモリ保護機構 近永 智之 著 (Chikanaga) メモリーパーミッション:はじめに メモリーパーミッション:メモリパーミッションの確認 メモリーパーミッション:セグメント機構 メモリーパーミッション:ページング機構 メモリーパーミッション:mapsファイルの実体 参考文献 [1] はじめて読む486−32ビットコンピュータをやさしく語る 蒲地 輝尚 (著) 出版社: アスキー 出版年 1994/09 ISBN: 4756102131 [2] Linuxのブートプロセスをみる 白崎博生(著) UNIX MAGAZINE (アスキー) 2002/05号 [3] Linuxのブートプロセスをみる 2 白崎博生(著) UNIX MAGAZINE (アスキー) 2002/06号 [4] Linuxカーネルインターナル Michael Beck 他 (
David A Rusling david.rusling@arm.comv0.8-3 January 25, 1999 JF Projectv0.8-3 December 2000 *フレーム表示* 本書は、Linux カーネルの仕組みを知りたい Linux 愛好家のためのものです。これは 内部構造のマニュアルではありません。むしろ Linux で使用されている原理や メカニズムを解説したものであり、Linux の動作原理とはどういうもので、なぜそれ が採用されているのかを説明するものです。 Linux という対象は常に変化しています。本書がベースにしているのは現在の安定 版である 2.0.33 のカーネルソースですが、これは個人や法人の大部分で使用されて いるのがこのバージョンだからです。 また、本書は自由に配布してもらってかまわないので、一定の条件のもとにではあり ますが、複製や再配
ー 超基本的な事かもしれないが。(恥ずかしながら)ハマってしまったので注意喚起の意味を込めて記載。 Android の SDK のデバッグツールをいじってたら、以下のログを出力して壮大にご臨終召された。 java: symbol lookup error: /usr/lib/libgnomevfs-2.so.0: undefined symbol: xmlTextReaderConstName エラーを訴えているライブラリは ELF ファイルだし、CLASSPATH の問題じゃなさそうだ。環境変数 LD_LIBRARY_PATH がいけないのかなー → $ export PATH=${PATH}:/usr/lib → # /sbin/ldconfig → 再現 そもそも、ライブラリが足りないのかな? → 足りないと言われているシンボル (xmlTextReaderConstName) を含
タイトルの通り、自作のなんちゃってフレームワーク(言語はJava)でブログを作りました。 実際に動かしているブログはこちら。 kmaebashi.com 実装については以下の記事に書いています。 kmaebashi.com リンク先の記事にもあるとおり、このブログを動かしている「なんちゃってフレームワーク」は、ブラウザからのリクエストをServletで受けてRouterでルーティングしてControllerに処理を渡し、その後、Serviceがビジネスロジックを、DbAccessがDBへのアクセスを提供します。DbAccess層はSQLをガリガリ書きますし(結果のクラスへのマッピングだけはやる)、ControllerもServiceもDbAccessも全部staticメソッドです。SQLおじさんやstaticおじさんでも大丈夫! というよりは、実のところSQLおじさんとstaticおじさん
SEA & FSIJ 合同フォーラムでビット演算による最適化の妙味とJITアセンブラの中でデモに使ったVMを紹介します. JITの紹介のために前日に2時間ででっちあげたVMなので本当に小さい(200行程度)ですが,エッセンスは楽しめるかなと思います. ソースはXbyak.zipです.この中のxbyak/sample/toyvm.cppが今回作ったVMです(Win, Linuxと多分Intel Macでも動きます). このサンプルはフィボナッチ数列を計算して表示するだけのものです. ここではどのように作ったかの説明をします.一つ前のエントリの資料も参考にしてください. 話の流れ toyVMのスペック,命令セットと命令フォーマットを決める toyVMのアセンブラを作る toyVMの実行部分を作る toyVM用のフィボナッチ数列プログラムを作って実行する toyVMのマシン語をx86に変換するリ
data Reg = Zero | At | V0 | V1 | A0 | A1 | A2 | A3 | T0 | T1 | T2 | T3 | T4 | T5 | T6 | T7 | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 | T8 | T9 | GP | SP | FP | RQ | PC deriving (Eq, Ord, Show, Enum, Bounded) data Insn = Add Reg Reg Reg | Sub Reg Reg Reg | J Word deriving (Eq, Ord, Show) data PseudoInsn = Pseudo [Insn] data Cell = W Word | I Insn deriving (Eq, Ord, Show) data VM = VM (Map.Map Reg Cel
data Reg = Zero | At | V0 | V1 | A0 | A1 | A2 | A3 | T0 | T1 | T2 | T3 | T4 | T5 | T6 | T7 | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 | T8 | T9 | GP | SP | FP | RQ | PC deriving (Eq, Ord, Show, Enum, Bounded) data Insn = Add Reg Reg Reg | Sub Reg Reg Reg | J Word deriving (Eq, Ord, Show) data PseudoInsn = Pseudo [Insn] data Cell = W Word | I Insn deriving (Eq, Ord, Show) data VM = VM (Map.Map Reg Cel
プログラム言語処理系を作成しました。Windows 上で動作します。ソースも公開しています。C 言語のみで作っています。 ダウンロードページ スクリーンショットです。 このソフトウェアを紹介します。 まなめ 2000 って? 正式名称は「ハイパーインターネット型言語 まなめ 2000」(以下まなめ 2000) 皆さんはこんな事を思ったは無いでしょうか? 「プログラミングをしてみたい…けど、普通のプログラム言語って難しい(>_<)」 「インターネット上でよく見かけるフレーズ*1はすぐに使うんだぜ」 そんなあなたに贈るプログラム言語、それが「まなめ 2000」です! プログラムの 1 例を紹介 たとえば、「要は、勇気がないんでしょ? 」や「死ねばいいのに」は、はてな村ではもうおなじみですよね。そんなフレーズを使ってプログラミングが出来るのです。 たとえば、以下は正式なまなめ 2000 用のプロ
大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2):プログラミング言語の進化を追え(1/3 ページ) 前回に引き続き、Scheme言語の処理系、Gaucheを開発している川合史朗氏が、クロージャの機能を検証し、関数型言語とオブジェクト指向言語の関係について解説していきます。今回は、クロージャとオブジェクトのより深淵を探求します。 抽象化ツールとしてのクロージャ C++的なオブジェクトの世界では、オブジェクトの実体とは「ひとかたまりの構造体としてメモリ上に置かれたインスタンス変数の値」にすぎません。オブジェクトのポインタを取れば、それは事実上、その構造体へのポインタを持っていることになります。クロージャを「関数」中心で見ていると、その実体は「オブジェクト」の実体とは異質なもののように思えるでしょう。 確かにクロージャのナイーブな「実装」は、関数ポインタと環
いろいろ実験したいこともあり、WordPressでブログを作りました。新しく作った方は、個人的な軽い話題をメインにする予定ですが、よろしければどうぞお越し下さい m(_ _)m Y.FUJITA::NOTEPAD Mac App StoreでPinball Tristanが承認されたのでpromo codeでダウンロードしてテスト。すると・・・ xpchelper reply message validation: sandbox creation failed: 1002 Code identity not in ACL for container ~/Library/Containers/com.littlewingpinball.Pinball-Tristan-OSX/Data (if this is a self-signed app, see asctl(1) for how t
'Yellowstone' star won't kiss his co-stars and he 'lost everything' because of it
Update (2012) I've proposed a new project called qcc that's a sequel to this. I think leveraging QEMU's code generation work is a much better approach than trying to reinvent support for every possible target. I also I have permission from Fabrice Bellard to use his code under BSD license terms in the new project, which is another reason not to bother with the "MOB branch" of unmaintained drive-by
Scalaにはご存知のとおり scala.util.parsing.combinator というパーサコンビネータライブラリがある。さらには scala.util.parsing.ast というのもあるわけだけど、これは激しく開発中な感じ。Scalaはバージョンがあがるとこういう開発中ライブラリはごそっと変わったりするので今はおいておく。ちなみに、2.7.1では前のパーサコンビネータは scala.util.parsing.combinatorold といういかにも使いたくない名前にされてしまった。 パーサコンビネータといえば言語処理系だ(そうか?)。というわけで scala.util.parsing.ast は置いておいて、とりあえずASTについてほとんど考える必要がない、簡単なスタック指向言語を実装してみることにする。実行はScala 2.7.1.finalで。 スタック指向言語とは
ここのサイトは、 LuaやSquirrel等組み込み系言語(GameMonkey,io,JavaScript)について、語り合うwikiです。 詰まった所で、ヨッシャー解決したぞー。って所があったらFAQに書き込んでくれると良いです。 とりあえず、色々書き込んでください。 2ch過去スレ プログラミング言語 Lua http://pc8.2ch.net/test/read.cgi/tech/1034182349/ プログラミング言語 Lua その2 http://pc8.2ch.net/test/read.cgi/tech/1063711237/ プログラミング言語 Lua その3 http://pc11.2ch.net/test/read.cgi/tech/1160799232/ 【Lua】組み込み系言語総合【Squirrel】 http://pc11.2ch.net/test/re
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く