EOTA の歴史

2003/5/27 作成
6/9 HTML 化
2004/1/13 一部修正
NAKANISHI Shin (snakani at users.sourceforge.jp)

 2002 年末時点までの EOTA の開発の歴史を EOTA 掲示板 (とその前身) に流れた投稿を元に編集しました。テスターとしての筆者の主観も少し入っています。



1999/11

 浪花氏により execve が実装。これによって初めて fork/exec が動 作し、外部プロセス (アプリケーション) の起動が可能になった。μITRON に 付け足した程度の状態から抜け出して、PC 用 OS として完成への道が見えて きたとも言える、画期的出来事。

1999/11 (?)

 浪花氏が、Web 掲示板をテスター募集のために開設。

(〜11/17 まで LOG 欠落)。

1999/11〜12

 FDC の大幅デバッグ (浪花氏)。

1999/12

 unlink の作成 (浪花氏)。ファイルの消去が可能になった。


2000/1

 POSIX 環境の標準入力、標準出力、標準エラー出力の動作 (浪花氏)。

2000/1

 キーボードの jp106 配列対応機能が動作 (きしだ氏)。

2000/1

 fcntl の実装 (浪花氏)。ioctl の代用 (?)。

2000/1

 POSIX/libc と ITRON/kernlib/libkernel.a の分離。POSIX の misc システ ムコールの実装 (浪花氏)。

2000/2

 vga の scroll 機能の実装 (きしだ氏)。

2000/2

 漢字の表示機能作成。フォントの BDF から BFB フォーマットへのコンバー ターも発表 (浪花氏)。

2000/2

 read/write システムコールで読み書きしたバイト数を正しく返すようにし た。POSIX manager で device driver task の port を実際に必要になったと きに初めて検索するようにした (浪花氏)。

2000/2

 Window を二面表示する機能を追加 (浪花氏)。

2000/2

 POSIX のシステムコール番号の見直し (浪花氏)。

2000/2

 statfs に mknod コマンド追加 (浪花氏)。これによりデバイスファイル経 由で出力が可能になったらしい。文字列中で '\n', '\t' の他に '\b' や '\033' などを扱うのが可能になった (浪花氏)。

2000/2

 マルチタスク化とマルチウィンドウ (ウィンドウ 2 面) 化する機能の発表 (浪花氏)。

2000/4

 フロッピーからのブートの高速化 (160 秒→19 秒) のソースの発表 (村田 氏)。

2000/4

 メモリサイズの取得を修正したソース発表 (坂本@愛知県氏)。

2000/5

 mkdir/rmdir の作成と、ファイルのパーミッションのチェック機能追加 (浪 花氏)。

2000/5

 frtm にワードをファイルから読み込む機能追加 (浪花氏)。

2000/5

 sfsboot の発表 (村田氏)。

2000/5

 chdir の実装 (浪花氏)。

2000/6

 POSIX の open の O_APPEND (追加書き込み) の実装 (浪花氏)。

2000/7

 SFS に disk block の cache 機能を実装 (浪花氏)。

2000/7/15

 この時点までの B-Free OS の cvs のソースツリーをまとめて btron-yami.0.1.0.tar.gz リリース (浪花氏)。B-Free 非公式版。Ver 0.0.41 以来 1 年 2 ヵ月ぶりのリリース。

2000/7

 brk の実装 (浪花氏)。

2000/7

 標準 C ライブラリ newlib-1.8.1 の移植 (浪花氏)。

2000/7〜8

 かな漢字変換内蔵 vi 風テキストエディタ ari 移植 (浪花氏)。

2000/7/26

 Ver 0.1.1 リリース。

2000/7

 POSIX アプリケーションで浮動小数点演算ができるようになった (浪花氏)。 CPU に FPU が内蔵されていることを仮定したコードになったらしい。

2000/7

 execve システムコールで argv と envp をアプリケーションの main に渡 す処理の実装 (浪花氏)。

2000/8

 フロッピーからのブートの更なる高速化のソース (sfsboot-0.1.1) の公開 (村田氏)。

2000/8

 Ver 0.1.2 リリース。

2000/9/5

 Ver 0.1.3 リリース。

2000/10

 浪花氏が福井大学へ移る。今後は B-Free OS 非公式版としてではなく、名 前を変えてリリースすると告知。

2000/12/24

 Ver 0.1.4 リリース。OS 名未定。init を Mitten から frtm へ変更 (浪花 氏)。


2001/1

 frtm の Windows への移植 (nakanishi)。

2001/1

 statfs の Windows (Cygwin) への移植 (nakanishi)。コンパイルしただけ。

2001/1

 frtm で変数を使用できるようにする変更。gm モードの背景色をダークグレー に変更 (浪花氏)。

