2009-01-01から1年間の記事一覧

キーボードで割り込んでみる

前回は,ハードウェア割り込みについて学んだ。 今回は,キーボードを例に実際に割り込みを実現するためのプログラムを書いてみよう。具体的には,キーボードが使用されると,IRQ1 割り込み信号が PIC へ届きベクタに変換され CPU へ伝達される。そして,割…

クリックジャッキングというのが流行ってるらしい

404 Blog Not Found:javascript - クリックジャック殺しなbookmarklet クリックジャック - 素人がプログラミングを勉強するブログ などを見ると,透明なiframeを重ねて誤爆させる攻撃らしい。 僕は難しいことは解らないんでアレなんだけど,例えば,次のよう…

ハードウェア割り込みについて

今回は割り込みについて学ぼう。 割り込みとは CPU はメモリ上の命令を逐次実行していくが,プログラマがあらかじめ全ての処理を予測し順序良く記述しておくことは困難である。(例えば,ユーザーがキーボードを押すタイミングを,プログラマが予め予測する…

たぶん,debian lenny に Remedie をインストールする方法

git で clone して,`cpan -i .` するだけ! 以下,手取り足取り腰取りの親切な解説―― Remedieって何? Plaggerを生んだ、miyagawaさんプロデュースのネットウォッチャー御用達アグリゲーター。 このページの下の方にスクリーンショットを載せてあるので,見…

文字を表示する関数を作ってみよう

文字の表示には,VRAM と呼ばれるメモリ領域に ASCII コードを書き込むだけでよく,カーソルの移動には,表示した文字数をビデオコントローラーに教えるだけでよいことが前回までに分った。 これらを踏まえ文字列を表示する関数を作ってみることにしよう。 m…

C言語のインライン関数について

C GCC

GCCや多くのコンパイラーは,C言語の標準(C99)にインライン関数が取り込まれるずっと前からインライン関数をサポートしていた。そのためかインライン関数の定義は様々で,同じ書式でも各コンパイラで挙動が異なる場合がある。 今回は,インライン関数の定義…

I/Oポートを使ってカーソルを動かす

前回はVRAMを操作し文字の表示を行ったが,ビデオコントローラーには直接命令を送ることはしなかった。ビデオコントローラーへ直接命令を送ることで,表示モードの変更や,カーソルの表示・移動などを行うことが出来る。 今回は,ビデオコントローラーが提供…

C言語でカーネルを書き始める

前回はIPLを書いたので,いよいよカーネルを書き始めることが出来る。 今回からはC言語を使ってOSの開発を行う。普段私たちは,C言語でアプリケーションプログラムの開発を行うとき,main関数からプログラムを書き始める,これはmain関数からプログラムが実…

詳解 LINUXカーネル

詳解 Linuxカーネル 第3版 作者: Daniel P. Bovet, Marco Cesati, 高橋浩和, 杉田由美子, 清水正明, 高杉昌督, 平松雅巳, 安井隆宏 出版社/メーカー: オライリー・ジャパン 発売日: 2007/02/26 メディア: 大型本 目次 1章 概要 2章 メモリアドレッシング 3章…

coLinuxを導入して,Windows上でLinuxを快適に動かそう

coLinuxは,Windows上で動くLinux専用エミュレーターだ。読み方は「コーリナックス」らしい。ボクは以前からcoLinuxをアプリケーションの開発に使っている。みんなは,エミュレーターと聞くとネイティブで動かすのと比べて重いイメージがあると思っているん…

後で読むを支援するvimperatorのプラグインを作ってみた

私は,読み終わったサイトはdeliciousに,後で読もうかなーってサイトはfirefoxのブックマークに登録して,ブックマークを使い分けていたんだけど。 このfirefoxのブックマークの操作は,残念なことにvimperatorを使っていてもマウスを使わざるをえなく,腕…