1970年代と1980年代にUnixはどのようにインストールされましたか?

1970年代と1980年代にUnixはどのようにインストールされましたか?

まあ、私は80年代後半からコンピュータに触れてきました(実際に私は3歳くらいでした)。さまざまなオペレーティングシステムを試してみました:Atari Xl-XE、MS-DOS、Windows 3.1、95など。その後、Linuxの外観のためにLinuxを使い始めます(はい、知っています)。複合融合Linuxを探索するのは本当の理由です)今、私はすべてのコンピュータにインストールされます。 Windows 10にもありました。

私は以前にマシンを最初から作成したことがあり、常に「MS-DOS」で起動できることを私が覚えています。これが私を疑問に思いました。

80年代や70年代後半にUNIXはどのように設置されていますか(私はまだ生きていませんでした)?大きなフロッピーディスクを起動したり、黒魔術を含むのと同じくらい小さいですか?

偶然にも私はそれに関する参考資料を見つけることができず、私たちの国の人々はフリーソフトウェアを理解していません。

編集する:

重要な部分を取り除き、そもそもこの部分を考慮していなかったので、私が愚かだと思います。

すべては起動順序で始まります。起動順序はOSではなく、BIOS(私の考えではシステム構成のための非常に最小限のOSです)などのROMメモリや起動順序などの他の項目です。このステップでは、BIOSにリストされているデバイスを見つけ、テープ上のデバイスのように起動コマンドに応答するまで順番に繰り返します。したがって、初期のオペレーティングシステムは不要で、Unixをインストールできます。

愚かな間違いはあなたにとって大きな助けになるでしょうが、あなたは間違いなく多くを学ぶでしょう。

答え1

1980年代にUnixをインストールした私の経験はPDP-11にあり、インストールプロセスは実際にはかなり楽しかったです。実際に今夜(シミュレータで)数年ぶりにやってみました…

PDP-11用のUnix V7はテープとして配布されています。テープには複数のファイルが順番にあります。

  • テープの最初のファイルはブートローダです。 2つの部分に分かれています。最初の部分はブートブロックであり、ブートローダの2番目の部分がテープからメモリに読み込まれ、次に制御権を渡すことに注意してください。コードが512バイト未満です。 2番目の部分はより大きく、さまざまな種類のディスクとテープ用のスリムな「スタンドアロンドライバ」を持ち、テープまたはハードドライブのルートディレクトリにファイルを見つけるのに十分なUnixファイルシステムについて知っています。ファイルシステムをマウントして実行します。ブートローダの合計サイズ(2つの部分の合計サイズ)は約8Kバイトです。
  • テープの2番目のファイルは別のcatプログラムです。 「スタンドアロン」という言葉は、(オペレーティングシステムなしで)ベアメタルで直接実行されるという意味です。ブートローダと同じスタンドアロンデバイスドライバとファイルシステムドライバを使用して作成されます。ブートローダを使用してロードして実行できます。起動すると、ファイルを読み取るデバイスと読み取るファイルを通知します。それを読み、印刷して終了します。それがすべてです。これは制限的に使用されます。
  • テープの3番目のファイルは、テープ上のファイルを一覧表示するテキストファイルです。これを見た人はほとんどいません。配布テープの1つを使用している場合は、そのテープに含まれているものをほとんどすでに知っています。
  • テープの4番目のファイルは別のmkfsプログラムです。これは、他のスタンドアロンプ​​ログラムと同じスタンドアロンデバイスドライバとファイルシステムドライバライブラリを使用して構築され、オペレーティングシステムなしでベアメタルでも実行されます。ブートローダを使用してロードして実行でき、ファイルシステムを作成するディスク(およびパーティション)とファイルシステムのサイズを尋ね、ユーザーが指定した初期ファイルシステム構造を作成します。デバイスとパーティション。これで終了します。
  • テープの5番目のファイルはスタンドアロンプ​​ログラムrestorです(例えば、「e」なしで綴られるcreat()システムコールに非常に似ています...)。restorブートローダを使用してロードして実行できます。繰り返しますが、オペレーティングシステムなしでベアメタルで実行されます。ファイルシステムダンプを含むテープファイルとそれを復元するディスクパーティションを要求します。それならそれはまさにそのことをすることです。これで終了します。
  • テープの6番目のファイルは、ルートファイルシステムのファイルシステムダンプです。
  • テープの7番目のファイルは、単に/ usrファイルシステムのファイルシステムダンプです。

それはすべてです - それはあなたが得るものです。

