SSブログ

DOSその1(月刊ASCII1984年8月号4)特集 [月刊アスキー廃棄(スクラップ)]

この号の特集はDOSだった。
ASCII1984(08)c152DOS_W520.jpg
Windows(月刊ASCII1984年5月号4)特集の後にDOSの特集とは、順番が逆ではないか。36年前のASCIIの先取りぶりが素晴らしい。
 当時の空気を感じるため、以下記事を引用する。記事はかなり読者層を勘違いしているような気もする。当時のアプリは機種ごとにマシン語で書かれたものとかDiskBasic+マシン語のものが多かった。MS-DOSをローダーとして利用したアプリはあったが、MS-DOSを別購入して、そこで動くアプリを購入するという一般ユーザはほとんどいなかった。高いパソコンを何台も趣味で買うような、高いアプリケーションソフトを何本も買うような一般ユーザは少なかった。(ここでいう一般ユーザとは自費でパソコンを購入して家庭で使っているユーザである。)
DOSの存在理由
 最近のニューマシンの傾向としてフロッピー内蔵ということが挙げられます.これからもわかる様にパーソナルコンピュータのユーザー,ハードウェアメーカーの間でハードウェアとしてのフロッピーディスクに関する認識が高まって来ているのです.しかし,そのハードウェアをサポートするソフトウェアは依然としてBASICが中心です。ところが中には、メインに「DOS = Disk Operating System」を置き,それを基にシステムを構築しているものもあります.  DOSとは一体どういうものなのでしょう?どんな機能を持っているのでしょうか?そしてその提供する環境とは?今月の特集「Disk Operating World」では,このDOSを取り上げます.それでは、DOSの持つ世界を見てみることにしましょう.
 繰り返すが、この当時のソフトウェアは売られているソフトもBasic(プラス機械語)で書かれたものが多く、雑誌のプログラムを入力せずに、市販プログラムをロードしてランするだけのユーザーは「ロードランナー」なんて揶揄されていた。
 Disk-BASICとどこが違うか
 DOSとはその名前からもわかるように「OS-Operating System」の一種です.0Sは計算機を有効に利用するために導入され,計算機と共に発展してきました.パーソナルコンピュータ用のDOSとは何かを一言で言えば「ディスクを外部記憶として用いるOS」ということができると思います.
 それでは、DOSについて実際のオペレーションの面から見てみることにしましょう
 Disk-BASICでもファイルの管理を行うことは可能です.しかし,BASIC言語の命令で行うため,その機能には制限があります.基本的には,各命令を使ってプログラムを組むか,ダイレクトモードで実行することになります.
 たとえばファイルをコピーする時,いったんプログラムをロードして別のディスクにセーブすることになります.このとき,コピーするのが格納開始番地も大きさもわからない機械語プログラムだったらこの方法は使えず,そのためのプログラムを書かなければなりません.さらにプログラムを書いている最中に,ちょっと別のプログラムの内容が見たいとしたら,いったんセーブして,別のプログラムをロードして,リストをとって、またロードする,という手順を踏まなければなりません.
 ディスクを使うのにDisk-BASICを使っていると、上に述べた様な不便さがつきまといます.こうした使い勝手の悪さは,DOSを使うことで解決します.DOSには,ファイルのコピーのためのコマンドやファイルをCRT,プリンタに出力するコマンドがあり,それらを使って作業を進めることができるのです。
 Basicを使っている限り、複数のプログラムを連携して使うのはCHAIN文を使えば不可能ではないけれど、単独のプログラムですべてを処理するのが普通で勢いプログラムが長大化(複雑化)するか、処理内容を簡略化(単純化)するしかなかった。
 それに加えて,DOSではデバイス(周辺装置)を論理デバイスという方法で管理しています。最近のBASICでは,周辺デバイスをデバイス名で管理しているものがありますが,これらは物理デバイスと呼ばれるもので,名前とデバイスが1対1に対応しています.ある名前(例えば“CRT:")に対応するデバイスはモニタディスプレイ1つしかありません.そして,PRINT文はこのモニタにしか出力されません.それ以外のデバイスに出力したければ,そのデバイスをオープンして,PRINT#等の命令で出力することになります。
  私はこの当時X1のCP/Mを使っていたので知人からBasicの相談を受けても的確なアドバイスができなかった。くたばれBasic派であったのでしょうがないけど。GOTO文満載でわけのわからない変数名を使ってループ変数がAとかを使った素人プログラムを読むのは苦痛だった。
 これに対して論理デバイスとは,仮想的なもので,必ずしも実際の周辺装置と1対1に対応しているとは限りません。たとえば,CP/Mでは,“CON:"と言う論理デバイスを持っていて,標準では入力がキーボード,出力がモニタになっていますが,これをRS-232C回線に代えることができます.この機能があればアプリケーションプログラム自体がRS-232Cをサポートしていなくても,そこから入出力を行うことができるようになります.また,プリンタに出力する様なプログラムをデバッグする時,一時的にモニタに切り換えておけばデバッグもやりやすくなります.
 さらにCP/Mでは,“PIP"というデータ転送のコマンドがあり,このコマンド中では,標準のプリンタ出力以外に幅80桁60行に区切って出力する論理デバイスを使うことができます.ユーザーは,この論理デバイス“PRN:"にデータを転送するだけでミシン目にかからないように印字することができるのです。
 PIPコマンドが懐かしい。なんでCOPYがPIPなんだと思ってた。当時インターネットがなくググることもできずわけの分からないまま使っていた。
 最近はプリンタにバッファが内蔵されていて打ち出しによるCPUの専有時間が短くなってきましたが,ソースリストを取る時など、ずいぶん時間のかかるものです.しかし,「マルチタスク」「マルチジョブ」をサポートするDOSなら,プリントアウトしながら別の仕事にすぐ取り掛かることができます。CPUの空き時間にプリンタへデータを転送する様にDOSが働くのです.単にプリンタのスプーリングだけでなく,もっと複雑なプログラムも同時に走らせることも可能です.
  当時外付けのプリンターバッファーは必須だった。これがなかったときは、リストを印刷している待ち時間にトイレに行ったり煙草を吸いに行ったりしていた。この当時のMS-DOSにバッファー機能はなかったと思う。
 さらに,複数のプログラムを同時に走らせた時,最近流行している「ウインドウ」という手法を使って画面を区切れば、他のプログラムの出力を見ながらエディタでプログラムを修正する等ということが可能になるのです.
 Disk-BASICとDOSの違いは、まだまだあります.本質的にDisk-BASICは言語,つまりプログラムを記述するために作られたもので,ディスクは、プログラム中で使用するデータを保存しておく記憶装置としての使い方に主眼が置かれて設計されています.そのためにファイルの扱いがDOSより不便なのは仕方ないことなのです.
 同時に複数のプログラムを走らせるなんて、MS-DOSとかCP/Mではできなかった。コンカレントCP/Mは全く見たことがなかったし、OS-9を使っている人も周りにはいなかった。全然一般的ではなかったと思う。
 なぜDOSが必要か
 パーソナルコンピュータで他の機種のデータ,ソフトウェアを使いたいと思った時,どうすればいいでしょうか.しかもそれがフロッピーディスクに格納されていたとしたら.一番普及している5インチの両面倍密のディスクを例にとれば,ディスクドライブ,メディアは同じものなのですから,他機種のものでもディスクのデータを読むことは可能です.しかし,そのプログラムの格納方法,位置等がわかっていなければ,意味のあるものとしての取り出しは不可能です。仮にそれを調べたとしても,ディスクへの格納方法は,それぞれの機種によって違いますし,機械語等の,I/Oを直接制御しているプログラムは書き直しが必要となります.
 ここでDOSが登場します.DOSを使うと,原則として同じDOSの走るマシンならファイルを交換しあうことができます.また機械語のプログラムでも,そのDOS用に書かれていれば,どの機種でも実行することができます.そして,各種のDOS用には,BASIC以外にも色々な言語が用意されています.こうした様々なアプリケーションを有効に利用できるのもDOSの魅力の一つです.
 半分正解で、半分違う。データの交換はそのとおりだけどDOSを使っても、その機械でのみ動作するプログラムばかりだった。つまりMS-DOSで動くプログラムでもPC-9801用とかがあった。どの機械でも動くように書けと言われれば書けるけどそんなもの実用的ではなかった。CPUが貧弱だったので使い物になるプログラムはその機械専用に書くしかなかった。
 また,ディスクに入っているファイルの管理等もサポートしています.ファイル単位,ディスク単位のコピーや周辺装置への転送などです.ファイルを指定するのにそのファイル名だけでなく,ある種類に属するファイル,ある文字で始まるファイル名を持つもの等という指定が可能になります.この様に複数のファイルを指定して,そのファイルのコピー,消去,周辺への転送等が行えます.DOSは,多数のファイルを扱えるような配慮がなされているのです.そして,間違いを防ぐために,消去されたくないファイルは,それを禁止することもでき、読まれたくないファイルは読み出しを禁止することもできます。特にハードディスクの様に複数の人間で1台のディスクを共有する場合のことも考えてあるのです。
 いやいや、ハードディスクを複数の人間で共用するなんて家庭でパソコンを使っている普通のユーザにはありえない。この記事は誰をターゲットにしているのか。多くのASCIIの読者層には適合していない記事だ。
 機械語で周辺装置を利用するプログラムを書く時,たとえば,ディスクのアクセスの部分は,自分で最初から書くか,ROM内ルーチンをコールすることになります.最近のBASICでは,ROM内にBIOSを持っていてある程度の汎用性を持たせていますが,その汎用性もそのメーカーの同一機種またはその後継機種に対するものです。ところがDOSのファンクションコールの汎用性は,そのDOSの走るマシン全てに保証されています。マシンを換えてもプログラムを書き換える必要がないのです.
 だから、MS-DOSのプログラミング関係の本では、MS-DOSのファンクションコールを使わないでそれをバイパスする方法が紹介されて、実用的なプログラムを作っていた。しつこいけど36年前のCPUはタコだから、ユーザーが直接ハードにアクセスしなければ実用的なプログラムにはならなかった。8086のC言語で書かれたと言われているMutliPlanはカーソルキーでセルを移動すると平気でオーバーランするほどタコCPUだった。MS-DOSのファンクションコールだけで書いたプログラムを販売してもユーザの支持は得られなかっただろう。
 機械語で周辺装置を利用するプログラムを書く時,たとえば,ディスクのアクセスの部分は,自分で最初から書くか,ROM内ルーチンをコールすることになります.最近のBASICでは,ROM内にBIOSを持っていてある程度の汎用性を持たせていますが,その汎用性もそのメーカーの同一機種またはその後継機種に対するものです。ところがDOSのファンクションコールの汎用性は,そのDOSの走るマシン全てに保証されています。マシンを換えてもプログラムを書き換える必要がないのです.  さらにアセンブラレベルであっても,DOSが日本語処理をサポートしていれば漢字変換をDOSが行い,特に漢字変換プログラムを組むこともなく漢字が扱える様になります。16bitマシン用のDOSでは,大きなメモリ空間を管理し,複数のプログラムを同時に走らせたり、何人かで1台のマシンを同時に利用することも可能になります.
 これも現実とは違った。実際はPC-9801だけで動くMS-DOSのプログラムだらけだったし、日本語変換はATOK等が利用されてMS-DOSを利用するなんて実用的ではなかった。しつこいけど、動くと使えるとは天と地ほど違う。
 こうしたパーソナルコンピュータの利用は,Disk-BASICを使っていた時に比べ、はるかにそのマシンの能力を引出しています.この様にDOSを使うと,ディスクシステムを有効に効率良く利用することができるのです.
 DOSが能力を引き出す?いやいやDOSがスピードを殺すが当時の現実だった。DOSはプログラムのローダーとしての利用とデータの取り扱いがしやすいだけだった。これを能力を引き出すというのなら、日本語の使い方が違うというしかない。
 DOSを美化しすぎだ。
 さて、いままでDOSの良い点ばかりを上げてきましたが,このDOSには,何も問題はないのかというと,そうでもありません.例を挙げてみますと,たとえば,CP/Mを5インチディスクで使用する場合,マシンによってディスクのフォーマットが違い,例えばPC-8001のCP/Mで記録したファイルがFM-7のCP/Mで読めないという問題があります.この様に同じDOSなのに機種が違うと読めないというのは、ディスクのセクタのアクセスの仕方が違うためです.これは、DOSを移植する時に,それぞれ最良と思われるやり方でやってしまったからなのです.  また,パーソナルコンピュータ用のDOSでは、メインフレームのOSと比較するとエラー処理等が貧弱になっています.たとえば、ディスクのアクセス中にドライブのドアを開けるとハングしてしまうものもあります.この部分を強化するとDOS自体が巨大化し,アプリケーションプログラムのための領域が小さくなり,DOSの反応も遅くなってしまうのである程度しかたがないことですが,再起動を必要とするのでは、困ります.  この様にパーソナルコンピュータ用のDOSには,問題点も数多くあります.しかし,DOSの重要性が認識されている現在では,これらの点の考慮された新しいDOSも開発されているのです。
 当時、DOSはOSとは違う。単にDiskのオペレーションをするだけだと言われた向きもあったはず。前述したがローダーとして利用して、データの読み書きをして終わりなのでDOSだ。マルチタスクとか、マルチユーザーとかはMS-DOSではできなかった。個人でパソコンを購入する一般的ユーザーにはMS-DOSしか触ったことがないというかMS-DOSのコマンドさえ使ったことのない人も多かった。
 DOSは何をしているか
 DOSはどんなことをしているのでしょうか.その第1は各デバイスとユーザーの間に立ち,そのインターフェイスを取ることです.ディスクを読み書きするには,そのトラック,セクタを指定してやらなければなりません..実際に何セクタにも渡るデータを読み出すのに一々それらを指定していたのでは大変です.そこでそういった非人間的な仕事をDOSが引受けます。各ファイルには、名前が付けられユーザーは,ファイル名を指定するだけでそのファイルをアクセスできるようにするのがDOSの仕事の1つです。さらにシステムにつながる各周辺装置は原則的に初期化しなければ使用することができません.こうした仕事をシステムの立ち上げ時に行うこともやっています。
 マルチタスク,マルチジョブをサポートするものでは,複数のプログラムが同時に走ることになります.そのプログラムをメモリ空間のどこにおくか、おたがいに相手のプログラムを壊さないように書込みを禁止する等の管理(マネジメント)を行うのもその仕事の1つです.さらに,メモリ中に入りきらない大きなプログラムを分割し必要になったらメモリに読み込み制御を移す(仮想記憶)等の機能を持つものもあります.
 この様にDOSは計算機が仕事を行うための環境を整えます.このDOSが存在することによって計算機資源を有効にかつ効率良く利用することができるのです.
 本当に感覚が異なる。Basicですら、ディスクに読み書きするときにトラック,セクタを指定なんてしてない。そんな非人間的なことを要求されていないから。
 基本的に記事と感覚が違うのは、記事はMS-DOS以外のDOSを想定しているのかもしれない。とにかく、パソコンユーザには36年前のMS-DOSはアプリケーションのローダーとして利用されていただけだった。

ASCII1984(08)c154DOS歴史_W520.jpg
ASCII1984(08)c155DOS歴史_写真W390.jpg
ASCII1984(08)c154DOS歴史_CPM_W1739.jpg
ASCII1984(08)c154DOS歴史_MS-DOS_W1135.jpg
以下「DOSの歴史」部分を引用する。
 パーソナルコンピュータ用のDOSは年々進歩しています.ハードウェアの進歩の速度は、メインフレームよりも速く、今では毎年のように新機種が発売されます。さらにCPUも16bitが定着しつつあります。
 ハードウェアの進歩に比較して,ソフトウェアの進歩は遅いものです.しかし、パーソナルコンピュータのDOSも着実に進歩し,色々なDOSが登場してきました。
 パーソナルコンピュータのDOSは,どういった変遷を経て現在の姿になったのでしょうか。ここでは,具体例としてデジタルリサーチのCP/MとマイクロソフトのMS-DOSの発展の流れを追ってみます。
パソコンの進歩はメインフレームの歴史を後追いしていた。新技術の開発ではなく後追い技術の開発だったので進歩速度が速かった。
 パーソナルコンピュータのDOSの流れ
 CP/Mは、1974年にPL/Mコンパイラの開発者,ケーリー・ギルドールによって開発されました。最初のCP/Mは,インテルのマイクロプロセッサ評価システムMDS上で走り,PL/Mをサポートするものでした.
 その後,現在のCP/Mにも付属しているED,ASM,DDTの最初のバージョンが開発されたのです.そして,当時の人気マシンであったIMSAIの標準DOSとして採用されるとそのユーザーは大きく増え,ソフトハウスもCP/M上で動くアプリケーションを開発し始め,さらにユーザーが増えていきました.現在80系のDOSとしては不動の地位を獲得しています.  一方のMS-DOSは,CP/Mとは違い最初から16bitCPUの8086用として登場しました。
 1981年,IBM社は、パーソナルコンピュータ市場に進出,"IBM-PC”を発売しました.IBMの最初のパーソナルコンピュータであるIBM-PCには,1年間の開発期間しか与えられず,なおかつその期間内にDOSも開発せねばなりませんでした.このDO*Sの開発を担当したのがマイクロソフト社でしたが,1年でDOSを開発するというのは無理な話でした。同社はシアトルコンピュータ・プロダクツ社の開発した“86-DOS"を買い上げ,それを改良,強化するという方法を取ったのです.この86-DOSは,名前を替えMS-DOS(IBMの呼称は,PC-DOS)として発売されたのです.
 この部分はNHKのドキュメンタリー番組でも紹介された。IBMがCP/Mのキルドールのところに商売の話を持って行ったが会えずに失敗したとかの有名なエピソードもあった。
ここは、 ロードマップでわかる!当世プロセッサー事情 第402回 業界に痕跡を残して消えたメーカー MS-DOS誕生のきっかけとなったOS「CP/M」を生みだしたDigital Researchが面白い。
 これ以外にも,いくつかのDOSが存在します.68系のCPUのものとしては,“FLEX"があります。  このFLEXもゼネラル版と呼ばれるバージョンがあり,自作マシンに移植することが可能で,また6809版もリリースされました.しかし,8bitのパーソナルコンピュータでは,CPUにZ-80等の80系のCPUを採用しているものが多く,68系のマシンが少ないため,CP/M程普及していません.
 また,パーソナルコンピュータが市場に出現した当時は、ハードウェアメーカーが自社製のマシン専用のDOSを出していました.当時は,現在の様に汎用のDOSもほとんどなく、マシンのメモリ構成や使用CPU等の点で,どうしてもそのマシン専用に開発する必要があったのです.
 こうして発売されたものには,TRS-80の“TRSDOS”,AppleIIの“DOS”等があります.AppleIIのものは,BASICと連動して走りますが,DOSが常に入出力を監視していて,その中にDOSのコマンドが現れると動作を開始するという独特の形式のもので,TRSのものはパスワードの設定もできる本格的なものでした。特にアップルのDOSは、メインフレームからきたDOSとはまた違った,パーソナルコンピュータ独自の構造を持ったDOSと言えるでしょう.
 このAppleIIは,現在IIe,IIcとコンパチビリティを持った機種が発売されていて,IIcでは“ProDOS”が標準DOSとなっていますが,最初のDOSをバージョンアップした“DOS3.3"もまだ使用されています.単一機種専用のDOSとしては、珍しいことですが,機種としてのAppleIIの寿命とその販売台数を考えると当然のことといえるでしょう.
 さらに,ミニコンで使用されていたOSを移植した例もあります.その代表的なものは,なんといっても“UNIX"でしょう.このUNIXは,1969年ごろ生まれました.そのきっかけは,当時開発されていた大型機のTSS方式のOS“Multics”の失敗にあります.UNIXという名称は,この名前に対抗して付けられました.最初のものは,DECのPDP-7上で動き,その後PDP-11と次々に移植されてゆき,現在,マイクロプロセッサ用として,68000,8086等にも移植されて,16bitマシンのOSとして注目されているのです。
 36年前の日本の一般ユーザはDOSなんて知らない人が多かった。Basci(+マシン語)によるアプリケーションソフトが多かった。
マシンの進歩とDOSの進歩
 最近の半導体技術の進歩には、目をみはるものが多く,特にメモリチップの記憶容量は格段に多くなりました.こうした主記憶の増大が補助記憶としてのディスクの需要を呼んでいる原因の1つになっているのです.そして,それらを利用するためのソフトウェアとして,DOSが注目されています.
 確かに8ビットのときは実用的な面ではせいぜい十数Kbyteのデータしかメモリに収めされないのでカセットテープでも良かった(ただし、ディスクは数十Kbypeのアプリをロードするとき必要だし、沢山のデータを少ないディスク交換で使えるので良かった。)16ビットとなると一応PC-9801のMS-DOSでは640Kbyteまで使えたのでフロッピーディスクは必須であった。
 パーソナルコンピュータの場合,メインフレームと違ってマシンが変われば,ソフトウェアを変更する必要がでてきます.しかし,それでは,ソフトウェアの流通に問題が出てきます.その問題は、マシンに依存する部分をDOSで吸収することによって解決することができるのです.いくら,優れているDOSでも特定のマシンでしか動かなければ,どうしてもアプリケーションに対する不満が出てくるものです.パーソナルコンピュータの出現当時は,DOSをマシンに合わせて移植していました.しかし,現在では,どのマシンも汎用のDOSが動くことをセールスポイントにしています.つまり,マシンの基本的な仕様が,DOSの要求する仕様になっているのです。
 DOSはそうでもDOS上で動くアプリは機種限定となっていた。理由は簡単。速度の問題。他社製品のアプリより速く動くことが売り。誰が好き好んで遅いアプリを買うだろうか。どこかが、DOSをバイパスして高速のアプリを発売したら、他社もそれに倣っていた。「どの社のマシンでも動きます」なんてことを一般ユーザは求めていなかった。「他社ソフトより高速、高機能です」が一般ユーザの望んでいたことだった。だから、PC-9801が勝利した。売れてる機械のソフト開発に注力するのが当然。
まあ、36年前のASCIIの記事は高尚すぎるというか理想論というか一般ユーザを知らなすぎる。

「メインフレームOSの歴史」
ASCII1984(08)c156メインフレーム_W520.jpg
 このような記事が面白かった。つまり知らない世界を見るようなもの。当時コンピュータルームというものがあり部外者は入室できなかった。パソコン好きとしてはたまたま中を覗けたとき、モニタ画面(グリーンモニタに複数のウインドウを開けてコードを表示していた)を見て、いつかこのような環境でコードを書いていみたいと思った。
OS発展の歴史
 メインフレームの世界では、OSのもとでソフトウェアを走らせるのが常識でした.このOSはいつごろ誕生し,どういった変遷をとげてきたのでしょうか.  OS登場以前
 1949年に最初のプログラム内蔵方式のコンピュータ“EDSAC"が登場し,1950年には最初の商用コンピュータ“UNIVACI”が登場しました.その当時は、1台のマシンを一人が専有して使っていましたが,デバッグを行っている時間がその利用時間のほとんどを占め,さらに完成までどの程度の時間がかかるかも掴むことができない状態でした.この時代には,プログラミングはすべて機械語で,だれでもが利用できるわけではありませんでした。ところがFORTRANコンパイラが開発され利用者が増え,コンピュータが普及するにつれ,このような管理方法では,管理しきれなくなってしまいました.
 そこでプログラマと計算機の操作者を分けて,計算料金もそのプログラムの実行時間で算出することにしました.この方法では,オペレータがプログラムを記憶装置へロードしておき,起動して処理を行って、仕事の後始末を行っていました.それでも,人間が仕事を行っている間の時間は,CPUの処理速度からみれば,膨大な時間となります.そして,当時のコンピュータはとてつもなく高価で人間の人件費とは比べものにもなりませんでした.こうした空き時間を解消するためにOSが開発されたのです.つまり,最初のOSの目的は,効率よく計算業務を運営するためのソフトウェアだったのです。
 最初は大学の計算機センターへコーディング用紙を提出するとキーパンチャーがパンチカードに穿孔してくれて、そのカードを窓口に提出するシステムだった。その後パンチ室があってユーザがタイプしてカードを作っていた。だから、コンピュータが鎮座する部屋を見ることはなかった。
 OSの登場
 最初のOSは,ノース・アメリカン航空会社とゼネラル・モータースが1955年に開発したFORTRANモニタが最初であろうといわれています.このOSは,FORTRANコンパイラを用いて計算を行う際の操作の自動化を目指したもので,いくつかのジョブを次々と人間の介入なしに処理(バッチ処理)していくものでした.
 一度に動いているプログラムが1つである以上I/Oや記憶装置等の計算機資源が遊んでいる時間が多いことには変わりがありません.そこで複数のプログラムを見掛け上同時に走らせるマルチプログラミングの概念があらわれて、OSはそれをサポートするものという性格をもってきました.この概念を取り入れて実用化したのはUNIVAC IIIの“CHIEF”というOSで,同時に複数のプログラムが走るため,周辺装置等を,限られた時間の中でフルに利用することができるようになりました。
 コンピュータの処理方式では,前に挙げたバッチ処理のほかにリアルタイム方式が挙げられます.この方式はアメリカの航空管制システムである“SAGE"で始めて取り入れられたもので,データの発生時点でただちに処理が行われる方式です.この方式は自動制御などのコンピュータを使った自動化の技術として発展してゆきました。これは,単に計算を目的としたバッチ処理とは対照的なものということができるでしょう.
 コンピュータの利用は基本バッチ処理だった。I/Oはともかく記憶装置が空いているという贅沢な環境はなかったように思う。メモリが少ないためビットスライスまで使って必死だった。また高速化のため、メモリを節約するため浮動小数点を使わず、固定小数点を使いたいため、事前の検討を行ってた。
 TSS方式の登場
 こうした2つの方式に対し,1961年に発表され,1960年代後半に実用化されたTSS(TimeSharingSystem)方式によって,同時に多数の人間が会話形式で計算機を利用できるようになりました.  この方式は,コンピュータにつながる多数のターミナルに対してCPUの処理時間を時分割して割り当てる方式で,利用者からみると1台のコンピュータを専有して使っているように見えるものです.いままでの方式と比較して,マン・マシンインターフェイスに重点を置いた方式であるといえます.プログラムを渡して,結果を受け取るだけというバッチ処理や,データ処理に人間が介入しない様になっているリアルタイム方式に対して,利用者が実行結果に応じて修正を行ったり,パラメータを変更したりすることができる様になり,デバッグ等も行いやすくなりました.そして,このTSS方式が現在では,コンピュータ利用の主流となり,そのための会話型の言語も開発されました。パーソナルコンピュータに搭載されているBASICも最初はTSS用の言語として開発されたものです.
 BASICがTSS用の言語という認識はなかった。Beginner's All-purpose Symbolic Instruction Codeの略で初心者向けの教育的な言語だと思っていた。
 OSの変化
 この様に多数のプログラムが同時に走る様になるとプログラムどうしが干渉しあわないようにメモリを管理する必要があり,また,限られたメモリ空間にプログラムをどうやって配置するかも問題となります.そこでまずプログラムを分割して,それらを次々とロードして実行する方式が考えられましたが,プログラムを書く際に,その構造を考えていたのでは能率が落ちてしまいます.こうした,さまざまな問題を解決するために,ハードウェアとしてはメモリ管理機構や,ソフトウェアとしてはメモリと外部記憶との間で移し替えを行うページング方式が考えだされました.
 こうした,機能をOSが吸収してゆき,当初コンピュータを効率良く運営するためのソトウェアであったOSは、数々のプログラムを実行する際のメモリ管理等を司るコンピュータの管理プログラムとしての性格をおびていったのです。
 OSの記事36年後の今でも面白く読めた。この記事によるとMS-DOSはやはりOSと呼べるレベルではなかったと再確認できた。

とにかくこの記事は高尚すぎる。職場で大型コンピューターを使っているような人向けで、ポケットマネーでパソコンを買い、自宅で使っている一般ユーザ視点ではなかった。
nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。