2001/2/3

 Ver 0.1.5 リリース。ユーザーのウィンドウデザインをシステムで表示でき るようになった (浪花氏)。

2001/2/4

 浪花氏から OS の名前を、とりあえずコードネームとして EOTA と付けよう と提案。

2001/2

 EOTA release 2001/2/6-1 (0.1.6(?))。起動時に /init.fm ファイルを読み 込んで実行する機能の追加 (浪花氏)。

2001/2

 chmod と ウィンドウのサイズの問い合わせ機能実装 (浪花氏)。

2001/2

 PSAUX デバイスドライバ公開 (村田氏)。

2001/4/8

 Ver 0.2.0 リリース。ユーザー・アプリケーションで PAGE FAULT 発生時に 当該アプリケーションだけを終了し,OS そのものは停止しないようになった (浪花氏)。

2001/4

 statbfs 公開 (浪花氏)。BTRON のファイルシステムを見るツール。

2001/4/15

 Ver 0.2.1 リリース。村田氏の PSAUX ドライバもマージ。

2001/4

 EOTA 上で動く pager 発表 (坂本@愛知県氏)。

2001/5

 i-scheme インタプリタ移植 (浪花氏)

2001/5

 μITRON 部にメッセージバッファのサイズが 0 の場合の処理を追加 (浪花 氏)。

2001/5/26

 Ver 2.3 リリース。ユーザープロセスのスケジューラの実装 (浪花氏)。

2001/5〜6

 Cygwin 環境上で EOTA カーネルのコンパイルが可能になった。開発環境が Linux に癒着していた箇所がこの時に切り離せた。

2001/6

 実行すべきタスクが無くなったときに,CPU を hlt で停止させる処理を付 加 (浪花氏)。

2001/7/3

 Ver 0.2.4 リリース。μITRON kernel 部の割込みまわりの見直し。FN12 キー への debug 用の処理を割り振り (浪花氏)。

2001/7

 RAMDISK ドライバの実装 (浪花氏)。

2001/7

 GNU Textutils-1.22 の移植 (nakanishi)。

(2001/7/20 から 2001/8/3 まで LOG 欠落)

2001/8

 sfsbootmw.bin 発表。Microwindows がマネージャーとして動作し、マウス カーソルが表示 (村田氏)。

2001/10/18

 Ver 0.2.5 リリース。

2001/10/21

 Ver 0.2.5.1 リリース。

2001/11

 sash-3.4 の移植。EOTA の操作環境が劇的に進化 (豊福氏)。

2001/11

 link の実装。rename も動作 (浪花氏)。

(2001/11/10 から 2001/11/27 まで LOG 欠落)

 この頃に pwd が実装。nakanishi が gzip の不完全移植版を発表したはず。

2001/11

 この頃、E 級掲示板ひっそりオープン。

2001/12

 modboot ツールの発表。ハードディスクへのインストール用フロッピーイメー ジ、hd_inst.bin 発表 (浪花氏)。

(2001/12/13 から 2001/12/22 まで LOG 欠落)

2001/12

 IDE driver の中身を全面的に見直しと disk cache の大幅 debug (浪花氏)。 浪花氏と村田氏よる kernlib/malloc.c の free の debug。これによってハー ドディスク上でも安心してファイルの読み書きができるようになった。安定度 が飛躍的に向上。

2001/12/28

 Ver 0.2.8 リリース。ITRON kernerl 部と POSIX manager を -O -fno-builtin 付きでコンパイルへの変更。アプリケーションでは frtm、 i-scheme、sash のコンパイル時に -O -fno-builtin を指定。動作速度の向上。 システムコールの呼出し時のレジスタの使い方を変更によってアプリケーショ ンが過去のリリースとのバイナリ互換でなくなった (浪花氏)。


2002/1

 POSIX や ITRON システムコールの呼出しに、ソフトウェア割り込みではな く、コールゲートを使用するように変更。以前のリリースとはバイナリ互換で なくなった (浪花氏)。

2002/1

 アプリケーションとマネージャータスクの特権レベルを 3 にする変更。 boot を含めて以前とのバイナリ互換性がなくなった。アプリケーションでス タックオーバーフロー(に伴うページフォルト)が発生しても親タスクへ復帰す るようになった (浪花氏)。

2002/1

 アプリケーションがスタックオーバーフローでページフォルトを発生したと きに、物理ページを割り当ててアプリケーションの動作を続行できるように変 更。newlib のコンパイル時に -O オプションを追加 (浪花氏)。

2002/1

 GNU Binutils の as と ld を移植 (浪花氏)。移植自体は数ヵ月前だが、こ のリリースから正常動作するようになった(?)。

2002/1

 Microwindows の動作試験用のバイナリ sfsbootmw.bin が公開。大小のウィ ンドウとマウスカーソルの表示とその動作 (村田氏)。

