OS−9による教育用システムの構築
河 合 雅 弘* 谷 岡 守*
(昭和62年8月31日受付)
Construction of OS−9 System for Computer Engineering Education
Masahiro KAWAI* and Mamoru TANIOKA*
(Received August 31, 1987)
概 要
5学年の卒業研究の中で学生に対しコンピュータの教育を行ってきたが,より効率的に教育を行うために,10人程 度のユーザを対象としたパーソナルコンピュータによる教育システムの構築を行った。
OS(Operating Systein)にはOS−9 Level Hシステムを使用し,当初はTSS(Time Sharing System)方式によるシ ステムを検討したが,コンピュータの処理能力や拡張性に問題がでてきたため,新たにLAN(Local Area Network)
を導入してシステムの構築を行った。そして,LANとTSSを有機的に組み合わせることにより, TSSを主体にし ながら10人程度のユーザ(同時には6人)がハードディスクを共有しながら利用できる,コンパクトで使い易い教育 用システムが構築できた。
本報告では構築した教育用システムの構成とその特徴について述べる。
1.はじめに
著者らは本校金属工学科において,5学年の卒業研究の 一つとして「マイクUコンピュータによる計測・制御シス テムの研究』をテーマに指導しているが,.指導に当たって 問題となるのは,マイクロコンピュータのハードウェアに 関する知識,OS(Operating System)やプログラミング言 語などのソフトウェアに関する知識をいかに短時間で学習 できるようにするか,ということである。これは特に情報 系や電子系でない学生を対象とする場合,なかなか難しい 問題である。
著者らは,ソフトウェアの教育に関しては,システムを まず一人に一台の理想的なシステム環境に近付けることが 先決であると考え,そして,その上でOSの教育を中心に
しながら,プログラミング言語やプログラミングの手法を 教えて行くのが良い方法であると考えて,教育用システム の構築に取り組んだ。
著者らの研究室には,これまで7台のパーソナルコン ピュータ(以下『パソコン』)が導入されており,それぞ れプログラムの開発や計測・制御のコントローラとして 使ってきた。しかし,一部はすでに古くなり,メモリ容量 の不足や,ハードウェアの陳腐化などで,それぞれのパソ コンを教育用に同一の条件で使用するには問題があり,ま たディスク装置の規格の違いなどから,使いにくい状態で あった。研究室で使用しているパソコンの種類を次に示す。
・FM−11AD2+ 2台 e FM−77AV2
FM−New7
. FM−8
*情報工学科
台台台
1 1 0δ
そこで,FM−11AD2十で稼働している, OS−9 Level llシステムを使用してTSS(Time Sharing System)を主 体にした教育用のシステムを作り,機能の低いパソコンは TSS端末として使用することにした。しかし,実際.に TSSを稼働させてみると,端末数の増加や,システム機 能の拡張を行って行く場合,次のような問題が生じてきた。
(1)端末数の増加に対しホスト側の処理能力が不足して くる。(端末3一一5台程度まで)
② ホスト側のパソコンの拡張スロットが不足してく る。(拡張スロットは4スロット)
(3)RS−232Cでは通信速度が遅い。
(4)端末上のディスクに対するアップロード,ダウン ロードがやりにくい。
そこで,著者らはシステムの一部にLAN(Local Area Network)を導入して処理の分散化を図り, LANとTSS
を有機的に結合させることにより,コンパクトで使い易い 教育用システムを構築することができた。
本報告では,構築した教育用システムの構成を示し,そ の特徴について述べる。
2.OS−9の特徴
教育用システムの構築に関連して本システムで使用して いるOS−9 Level Iシステムの特徴について述べる。
OS−9は米国マイクロウェア社により1978−1981年にか けてMC6809マイクロブwセッサ用に開発されたOSで ある1)。OS−9はメモ.リモジュールと呼ばれる独特のモ ジュール構造から構成されており,システムの各機能は独 立したモジュール(部品)で作られており,モジュールが 集まって全体を形成している。全体のモジュール構成を図
1に示す2)。
INIT
cWュール OS−9カーネル
iKERNEL) CLOCK
cWュール
1/Oマネージャ
iIOMAN)
一 一 一 一
@ 1
黶@ 一 一 }
ディスクファイル }ネージャ
iRBFMAN)
キャラクタファイル }ネージャ
iSCFMAN)
パイプライン }ネージャ
iPIPEMAN)
一 一 一 一
HDDhライバ FDD
hライバ
プリンタ
hライバ UART
hライバ VTERM
hライバ
パイプライン hライバ
HDO NDし〕 底L」 丁丘 T2 丁ERM
一 一 一 一
カーネル層
1/Oマネージャ層
ファイル マネージャ層
ドライバ層
ディスツリフタ層
図1 0S−9のモジュール構成
モジュール ヘッダ
﹁﹂lL︷
「ル ユ
ジ体モ本 値
RC C
$oo
$02
$04
$06
$09
$OB
$OD
シンクバイト($87CD)
モジュールサイズ(バイト数)
モジュールネームオフセット
o 言量五
ユー ぞヨン
ヘツ ハ アイ 実行オフセット パーマネントストレージサイズ
罷二字安ヘッダ拡梛
モジュール本体 iオブジェクトコード、etc)
CRC値
イ囲ダテ範ッリ象ヘパ対
ユ
モC対 ジR象 ユC範 一 囲 ル
図2 メモリモジュールの構造
図1において,ファイルマネージャの階層より下のモ ジュールはユーザ側で自由に追加や変更ができ,本システ ムのLANの制御もこの部分に新しくモジュールを追加す ることにより構成している。
メモリモジュールは徹底したモジュール化を行うために メモリ管理用に導入された手法である。図2にメモリモ ジュールの構造を示す2)。
図2に示すようにメモリモジュールはモジュールヘッ ダ,モジュール本体,CRC値の部分から成り,モジュー ルヘッダにはモジュールの識別記号の他,モジュールの名 前,モジL一ルサイズ,実行オフセットなどの情報が書か れている。また,モジュrル本体のプログラムは位置独立
(ポジション・インデペンデント)で再入可能(リエント ラント)なプログラムで書かれていることが必要である。
OS−9はメモリモジュールの採用や,リアルタイム処理 の機能などを除くと,全体としてUNIX*の特徴を全面的 に取り入れたOSであり,マルチタスク,マルチユーザに 対応している。次にOS−9の特徴を示す1)。
(1)カーネルはアセンブラで記述されコンパクトで高 速。
② メモリモジュールによるメモリ管理。プログラムは 実行時にダイナミックリンクされる。
(3)リアルタイム処理が可能。
(4)マルチタスク,マルチユーザのシステム。
(5)ツリー状の階層構造によるファイル管理。
(6)パイプライン機能。
(7)1/0リダイレクト機能。
(8)システム自身のモジュール化により,変更,追加が 容易。
(9)ROM化可能。.
また,今回の教育用システムにOS−9 Level llシステム を使用した理由としては,これまで導入していたハード ウェア,ソフトウェアがそのまま使用できるという点もあ るが,その他に次のような理由が上げられる。
(1)パソコン用としては数少ないマルチタスク,マルチ ユーザのシステムである。
(2)TSSによりファイルの共有化やユーザの管理がで きる。
(3)階層的なファイル構造や1/Oのりダイレクション などUNIXライタな特徴を持ち,使い易い。
(4>フロッピーディスク装置だけのシステムでも使用で き,ハードウェアが安価である。
(5)リアルタイム処理もサポートして,応用範囲が広い。
(6)モジュール構造によりユーザ側での拡張や変更がや り易い。
OS−9と他のOSとの違いについては,ハードウェアの 違いなどから簡単には比較しにくいが,それぞれのOSの 持っている特徴をそのまま並べて比較すると表1のように
なる3)4)5)6)。
表1 0S−9と他のOSの比較
機能および特徴 OS−9 UNIX MS−DOS CP/M
CPU 6809,68000系 多 数 8086系 8080,8086系
マルチタスク ○ ○ × ×
マルチユーザ ○ ○ × ×
リアルタイム処理 ○ × × ×
モジュ「ル化 ○ X × ×
階層的なファイル構造 ○ ○ 0 ×
ファイルの共有化 ○ ○ × ×
ファイルの機密保護 ○ ○ × ×
1/○リダイレクト ○ ○ ○ ×
パイプ機能 ○ ○ ○ ×
バッチ処理 ○ ○ ○ ○
アプリケーションソフト 少 多 多 多
*UNIXはAT&T社のベル研究所で開発されたOSである。
3.教育用システムの構成とその特徴 3.1システムの構成
構築した教育用システムはLAN部の下にTSS部を設 け,各ユーザはTSSモニタで管理する構成となっており,
TSSによるホストのパソコンへの負荷をLANを利用し て分散化したシステムである。システムの概念図を図3に
示す。
図3においてメインブロックのノードは常に起動してお
いて,TSSの処理以外に,ハードディスクやプリンタな どの周辺装置をシステム全体で共有し管理するサーバとし て働く。サブブロックのノードは使用時に,各ブロックご とに立ち上げる。そして,その下の各TSS端末はLAN を利用してメインブロックのハードディスクやプリンタを 共有して使用する。TSS端末を増設する場合はブロック 単位で増設するようにする。実際のシステムの構成を図4
に示す。
図4にお.いて2台のFM−11AD2+はそれぞれノード
LAN部
ハードディスク
口
ノード メイン
OS−9LAI 口
プリンタ
TSSss {
ノード サブ
TSS TSS
口 ノード サブ
TSS
o o o o o o o o o
端末(3〜5台) 端末(3〜5台) 端末(3〜5台)
Lr−」L−r」L−r」
メインプロツク サブブロック サブプロツク
図3 システムの概念図
OS−9LAI(2.5Mbit/sec}
/NET
/HDO15MB
口
ノードNO
・〈FM11−AD2十)
OS−9LeveユH
/term
主メモリ
512KB
/P
RS−232C
n
ノードN1
(FMII−AD2十)
OS−9Levela
/term
主メモリ
256KB
/P
/MDO,/MD1
RS−232C
/t1 /t2
(FM77−AV2) (FM−New7)
/t3
(FM8)
/t1
(FM8)
図4 システムの構成
NO, N1としてLANで結ばれており,2.5Mbit/secの伝 送速度でデータのやり取りができる。また,ディスクやプ
リンタなどの周辺装置を互いに共有することもできる。
ノードNOには15MByteのハードディスク装置,シリア ルドットプリンタが接続され,また,RS−232Cの通信回 線を介して3台の端末が接続されており,TSS端末とし て使用できる。ノードN1には外付けのフロッピーディス ク装置とシリアルドットプリンタが接続され,また,ノー
ドNOと同様にTSS端末として1台の端末が接続されて
いる。
本システムの装置の構成は階層的になっており,階層的 なファイルシステムの場合と同様に,使用する装置をその 装置までのパス(経路)を使って表わすことができる。そ の構成を図5に示す。
図5に示すように,最上位はLANを示す/NETであ り,その下にノードNO, N1があり,ノードNOの下には HDOのハードディスク装置, NDO, ND1の内蔵フロッピー ディスク装置(2HD),シリアルドットプリンタP,そして TSS端末T1, T2, T3がある。また,ノードNlにはNDO,
ND1の内臓フロッピーディスク装置(2HD), MDO, MD1 の外付けフロッピーディスク装置(2D),シリアルドット プリンタP,そしてTSS端末T1が接続された構成であ る。なお,TERMはノードNO, N1の標準入出力部分(本 体のキーボードおよびディスプレイ装置)であり,システ ムコンソールとしての役割を持っているが,本システムで はTSSモニタの管理下に置き,各ユーザが他のTSS端 末と同様な条件でログインして使用できるようにしてい
る。
ここで,例としてハードディスク装置HDOまでのパス を表わすと
fNET/NO/HDO
となる。
3.2LAN部の構成とその特徴
LANにはOS−9専用のOS−9LAN(星光電子製)を使 用した。OS−9LANは専用ボートとネットワーク制御用の モジュールからなり同軸ケーブルでノード問を結んでい る。OS−9LANの仕様を表2に示す7)。
ネットワーク制御プログラムは専用のファイルマネー
/NET
!o Nl
HDO P TERM TI T2 T3 NDO NDI P TERM TI
NDO NDI MDO MDI
図5 システムの装置の階層的構成
表2 0S−9LANの仕様 ネットワーク形態:バス方式 伝送速度
アクセス方式 最大ノード数 伝送媒体 パケットサイズ
1 2.5Mbit / sec
:トークンバス方式
1 255
:同軸ケーブル
:256バイト以下 トークン伝送時間:28.2μs
伝送距離 :ノード,ノ一門ド問600m
ジャ,ドライバ,ディスクリプタから成り,これらのモ ジュールをOS−9の標準システムに追加する。ネットワー ク用のモジュールを追加したシステムのモジュール構成を 図6に示す。
ネットワーク用のモジュールの追加は次の手順で行う。
(1>システム・ジェネレート用のディレクトリを作る。
(2)上記(1)のディレクトリに,OS−9標準システムのモ ジュールをセーブする。
(3)上記(1)のディレクトリに,さらにネットワーク用の モジュールを追加する。
(4)システムジェネレート用のコマンドにより(1)一(3)で
まとめたネットワークシステム用のモジュールを 使って,新しいディスクにシステムディスクを作る。
(5)必要なコマンドやファイルを新しいシステムディス クにコピーする。
また,OS・9LANの特徴としては次の点が上げられる。
(1>各ノードの1/0を自由にアクセスできる。
(2)トークンバス方式の採用により,ユーザ数が増えて もネットワークの効率が落ちにくい。
本システムはTSSを主体としていて,ログイン時に各 ユーザの環境設定を自動的に行っているので,ユーザは ネットワークの部分について意識しなくても使用できる。
モジュールINIT OS−9カーネル
(KERNEL) CLOCK
モジュール
1/0マネージャ
(IOMAN)
ディスクファイル マネージャ
(RBFMAN>
キャラクタファイル マネージャ
(SCFMAN)
パイプライン マネージャ
(PIPEMAN)
ネットワーク ファイルマネージャ
(NFM)
t 1 1 1 1 1
ネットワーク ドライバ
NET
図6 システムのモジュール構成
/HDO
システム
コマンド
Startup S86
S87
TEA・H・R
gs [ mailbox
[:ii
ge [ mailbox
g,
Ti 一 Mailbox
附
図7 共有ディスクのファイル構成
3.3共有ディスクファイルの構成
本システムでは共有のディスクファイルとしてハード ディスクを使用する。各端末からログインすると,この共 有のハードディスクにワーキングディレクトリが設定され る。ファイルの構成を図7に示す。
図7でS86, S87は卒業研究用の学生用ディレクトリ であり,TEACHERは教官用ディレクトリである。そし て,この下にそれぞれの個人ディレクトリが設定されてい る。また,個人ディレクトリにはmailboxのようなファ イルを用意しておき,個人宛のメッセージはこのファイル に書き込むようにしている。
3.4TSS部の構成
TSS部はLAN部の下に構成されている。 TSSの設定 は各TSS端末およびTERMに対してTSSモニタを起
動して行う。次にその例を示す。
tsmon tsmon tsmon または
/Tl&
/T2&
/T3 &
Mtsmon f Tl, T2, T3 &
なお,TERMに関しては起動時,特別にshe11(コマンド・
インタプリタ)を切り離す必要があるので,
ex tsrnon I TERM と起動する。
TSSモニタが起動した後は,各ユー.ザ端末からログイ ンを行って使用できる。ログイン時のユーザ名,パスワー
ドなどはあらかじめシステムディスクの / DO / SYS f password
のファイルに設定しておかなければならない。その例をリ スト1に示す。
passwordファイルには一行ごとに各ユーザのログイン 各件が書かれており,各ユーザの設定項目は『,』で区切
られている。各項目は左から順番に次の内容を表わしてい
る1)。
(1>ユーザ名(最大32文字)
(2)パスワード(最大32文字)
(3)ユーザーD(グループID・ユーザーD)
(4)プライオリティ(最大255)
(5)初期ワーキングデータディレクトリ
(6)初期ワーキング実行ディレクトリ (7)最初の実行プログラム
このログイン条件の内,(5),(6)でログイン時の初期ディ レクトリの設定ができるので,これを利用してノードNO のハードディスク上の個人ディレクトリおよび実行ディレ クトリに初期ディレクトリを設定する。
また,グループIDの設定により,同種類のユーザは同 一のグループで登録することができるので,ユーザのファ
イル管理がよりやり易くなっている。
3.5メモリ常駐コマンドの設定
OS−9ではコマンドの実行時,メモリ上にロードされた モジュールを管理するのにファイルシステムのディレクト リと同様なモジュールディレクトリが用意されている。そ して,モジュールをメモリ上ヘロードすれば,モジュール 名や配置されたメモリ上のアドレスなどが自動的にモ ジュールディレクトリに登録され,モジュールをメモリ上 に常駐させることができる。
これを利用して,本システムでは常時使用するコマンド を集めて,システムの起動時に一括してロードしておき,
ディスクへのアクセスを減らして全体のスループットを落 とさないようにしている。システムの起動時にロードする コマンドの一覧をリスト2に示す。
リスト1
Superuser,****,O,O,255}INETINOIDOICMDS,INETINOIDO,shell
Tanioka,**‡*,0.10,128,/NET/NO/DO/CMDS,/NET/NO/DO/TEACHER/TANIOKA,shell Kawai,****,0。20,128,/NET/NO/DO/CMDS,/NET/NO/DO/TEACHER/KAWAコ[,shell Matsuo,****,0.30,128,/NET/NO/DO/CMDS,/NET/NO/DO/TEACHER/MATSUO,shell Master,****,O.1,255,.,.,shell
Uda,****,1.11,64,INET/NOIDOICMDS,INETINOIDOIS87/Uda,shell
Kondou,****,1,12,64,INETINOIDOICMDS,INETINO/DOIS87/Kondou,shell Shimada,****,1.13,64,INETINOIDOICMDS,INETINOIDOIS87/Shimada,shell Ktshimoto,****,1.14,64,INETINOIDOICMDS,INETINOIDO/S87/Kishimoto,shell Sasae,****,1.15,64,INETINOIDOICMDS,INETINOIDOIS87/Sasae,shell
Kanda,****,1.16,64,INETINOIDOICMDS,INETINOIDOIS87/Kanda,shell Yoshino,****,1。17,64,/NET/NO/DO/CMDS,ノNET/NO/DO/S87/Yoshino,shell
リスト2
MDirDir
MstAttr Rename
Key,Ident Verify
卜lkdir
Color LineKPrint
d.einiz
FreeLink Del Color.
Bui!d SaveBinex Login ClsConnect Key
Mfree
Unli.nk
EchoWset SleepDate
Exb i. n
OSggen
Loeat.e Sy皿bo].
VRAM・
コマンドは全部で57あり,約28KByteの容量である。
これらを約4KByteずつ,7個のブロックにまとめてロー一・
ドしている。リスト3のStartupファイルにその例を.示す。
(1r−2回目でコマンド群をロードしている。)
pwdMakdir Merge
blkrnap Displa:
TeeKmode Tsmon Pset
KSy. mbol
VRO
pxd
Deldir
Procs Setime DumpTmode
Kset,
Put.ldr
Paint.
ln}z
3.6システムの起動
システムの起動は,ノードNOの場合はハードディスク 装置から,ノードN1の場合はフロッピーディスク装置か
ら行う。本システムで使用するLANやTSSモニタはシ
リスト3
Load Load coml Load bcoml Util Echo
Echo一 ******
Echo
Eeho−
Echo−
Echo−
Echo−
Echo
Setime 〈ITerm Echo
Eeho−
Echo
Key.
Key.
Key,
Key.
Key.
Key.
Key.
1くey.
Key.
Ke:y一 .
Ec ho
123456789 000000000
一 ︸ 一 一 一.一 一 一 一IO
eom2 eom3 eom4 eoms
u .1 Sed DD Cp:
Welcome t,o FM−11 OS−9 Level 2 Vl.2J
*************************************
* Har d Disk S: stem in 1986 *
* M.Tani.oka and M.Kawai Seminar *
*************************************
******
Procs e$OD List
BasicO9 $2324k$OD Key,
Kse t.
l」oad
Mdir e$OD Dir
Color.
wset. o,o,so,2s$oD
HAVE FUN ******
******
NetOn INET 〈/Pipe & Mtsmon ITI,/T2,IT3&
ex. tsmon ITERty1
ステムディスク上のStartupファイルを使って自動的に起 動させる。Startupファイルはシステム起動時に自動的に 実行されるプロシジャファイル(バッチファイル)で,こ こにLANやTSSモニタを起動させる命令を書いておく。
(リスト3参照)
システムディスクはOS・9Level涯の標準システムに LANのモジュールを追加したもので, TSSのユーーザ登録 ファイルを持ち,LANやTSSモニタの起動およびその 他の環境設定を自動的に行うStartupファイルが含まれて いなければならない。次に,システムの起動の手順を示す。
(1)システムディスクをセットして,ノードのパソコン を起動させる。
(2)日付,時刻の設定を行う。.
(3)LANおよびTSSモニタが起動され,各端末のロ ダイン待ちとなる。
本システムは3.1項で述べた構成となっているのでノー ドNOのブロックがメインブロックとなり,ノードNOは 常に起動しておく必要がある。
4.ま と め
5学年の卒業研究においてコンピュータの教育をより効 率良く行うために,10人程度のユーザ(同時には6人)を 対象としたパソコンによる教育用システムを構築した。
OSにはOS−9Level Hシステムを使用し, TSSを主体に しながら,LANとTSSを有機的に組み合わせることに より,コンパクトで使い易いシステムが構築できた。本シ ステムの特徴としては次の点が上げられる。
(1)従来のTSSに比べ,端末数を増加させても処理能 力が落ちにくい。
(2)数台の端末を持つサブブロック単位で増設ができ,
切り離しも簡単である。
(3)古いパソコンも端末で利用できる。
(4>ユーザの管理やファイル保護が可能である。
(5)各ブロック問ではディスクファイルのアップロー ド,ダウンロードが高速に行える。
(6)ユーザ間のコミュニケーションが可能である。
(7)UNIXライタなシステム環境が使用できる。
LANやTSSを使用したパソコンのシステムの例8)9)は 様々あるが,通常はLANやTSSをそれぞれ別の目的で 使用しており,本システムのようにTSSを拡張するため にLANを利用し, LANをTSSに組込まれた一部分の機 能のようにして使用している例はあまりない。
本システムのように教育用で使用する場合は,ユーザの 管理やファイル保護が重要となるので,本システムのよう なやり方で構築した方がシステムとしては使い易く,拡張 し易いと考える。
文 献
1)富士通;OS−9ユーザごズマニュアル,(昭60),1〜71,
富士通
2)富士通;OS−9プログラミングマニュアル,(昭60),
1〜26,富士通
3)愛宕邦夫;Oh!16, No,27(昭62一 3),61〜64 4)河 西朝雄;CP/M−86 vs MS−DOS,(昭59),16〜21,
技術評論社
5)阿部英志;マイコンピュータ,No.20(昭61−3),
4 一17
6)高千穂 彰;日経バイト,No.2(昭59−11),42〜47 7)星光電子;OS−9LANシステム ユーザーズマニュア ル,(昭61),17〜28,星光電子
8)西脇 弘;OS・9NEWS, No.6(昭60−6),4〜6 9)星 光行;OS−9NEWS, No.7(昭60−9),4〜6