Star Trek project

From Infogalactic: the planetary knowledge core
(Redirected from DR DOS StarTrek)
Jump to: navigation, search

Star Trek is the code name which was given to a secret prototype project, running a port of Mac OS 7 and its applications on Intel-compatible x86 personal computers. The project, starting in February 1992,[1] was conceived in collaboration between Apple Computer, who provided the majority of engineers, and Novell, who at the time was one of the leaders of cross-platform file-servers. The plan was that Novell would market the resulting OS as a challenge to Microsoft Windows, but the project was discontinued in 1993 and never released, although components were reused in other projects.

History

The impetus for the creation of the Star Trek project began out of Novell's desire to increase its competition against the monopoly of Microsoft and its DOS-based Windows products.[2] Eventually convicted many years later of illegal monopoly status, Novell had called Microsoft's presence "predatory" and the US Department of Justice had called it "exclusionary" and "unlawful".[3] Novell's first idea to extend its desktop presence with a graphical computing environment was to adapt Digital Research's GEM desktop environment, but Novell's legal department rejected this due to apprehension of a possible legal response from Apple, so the company went directly to Apple. With shared concerns in the anti-competitive marketplace, Intel's CEO Andy Grove supported the two companies in launching their joint project Star Trek on February 14, 1992 (Valentine's Day).[2]

Apple set a deadline of October 31, 1992 (Halloween Day), promising the engineering team members a performance bonus of a large cash award and a vacation in Cancun, Mexico. Of the project, team member Fred Monroe later reflected, "We worked like dogs. It was some of the most fun I’ve had working".[4]

Achieving their deadline goal and receiving their bonuses,[4] the developers eventually reached a point where they could boot an Intel 486 PC (with very specific hardware) into System 7.1, and its on-screen appearance was indistinguishable from a Mac. However, every program would then need to be ported to the new x86 architecture to run. It was supposed that programs could be ported with little effort because Apple developed equivalent headers for x86.[citation needed]

However, the project was cancelled in mid-1993 because of political infighting, personnel issues, and the questionable marketability of such a project. Apple's side of the project had seen the exit of the supportive CEO, John Sculley, in favor of the new CEO, Michael Spindler. Spindler was disinterested in the project, instead reallocating most software engineering resources toward the company's total migration to the competing Power PC architecture. Mac OS did not launch natively on Intel hardware until its official transition in 2006.[2]

<templatestyles src="Template:Blockquote/styles.css" />

All the MBAs in the world can’t convince us it’s a good model.

— Roger Heinen, Manager of Mac software architecture,
on the objectives of Star Trek in March 1992[4]:179

Architecture

Star Trek was designed as a hybrid of Apple's Macintosh operating system, made to run as an operating system GUI shell application upon Novell's next in-development version of the DR DOS operating system. It was designed so that a user could think of it as a standalone application platform and general computing environment, in a concept similar to Microsoft's competing Windows 3.1x, running on top of DOS. This was a radical and tedious departure both technologically and culturally, because at that time, Mac OS had only ever officially run on Apple's own computers, which were all based on the Motorola 68000 architecture. The project was named after the Star Trek science fiction franchise with the slogan "To boldly go where no Mac has gone before".[2]

The system was built on the successor of Digital Research's DR DOS 6.0 (BDOS level 6.7 and 7.1) and NetWare PalmDOS 1.0 (code named "Merlin", BDOS level 7.0), Novell's DR DOS "Panther" as a fully PC DOS compatible 16-bit disk operating system (with genuinely DOS compatible internal data structures) for bootstrapping, media access, device drivers and file system support. The system would utilize DR DOS' new "Vladivar" Extended DOS component with flat memory support, which had been under development at least since 1991. "Vladivar" (DEVICE=KRNL386.SYS[5] aka DEVICE=EMM386.EXE /MULTI + TASKMGR)[6] was a dynamically loadable 32-bit protected mode system core for advanced memory management, hardware virtualization, scheduling and domain management for pre-emptive multithreading within applications as well as multitasking of independent applications running in different virtual DOS machines (comparable to Windows 386 Enhanced Mode but without a GUI).[6]

Thereby, the previously loaded DOS environment including all its device drivers became part of the system domain under the multitasker.[6] Unless specific protected mode virtual device drivers were loaded, hardware access got tunneled through this 16-bit sub-system by default. For maximum speed at minimum resource footprint, the DR DOS BIOS, BDOS kernel, device drivers, memory managers and the multitasker were written in pure x86 assembly language. Apple's port of System 7.1 would run on top of this high-performance yet light-weight hybrid 32-bit/16-bit protected mode multitasking environment as a graphical system and shell in user space. Macintosh resource forks and long filenames were mapped onto the FAT12 and FAT16 file systems.[citation needed]

Legacy

Though the joint effort had been canceled, Novell published the long awaited "DR DOS 7.0" as Novell DOS 7 (BDOS 7.2) in 1994. Besides many other additions in the areas of advanced memory and disk management and networking, Novell DOS 7 provided all of Novell's underlying "STDOS" components of the DR DOS "Panther" and "Vladivar" projects except for the graphical Star Trek component itself, which had been jointly developed by Apple and Novell. Instead, TASKMGR provided a text mode interface to the underlying multitasker in EMM386, but the system also provided an API to allow third-party GUIs to take over control. Microsoft Windows, ViewMAX/2 & 3 and PC/GEOS / NewDeal are known to utilize this interface, when run on Novell DOS 7 (or its successors OpenDOS 7.01 or DR-DOS 7.02 and higher), and "Star Trek" would have been yet another one. In fact, some additional hooks had been implemented specifically for the "Star Trek" GUI for frame buffer access. These hooks have never been stripped out of EMM386 but just left undocumented.

Apple reused some of the platform abstraction technology developed for Star Trek, incorporating it into the concurrently developed—and some[who?] consider competing—migration to the PowerPC architecture. This abstraction technology included the capability of loading the Mac OS ROM data from a file instead of from a ROM chip.[citation needed]

Star Trek team members Fred Monroe and Fred Huxham formed the company Fredlabs, Inc. In January 1997, the company released VirtualMac, a Mac OS application compatibility virtual machine for BeOS.[4]:180

Similar concepts

Within Apple

Apple's first and quickly aborted concept of porting its flagship operating system to Intel systems was in 1985, following the exit of Steve Jobs. Apple did not reattempt this effort until Star Trek, and didn't launch such a product until 2006.[2]

Apple has actually shipped products based upon the concept of hybridizing Mac OS 7 into a shell application platform. It was accomplished in the form of the startmac process and other hybridized applications launched atop its UNIX-based A/UX system. It was also accomplished in the form of the Macintosh Application Environment (MAE), which was the functional equivalent of Star Trek plus an embedded 68k emulator (as was the case with System 7 for Power Macintosh), running as an application for Solaris and HP/UX. Apple also delivered its "DOS compatible" models of Macs, which is a hybridized Mac with a concurrently functional Intel coprocessor card inside. Mac OS 7 and later have always had DOS filesystem compatibility.[7]

Although a direct x86 port of the classic Mac OS was never released to the public, determined users could make Apple's retail OS run upon non-Mac computers through emulation. The development of these emulation environments was said to have been inspired by the initiative shown in the Star Trek project.[citation needed] Two of the more popular 68k Macintosh emulators are vMac and Basilisk II, and a PowerPC Macintosh emulator is SheepShaver; each are written by third parties.

Ten years after Project Star Trek, it became possible to natively run Darwin, the Unix-based core of OS X, on the x86 platform by virtue of its NeXTstep foundation.[8] This port was widely available because Darwin was open source under the Apple Public Source License. However, the OS X graphical user interface, named Aqua, was proprietary. It was not included with Darwin, which depended on other window managers running on X11 for graphical interfaces, and thus most commercial Mac OS applications cannot run natively on Darwin alone.

Apple ran a similar project to Star Trek for Mac OS X, called Marklar,[9][10][11][12][13] later referred to by Steve Jobs as having been the "secret double life" of the publicly Power PC-only Mac OS.[8] This project was to retain OPENSTEP's x86 port, keeping Mac OS X and all supporting applications (including iLife and Xcode) running on the x86 architecture as well as that of the PowerPC. Marklar was publicly revealed by Apple's CEO Steve Jobs in June 2005 when he announced the Macintosh transition to Intel processors starting in 2006.[14]

Within IBM

Comparing and contrasting with Apple's efforts, IBM had long since attempted a different strategy to provide the same essential goal of innovating a new software platform upon commodity hardware, while nondestructively preserving existing legacy installations of MS-DOS heritage. However, its strategy was based upon its OS/2 operating system, which had long since achieved seamless backward compatibility with MS-DOS applications. In 1992, roughly coinciding with the timeframe of the Star Trek project, IBM devised a new and fundamentally integral subsystem for backward compatibility with Windows 3.0 and Windows 3.1 applications. This new subsystem for OS/2, called Win-OS/2, was integrated beginning with OS/2 2.0. Although conceived through different legacy business requirements and cultures, Win-OS/2 was designed with similar software engineering objectives and virtualization techniques as was Star Trek. Coincidentally, IBM had also code-named its OS/2 releases with Star Trek themes, and would eventually make such references integral to OS/2's public brand beginning with OS/2 Warp.

Apple and IBM have attempted several proprietary cross-platform collaborations, including the unreleased port of Quicktime to OS/2, the significant traction of the OpenDoc software framework, the AIM alliance, Kaleida Labs, and Taligent. Both companies have utilized actual personnel from the Star Trek television and movie franchise for promotional purposes.<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Others

A corporation formerly known as ARDI invented a product called Executor, which can run a compatible selection of 68k Macintosh applications, and is hosted upon either the DOS or Linux operating systems on an Intel CPU. Executor is a cleanroom reimplementation of the Macintosh Toolbox and versions 6 and 7 of the operating system, and an integrated 68k CPU emulator called Syn68k.[4]:182[15]

Star Trek team members Fred Monroe and Fred Huxham formed the company Fredlabs, Inc. In January 1997, the company released VirtualMac, a Mac OS application compatibility virtual machine for BeOS.[4]:180

See also

<templatestyles src="Div col/styles.css"/>

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 2.3 2.4 Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 4.2 4.3 4.4 4.5 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. 6.0 6.1 6.2 Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. 8.0 8.1 Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.

External links