01.02.2013 Views

Chapter 4 PA-RISC Computer Systems - OpenPA.net

Chapter 4 PA-RISC Computer Systems - OpenPA.net

Chapter 4 PA-RISC Computer Systems - OpenPA.net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>PA</strong>-<strong>RISC</strong> R&D Operating <strong>Systems</strong> Chorus<br />

References<br />

� HPBSD: Utah’s 4.3bsd port for HP9000 series machines 72 Original homepage of the HPBSD<br />

project. Mike Hibler (July 1999: University of Utah. Accessed 4 October 2005)<br />

3.7.9 Chorus<br />

Architecture: Chorus/System V Unix (MiX)<br />

Released: 1990 (development original project), 1991/92 (development follow-on)<br />

Chorus was a micro-kernel (similar to Mach) based operating system, developed at INRIA in France 73<br />

starting in 1979. A development effort was made to port Chorus to the <strong>PA</strong>-<strong>RISC</strong> architecture and<br />

hardware in 1990-1991 at the Oregon Graduate Institute (OGI).<br />

The porting effort, a funded research project lead by Jonathan Walpole 74 , was based on the Chorus v3.3<br />

nucleus ( “kernel” ) with the Chorus/MiX v3.2 on it and targeted the then recent HP 9000/834 “workstation” (<strong>PA</strong>-<br />

<strong>RISC</strong> 1.0 NS-1 processor). Hardware support was quite limited however, as apparently no <strong>net</strong>work<br />

interfaces or disk devices were supported and all console I/O depended on PDC and IODC (<strong>PA</strong>-<br />

<strong>RISC</strong> “BIOS” ) routines. Code from various earlier projects were used, including source code from<br />

HP-UX 2.0 and the HP Tut project (HP-UX on 2.0 Mach). The port succeeded up to the stage that<br />

Unix shells and various system calls worked, but no access to file systems was possible.<br />

A later porting project was started by Jon Inouye (also from Oregon Graduate Institute) to port the<br />

Chorus/MiX v3.2 with the newer v3.4 nucleus to the <strong>PA</strong>-<strong>RISC</strong> 1.1 9000/720 workstation (which was<br />

quite a popular target for OS/Unix porting efforts at that time). The port did not progress very far,<br />

as it supported very few device drivers; it was apperently used for “virtual memory experiments.” In<br />

contrast to the earlier (9000/834) port it used HP-UX 8.0 as a base.<br />

Both ports were never distributed as they contained various copyrighted/licensed source code (from HP,<br />

Chorus, USL, etc.).<br />

Chorus/MiX in the version 3 was a complete System V Unix (both SVR32 and SVR4) compatible<br />

distributed operating system, however based on micro-kernel and with additional real-time and multithreading<br />

features. The system is divided into the nucleus which is the underlying operating system core<br />

which “handles scheduling, memory management, real-time events, and communications.” The nucleus<br />

is quite tiny ( “typically only 50 to 60 KB in size” ) and the only truly platform-dependent part of the<br />

system. The rest of the operating system are implemented as servers (including device drivers, the Unix<br />

environment, Unix job and memory control, <strong>net</strong>work support and sockets, etc.) that sit on top of the<br />

nucleus and communicate with each other and the kernel by passing messages. MiX is in this case a<br />

group of subsystems/servers that implement the aforementioned System V compatible Unix on top of<br />

the Chorus nucleus.<br />

References<br />

� Porting Chorus to the <strong>PA</strong>-<strong>RISC</strong>: Project Overview 75 (PDF, 0.1 MB) Walpole, Jonathan, et al. OGI<br />

Technical Report No. CS/E-92-003 (January 1992: Oregon Graduate Institute)<br />

72 http://www.cs.utah.edu/~mike/hpbsd/hpbsd.html<br />

73 http://www.inria.fr/index.en.html<br />

74 http://web.cecs.pdx.edu/~walpole<br />

75 ftp://ftp.parisc-linux.org/docs/whitepapers/1992-chorus_reports/92-003.pdf<br />

128

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!