Junn Ohta wrote:
> LSI-11はROMブートだったような。VAX11でVMSをブート
> するときと4.2BSDをブートするときで別のフロッピーを
> 使っていたような記憶があります。だとするとフロッピ
> ーの内容はVAX11のブートに関係があるような...。(?_?;)
うーむ。
VAX HARDWAARE HANDBOOKを見ましたが、そこまで細かくはかいていませんね。
RX11フロッピーディスクは、QBUSというLSI-11バスにつながって
います。で、これらconsole subsystemは VAX-11 CPUにつながっています.
(CPUのTLBやALU、FPUなど)
UNIBUSやSBIといったバスにではなく。
このコンソール - CPU インターフェイスはROMを持っていて、
LSI-11のプログラムを格納しています.LSI-11のIPLはこの4KB ROM
からでしょう。LSI-11のメインメモリはQbus上にあります。
FDにVAX-11 自身のブートコードが格納されていたとしても、
VAXが自力でFDDから読み出すのではなくて、LSI-11がVAX-11の
主記憶に書きこむ・・・ように見えますが.…
それはそうだった気がします。
--
太田純(Junn Ohta) (株)リコー 販事本S計画C NWS計画室S開G
oh...@src.ricoh.co.jp/JCF0...@nifty.ne.jp
saitoh akinori <sai...@ics.es.osaka-u.ac.jp> wrote in message news:390C1D8B...@ics.es.osaka-u.ac.jp...
> 大阪大学の齊藤です
>
> Junn Ohta wrote:
>
> > LSI-11はROMブートだったような。VAX11でVMSをブート
> > するときと4.2BSDをブートするときで別のフロッピーを
> > 使っていたような記憶があります。だとするとフロッピ
> > ーの内容はVAX11のブートに関係があるような...。(?_?;)
>
> うーむ。
> VAX HARDWAARE HANDBOOKを見ましたが、そこまで細かくはかいていませんね。
:
> FDにVAX-11 自身のブートコードが格納されていたとしても、
> VAXが自力でFDDから読み出すのではなくて、LSI-11がVAX-11の
> 主記憶に書きこむ・・・ように見えますが.…
手元に The Design and Implementation of the 4.3BSD UNIX
Operating System の丸善ボンがあるので、§13.2 ブートストラ
ップ処理を見てみました。
\begin{quote}
多くのVAXコンピュータには、コンソールプロセッサと、コンソー
ルプロセッサからアクセス可能な何らかの形態の二次記憶が付
属している。VAX-11/780コンソールサブシステムにはフロッピ
ーディスクドライブが、VAX-11/750とVAX-11/730コンソールサ
ブシステムに箱型カートリッジテープドライブが含まれている。
VAXのブートストラップの厳密な手順はマシンごとに異なる。通
常、VAXのコンソールプロセッサはDEFBOO.CMDという名前のフ
ァイルをコンソールの記憶媒体の中から探す。このファイルの中
には、CPUをブートストラップするためにコンソールプロセッサが
解釈すべきコマンド列が書かれている。
\end{quote}
云々ということみたいですね。VAX-11 の場合は、テープかフロッ
ピーでブートみたいですけど、結局その辺は、機種依存ですか。
# LSI-11 はやっぱり ROM でしょうかね。
--
Narita Takaoki @A.I.SOFT,INC.
『未知の謎が私をまっている、まだまだ死ねない』
Narita Takaoki wrote:
> 成田です。
> VAXのブートストラップの厳密な手順はマシンごとに異なる。通
> 常、VAXのコンソールプロセッサはDEFBOO.CMDという名前のフ
> ァイルをコンソールの記憶媒体の中から探す。このファイルの中
> には、CPUをブートストラップするためにコンソールプロセッサが
> 解釈すべきコマンド列が書かれている。
ですね。
ぼくもいろいろ古代のマニュアルをしらべましたが :-)
>>> B<リターン>
とすると、フロッピーのDEFB00.CMDがLSI-11によって実行される.
> 云々ということみたいですね。VAX-11 の場合は、テープかフロッ
> ピーでブートみたいですけど、結局その辺は、機種依存ですか。
いや、それはあくまでLSI-11のコマンドプロシージャをどこから読むか
ですね。恐らく、そのコマンドプロシージャは、こんな風になっているはず.
D/P 200 3AEFD0
D +D05A0000
D +3BEF
(以下略)
何をしているかというと、これはメモリ操作コマンドでI/Oレジスタの
設定をしている(はず)。
だいたい、こんな感じ.
・バスアダプタDMAの設定を行う。
・HDコントローラに、セクタ読み取りコマンドを発行する。
・CPUのhaltを解除する。
PDP-11のブートのときにユーザがコンソールSWからユニバスアダプタ
を操作してIPLを行っていたのをそっくりおなじことを、LSI-11が行う
わけです。
すなわち、VAX-11のメインCPUがhaltを解除されて最初に実行する
命令が、どこに格納されていたかというと、ハードディスクの
ブートセクタですよね.
というわけで、「VAX-11/780はフロッピーからブートする」という表現は
正しいような不適なような.
saitoh akinori <sai...@ics.es.osaka-u.ac.jp> wrote in message news:3917F55B...@ics.es.osaka-u.ac.jp...
> 大阪大学の齊藤です
> もはやぜんぜん lang.cじゃなくなっちまったので、そろそろ
> 止めたい.
止めます?;-)
> > 成田です。
:
> > には、CPUをブートストラップするためにコンソールプロセッサが
> > 解釈すべきコマンド列が書かれている。
実は、この引用の続きが結構関る部分を解説してあった。
ということで、また「UNIX 4.3BSD の設計と実装」から引用:
\begin{quote}
このファイルの中の典型的なコマンドは、CPU と入出力サブシス
テムをリセットし、レジスタをしかるべき値に初期化し、コンソール
の記憶装置からファイルをロードして実行を開始する、というもの
である。
<中略>
ブートストラッピング処理にコンソール記憶装置を使用する場合、
boot プログラムもその記憶装置に格納されていなければならな
い。4.3BSD の場合には、コンソールプロセッサが使用するファイ
ルシステムのフォーマットを操作する二つのユーティリティプログ
ラム---arff と flcopy---が提供されている。これらのプログラム
によって boot などのプログラムを VAX のコンソールの記憶装置
に格納することが出来る。
\end{quote}
となっているので、これを信じる限りでは、4.3BSD においては、
やっぱりブートプログラムもフロッピーかテープかに置かれている
となるのでは。
> > 云々ということみたいですね。VAX-11 の場合は、テープかフロッ
> > ピーでブートみたいですけど、結局その辺は、機種依存ですか。
>
> いや、それはあくまでLSI-11のコマンドプロシージャをどこから読むか
> ですね。恐らく、そのコマンドプロシージャは、こんな風になっているはず.
:
> すなわち、VAX-11のメインCPUがhaltを解除されて最初に実行する
> 命令が、どこに格納されていたかというと、ハードディスクの
> ブートセクタですよね.
>
> というわけで、「VAX-11/780はフロッピーからブートする」という表現は
> 正しいような不適なような.
まぁ、私は実機(VAX-11)をいじったことがないのでなんとも分か
らないですが。(^.^
# ちなみに、LSI-11 のブートに関しては、Lions 本の記述でしか
# しりません。
fj.comp.lang.c,fj.comp.lang.c++,fj.sys.vax の <8gaui8$g1d$1...@newsgw8.odn.ne.jp> の
記事において 2000年05月22日(月) 18時39分27秒頃、
"hitoshi yoshida" <caw1...@pop21.odn.ne.jp>さんは書きました。
>誰か
>使い終わったプログラミングツール無料でくれませんか?
使い終わっているっていう概念は、ソフトにゃナイような気がするが。
>出来ればVCかビルダーがいいんだけど、
gccとかBorlandのC++とかが無料っすね。
Windowsなら、lcc-Win32(コンパイルが速い)という手もありますよ。
Borland C++ Compiler(おすすめ)には負けますが。