main()関数の前には何があるのか(終):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る。
main()関数の前には何があるのか(9):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る。
main()関数の前には何があるのか(8):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、main()の中身や、その前に呼び出されるスタートアップという初期化処理について学ぶ。
main()関数の前には何があるのか(7):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。前回から、printf()内のwrite()やint $0x80の呼び出しについてLinuxカーネルのソースコード側から探ってきた。今回は、さらにシステムコールについて学ぶ。
main()関数の前には何があるのか(6):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。前回まで、printf()内の中身をさまざまな方法で探り、write()やint $0x80の呼び出しまでたどり着いた。今回は、さらにその先にあるLinuxカーネル側のシステムコールを見ていく。
main()関数の前には何があるのか(5):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。前回まで、printf()内の中身をデバッグと逆アセンブルで探ってきたが、今回はソースコードリーディングで答え合わせをしてみる。
main()関数の前には何があるのか(4):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、printf()内のポインタ経由での関数呼び出しが行き着く先にあるシステムコールの呼び出しとバイナリエディタの使い方について。
main()関数の前には何があるのか(3):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、printf()内のポインタ経由での関数呼び出しが行き着く先を試行錯誤のデバッグで探る。
main()関数の前には何があるのか(2):
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、「Hello World!」の主役printf()の内部動作をデバッガGDBで追う。
main()関数の前には何があるのか(1):
C言語の「Hello World!」プログラムで使われる、printfやmainの中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。初回は、「Hello World!」の中身を探る意義と環境構築について触れ、mainのアセンブラコードを読んでみる。
H8マイコンボードで動作する組み込みOSを自作してみよう!(7):
本連載もついに最終回。今回はTCP/IPを実装し、最終目標である「ソフトウェア完全自作のWebサーバ」を動作させる。その手順を詳しく紹介する。
H8マイコンボードで動作する組み込みOSを自作してみよう!(6):
今回は、いよいよネットワーク通信機能を実装していく。ネットワーク通信のような複雑なプログラムを実装すると、“マルチタスク構成にすることの有用性”がこれまで以上に実感できるはずだ。
H8マイコンボードで動作する組み込みOSを自作してみよう!(5):
連載「H8マイコンボードで動作する組み込みOSを自作してみよう!」の第5回。今回は“コマンド応答プログラムをマルチタスク構成で実装”し、動作させます。マルチタスクOSを利用するメリットをしっかりと理解しましょう。
H8マイコンボードで動作する組み込みOSを自作してみよう!(4):
連載「H8マイコンボードで動作する組み込みOSを自作してみよう!」の第4回。今回は、“タスク切り替え”の動作原理を理解しながら、マルチタスクを実装し、よりOSらしく発展させていきます。
H8マイコンボードで動作する組み込みOSを自作してみよう!(3):
連載「H8マイコンボードで動作する組み込みOSを自作してみよう!」の第3回。今回は、OSの起動に必要な「ブートローダー」を作成し、自作の「Hello World」をブートローダーから起動させる!
H8マイコンボードで動作する組み込みOSを自作してみよう!(2):
今回は、前回動作させた「Hello World」のソースコードについて解説し、組み込みソフトウェアでのHello Worldの動作の仕組みを見ていきます。その中身は、意外と奥深いものです。
H8マイコンボードで動作する組み込みOSを自作してみよう!(1):
学習用、ホビー用の組み込みOSとして「KOZOS」があります。本連載では「KOZOS」を使ってH8/3069Fマイコンボード上でいろいろと実験をしつつ、フルスクラッチで組み込みOSを自作していく過程を体験してみます。最終的にはソフトウェア完全自作のWebサーバを動かします。