doc/note/startup.txt				-*- text -*-

[BTRON/386 memo 7]

TITLE:	カーネルの起動
AUTHOR:	内藤 隆一
DATE:	4 January 1994
VER:	1.0


1. 本メモの内容

このメモは、BTRON/386 のカーネル立ち上げのメカニズムについて記述したも
のである。


2. 立ち上げの順序

BTRON/386 では、立ち上げを次の順序で行う(各項目での処理の内容は、
boot.txt を参照のこと)。

1) IPL
2) first BOOT
3) second BOOT
4) kernel start.


3. カーネルスタートアップルーチン

カーネルは、つぎに示すような順序で立ち上がる。


3.1 ITRON の立ち上げ

  (1) startup ()	: startup.s
      セグメントレジスタの設定。
      スタックポインタの設定。
      main()の呼び出し。      

  (2) itron()	        : main.c
      システム全体の初期化ルーチンの呼び出し(init_itron())
      立ち上げ画面の表示。
      デバイスドライバの初期化。
      システムプロセスの立ち上げ。

  (3) コンフィグレーションタスクの実行
      config_task () を起動する。
      config_task () は、root ファイルシステムにある実身 config.system
      に従ってシステムのコンフィグレーションを行う。


3.2 コンフィグレーションタスクの実行

  コンフィグレーションタスクは、次の処理を行う。
  1) config.system ファイルをオープン。
  2) config.system に書いてあるスクリプトを実行する。


3.3 config.system の内容

  config.system は、ＴＲＯＮ文字で書かれた1つのレコードを含む実身である。
  config.system には、スクリプトとして以下の文法に沿った内容が書かれる。

  o 1行につき1コマンド
  o コマンドは以下の形式でかかれる。

     <コマンド名> <引数>

  o 空行は無視される。
  o ＃　の後に続く文字は註釈。


  スクリプトの中には以下のコマンドが使用できる。

  o ＬＯＡＤ　ファイル名
    指定したファイルをロードして、システムと接続する。
    ロードするファイルとしてデバイスドライバ、システムタスクなどが指定
    できる。このコマンドで指定されたファイルは、カーネルタスクとしてカ
    ーネルモードで実行される。

  o ＲＵＮ　ファイル名
    ファイル名で指定したファイルをユーザプログラムとして実行する。

  o ＡＴＴＡＣＨ　デバイス名
    デバイス名で指定したデバイスをファイルシステムとして接続する。

  o ＭＥＳＳＡＧＥ　メッセージ
    引数で指定したメッセージをコンソールに表示する。


  ファイル名としては、以下の指定が使える。

  1) ／接続名／ファイル名／ファイル名
  2) ファイル名／ファイル名


3.3.1 スクリプト例

＃　ＢＴＲＯＮ／３８６　ｃｏｎｆｉｇ．ｓｙｓｔｅｍの例
＃
＃
ＬＯＡＤ　ｓｙｓｔｅｍ／ｗｉｎｄｏｗ．ｓｙｓ
ＬＯＡＤ　ｄｅｖｉｃｅ／ｒｓ２３２ｃ．ｄｅｖ

ＲＵＮ　ｓｔａｒｔ／ｗｉｎｄｏｗ
ＲＵＮ　ｓｔａｒｔ／ｓｙｓｍａｎａｇｅｒ

ＭＥＳＳＡＧＥ　”ｓｔａｒｔｕｐ　ＢＴＲＯＮ／３８６”

