NeXTSTEP

This article describes the operating system (capitalized), for the application programming interface (API) see OpenStep.

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

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

NeXT was bought by Apple at the end of 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 on the market from 2000 as Mac OS X, to replace the older "classic" Mac OS (1984-2001). The NeXTstep or OpenStep application programming interface (API) was further developed at Apple into Cocoa and has become the most important API not only for macOS, as Mac OS X has been called since 2016, but also that of the mobile operating systems based on iOS.

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

Concepts

NeXTStep is a microkernel operating system that uses the Mach microkernel. An ordinary BSD Unix is built on the basis of this kernel. Thus NeXTStep offers features like preemptive multitasking, multithreading and memory protection, but lacks multiprocessor support; this was foreseen in the Mach kernel, but was not enabled. For graphics output, Adobe's Display PostScript is used; this is the PostScript variant for monitors (instead of printers) and allows true WYSIWYG. Together with Display PostScript, an object-oriented application framework is used, which 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 file system used is UFS, which is also used in the various BSD Unix variants.

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

The operation of the GUI has several special features, which should facilitate the work:

  • vertical menus (top left of the image) to minimize mouse movements;
  • Context menus;
  • Scroll buttons are arranged directly below each other and placed on the left side, where one spends more time with European fonts anyway;
  • Uniform design of all applications by restriction to one API, thus short training periods for new programs;
  • "Services" can perform manipulations of selected screen elements.

OpenStep Programming Interface (API)

Main article: OpenStep and Cocoa (API)

The spellings "NeXTstep" ("step" in lower case) and "OpenStep" refer to the programming interfaces (APIs, Application Programming Interfaces). In contrast, the Unix-based complete operating system that implements this interface was written "NeXTStep" (uppercase initial letter for "step") and, as of version 3.1, "NeXTSTEP" ("STEP" entirely in uppercase). In version 4.0, the entire operating system was renamed "OPENSTEP" (all capital letters), analogous to the name of the specification at that time. These different spellings caused inaccuracies again and again, since many articles, even in the technical press, did not adhere to this spelling 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 optimised software, as Apple had previously done with the Lisa and the Macintosh. The founder of NeXT, Steve Jobs, had been in charge of Macintosh development before leaving Apple in 1985. NeXT adopted this concept of unity between computer hardware and software: the user manual for NeXTStep 1.0 referred to the operating system in its entirety as NeXT System Software - "NeXTStep" can therefore only be seen in this context, especially in the first versions. At the beginning, only one implementation of the NeXTstep API existed with the NeXTStep operating system, so that the interface and the operating system were in a way synonymous and not separably connected.

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 (i.e. "step" in lower case). IBM wanted to port the NeXTstep interface to AIX to make its own UNIX operating system more attractive to programmers of user software. Programs for NeXTStep could have run on AIX with minimal porting effort. Soon there were rumors that IBM would also incorporate the NeXTstep API into OS/2. Later it turned out that it was just a matter of licensing. IBM never ported the programming interface to any other operating system, not even AIX.

So until 1993 NeXT hardware remained the only platform for the operating system including API. However, since NeXT did not make any profits, the production of own hardware had to be discontinued in February 1993. However, some companies were interested in the operating system and the NeXTstep API, which is why NeXTstep (the programming interface) was now also to be ported to Windows NT from Microsoft and Solaris from Sun. As of NeXTStep 3.1, the operating system itself was ported not only to the 68k-based NeXT computers, but also to Intel i486 hardware, some PA-RISC workstations from HP (specifically the HP 9000 Model 712 Gecko workstation), to SPARC, and, at least in the lab, to PowerPC. The naming convention for the new operating system was NeXTSTEP/Intel, NeXTSTEP/SPARC, and later NEXTSTEP/PA-RISC (though starting with the PA-SC port, the lowercase "e" was dropped for all platforms).

