UCSD p-System
UCSD p-System または UCSD Pascal System とは、UCSD Pascal に基づいた移植性の高いオペレーティングシステムである。1978年、カリフォルニア大学サンディエゴ校(UCSD)で開発された。
概要
[編集]UCSD p-System は、ホビーパソコンから学内のDEC製ミニコンピュータ PDP-11 まで共通のOSを学生が使えるようにすることを目的としていた。SofTech 製の Version VI は、IBM がオリジナルの IBM PC 用OSとして提供した3つのOS(他は PC-DOS と CP/M-86)の1つである。しかし、p-System 向けのアプリケーションが少なく、価格も他より高めだったため、あまり売れなかった。それ以前には、IBM はワードプロセッサ専用機 Displaywriter の OS として UCSD p-System を採用していた。
1977年ごろ、UCSD の Kenneth Bowles は、コンピュータの新機種の数が多くなり、新しいプログラミング言語が受け入れられにくくなる(処理系の移植が追いつかなくなる)と考え、UCSD p-System の開発を開始した。彼はプログラミングの教育用として Pascal に注目していた。UCSD は Pascal に重要な2つの改良を施した。それは、可変長文字列と個別にコンパイル可能なコードの単位(ユニット)である(これは当時新たに登場した Ada から発想された)。ニクラウス・ヴィルトは p-System と UCSD Pascal が Pascal の普及に貢献するとして支持した。UCSD Pascal が Pascal ユーザーの間で最も人気があったのは Turbo Pascal がリリースされるまでだった。
UCSD p-System は p-Machine(pseudo-machine)と呼ばれる仮想機械によってハードウェアからの独立性を保っている。Pコードと呼ばれる命令セットを持つ。ニクラウス・ヴィルトの教え子 Urs Ammann が博士論文 On Code Generation in a Pascal Compiler(1977年)で最初のPコードを発表した。このPコードは Pascal 向けに最適化されており、初期の開発は全て UCSD Pascal で行われた。各ハードウェアプラットフォームにはPコードのインタプリタさえあれば、p-System全体を動作させることが可能だった。その後のバージョンでは、Pascal 以外の言語もPコードにコンパイルされる処理系を実装した。例えば、TeleSoft はPコードを生成する Ada 処理系を開発した。これは、(MC68000からSystem/370まで)様々なプラットフォームで動作した。
UCSD p-System の考え方は、Javaプラットフォームと同じである。どちらも仮想機械(VM)を使ってOSやハードウェアの違いを隠蔽し、クロスプラットフォームサポートのためにそのVM向けに書かれたプログラムを使用する。また、どちらのシステムもVMをOSとして扱うこともできるし、別のOS上で動作するボックスとしても扱える。
バージョン
[編集]UCSD Pコード・エンジンには4つのバージョンがあり、それぞれに p-System と UCSD Pascal のいくつかのバージョンが対応している。Pコード・エンジンのバージョンが変わるということは、Pコードの仕様が変わるということであり、バージョンの異なる p-Machine 向けのコードは実行できなくなる。Pコード・エンジンのバージョンはローマ数字で表され、p-System のバージョンはローマ数字(対応するエンジンのバージョン)にドット付きでアラビア数字を付けたものになっていた。例えば、II.3 は p-Machine 第2版で動作する p-System 第3版を意味する。
- Version I
- 最初の版であり、公式には UCSD 以外には配布されなかった。しかし、I.3 と I.5 の Pascal のソースコードは自由にユーザー間で交換されていた。特にパッチをあてた I.5a は安定していることで知られていた。
- Version II
- 各種ホビーパソコン向けに広く配布された。対象プラットフォームは、Apple II、PDP-11、Z80 と MOS 6502 を使ったマシン、MC68000、IBM PC などである。PC 向けはコードセグメントが 64KB、スタック/ヒープも含めたデータセグメントが 64KB に制限されていた。Version VI ではこの制限がなくなったが、価格が上がった。
- Version III
- ウェスタン・デジタルの Pascal MicroEngine 向け専用のバージョン。
- Version IV
- 商用版。SofTech が開発・販売を行った。Version II に基づいており、Version III での変更点は含んでいない。価格設定が高かったことと、Pコード・エンジンをかませているせいで性能が悪かったため、あまり売れなかった。後に p-System のファンが集まって設立された Pecan Systems が SofTech から買い取った。価格を安く設定したことである程度売り上げは改善したが、徐々に p-System と UCSD Pascal は市場から姿を消していった。
関連項目
[編集]参考文献
[編集]- UCSD PASCAL System II.0 User's Manual March 1979 — Institute for Information Systems, UCSD. Copyright 1978 Regents of the University of California.
外部リンク
[編集]- 2007年12月現在、UCSD は1979年6月1日以前に書かれた p-System の一部を非商用利用に限ってリリースしている。
- 2004年、UCSD Pascal 開発チームのメンバーが30周年を記念して親睦会を開催した。
- The UCSD p-System Museum Jefferson Computer Museum
- Pascal Hans Otten
- The Pascal Users' Group Newsletter Archive