Talk:Evolution of Operating Systems Designs/Historiography

Interesting outline, but use caution
It would be indeed interesting to see a full diagram that shows the heritage of all operating systems and what previous operating systems had a substantial influence on the subsequent design methologies for ease OS.

You had Microsoft Windows as a CP/M derivitive, but Windows NT has a much different history than Windows 98, even though technically you can run the same executable file on both and generally have it run the same (there are some special differences between the two, however.) In this case Windows NT in many ways has heritage to both CP/M-86 and VMS (the OS for the VAX-11 and MicroVAX systems) in several aspects. The fundimental kernel in Windows NT, however, is almost exclusively similar to VMS, with even the same variable names and naming conventions as VMS. This is no coincidence as Microsoft hired some people from DEC to write the NT Kernel and adopted some of the ideas from the VMS kernel (with appropriate royalties to DEC as well).

OS/2 was written under the continum as having some code sharing with the early versions of Windows NT, and was a joint project between IBM and Microsoft. The Portable Execution file format is even idental between the two operating systems, although it would be a mistake to believe that you can take an OS/2 executable and run it on Windows NT without some serious changes in the NT kernel. The API layer is quite a bit different between the two.

Unix history is even more convoluted and substantial cross-pollination between different Unices was quite common, especially with the "free" Unix OS varities that shared just about everything between each other at least for basic ideas, and was often copied into propritary Unix systems as well.

Thanks for putting this together. If you turn this into a genuine article rather than an outline, I'm willing to help out as well. --Rob Horning 02:07, 7 November 2005 (UTC)


 * Windows NT versions up to 4.0 were able to run OS/2 binaries. Especially in the early releases, NT has many references to OS/2. AlbertCahalan 03:26, 7 November 2005 (UTC)


 * Microsoft licensed UNIX to create Xenix, a crummy UNIX for the PC. They then redid much of the DOS kernel using that code. This gave DOS version 2 support for directories, mount points (subst and join commands), and an environment variable that would allow UNIX-style "/" paths and "-" options. Thus Windows is a direct descendent of UNIX while Linux is not! AlbertCahalan 03:26, 7 November 2005 (UTC)

Robert, thank you for your additions.

I completely forgot where VMS fit into everything. It's been maybe a decade since I read anything about it, but I recall an article comparing Unix -> Plan 9 by Dennis Ritchie and VMS -> NT by whomever was responsible for it. The OS/2 -> NT relation, I discovered when I researched the joint development agreement for The Computer Revolution/Timeline.

I do intend to expand on the historiography. I think that someone will eventually have to create a graphic we can upload, unless one can be found. Personally though, I'm more interested in the esoteric OSes like Smalltalk, LispM, Grasshopper and so on. Plan 9 is barely unconventional enough to hold my interest and things like Mach simply don't interest me. So the vagaries of a single OS (Unix) under random evolutionary development? Not my cup of tea, no matter how very topical it is. 24.200.176.92 10:21, 8 November 2005 (UTC)

Linux, QNX, and IBM OS's.
First I think it would be more correct to assign Linux its own heading. While it looks and feels a lot like Unix, it is technically not. The Kernel is similar in structure, but of course was written from scratch. Unix is a proprietary trademark, I believe still owned by AT&T.

With respect to QNX, there are actually three very different variants. The authors rewrote it from scratch twice. All versions share the similar architecture of a small message passing kernel and a Unix like programming and user interface. All three versions provide hard real time. Here is a short summary of the three.


 * QNX 1-2(3): A very early version that ran on 8088-486 processors. It was the least Unix like. It ran in real memory mode, and 286 protected mode. Networking was mostly limited to Arcnet.  Lack of support once version 4 appeared makes it hard to run on faster processors.  Version 3 was just a programming artifact indicating that the OS was running in protected mode.  Surprisingly enough, most load modules could run in either real or protected mode if there was enough memory.  The last versions supported a GUI called QNX Windows.  QNX 2 has been found to function reasonably well under various VM environments, although usually at the cost of real time performance.


 * QNX 4, the first rewrite: Support was dropped for real mode. Both 286 and 386 protected modes were supported.  The interface was Posix conforming. Networking was expanded to include ethernet, and other hardware.  The QNX Windows GUI was ported, but then a newer GUI "Photon" was added. X-Windows was also available. The OS supported only x86 processors and never supported SMP.  Instead the OS (like versions 1-2) had a very transparent resource model, later called VLAN.


 * QNX 6, the latest version: The kernel was rewritten to be processor independent.  Support for SMP and threads was also added.  Support for a wide variety of processors is now available.

In the early 60's IBM built the 360 series of computers. The unifying feature of this series was the machine language. I'm not sure if IBM's TOS (Tape operating system) ran on this series. If not, then it first appeared with DOS for Disk operating system. This was commonly refered to as Dummy operating system by programmers. This was followed by a series of "OS" versions. The variants I know of were OS/PCP (A single threaded OS for scientific computers), versions with a fixed number of partitions with fixed sizes, a fixed number of partitions of variable sizes, and then OS/VS1 which had both items variable. This was followed by OS/VS2 and OS/MVS. Initially programs were started by loading JCL (Job Control Language) punched cards into a card reader. The JCL would specify which program, where to find it, and which I/O devices to access. Files could be on Tape, Disk, punched cards, or other devices. Output was often to high speed printers. Later IBM added a terminal based progammer interface called TSO (Time Sharing Option). This allowed programmers to submit jobs from a 3270 terminal. The first of these terminals were B&W (green actuall) had 25 lines x 80 columns, and were buffer oriented. You entered data on the terminal and then pressed a SEND button, and waited for the results. Later a fancier front end was put on top of TSO called SPF. This included one of the first full screen text editors.

On a parallel track, IBM built a meta-OS called VM. VM virtualized the hardware, so it could run multiple OS's. This was valuable to the business community because while hardware was replaced every few years, daily production programs were not. A VM machine could be running DOS, and MVS simultaneously. To provide progammer support, IBM included a special single threaded OS called CMS, so the system was often refered to as VM/CMS. CMS was, like TSO accessed from 3270 terminals.

This takes us up to about 1980 where my knowledge of IBM OS's ends.

198.144.201.138 20:53, 21 February 2006 (UTC)Mitchell Schoenbrun (maschoen@pobox.com)

Graph
I think that a timeline as tree is not sufficient to represent the OS-Timeline. What we need is a general graph - sadly MediaWiki has no support for general graphs.

Martin

CP
The first multi-user operating system was CP short for control program it was the first operating system to be given Virtualization, which later became VM. Essentially what Virtualization allowed was for CP to run on CP, so that each terminal could be fooled into thinking it was running its own separate operating system. CP/M is actually a derivative for mini-computers so CP/M should be seen as a derivative of CP, rather than the start of derivatives for it's branch. There is some question in my mind if CP did not come before unix. I also added vista to the NT branch. It should also be known that Mac OSX was derived partly from the operating system of the CUBE which was a Unix variant.--Graeme E. Smith (talk) 23:05, 21 April 2009 (UTC)

Risc OS
In what way is Risc OS an IBSYS derivative? en:MIPS RISC/os doesn't indicate this to be the case. And en:RISC OS isn't either. --Trevj (discuss • contribs) 09:45, 3 October 2011 (UTC)