UCSD p-System

UCSD p-System または UCSD Pascal Systemとは、UCSD Pascalに基づいた移植性の高いオペレーティングシステム (OS) である。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) と呼ばれる仮想マシン (VM) によってハードウェアからの独立性を保っている。Pコードと呼ばれる命令セットを持つ。ニクラウス・ヴィルトの教え子Urs Ammannが博士論文 On Code Generation in a Pascal Compiler（1977年）で最初のPコードを発表した。このPコードはPascal向けに最適化されており、初期の開発は全てUCSD Pascalで行われた。各ハードウェアプラットフォームにはPコードのインタプリタさえあれば、p-System全体を動作させることが可能だった。その後のバージョンでは、Pascal 以外の言語もPコードにコンパイルされる処理系を実装した。例えば、TeleSoftはPコードを生成するAda処理系を開発した。これは、(68000から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と6502を使ったマシン、68000、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は市場から姿を消していった。

 関連項目 
Pascal
UCSD Pascal
Pコードマシン
オペレーティングシステム

 参考文献 

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周年を記念して親睦会を開催した。
 An article in UCSD's alumni magazine
 The UCSD Pascal Reunion website
 The UCSD p-System Museum Jefferson Computer Museum
 Pascal Hans Otten
 The Pascal Users' Group Newsletter Archive

Category:オペレーティングシステム
Category:仮想マシン
Category:1978年のソフトウェア