OPENSTEP

from Wikipedia, the free encyclopedia

OPENSTEP
Screenshot
developer NeXT, Inc.
License (s) EULA (closed source)
First publ. September 18, 1989
Current  version 4.2 Patch 4 (1997)
Kernel Mach - BSD - hybrid kernel
ancestry 4.3BSD-Tahoe
↳ NeXTStep (<3.0)
4.3BSD-Reno
↳ NeXTStep (≥ 3.0)
↳ OPENSTEP (≥ 4.0)
4.4BSD
↳ Rhapsody (≥ 5.0)
FreeBSD
↳ Darwin ( macOS , iOS etc.)
Architecture (s) ≤ 3.0: m68k
≥ 3.1: x86 , m68k , SPARC , PA-RISC
≥ 4.0: x86 , m68k , SPARC
≥ 5.0 : x86 , PowerPC
≥ 5.3 : PowerPC
timeline NeXTStep / NeXTSTEP /
NEXTSTEP (≤ 3.3)
OPENSTEP (≥ 4.0)
Rhapsody (≥ 5.0)
Mac OS X / OS X / macOS (≥ 10.0)
Languages) multilingual

OPENSTEP [ ˈoʊpn̩stɛp ] was an operating system from NeXT , which Steve Jobs founded in 1985 after he left Apple. OPENSTEP, in capital letters, was the name of the operating system from version 4.0 from 1996 onwards. From version 3.1 to 3.3 (1993–1995) it was called NeXTSTEP or NEXTSTEP [ nɛkstˈstɛp ], originally up to version 3.0 (until 1992) in the notation NeXTStep .

It is based on the Unix- like operating system 4.3BSD and a Mach 2.5 kernel . It was particularly widespread in the scientific sector, but also in the banking sector, where thanks to the object-oriented development environment that was unusual at the time, complex applications could be built quickly.

NeXT was acquired by Apple in late 1996 , and Steve Jobs returned to Apple as CEO in the summer of 1997 . OPENSTEP 4.2 became the basis of the successor operating system for Apple Macintosh computers, which was further developed under the code name Rhapsody and launched in 2000 as Mac OS X , to replace the older "classic" Mac OS (1984-2001). The NeXTstep- or OpenStep - programming interface (API) has been at Apple for Cocoa evolved and is not just for macOS , such as Mac OS X has been called since 2016, become the most important API, but also the on iOS -based mobile operating systems.

The Unix substructure of Rhapsody or Mac OS X, which goes back to NeXTStep / OPENSTEP, was given the name Darwin in 1999 and was published in the source code .

Concepts

NeXTStep is a microkernel operating system that uses the Mach microkernel. A normal BSD Unix is ​​built on the basis of this kernel. As a result, NeXTStep offers functions such as preemptive multitasking , multithreading and memory protection , but there is no multi-processor support ; this was provided in the Mach kernel, but was not activated. Display PostScript from Adobe is used for graphics output , this is the PostScript version for monitors (instead of printers) and enables real WYSIWYG . Together with Display PostScript, an object-oriented application framework is used that greatly simplifies the programming of graphical user interfaces. Objective-C is used as the standard programming language under NeXTStep and was one of the reasons for the OO developer tools that came with the operating system. The UFS , which is also used in the various BSD Unix variants, is used as the file system .

The user environment is richly equipped as standard. There is an installer / deinstaller, the Webster dictionary, a powerful text editor, software interfaces for fax integration, etc.

The operation of the GUI has various special features that are intended to make work easier:

  • vertical menus (top left in the picture) to minimize mouse movements;
  • Context menus ;
  • Scroll buttons are arranged directly below each other and placed on the left side, which is where you spend more time with European fonts;
  • Uniform design of all applications by restricting them to one API, resulting in short training periods for new programs;
  • “Services” can manipulate marked screen elements.

OpenStep programming interface (API)

The notations " Next Step " ( "step" in lower case) and " OpenStep " refer to the programming interfaces (APIs English Application Programming Interface s). On the other hand, the Unix - based full operating system that implements this interface was written “ NeXTStep ” ( capital letter at “ Step ”) and from version 3.1 “ NeXTSTEP ” (“ STEP ” entirely in capital letters). In version 4.0, the entire operating system was renamed to " OPENSTEP " (all capital letters) , analogous to the name of the specification at that time . These different spellings repeatedly resulted in inaccuracies, as many articles, including those in the specialist press, did not adhere to this writing convention. There was often talk of “ NextStep ” or “ Nextstep ” without differentiating more precisely whether the operating system or the specification of the programming interface was meant.