The programming interface was further developed together with Sun from 1994 and published as an open specification. To make this innovation even more visible, the API was renamed OpenStep (and marketed as "OPENSTEP Enterprise", contrary to NeXT's spelling). A system may call itself "OpenStep compliant" if it meets the specification. Sun bought parts of the source code from NeXT to do exactly this with "OpenStep for Solaris" - OpenStep uses X11 running on Solaris for some basic functions. NeXT itself developed "OPENSTEP for Windows" in the same way (which, contrary to convention, was written in capital letters and is part of the "OPENSTEP Enterprise" product), which used features from Windows NT to implement the API. NeXT's own operating system also implemented the OpenStep specification with version 4.0, and was released as "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 had been made open, an open source implementation of the API could be created with GNUstep, which is executable on many other operating systems. Especially under Linux and various free BSD variants a GNUstep desktop can often be found, which besides the API also emulates the look-and-feel of NeXTStep.

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

With OPENSTEP 4.1, a last version of the original Unix- and BSD-based NeXT Step operating system was released before Steve Jobs was able to agree with Apple on a complete takeover of NeXT at the end of 1996. OPENSTEP served Apple as the basis for the successor operating system for Mac OS (Classic) that was being sought at that time, because with the Rhapsody project, in addition to OpenStep, BSD and POSIX, the Macintosh API was now also supported, initially only through the "Blue Box" (the later Classic environment) and later in the form of the Carbon API, as well as Java. The last pure NeXT Unix, OPENSTEP 4.2, had already been released by Apple and 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 the WWDC 1997 it was announced that the programming interface, now renamed "Yellow Box", would also be available on other operating systems. Yellow Box was thus the new name as well as the further development of the OpenStep programming interface. Similar to Java from Sun, Yellow Box should have been available on Windows 95 and Windows NT, and a port to other operating systems was being considered. Apple itself worked on Rhapsody, an operating system based on OPENSTEP, which consisted of a Mach core system (called Core OS), Yellow Box (the further developed OpenStep API), Blue Box (the later Classic environment) and the desktop design "Platinum" developed with Copland, which was also integrated into Mac OS 8. For this, Rhapsody had to be ported to the PowerPC architecture used by Apple hardware as a direct development of OPENSTEP 4.2. An Intel version of Rhapsody was also developed (but without a blue box), but this was never marketed. Considered, but never realized, was the feature on the Intel version known as the Red Box, which would have provided an additional layer of compatibility similar to the Blue Box for virtualizing another operating system on the Rhapsody desktop, albeit for a Windows operating system rather than a Mac OS. Similar to OS/2, this would have made it possible on Rhapsody/Intel to use a variety of existing Windows programs (on an equally existing or additionally acquired virtualized Windows operating system).

A year later, at WWDC 1998, Apple suddenly announced that the Rhapsody experiment had failed. There would be no Intel version and no cross-platform programming interface. Rhapsody was only released in a version running on 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 developers, as the applications that ran on it did not benefit from the modern advantages of Cocoa. An application that ran inside the Blue Box was limited to the features of Mac OS 8 or 9. At the same time, a port to Mac OS X and its modern Cocoa API (OpenStep, Yellow Box) would have required an immense amount of manpower for porting the source code, since essential parts of the program would have had to be rewritten from the Macintosh API to the incompatible Cocoa API. In order to reduce the porting effort for existing Macintosh applications, an additional programming interface was integrated into Mac OS X under pressure from the developers with Carbon, which made parts of the original Macintosh API available under Mac OS X. This way, existing Mac OS applications could be ported to the Cocoa API. Thus, existing Mac OS applications could be released for Mac OS X with manageable modifications to the source code, which could also benefit from the advantages like memory protection and preemptive multitasking of the modern operating system. Carbon was actively developed by Apple in Mac OS X until 2007, but remained limited to 32-bit, and was part of macOS (as Mac OS X has been called since 2016) until 2019.

In GNUstep, which fully implements the OpenStep specification, the API innovations from Yellow Box and Cocoa were only partially implemented. As of January 2016, GNUstep fully supports Cocoa from Mac OS X 10.4, but an application from source must be recompiled with GNUstep to run on an operating system other than Mac OS X. In 2013, a crowdfunding campaign was launched 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 recompiling) on another supported operating system. However, the funding goal was not reached.

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


AlegsaOnline.com - 2020 / 2023 - License CC3