NeXTSTEP

From Computer History Wiki
Jump to: navigation, search


NeXTSTEP
NeXTSTEP 3.3 desktop.png
A NeXTSTEP desktop
Type: Multitasking, multiuser
Creator: NeXT
Architecture: m68k, portable to big & little endian (i386,sparc,hppa).
Current Version: 3.3 (1995)
Year Introduced: 1989

NeXTSTEP was the Operating System popularized by NeXT, and is commonly thought of with the NeXT hardware.

Architecture

NeXTSTEP uses the Mach microkernel 2.5 as a library into a custom BSD kernel that is based on 4.3 BSD. Sourcecode to the descendant of NeXTSTEP can be found on Apple's site in the XNU project sources. The direct descendant of NeXTSTEP was OPENSTEP, an effort that was helped by SUN into making the NeXT object technology a portable framework. SUN dropped the effort just before launch in favour of Java.

NeXTSTEP developed into a niche as a RAD tool, and a data modeling tool. It was also envisioned as a middleware tool, however it would have required NeXT hardware on the client & middle tiers, with the EOF (Enterprise Object Framework) packages. Later this would morph into an OPENSTEP offering to run on Sun, HP & Microsoft Windows, and then a Java/Web solution. NeXTSTEP was later transitioned into OPENSTEP as part of a collaborative work with SUN which was later abandoned by SUN in favour of Java. When NeXT was later bought out by Apple the then shelved OPENSTEP was brought back to life as the base OS for Rhapsody, then OS X. It also has been opened up via the Darwin project.

Interesting features

NeXTSTEP 3.0 was the first OS to ship on CD-ROM, a welcome change from floppies & tapes of the past.

Another thing I've always loved is the bundle concept in which all of the application dll's resources are all in one directory, making moving apps around trivial, along with installation (almost always just unpack and run).

Notable Software

  • iD's DooM was written on NeXTSTEP, and then ported to the PC.
  • Tim Berners-Lee developed cern httpd on the NeXT, giving us the HTTP protocol, and the web as we know it.

Ports

While NeXTSTEP is based on portable software (Mach/BSD) it was ported to the following machines:

  • m68k
  • hppa
  • i386
  • sparc
  • m88k -unreleased, was possibly the bassis of the NeXT RISC Workstation
  • m98k -It looks like this was an early product number for the PowerPC, as the file m98k.c mentions the 601.

There are various m98k/i860 specific mentions in the GNU tool source of NeXTSTEP

Versions

  • 0.8 m68k only
  • 0.9 m68k only
  • 1.0 m68k only
  • 2.0 m68k only
  • 2.1 m68k only
  • 2.2 m68k only
  • 3.0 m68k then i386
  • 3.1 m68k, i386
  • 3.2 m68k, i386, sparc
  • 3.3 m68k, i386, sparc, hppa

Emulation

There are currently 2 platforms you can choose from to run NeXTSTEP

m68k

The excellent emulator Previous is capable of emulating a NeXT Computer, NeXT Cube, and NeXT Station. With this combination you can run every version of NeXTSTEP.

i386

Emulating NeXTSTEP can be tricky. It should generally run on actual stock PC hardware from the late 90s which is not in short supply yet, so that may be a preferable option. Otherwise you could try an attempt to patch Qemu to run NeXTSTEP. While the latest Qemu can run Solaris, the NeXTSTEP bootloader for SPARC loads, but it seems to hang loading a kernel.