NeXTStep up to version 3.0 ran exclusively on NeXT hardware such as the NeXTcube and the NeXTstation . NeXT saw itself as a manufacturer of hardware with specially optimized software, as Apple had previously done with the Lisa and the Macintosh . The founder of NeXT, Steve Jobs, was in charge of Macintosh development before leaving Apple in 1985. At NeXT, this concept of unity between computer hardware and software was adopted: the user manual for NeXTStep 1.0 referred to the operating system in its entirety as English NeXT System Software - " NeXTStep " can therefore only be used in this context, especially in the first versions be seen. At the beginning there was only one implementation of the NeXTstep API with the NeXTStep operating system, so that the interface and the operating system were in a certain sense synonymous and inseparable.

When IBM approached NeXT in 1988 to license the programming interface, it was necessary for the first time to separate the NeXTStep operating system from the programming interface, which from then on was called NeXTstep (ie, “ step ” in lower case). IBM wanted to port the NeXTstep interface to AIX in order to make its own UNIX operating system more attractive for programmers of user software. Programs for NeXTStep could have run on AIX with only minimal porting effort. Soon there were rumors that IBM would also incorporate the NeXTstep API into OS / 2 . However, it later turned out that it was only licensing. The programming interface was never ported to another operating system at IBM, not even AIX.

So until 1993 NeXT hardware remained the only platform for the operating system including API. However, since NeXT made no profits, the production of its own hardware had to be stopped in February 1993. However, some companies were interested in the operating system and the NeXTstep API, which is why NeXTstep (the programming interface) should now also be ported to Windows NT from Microsoft and Solaris from Sun. The operating system itself was from NeXTStep 3.1 in addition to the 68k -based NeXT Computer? On Intel - i486 hardware, some PA-RISC - workstations from HP (specifically the workstation HP 9000 Model 712 Gecko ) on SPARC and at least in the laboratory on PowerPC ported. The name of the new operating system was NeXTSTEP / Intel, NeXTSTEP / SPARC and later NEXTSTEP / PA-RISC (with the lowercase "e" being dropped for all platforms from the PA-SC port).

The programming interface was further developed together with Sun from 1994 and published as an open specification. In order to make this innovation even more visible, the API was renamed OpenStep (and, contrary to the notation of NeXT, marketed as " OPENSTEP Enterprise "). A system can describe itself as " OpenStep compliant " if it meets the specification. Sun bought parts of the source code from NeXT in order to do just that with “ OpenStep for Solaris” - OpenStep uses X11 , which runs on Solaris, for some basic functions . NeXT itself developed “ OPENSTEP for Windows” in the same way (which, contrary to the convention, was written in capital letters and is part of the “ OPENSTEP Enterprise ” product ), which used Windows NT functions to implement the API. NeXT's own operating system also implemented the OpenStep specification with version 4.0 and was named " OPENSTEP for Mach " in versions for NeXT hardware ( Motorola 68k architecture, " OPENSTEP for CISC "), Intel (i486 architecture, " OPENSTEP for CISC ”) and SPARC (Sun SPARC,“ OPENSTEP for RISC ”). The version for PA-RISC has been discontinued.

Since the OpenStep programming interface was disclosed, an open-source implementation of the API could be created with GNUstep , which can run on many other operating systems. A GNUstep desktop can often be found under Linux and various free BSD variants, which, in addition to the API, also simulates the look and feel of NeXTStep .

Meanwhile, Sun developed its own cross-platform programming interface with Java . In order not to have to compete with its own API, Sun finally discontinued the Solaris version of OpenStep .

With OPENSTEP 4.1, the last version of the original Unix- and BSD-based NeXTStep operating system was released before Steve Jobs was able to agree with Apple at the end of 1996 on a complete takeover of NeXT by Apple. OPENSTEP served Apple as the basis for the successor operating system for Mac OS Classic that was being sought at the time , because with the Rhapsody project , in addition to OpenStep , BSD and POSIX, the Macintosh API was now also implemented, initially only through the " Blue Box " (the later Classic environment ) and later in the form of the Carbon API and Java. The last pure NeXT Unix, OPENSTEP 4.2, has already been published by Apple and has been supported for five years.

