Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール
次回は、CRT コントローラーレジスタの中のスタートアドレスレジスタを操作することで、テキスト画面切り替えを実現することになった。Linux カーネルの仮想コンソール上では、ALT-F1, ALT-F2 などで瞬時に画面を切り替えることができるが、あれと同じ芸当を自作のコードで実現してしまおうという企画である。今回作成した tty.c プログラムは、手前みそながらなかなかの出来。フルスクラッチによる Linux 0.01 の実現も、十分視界に入ってきた。
予定では 90x60 テキストモードの実現だったのだが、コードを書き進めるうちに volatile 宣言子の意義や、拡張インラインアセンブラーの解説まで話が膨らんでしまい、90x60 は次回に持ち越すことに相成りました。申し分けございません。
連載開始当時とはことなり、最近は連載中で使用するコードの準備に、指数関数的に手間暇がかかるようになってしまった。楽しいと言えば、楽しい。学生時代の感覚が戻りつつあることも実感できる。しかし、20年前に比べると明らかに集中力の持続時間は落ちているし、完徹も1日しか出来ない体になってしまった。おまけに、家族サービスも必要だし、本業もある。不思議とバグ潰しの時間は、同じか、むしろ短くなっているような気はするけれど。
来年は一体どんなことになるのだろう?
こちらは、まだ頭の中で構想を練っている最中だが、おおよそ全体像が固まってきた。頂いたタイトルから、今回の特集は Linux システム構築の Overview に重点を置こうと考えている。
従来の解説記事は、カーネルの構築やデバイスドライバーの作成方法に終始するだけのものが多かった。しかし、これらはいずれも各論であって、概論ではない。よって、これらの知識だけでは組込用の Linux システムを構築することは難しい。
私は自分自身の経験から、PC-UNIX を理解する上で最も大切なことは、ルートファイルシステムの把握と、UNIX プログラムの正体をシステムコールとして看破する点にあると考えている。
今回の特集では、この2点に加えて、新たに TCP/IP ネットワークの心臓部に切り込む予定。ifconfig/route コマンドの正体は何なのか?resolver の仕組みはどうなっているのか?意外と知られていない、これらの技術背景を明らかにしたい。