したがって、このテープがある場合は何らかの方法でプロセスを開始する必要があります。一部のPDP-11には、デバイス(テープやディスクなど)から最初のブロックをロードしてそのブロックにジャンプする方法を知っているブートROMがあります。 (このテープでは、最初のチャンクは残りのブートローダをロードする方法を知っている512バイト未満の実行コードです。)しかし、私が使用した最初のPDP​​-11にはブートローダROMがありませんでした。マシンを起動するたびに、デバイスの最初のブロックをロードしてそのブロックにジャンプするためにスタートコードを入力する必要があります。手を使ってください。バイナリ形式で...幸いにも非常に短いです(たとえば、TU16またはTE16テープドライブの最初のブロックを読み込み、ジャンプするコードはわずか6ワードまたは12バイトです)。起動が可能です。コードはフラグメントに記録されています。機械にテープで貼った紙。言うまでもなく、私たちはどんな対価を払ってもシステムの再起動を避けるために最善を尽くします。

したがって、すべてを念頭に置いてシステムをインストールする一般的なプロセスは次のとおりです。

  1. いわゆる「ゼロブロックブートローダ」は、ブートROMを使用して(またはブートコードを手動で入力...)メモリにロードされ、その後ブートローダの残りの部分をロードするために使用されます。
  2. ブートローダを使用して、mkfsハードディスクパーティションのルートファイルシステム構造を配置するスタンドアロンプ​​ログラム(テープの4番目のファイル)をロードします。
  3. ブートローダを使用してスタンドアロンプ​​ログラム(テープの5番目のファイル)をロードrestorし、ルートファイルシステム(テープの6番目のファイル)のファイルシステムダンプをハードドライブに復元します。
  4. ブートローダーを使用して、ハードドライブ(テープから復元されたばかり)のルートファイルシステム上のファイルからUnixカーネルをロードし、制御を転送します。この時点で、Unixはすでに実行中です。
  5. 通常のUnixmkfsrestorコマンドを使用して、ハードディスク上の他のパーティションに/ usrファイルシステムを作成し、/ usrファイルシステムのファイルシステムダンプを準備したばかりのパーティションに復元します。

その後、ハードドライブの最初のディスクブロックにブートコードをインストールする以外はデフォルトで完了しました(したがって、ブートROMまたは手動で入力したブートコードは、システムの再起動時に実行できます)。一部のシステムはプロジェクトを調整して設定します。あなたが望むように何かされた。

1970年代と1980年代に長い間、多くのUNIXディストリビューションにはこれらのプログラムがインストールされていました。 Berkeley Unix(4.2BSD以降)は、非常に似た構造とインストールプロセスを備えた配布テープを提供します。

PDP-11にV7 Unixをインストールする方法については、Charles HaleyとDennis Ritchieの指示については、ここで見つけることができます。ここ。私は今夜​​この指示に従い、素晴らしい仕事をしました。 ;-)

答え2

1989年に最初の職場で、私たちは3.5インチ(約9cm)フロッピーディスクを使用してIntel 386 PCにUnix(インタラクティブ、当時Kodak所有)をインストールしました。

答え3

私の考えでは、あなたが方法を尋ねていると思います。初期インストールUnixの実装。その時代の多くのコンピュータはUnixを実行するように設計されており、オペレーティングシステムはハードドライブまたはフロッピーディスクにプリインストールされていました。インストールは正しいコンテンツを含むディスクを提供するだけです。

しかし、システムの起動時にオペレーティングシステムがメモリにどのようにインストールされるのか疑問に思うかもしれません。

ここに例があります。 「Unix PC」とも呼ばれるAT&T 3B1には、アドレス800000-BFFFFFにブートローダを含むROMがあります。システムがリセットされると、対応するMotoroloa 68010 CPUは000000-2でスタックポインタをロードし、000004-6でプログラムカウンタをロードしてジャンプします。リセット中、ハードウェアはアドレスビット23をハイに設定してROMをメインメモリに効果的にマッピングするので、システムは実際にROM上でプログラムを実行する。 ROMのプログラムは、さまざまなハードウェアコンポーネントを初期化し、いくつかの診断プログラムを実行し、ブートブロックをロードして実行し、フロッピーまたはディスクからオペレーティングシステムをロードします。ブートブロックのコードは、init最新のシステムと同様にカーネルをロードして実行を開始します。

(パンフレットの詳細については、Philip PembertonのMirrorを参照してください。AT&T 3B1 エミュレータ)

理論的には、この知識を使用して、たとえばコンピュータにUnix以外のものをインストールできます。ただし、PCのBIOSなどのハードウェア抽象化層が常に存在するわけではないため、実行されるプログラムはハードウェアとより緊密に組み合わせる必要があります。

答え4

PC(IIRC)では、フロッピーディスクから起動してテープから「実際の」インストールを完了すると、Interactive Unixがインストールされます。 SCSIカードは対話型でサポートする必要があります。

HPワークステーションはテープ/ DATから起動してインストールします。

関連情報