Whatever happened to NeXT?

The company Steve Jobs founded when he left Apple. Did it ever make any money? Is it still in existence?

I think I still have a NeXT tote bag from the launch event in a closet somewhere.

Apple bought it.

Fortune magazine about Jobs:
“Founded Apple 1976 with Steve Wozniak. Formed Next Computer after ouster from Apple 1985; returned when Apple bought Next 1996 for $400 million.”


Apple bought it and brought Jobs back to Apple.

Read all about it:


When come back bring Jobs.

The Mach operating system, which was used in the NeXT was used as basis for the latest Mac OS.

Nitpick: Mach-0 was NeXTSTEP’s kernel, and is also Mac OS X’s kernel. It was developed by Avie Tevanian when (I believe) he was still a student.

Though it’s not mentioned in the Wikipedia article, I’ve been told by someone in the academic community who bought early NeXT machines that the documentation was very bad. Consequently many people couldn’t figure out how to use the machines to their full capacity and ended up abandoning them. The particular person who told me this actually still uses a pair of NeXTcubes…
as speaker stands.

Yes, you are right, it’s just the kernel. Avie was one of many students who worked on Mach at CMU under Rick Rashid who is now director of research at Microsoft. Avie’s paper on SW based TLBs is a great read.

Pardon my ignorance, but isn’t the only thing that differentiates a TLB from an ordinary page table the fact that there’s some hardware dedicated to it?

OK, a couple of mistakes on my part here. First, the paper I was refering to is:

Machine-Independent Virtual Memory Management for Paged Uniprocessor and
Multiprocessor Architectures. IEEE Trans. Comput., 37(8):89&908. August 1988

I was getting it mixed up with another paper on TLB management from CMU that does not include Avie as author.

As for TLBs, they are a cache of what is in the page tables. They are generally implemented in HW, but require kernel support for consistency, shootdown, etc.

The short version is that the modern MacOS is the direct child of NeXT and is not a descendant of the “non-X” Macintosh operating system sequence (System 1, System 2, System 3, System 4, System 6, System 7, MacOS 8, MacOS 9).

NeXTStep gave way to OpenStep when NeXT abandoned the Motorola 68K and their own proprietary NeXT hardware platform in favor of x86-standard machinery. For years NeXT existed as a software-only vendor. NeXTStep and OpenStep, it should be pointed out, were variants on BSD Unix.

When Apple bought NeXT, the OpenStep OS was ported yet again, this time to the PowerPC/Macintosh hardware platform. The first version of MacOS X Server, which came out quite a bit before even the Public Beta of the non-server version of MacOS X, was essentially just OpenStep with some cosmetic changes to make it more akin to the MacOS (window widgets and whatnot), plus a virtual-machine environment that booted the “Classic” MacOS (8.6 back then) so that one could use one’s existing Mac software while booted in OS X Server. The code name for this early port was “Rhapsody”. (An Intel version, minus the BlueBox “Classic” capabilities, was compiled and developed for awhile but never saw the light of day).

The next iteration saw the implementation of the “Carbon” architecture, a sort of subset/superset of the traditional MacOS routines and toolbox calls that were compatible with the demands of a protected memory / preemptive multitasking environment. Applications that were modified to conform to the Carbon specification could run natively under either MacOS 8/9 or MacOS X. This part of MacOS X is new, rather than being a continuation/port of NeXTStep/OpenStep, but it coexists with it. The traditional OpenStep programming/API environment got renamed “Cocoa” (and full Java support was thrown in with it as well, another new fundamental feature. And the display environment was revamped from the OpenStep system based on Display PostScript to a similar display architecture based on PDF format (another PostScript derivative), and this (plus the revamped GUI) is called “Aqua”.

But essentiallly if you’re looking for the NeXT of today, it’s running on the Mac. Open the hood and it’s clearly a NeXT-descendant (and still a BSD-Unix based system, btw) that you’ll find there.

To be pedantic, Mach is a microkernel that needs some specialized software to make it into a fully-functional operating system. It supports some very basic operations, such as multitasking and hardware protection, and relies on userland programs called servers to implement the filesystem and the API other userland programs see. You can, at least in theory, modify the behavior of critical parts of your OS simply by swapping the server that implements that behavior. Mach could be used as the foundation for a Unix-like OS (NeXTstep achieved this, and the GNU Hurd is the closest to implementing this ideal on more modern hardware) or a VMS-like OS or even an MS-DOS-like OS, if one were sufficiently perverse. You can even run multiple servers at the same time, to get the effect of partitioning your machine between multiple different OSes.

MacOS X doesn’t use Mach per se. It uses XNU, which is a mixture of Mach and BSD Unix. XNU is more efficient than pure Mach with a set of servers implementing the rest of the OS, and it gives up some flexibility to achieve that. For example, you cannot decide to turn off the filesystem server and replace it with a different one under XNU as you can under Mach, because the filesystem is a part of the kernel.

MacOS X is a reimplementation of NeXTstep by people a lot more concerned with marketability than Steve Jobs on his own ever was. It’s an interesting compromise that seems to be surviving and doing just fine in the Real World.