2002/1

 マネージャをカーネルから切り離して init からの起動化 (浪花氏)。

2002/1

 wconsole も kernel image から切り離して init からの起動化 (浪花氏)。

2002/1/18

 Ver 0.3.0 リリース。wconsole と ramdisk を、POSIX の下に servers と いうディレクトリを作ってその下に置くように変更。ITRON システムコールの rot_rdq の最後にタスクスイッチを起こすように変更 (浪花氏)。

 
2002/1

 mount/umount 実装。RAMDISK を実際に使用したり、フロッピーをリムーバ ブルディスクとして使用できるようになった。起動後のハードディスクのマウ ントも可。画期的出来事 (浪花氏)。

2002/1

 ウィンドウ多面化パッチ発表 (進氏)。

2002/1

 lha-114i の移植 (浪花氏)。

2002/1

 lcc の移植。フロッピーで起動してアーカイブを RAMDISK 上に展開して C コンパイラでアプリケーション開発ができるようになった。当初の目標であっ たセルフ開発環境が一応完成 (浪花氏)。

2002/1

 init/frtm の df と ps コマンド作成 (浪花氏)。

2002/1

 時計機能を追加と、file mode bits の修正。ファイルシステムから再構築 が必要 (浪花氏)。

2002/1/30

 Ver 0.3.1 リリース。open システムコールの O_TRUNC の実装。libc の chown の修正。ファイルを unlink したときに、i-node がきちんと開放され ないバグの修正。apl インタプリタの移植 (浪花氏)。

2002/2

 bfstools の発表 (浪花氏)。

2002/2

 メモリ取得ルーチンの変更 (浪花氏)。坂本@愛知県氏のコード(?)。

2002/2

 sleep/usleep の実装 (浪花氏)。

(2002/2/15 から 2002/2/20 まで LOG 欠落)

 

この頃に newlib-1.8.1 を使う lcc セルフ開発環境発表 (nakanishi)。グ ラフィックスと tty を独立させた libgt.a 作成 (浪花氏)。

2002/2/28

 IDE ハードディスクのアクセスに LBA を使用し、拡張パーティションへの アクセスの機能も追加。528 MB を越える領域へのアクセスも可能。拡張パー ティションは 5 つまでサポート。HDD からのブートには今まで通り 528 MB 以内の基本領域にブート用のパーティションを確保する必要がある (浪花氏)。 フロッピーディスクその他からブートしてしまえば、起動パーティションは大 容量でも拡張パーティションでも構わなくなったらしい (筆者はテストしてい ない)。

2002/3/3

 Ver 0.3.3 リリース。stat システムコールでスペシャルファイルの情報を 正しく返すように修正 (浪花氏)。

2002/3

 FreeBSD 上で EOTA カーネルのビルドができるようにするパッチ発表。 FreeBSD 上からの EOTA のハードディスクへのインストールも可 (稲川氏)。

2002/4

 keyboard driver と wconsole の中身を修正して keyboard driver が入力 待ちを行わない NOWAITMODE でも動作するようにした (浪花氏)。

2002/4

 WAITMODE/NOWAITMODE など,排他的な設定を 1 bit で表現するようにした。 get_keymode を libgt.a に追加 (浪花氏)。

2002/5

 psauxtst2.c を改造して画面にお絵書きをするプログラムを作成 (進氏)。

2002/6

 Microwindows の移植を暫く中断するとの告知。

2002/7

 新規インストール用ドキュメント作成 (nakanishi)。

2002/9

 nasm-0.98 移植。怒涛の移植ラッシュ(?)スタート (nakanishi)。

2002/9

 patch-2.5、GNU diffutils-2.7 移植 (nakanishi)。

2002/10

 GNU make-3.78.1、GNU Shogi-1.2p03、sed-3.02 移植 (nakanishi)。

2002/10

 JPEG library-6b、zlib-1.1.4、libpng-1.0.5 移植 (nakanishi)。

2002/10

 POV-Ray 3.1g、nkf、MPEG Libray 1.3.1、file 移植 (nakanishi)。

2002/10

 GNU awk-3.0.4、GNU grep-2.4.2、Zip-2.30、Jpeginfo 移植 (nakanishi)。

2002/10

 GNU fileutils-4.01 移植 (nakanishi)。正常動作しないコマンド多数 (こ れは errno 変数の問題だった。後にほとんど解決)。

2002/12

 bash-2.05 の移植。非常に不完全でコマンドインタプリタとしては使い物に ならない状態 (nakanishi)。

2002/12/27

 Ver 0.3.4 リリース。kill システムコールの実装の途中 (浪花氏)。



この文章を私に断りなく配布、流用、再利用しても構いません。
2003/5/27 作成
6/9 HTML 化
2004/1/13 一部修正
NAKANISHI Shin (snakani at users.sourceforge.jp)

[戻る]