Since the programming interface was already available for Windows NT, the cross-platform concept was originally also adopted by Apple. At WWDC 1997 it was announced that the programming interface , which has now been renamed “ Yellow Box ”, will also be available on other operating systems. Yellow Box was therefore the new name and the further development of the OpenStep programming interface. Similar to Java from Sun, Yellow Box should also have been available on Windows 95 and Windows NT; porting to other operating systems was considered. Apple itself was working on Rhapsody, one on OPEN STEP anabolic operating system (called a Mach-core system Core OS ), the Yellow Box (the advanced OpenStep API), the Blue Box (later the Classic environment ) and with Copland developed Desktop design "Platinum", which was also integrated into Mac OS 8 , existed. For this, Rhapsody had to be ported as a direct further development of OPENSTEP 4.2 to the PowerPC architecture used by Apple hardware . An Intel version of Rhapsody was also developed (but without Blue Box ), but this was never marketed. The function known as the Red Box was considered but never realized on the Intel version, which is similar to the Blue Box for virtualizing another operating system on the Rhapsody desktop, but not for a Mac OS, but for a Windows operating system. would have provided an additional compatibility layer. Similar to OS / 2, Rhapsody / Intel would have had the option to use a large number of existing Windows programs (on an existing or additionally available virtualized Windows operating system).

A year later, at WWDC 1998, Apple suddenly announced that the Rhapsody experiment had failed. There will be no Intel version and no cross-platform programming interface. Rhapsody was only released in a version running for PowerPC-based Apple computers as Mac OS X Server 1.0 (up to 1.2v3) and the Yellow Box was integrated into Mac OS X under the new name " Cocoa " . The Blue Box, on the other hand, was not well received by the developers, as the programs that ran on it could not benefit from the modern advantages of Cocoa. A program that ran inside the Blue Box was limited to the functions of Mac OS 8 or 9. At the same time, however, porting to Mac OS X and its modern Cocoa API ( OpenStep , Yellow Box ) would have meant immense personnel expenditure for porting the source code, since essential program parts would have had to be rewritten from the Macintosh API to the incompatible Cocoa API . To reduce the porting effort for existing Macintosh applications the developers was to pressure carbon integrated an additional programming interface in Mac OS X, made the parts of the original Macintosh API on Mac OS X available. Thus, existing Mac OS programs with manageable adjustments to the source code for Mac OS X could be brought out, which could also benefit from the advantages of the modern operating system such as memory protection and preemptive multitasking . Carbon was actively developed by Apple in Mac OS X until 2007, but remained limited to 32-bit, and was part of macOS until 2019 (as Mac OS X has been called since 2016).

In GNUstep , which fully implements the OpenStep specification, the new features of the API from Yellow Box and Cocoa were only partially implemented. As of January 2016 GNUstep Cocoa supported for Mac OS X 10.4 completely, but needs a program from the source code again with GNUstep translated are to keep it running on a different operating system than Mac OS X. In 2013 a crowdfunding campaign was started to fully support Cocoa from Mac OS X Lion (version 10.7) and Snow Leopard (version 10.6). With the runtime environment Darling , which GNUstep implements with an environment similar to Wine , it would even be possible to run macOS applications unmodified (without recompilation) on another supported operating system. However, the funding target was not achieved.

All versions of NeXTStep and OPENSTEP ran on the NeXT computers that used Motorola's 68030 and 68040 processors , up to the last published version 4.2 from 1996. From NeXTSTEP 3.1 from 1993 the operating system was available for other platforms. Rhapsody (1998) ran on Intel PCs and PowerPC Macs. Since Mac OS X, since 1999, all versions have run exclusively on Apple hardware. The legacy of NeXTStep, the BSD Unix basis and the Mach kernel, enabled a relatively easy changeover in Mac OS X from the PowerPC to the IA-32 architecture that Apple implemented in 2006, as well as the porting of Mac OS with iOS X to the ARM architecture .

Succession

