Previous Next Table of Contents

## 1. B-Free プロジェクトとは何か

> --- そのときはわからなかったが、これはそれまで私が手掛けた中で もっとも大胆なオペレーティングシステムのプロジェクトになる のだった。

> Helen Custer 「INSIDE WINDOWS NT」

## 1.1 目的

B-Free は、フリーな BTRON を作成することを目的としたプロジェ クトです。

すなわち、B-Free プロジェクトは、他のＯＳを使わずスタンドアローン で動作する BTRON。BTRON-OSの上で動作するマネージャ群。 そして基本的なアプリケーシュンなどから構成される完全なＢＴＲＯＮ環境を 提供します。

現在のところ、BTRON 仕様の OS は商業的な目的に作成されたものだけ でした。BTRON-OS に興味を持っている人は、BTRON 仕様 OS を購 入して使うしか方法はありませんでした。もちろん、この場合興味があっても ソースなどは見ることができません。 しかし、B-Free プロジェクトは商業的な目的で作成するものではあり ません。 自由に使用することができ、興味があるならばソースを見ることはもちろん、 プログラムを変更することもできます。

このようなプログラムを自由にながめ、変更できるような環境を作成するこ とを目的としたプロジェクトとして GNU プロジェクトがあります。 基本的な目的は、B-Free プロジェクトと GNU プロジェクトは似てい ます。しかし、GNU プロジェクトが(ある程度改良は施されているとはいえ) UN*X のような (like UN*X) ＯＳの作成を目標としているのに対し、B-Free では、BTRON に基づいた環境を作成することで異なっています。

## 1.2 対象とする仕様

1994 年現在、`BTRON` は、次の 3 つの仕様が決められ(あるいは決められよう とし)ています

\begin{lablist} \labitem{BTRON1} 16ビット (正確には 80286 プロセッサ) を対象とした `BTRON` 。 構造は一枚岩的なもの(?)だが、比較的貧弱なハードウェアで実用的な マルチタスク / マルチウィンドウ OS を実現している。

\labitem{BTRON2} TRON チップ仕様プロセッサあるいは同等の性能をもつ 32 ビット プロセッサを対象とした OS 。 マイクロカーネル構造を採用して おり、保守性および拡張性に優れている。

\labitem{BTRON3} BTRON1 と BTRON2 の経験に基づき定義された `BTRON` 仕様の最新 バージョン。BTRON1 と同様にマイクロカーネル構造をもつ。1994 年前半に仕様が fix される予定。 \end{lablist}

これらの `BTRON` 仕様のうち、B-Free プロジェクトで作成する `BTRON` は、 `BTRON` 13 を対象とします。

ただし、`BTRON` 13 仕様のうちマシン依存になっている部分については変 更される場合もあります。たとえば、80286 を対象とした仕様などについては 変更されるでしょう。 また、ＯＳの内部構造については `BTRON` 1 仕様では定められていないため、 独自に決めることとします。

## 1.3 残りの内容

本ドキュメントの残りの章は、次のような構成になっています。

\begin{description} \itemChapter \ref{cha:user-side} 一般ユーザから見た B-Free OS の説明で す。 % \itemChapter \ref{cha:structure} B-Free OS の構造を概略を説明します。 % \itemChapter \ref{cha:core} B-Free OS の最もハードウェア寄りの部分 --- 中 心核について説明します。

\itemChapter \ref{cha:lowlib} ユーザプログラムから見た API を提供す る層である LOWLIB について説明します。

\itemChapter \ref{cha:server} B-Free OS の周辺核について説明します。

\itemChapter \ref{cha:device} B-Free OS と周辺装置との間を取りもつソフ トウェアであるデバイスドライバについて説明する章です。

\itemChapter \ref{cha:manager} B-Free OS の中で一番ユーザプログラムに 近い層である、外核について説明します。

\itemChapter \ref{cha:posix} B-Free のシステムインタフェース ({\sf API}) のひとつ、POSIX 環境について説明します。 \end{description}

Previous Next Table of Contents