- 作者: 川合秀実
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2006/03/01
- メディア: 単行本
- 購入: 36人 クリック: 735回
- この商品を含むブログ (299件) を見る
27日目はLDTの改造と環境の改善だ。GDTに対する理解が甘いので、LDTについて読んでもなんかまだしっくり来ない。復習が必要だなあ。。。
- Global Descriptor Table[GDT] : 全てのプログラムから共通にアクセスするセグメントを定義する
- Local Descriptor Table[LDT] : タスク単位に存在する
図. 複数アプリケーションも立ち上げることができるHaribote-OS環境
あと、環境の整理を行った。API群はライブラリとして定義するので、ar
コマンドを使ってHaribote-OSのAPIをライブラリ化した。
OBJS_API = api001.o api002.o api003.o api004.o api005.o api006.o \ api007.o api008.o api009.o api010.o api011.o api012.o \ api013.o api014.o api015.o api016.o api017.o api018.o \ api019.o api020.o apilib.lib : Makefile $(OBJS_API) ar rcs $@ $(OBJS_API) %.o:%.nas Makefile nasm -felf32 $< -o $@ -l $@.lst
最終的にディレクトリ構成は以下のようになった。
. ├── Makefile ├── a │ ├── Makefile │ └── a.c ├── a_nask.h ├── apilib │ ├── Makefile │ ├── api001.nas │ ├── api002.nas │ ├── api003.nas │ ├── api004.nas ... ├── app_common.mk ├── beepdown │ ├── Makefile │ └── beepdown.c ├── bootpack.map ├── color │ ├── Makefile │ └── color.c ├── color2 │ ├── Makefile │ └── color2.c ├── haribote │ ├── Makefile │ ├── a_nask.nas │ ├── asmhead.nas │ ├── timer.c │ └── timer.h ├── hello │ ├── Makefile │ └── hello.nas ├── hello2 │ ├── Makefile │ └── hello2.nas ├── hello3 ....
これでハリボテOSとしてはほぼ完成だ。28日目は日本語関係を対応しよう。