From the mid-1990s, Apple was looking for a successor to System 7 , the operating system for Macintosh computers, which was known as Mac OS from version 7.6, which was then considered technically obsolete . The choice finally fell on NeXTStep from NeXT - the company was taken over by Apple in 1996 and a new operating system based on OPENSTEP was developed, which was initially codenamed "Rhapsody". The operating system was not only ported to the PowerPC platform of the Macintosh, the Unix substructure was also updated from 4.3BSD to 4.4BSD-Lite and the kernel from Mach 2.5 to a hybrid between Mach 3.0 and the monolithic FreeBSD kernel implemented. For the first time, the Unix substructure including the XNU kernel was completely outsourced as open source and made available as an independent operating system: Darwin . Rhapsody had the look and feel of the classic Mac OS (the Platinum design of Mac OS 8 ) and was only released as a preview for developers. With Aqua , however, a new look was developed for the successor operating system to Mac OS, which appeared in March 2001 under the name Mac OS X. To fill the time gap, a server operating system based directly on Rhapsody, which was also called Mac OS X, was only released for the company's own Power Macintosh computers in 1999 - in contrast to Rhapsody, which was still based on Intel i486 and PowerPC hardware was running, Mac OS X Server 1.0 (Rhapsody 5.3) was released, also still in the Platinum design without Aqua, only for the Power Macintosh series. Internally, however, it was ensured that Mac OS X remained portable - the Darwin part, for example, ran on Intel alongside PowerPC from the start. When switching from the PowerPC to the Intel architecture in 2006, Apple benefited from this legacy - although since the first release of Mac OS X only its own hardware was supported, there was an architecture change based on the Darwin operating system, which in turn was directly from Rhapsody , OPENSTEP and NeXTStep is relatively easy. The porting to the ARM architecture with iOS is also due to this descent. As of 2012, the operating system was only called OS X - without “Mac” in its name, because parts of it, such as the Darwin core, now also run on other devices with the iOS derived from it. In 2016, however, the name was changed to macOS analogous to iOS (from 2010, before that iPhone OS and iPad OS), as well as for tvOS (from 2015, before that Apple TV software) and watchOS (2015 from version 2, before that Watch OS).

The last Rhapsody operating system, Mac OS X Server 1.2v3, has the internal version number 5.6 and is therefore still directly derived from NeXTStep, up to version 3.3, and OPENSTEP, up to version 4.2. The code names also follow those of NeXTStep and OPENSTEP, e.g. B. "Lightning9I" for NeXTStep 3.3 and "Titan1U" for Rhapsody 5.1. In contrast to this, in the further development of Rhapsody, Mac OS X from 10.0 and the previous preview and beta versions, the version number is related to Mac OS (up to 9.2.2) in order to assign its role as Mac OS successor underline. Darwin's version numbers are also synchronized with Mac OS X / OS X / macOS. Only the XNU kernel carries an independent versioning system that began with the development of Mac OS X; the kernel itself is based on the Rhapsody kernel, which in turn was developed from the OPENSTEP kernel.

Versions

version publication Code name Platforms Remarks
Older version; no longer supported: 0.8 photon m68k First published version based on 4.3BSD-Tahoe . The kernel is based on a Mach 2.0 microkernel from the CMU .
Older version; no longer supported: 0.9 Oct 12, 1988 Kodak m68k
Older version; no longer supported: 1.0 Sept 1989 m68k From this version the improved CMU Mach 2.5 microkernel was used as the basis.
Older version; no longer supported: 2.0 Sep 18 1990 m68k
Older version; no longer supported: 2.1 25th Mar 1991 m68k
Older version; no longer supported: 3.0 8 Sep 1992 m68k The operating system base was raised to 4.3BSD-Reno .
Older version; no longer supported: 3.1 May 25, 1993 m68k , i486 , PA-RISC , SPARC Since NeXT withdrew from the hardware business at this point, additional architectures were supported so that the software could be marketed for existing hardware from other manufacturers.
Older version; no longer supported: 3.2 Oct 1993 m68k , i486 , PA-RISC , SPARC
Older version; no longer supported: 3.3 Feb 1995 Lightning9I m68k , i486 , PA-RISC , SPARC Most popular (and last) version under the name NeXTStep, which was further supported after the takeover by Apple. Patch 3 was released by Apple as the last update to make NeXTStep year 2000 compatible.
Older version; no longer supported: 4.0 June 1996 Lantern3V1 m68k , i486 , SPARC Implementation of the OpenStep API, therefore renaming to OPENSTEP or OPENSTEP for Mach (unixoid) and OPENSTEP Enterprise (porting the API to Windows NT, OpenStep for Windows); No support for PA-RISC ;
Older version; no longer supported: 4.1 Dec 1996 Lantern4S m68k , i486 , SPARC
Older version; no longer supported: 4.2 Jan. 1997 Lantern5V m68k , i486 , SPARC Last OPENSTEP version that still ran on several architectures and third-party hardware (since Rhapsody 5.x was not marketed on i486); OPENSTEP for MACH 4.2 was already delivered by Apple in September 1997 and supported for another five years. On August 6, 1999, Apple released the last update, “OPENSTEP User Patch 4”, which makes OPENSTEP year 2000 compatible.
Older version; no longer supported: 5.0 to 5.2 see Rhapsody i486 , PowerPC Basis for Apple's new generation of operating systems under the code name "Rhapsody" , which was given to developers as Developer Preview 1 and 2. The look and feel was adopted from Mac OS 8 and Copland . Support for the 68k workstations from NeXT is no longer available, but support for Power Macintosh (only up to G3 ) from Apple is added. The finished version of Rhapsody 1.0, which internally identifies itself as Rhapsody 5.2, was not marketed.
Older version; no longer supported: 5.3 to 5.6 see Rhapsody and Mac OS X Server PowerPC Version 5.3 and newer can be seen as the intermediate step towards Mac OS X that emerged from Rhapsody. The name Rhapsody was dropped, instead the operating system was sold as “Mac OS X Server” only for PowerPC-based Macintosh computers - support for Intel i486 is no longer available from version 5.3 (Mac OS X Server 1.0). Version 5.6 (Mac OS X Server 1.2) supports the Power Mac G4 for the first time .
Legend:
Old version
Older version; still supported
Current version
Current preliminary version
Future version

