Linked by Thom Holwerda on Mon 25th Nov 2013 17:43 UTC
IBM

The Ars Technica article on OS/2 mentions, in passing, Workplace OS, the pie-in-the-sky successor to OS/2 IBM was working on. I found this fantastic journal article written by Brett D. Fleisch and Mark Allan A. Co, which goes into this failed project in great detail.

IBM's Microkernel, named Workplace OS microkernel, was the core components of Workplace OS, a portable successor of OS/2. The basic premise of Workplace OS work was: 1) IBM would adopt and improve the CMU Mach 3.0 microkernel for use on PDAs, the desktop, workstations, and massively parallel machines, and 2) that several operating system personalities would execute on the microkernel platform concurrently. This architecture would allow users to switch between applications written for different operating systems while IBM would also benefit by having one common platform for all product lines. The goals of the microkernel and the technical features of design are described in this paper. We also present lessons that may benefit future projects with similar goals.

Also, I get to use the IBM icon!

Thread beginning with comment 577419
To read all comments associated with this story, please click here.
Interesting
by phoenix on Mon 25th Nov 2013 19:49 UTC
phoenix
Member since:
2005-07-11

Wonder if this is the reason that Windows NT supported OS personalities as well. The original goals for NT were similar, with the ability to run DOS, OS/2, Win16, and Win32 apps simultaneously, each in their own interchangable personalities. The NT kernel was also originally very portable, with versions for x86, MIPS, PowerPC, Alpha, and one or two other CPU architectures.

Reply Score: 4

RE: Interesting
by boofar on Mon 25th Nov 2013 20:06 in reply to "Interesting"
boofar Member since:
2008-04-23

There is even a posix subsystem, "Subsystem for UNIX-based Applications", which is still supported on the latest Windows versions. I believe its a proper personality, not just a layer on top of the regular Windows APIs.

Myself, I just installed Cygiwn the last time I had to work on that cursed platform. ;)

Edit: Great article by the way. One phrase kept pooping into my head while reading it: "Second system effect". I was glad to see exactly that was the second item in the Lessons learned chapter.

Edited 2013-11-25 20:09 UTC

Reply Parent Score: 1

RE[2]: Interesting
by moondevil on Mon 25th Nov 2013 20:30 in reply to "RE: Interesting"
moondevil Member since:
2005-07-08

Not any longer, deprecated as of Windows Server 2012

http://technet.microsoft.com/en-us/library/hh831568.aspx

Reply Parent Score: 4

RE[2]: Interesting
by Vanders on Mon 25th Nov 2013 21:56 in reply to "RE: Interesting"
Vanders Member since:
2005-07-06

One phrase kept pooping into my head while reading it: "Second system effect". I was glad to see exactly that was the second item in the Lessons learned chapter.

Ah, I wasn't the only one doing that then!

These grand unifying projects are almost always doomed to failure, precisely because they are by their very definition, second systems and therefore extremely prone to the effect.

Reply Parent Score: 3

RE: Interesting
by moondevil on Mon 25th Nov 2013 20:26 in reply to "Interesting"
moondevil Member since:
2005-07-08

The POSIX personality has some special rights, because you need kernel level support for fork().

But other than that they are quite independent.

According to the official documentation, Windows NT family of kernels follows a micro-kernel design, even if to the outside world it looks monolithic.

For example, there are RPC mechanisms at the kernel level that help to modularize the kernel as if it was a micro-kernel one.

Since Windows 7, there are now quite a good support for user space drivers as well.

Reply Parent Score: 3

RE[2]: Interesting
by some1 on Tue 26th Nov 2013 00:30 in reply to "RE: Interesting"
some1 Member since:
2010-10-05

The POSIX personality has some special rights, because you need kernel level support for fork().

Fork is built into NT kernel and one doesn't need any special rights to execute it. More specifically, NtCreateProcess is a generalization of fork. Just pass your process handle as InheritFromProcessHandle, don't pass SectionHandle, and you're done. One can quite easily fork a Win32 process (e.g. see example 6.1 in "Windows NT/2000 Native API Reference" book). The main problem with that is that Win32 libraries, including kernel32 and mscvrt, are not fork-safe -- they cache per-process state in global variables. If you don't depend on Win32 libraries or agree to work-around, you can fork all you want.

Reply Parent Score: 4

RE: Interesting
by phoenix on Mon 25th Nov 2013 20:45 in reply to "Interesting"
phoenix Member since:
2005-07-11

Also forgot to mention that NT originally started out as the successor to OS/2 2.x and didn't get the Windows personality (and Windows NT name) until very late in development when Windows 3.x took off.

Reply Parent Score: 3