TacOSは徳山高専で開発した教育用のオペレーティングシステムです。 受講者にソースコードを読んでもらうことを第1の目的にしています。 ソースコードとして読めるだけでなく実機で動作する 本物のオペレーティングシステムでもあります。
TacOSはTaC(Tokuyama Advanced Educational Computer)と呼ばれる実機上で動作します。 TaCはFPGA(Xilinx Spartan-6)に組み込まれた原始的なパーソナルコンピュータです。 VGAディスプレイ、PS/2キーボード、 マイクロSDカードを接続することで 1980年代前半の8bitパソコン程度(?)の能力を発揮します。
TaCのCPUは、49MHzで動作する、 メモリ空間64kiBのオリジナル16bitCPUです。 8bit版のTeCとアセンブリ言語レベルではそっくりになっているので、TeCで機械語の勉強をした人はすぐに理解することが可能です。
TaCはマイクロSDカードにインストールしたTacOSをブートすることが可能です。
TaCは竹上電気商会で販売しているTeC7の16bitモードのことです。 TeC7に 最新の設計データ を書き込む必要があります。
VHDLで記述されたTaCの設計図(?)は、tctsigemura/TeC7で公開しています。
TacOSのソースコードを読んで勉強することができます。 TacOSは、 マイクロカーネル方式の読みやすい構造を持っています。 TacOSは、 C--言語で 記述されています。 ビルドするとメモリマップがファイルに出力されます。 TaCのコンソールパネルからブレークポイントを設定したり、 ステップ実行させたりしながらOSの内部をトレースできます。
TacOSのアプリケーションプログラムは C--言語で記述します。 C--言語の開発環境はMacやLinuxで動作します。 C--言語で記述したアプリケーションは、 FAT16マイクロSDカードに書き込んでTaCで実行することができます。
近い将来、 C--言語の 言語処理系がTacOSに移植される予定です。 移植が完了したら、TaC上でTaCのアプリケーションを開発する ことが可能になります。