Architectures

With NeXTSTEP 3.1, other computer architectures were supported for the first time. In order to be able to differentiate between the versions, these have been marked with a slash, followed by the respective architecture, and given a color that is also often used by NeXTSTEP users, e.g. B. in discussions in forums:

  • NEXTSTEP / NeXT Computers, schwarz ( English black )
  • NEXTSTEP / Intel, white ( English white )
  • NEXTSTEP / PA-RISC, green ( English green )
  • NEXTSTEP / SPARC, yellow ( English yellow )

With OPENSTEP (so to speak NeXTStep from version 4) things get a little more complicated: Here the complete Unix operating system with its own Mach kernel is now called “OPENSTEP for Mach” and thus z. B. "OPENSTEP for Mach / Intel" on "white" hardware.

various

Screenshot of WorldWideWeb, the first web browser, under NeXTStep.
Screenshot of WorldWideWeb , the first web browser, under NeXTStep.
  • Both the first web browser (under the name WorldWideWeb ) and the first web server , which laid the foundation for the Internet revolution of the following years, were developed by Tim Berners-Lee at CERN under NeXTStep in a few weeks.
  • The popular computer games Wolfenstein 3D and Doom from id Software were developed under NeXTStep and compiled there for DOS . The level editors from Doom and Quake were real NeXTStep applications, written in the Objective-C programming language .
  • The computer animations for the internationally successful anime Ghost in the Shell were created using NeXTStep.
  • The anime Serial Experiments Lain contains numerous homages to NeXTStep.
  • In 1989, IBM acquired a license for NeXTStep 1.0 for distribution on IBM PCs for US $ 60 million. The collaboration was discontinued before even such a device was delivered. Also, Compaq and Dell wanted to buy such a license.
  • NeXTstep R3 contained the 3D programming RenderMan from Pixar under the name 3DKit.
  • NeXTStep, OPENSTEP and macOS are highly portable and have already been ported for several platforms, like this:

Web links

Individual evidence

  1. Axel Kossel: Return - Nextstep on RISC workstation. In: c't archive, 7/1994. heise online , accessed on November 15, 2011 .
  2. Blake Patterson: My HP 9000 712/60 “Gecko” Workstation. Byte Cellar, February 9, 2005, accessed November 15, 2011 .
  3. Hubert Feyrer: Yesterday we were still on the brink, today we are one step further! (Experience report). Hubert Feyrer, May 21, 1995, accessed November 15, 2011 .
  4. Red Box, Blue Box, Yellow Box . Low End Mac, September 17, 1997 (English) Retrieved January 15, 2016.
  5. FAQ: Can I run NeXT OPENSTEP or Mac OS X programs on GNUstep? GNUstep Wiki and Is GNUstep following changes to OpenStep and Mac OS X? (English), accessed on January 15, 2016
  6. Oliver Diedrich: GNUStep: Mac OS X API Cocoa for all platforms. In: Heise online . 15th August 2013 . Retrieved January 15, 2016.
  7. ^ GNUstep Project. Kickstarter (English) accessed on January 15, 2016
  8. OpenStep Confusion (English), Tomi Engel, January 11, 2000; accessed on May 26, 2016.
  9. The NeXT-FAQ (Frequently asked questions) (English), Bernhard Scholz, September 26, 1996; accessed on May 26, 2016.