What is the relationship between Unix, Linux, Ubuntu, Debian and Android?

62

27

What is the relationship between Unix, Linux, Ubuntu, and Debian?

I suspect they are all Operating Systems that are based upon one another - similar to how Windows is based on DOS. Is my suspicion correct? Do these operating systems have the same type of relationship with each other as Windows has with DOS? Are they related to DOS or Windows in any way?

IremadzeArchil19910311

Posted 2014-09-24T09:27:55.233

Reputation: 827

4Khm, windows is not based on DOS any more. If I recall the last version that ran on top of DOS was Windows 3.11. – Ajasja – 2014-09-24T11:08:47.777

12

Oops, my bad: according to this http://windows.microsoft.com/en-us/windows/history#T1=era5 Geek trivia: Windows 98 is the last version based on MS‑DOS.

– Ajasja – 2014-09-24T11:10:27.727

10@Ajasja Windows Me is also based on DOS. Note that the first non-DOS based Windows version, Windows NT 3.1, was released in 1993. – ntoskrnl – 2014-09-24T14:26:41.353

10Ok folks, the DOS/Windows thing has been dealt with often enough. This question is about Linux and Unix. – slhck – 2014-09-24T15:00:55.590

1Google for "diagram of Unix history" to see some family trees of Unix history that includes Solaris, BSD, Mac OS X & iOS, and more. – Basil Bourque – 2014-09-24T17:07:34.457

2Android uses a Linux kernel as well. – SPRBRN – 2014-09-25T13:00:19.097

1

I believe that you need to see these 2 Items: The History of Linux and this Timeline Photo, attached to this WikiPedia Article The timeline describes the relationship you're looking for, and the movie sheds details on many of the answers here, including interviews with Linus Torvalds

– eyoung100 – 2014-09-25T22:07:15.113

1I find it hard to believe this is not either a duplicate or a too broad or too simple question. – mafu – 2014-09-26T04:27:10.597

1Wikipedia exists. This question does not shown any research effort. – Reinstate Monica - M. Schröder – 2014-09-26T13:59:03.327

1@Ajasja: Nitpick: being based on is not the same as running on top of. Being based on another system includes taking over architectural ideas, it does by no means imply that the old thing is actually running somewhere in the background. – O. R. Mapper – 2014-09-27T06:39:56.813

Distrowatch offers news and use statistics about the differents Linux distributions (such as Debian and Ubuntu) - Linux Mint is the most popular at the moment of writing, Ubuntu seconds, Debian third. – Theraot – 2014-09-28T23:46:45.060

If Android uses a Linux kernel, then tell me which kernel is for windows phone 8? – IremadzeArchil19910311 – 2015-01-25T15:46:19.717

Answers

50

Unix is an Operating System developed starting in 1969. It was originally designed to be a developer station rather than application platform, but, as development progressed and different vendors got involved, Unix was added to.

Unix was initially written in assembly, but later developed into C.

In relation to the others, the Linux kernel is Unix-like.

Linux is a Unix-like kernel. It was initially developed by Linus Torvalds through the 1990s. This kernel was used in the initial software releases by the Free Software Movement to compile a new Operating System. The kernel is responsible for managing the systems resources and allocating them to applications.

Note here despite many of its releases being referred to as 'Linux' this is a specific aspect which makes up the Operating System along with the text editor, compiler, debugger etc and not an Operating System in its own right.

Debian is one of the forms of this Operating System released in the early 1990s as is one of the most popular of the many versions of Linux available today.

Ubuntu is another Operating System which was released in 2004 and is based on the Debian Operating System. It is very popular because is is easy to learn without the need to use the terminal.

  • Linux: Kernel (Still in active development)
  • Debian: Early Operating System to Ubuntu (Still in active development)
  • Ubuntu: Newer Operating System based on Debian (Still in active development)
  • Unix: An old Operating System which the Linux kernel loosely based on

Reading: Linux Kernel
Reading Debian
Reading Ubuntu
Reading: Unix

If you are really interested in learning the history behind all this I recommend a film called Revolution OS, which goes into a lot of the history behind the development of this free software movement.

Matthew Williams

Posted 2014-09-24T09:27:55.233

Reputation: 4 149

7Linux is not "based on Minix" in a meaningful way, except that Linus had seen the Minix source before he set out to see if he could make something like that himself. There's no code pedigree from Minix in Linux. – hmakholm left over Monica – 2014-09-24T11:43:10.723

@HenningMakholm | Thanks for the information. I have edited back to my original post taking into account your point. Thanks. – Matthew Williams – 2014-09-24T12:30:34.110

27Linux wasn't based on Unix either. No code from Unix was used in Linux. Debian is not an "early OS" it's as modern as Ubuntu and still very much under active development. A text editor, compiler and debugger are not part of the OS! They are applications that run on it. Oh, and there's no such thing as Debian Unix! – terdon – 2014-09-24T12:33:42.300

3@terdon | I didn't say any code from Unix was used in Linux. The point was it was Unix like. Although I didn't put that across well. I will edit accordingly. I meant Debian was early in relation to Ubuntu. As in it has it's release date earlier. I am perfectly aware both are still in very active development. I don't know what your bit about Debian Unix is talking about. What is Debian Unix? – Matthew Williams – 2014-09-24T12:47:42.490

@terdon, these days, I disagree that a compiler and a text editor are not parts of the OS they 're included in. An OS is a kernel and a set of user-space tools, and that's where the line is drawn. Debian, as an OS, consists of all those 20k+ packages of which the kernel is just a single one. A more interesting point is that Debian offers kernels other than Linux, for instance, kFreeBSD and Hurd. – kostix – 2014-09-24T12:51:00.353

The mention of OS X seems a bit out of place – OS X was first released in 2001. It's more of an amalgamation of NeXTSTEP, FreeBSD and Mac OS rather than a direct Unix descendant. – ntoskrnl – 2014-09-24T14:30:55.460

@ntoskrnl | Fair point. It was a bit out of place. Corrected. – Matthew Williams – 2014-09-24T15:14:23.913

9

@kostix So, uh, by that definition, WoW becomes part of the Windows OS once it's installed? I'm pretty sure the line is closer to what terdon describes.

– Izkata – 2014-09-24T19:48:41.360

9OS X is a direct Unix descendant via BSD which is a true-blue Unix OS (unlike Linux which does not conform to the Single UNIX Specification) via it's evolution from NeXTStep which evolved out of BSD. There are only two root implementations of Unix: BSD and System V both of which decends directly from the original code of AT&T Unix. In fact, OS X is a registered Unix variant (Apple has certified it with the Single Unix Specification) and therefore they are allowed to use the trademark "UNIX" when marketing OS X. – slebetman – 2014-09-25T03:55:02.573

1@Izkata, no, but everything you can install there through the "Windows components" window of the "Add/remove programs" control panel applet, is. That's the distinction. Recall that Windows has very little software shipped with the OS to make it usable for any decent task. Typical OS based on GNU/Linux stack ships way more software. Another difference is that, say, Debian fixes security bugs in all those text editors and compilers it ships. Windows does not fix secutiry bugs in WoW and software like it. Hope this helps to locate the line drawn ;-) – kostix – 2014-09-25T08:15:03.933

2Another minor detail: Linux development started in the 1991, not "through the 80s". Also I would mention the term "distribution" to describe Debian and Ubuntu. – UncleZeiv – 2014-09-25T10:32:34.103

3Even though technically/accurately Linux means just the kernel, even this answer contains "Linux Kernel" instead of just "Linux" (link at the end). It would be useful to point out that Linux is really (and, I would say, quite legitimately) an ambiguous, very context-sensitive term, and will remain so. It may mean the kernel, GNU/Linux operating system family (excluding Android for example), any OS using Linux kernel, and probably other things. – hyde – 2014-09-25T10:47:06.260

@UncleZeiv The first release was in 1991, that's probably not also when development started – Izkata – 2014-09-25T11:57:39.350

2@terdon I still agree with terdon on this; things like vim/emacs in a linux-based OS are not nearly as closely tied to the OS as Notepad is to Windows – Izkata – 2014-09-25T12:01:14.280

2While there is no Debian Unix, there is Debian GNU/kFreeBSD which uses the FreeBSD kernel. The FreeBSD kernel has code from the original BSD in that went also into UNIX®. That's as close as you can get to Debian Unix! – Josef says Reinstate Monica – 2014-09-25T13:45:56.613

71

There's one more thing you need to know of: GNU.

GNU stands for "GNU's Not Unix", and it is an attempt to create a free, independent version of Unix, developed by the Free Software Foundation.

They got very far, they made a C compiler, a C library, a linker, editors, shells, all the commands you'd expect in a typical Unix shell, lots of stuff. But the kernel (called "Hurd") wasn't finished. All the things outside the kernel (running as processes owned by users) are together known as the "userland".

When Linus Torvalds created his Linux kernel, he didn't create a userland. He just had a kernel, it wasn't a full system either. It turned out to be possible to compile his kernel and use it inside the GNU userland (this was probably not trivial, but I wasn't there and don't know).

The OS people usually refer to as "Linux" actually started out as the Linux kernel with the GNU userland, and lots of other stuff has been added since. The Free Software Foundation has always insisted it should be called GNU/Linux as a result.

Debian is a "distribution" of Linux; they did all the hard work of compiling all the various tools you needed to make a whole Linux system, compiled them and offered them for download as a bunch of floppies. Or a CD, later. Others did the same, e.g. Slackware, Red Hat and so on.

Many other distributions were later created, often not from scratch, but taking an existing distribution as a starting point and adding extra software to it, or organizing it differently, or whatever. Ubuntu was based on Debian this way.

RemcoGerlich

Posted 2014-09-24T09:27:55.233

Reputation: 811

19Outside of the FSF, most people just roll their eyes whenever Stallman insists on the use of GNU/Linux and continue to only use the latter. In some ways that's not really fair; but such is the real world. – Dan is Fiddling by Firelight – 2014-09-24T12:42:57.770

20They do have a point. Once upon a time I installed a "Linux from scratch" machine, and something like 75 out of 90 packages you needed to get a running system came from GNU. Of course, I never say GNU/Linux either, but I thought it was necessary to know about GNU in order to keep Unix/Linux/Debian etc apart. – RemcoGerlich – 2014-09-24T13:00:13.597

1In the real world, people also tend to believe that the term "open source" has any real meaning. The only implied meaning of "open source" is that you can look at the source, not that you can use that source for anything. – Clearer – 2014-09-24T14:25:54.453

4At the same time, any non-trivial distro these days is going to include lots of stuff that is neither part of GNU nor the Linux kernel itself. Does anyone really want to chain all of those into a name less practical than the full titles of reigning monarchs? – Dan is Fiddling by Firelight – 2014-09-24T18:03:01.977

13Calling it GNU/Linux can be useful, as a way to distinguish from Android Linux (which has little to none of the GNU userland). – Mark – 2014-09-25T06:07:05.773

2@Clearer The term "open source" has as much meaning as the term "source" itself - within the context it is used, it does mean that you can use the source for more than examination. Arguing semantics this way is meaningless in and of itself since we can extend this indefinitely and all language breaks down. We have a separate term for source code you can only look at and it's "shared source". It's a newer term because it didn't make much sense until recently. If we're going to argue semantics, all software is open source by necessity since you can read the machine code. – mechalynx – 2014-09-25T17:07:32.140

I try to make a point to use the term GNU/Linux whenever I think about it, and I think it might be useful. I think it's pretty clear that we would all be enjoying a Linux like experience without Linus Torvalds (maybe not as soon, maybe not as good, but it would have happened eventually). However had it not been for the efforts of Stallman and the FSF -- Stallman creating the GPL, writing an editor, compiler and debugger, inspriing other to create nearly all UNIX except the kernel, that's significantly more impressive than creating the linux kernel (which is significantly impressive). – Spacemoose – 2014-09-26T13:23:25.857

@ivy_lynx This is not the place to discuss the meaning of open source in detail, but machine code has never (by any sensible person) been refereed to as source code -- it is the product, not the source itself. The only implied meaning of open source is that the source is open, not that you may use or redistribute the source or any product from it. The OSI, however, does define it similar to how the FSF defines free software. – Clearer – 2014-09-26T13:38:15.040

1@Clearer I was commenting on your statement which was effectively that the term "open source" has no real meaning. That's semantics and I was arguing semantics when I stated that we could call machine code source code. I thought it was obvious. It was also not my overall point - nor was the meaning of open source my point. Meaning is determined by context - within the context people use it, it means exactly what people within the specific culture and context understand it to mean - and in this context, it means the source is available and freely usable. – mechalynx – 2014-09-26T13:41:29.353

2People, neither the question nor my answer even mentioned "open source". Let's not discuss it here. – RemcoGerlich – 2014-09-26T13:44:17.780

@ivy_lynx while debating semantics is fine, the problem is that you could release your own software under the term "open source". People will then expect it to be the OSI definition of open source/FSF compatible free software, but if the "open source" term you're releasing under is just that you can have a look at the source code, you could, rightfully, claim that it's open source. It's a potential source for confusion (which, a few people have claimed is the intention of the term itself...). I'll stop adding more comments as of now. – Clearer – 2014-09-26T13:46:03.733

@ivy_lynx Actually, it's stood up in court several times, in relation to firmware. Open source does not mean you are capable of editing it or using it for any other purpose; many security conscious programs will have open source but not free/libre source code. – Alice – 2014-09-27T05:42:34.153

@Alice When we use the term 'open source', we generally mean software under 'open source licenses', which imply specific features. If the firmware had source you can examine but not use, it was obviously not under any such license, copyleft or not. I don't know how you could be in court for 'open source' firmware, yet that software not being under a common 'open source license' or equivalent thereof. In any case, is the term 'free software' any better? I can just take it to mean 'no cost' instead of the FSF definition, by the same token as "open source does not equal free to examine and use". – mechalynx – 2014-09-27T06:57:23.293

@ivy_lynx The problem is that free software and open source software imply very different things; open source software may indeed be publically available (but not freely usable in any sense), while free software may be free as in beer or free as in liberty. As for your lack of knowledge, here's a simple counter example: I can make a license, right now, to cover one of my OS libraries, that allows you to freely view the source code, but in no way may you use it for anything. That's a perfectly valid license, but it is certainly not common now is it? – Alice – 2014-09-27T07:17:16.753

1@Alice "That's a perfectly valid license, but it is certainly not common now is it?" But that's exactly my point. There's a reason we have OSI and FSF approved licenses. I don't see how the term 'free software' is less vulnerable to misinterpretation than 'open source' if taken out of context. My point is that if someone wanted to decieve, is misinformed or wants to circumvent the common meaning of either term, they can do so, regardless of whatever term you use. 'Open source' doesn't have a monopoly on being misinterpreted - I'd argue that 'free software' is easier to misinterpret. – mechalynx – 2014-09-27T07:25:59.747

@ivy_lynx OSI and FSF do not define open source or free software; a license that is not OSI or FSF is no less valid a license. – Alice – 2014-09-27T07:34:52.890

@Alice I must not be making any sense - Don't OSI and FSF have a selection of approved licenses? Is the term 'free software' not an invention of Richard Stallman? Is the term 'open source' not an invention of Eric Raymond and OSI? If one was to define their meaning, say for an encyclopedia or dictionary, would those not be the most likely definitions given? A license can be valid and a valid 'open source' or 'free software' license without being approved, yes - but is it unreasonable, even in the legal sense, to expect that both terms are used as per their commonly used definition? – mechalynx – 2014-09-27T08:17:32.613

Terms are not invented, they are coined. The OSI and FSF do have a a selection of approved licenses; they, however, do not dictate what open source and free software mean. "Open source" is not the same as say, "UNIX"; it does not have a panel of judges dictating what it is and is not. Furthermore, open source has always referred to a development model, not a sale model, so while the OSI may perhaps wish that OS would also mean "free to modify" (and only release licenses to that affect), it need not. – Alice – 2014-09-27T17:37:19.200

16

"Unix" was originally the name of an operating system for the PDP-11, developed at Bell Labs in the 1970s. Its design was immensely influential, and it was copied and reimplemented dozens of times.

Nowadays, "Unix" is an umbrella term for an entire family of operating systems, some but not all of which are directly descended from that original OS; anything whose primary system programming interface is compatible with the POSIX.1 API specification can legitimately be called an implementation of Unix -- and there are dozens of them. It is easier to list the operating systems still in wide use today that are NOT implementations of Unix:

  • Windows
  • IBM's z/OS and their relatives, which have been under continuous development since before 1970
  • a few deeply-embedded things that are more like runtime libraries than complete OSes

(There are also a bunch of experimental research prototypes that are trying to move beyond the Unix design, but they don't qualify as "in wide use", alas.)

"Linux" is the common name of one implementation of Unix. It has been around since the 1990s and is one of the top five most commonly used implementations today -- probably either #1 or #2, depending on how you count these things.

Linux is unusual in that the kernel, the C library, the compiler, the basic set of "shell" utilities, and so on are all developed by different groups of people; moreover, there's more than one choice for most of those pieces. Someone has to pick a set of pieces and put them together and make sure they work properly in combination. That someone (usually a group of people, nowadays) is traditionally referred to as a distributor of Linux, and their output is a distribution. Debian and Ubuntu are distributions of Linux; they used to be extremely closely related but have since diverged quite a bit.

(Technically, the name Linux refers specifically to the kernel, and it'd be a little weird to call an operating system Linux if you didn't use that kernel, but there are people keeping everything else and swapping out the kernel, e.g. Debian kFreeBSD.)

(Footnote for pedants: all glossing-over of fine distinctions in this post was 100% intentional.)

zwol

Posted 2014-09-24T09:27:55.233

Reputation: 1 130

Might be worth stating that Ubuntu began as (and still is) a derivative of Debian. Other than that, excellent answer! – Thane Brimhall – 2014-09-25T19:27:36.890

I like this answer the best! – Niko Bellic – 2014-09-27T21:01:18.033

What do you mean "Linux" is the common name of one implementation of Unix? I thought they shared no code? – Koray Tugay – 2015-01-30T09:19:04.453

@KorayTugay Sharing code with the historical original is no longer an interesting criterion, because almost all of that code has been superseded anyway. As far as I'm concerned, anything whose primary system programming interface conforms to POSIX.1 is an implementation of Unix no matter where the code came from. It has to be the primary system programming interface, though; compatibility layers (which both Windows and z/OS have) don't count. – zwol – 2015-01-30T16:34:10.450

7

UNIX and Linux are not related to DOS or Windows.

DOS was an outgrowth of the 8-bit CP/M operating system popular in the late 70's/early 80's.

Windows NT (of which XP, Vista, 7 and 8 are based on) was developed new by Microsoft starting in 1993 and borrows a lot of concepts and ideas from VAX VMS. Windows NT was developed to be a "real" modern, preemptive, multi-user, multi-tasking secure operating system.

Windows 3.1, 95, 98, and ME were pretty much Microsoft's idea/execution of multi-tasking (not multi-user, or secure) DOS.

Regarding UNIX, Linux, etc.:

  • UNIX is a kernel/API/operating system that has been around since the 70's.

    • A kernel provides a platform for programs to run, in the case of Unix, it allows multiple programs to run on a single computer and multiple users to access it. A kernel runs no programs on its own, these must be separately developed and provided.

    • An API is a standard way for programs to talk to the kernel. It's part of the kernel.

    • An operating system is a kernel plus common utility programs to manage and administrate the system. Common utility programs for UNIX include basic programs that manage services and logins (init), a shell that allows you enter commands (sh, bash), and basic file management commands such as cp, ls, mv, etc.

  • Linux is a UNIX-like kernel released under the GPL which at first worked on PC hardware, but now works on almost anything with a CPU (if you are allowed to run it).

    • GPL is a license that says anyone that modifies/enhances Linux, and publishes their modifications, is required to make those modifications available to the public and allow others to do the same.

    • Linux implements the UNIX API, so UNIX programs can run generally unmodified if they are recomplied (this is far easier than rewriting them from scratch) - since they use the UNIX API, they don't care if they are really talking to Linux or UNIX or something else, as long as the API does the same thing.

  • Debian is a Linux distribution. It started in 1993 and is among the oldest distributions. Linux distributions generally provide:

    • a Linux kernel,
    • basic utility programs,
    • an installer so you can install Linux on your system,
    • a package manager (plus a format for packages - Debian uses .deb)
    • a repository of packages

      So you can install a distribution, get a basic Linux environment up and running, then call up packages from the distribution's repository, using the package manager, when you need software. It's different from Windows where traditionally software has been distributed on CDs and years go by between versions and updates. Software in repositories is typically updated frequently and the package manager handles downloading and applying any updates.

    • Debian is also strict about releasing only open source software, meaning things that require proprietary software to run, like modern video cards or Wi-Fi chipsets, won't work optimally (or at all) with Debian "out of the box."

    • Debian typically creates new versions slowly and is more interested in stability than new features. This makes Debian a favorite for servers where the hardware is relatively static and software stability is important.

  • Ubuntu is a "fork" of Debian

    • Debian allows others to create distributions based on it, using its package management tools. Doing this is termed "forking."

    • In addition to the specific branding and look of Ubuntu, Ubuntu adds additional Ubuntu-specific repositories containing more and newer software. Ubuntu is more "bleeding-edge" than Debian - it was created to be more friendly and useful from a non-technical or non-UNIX-expert standpoint. It is all about new features and hardware working out of the box.

    • Most software that works on Debian will work on Ubuntu. The other way around can be a bit problematic since Debian's software is typically older. You might run into some base components that need updating to run Ubuntu stuff, but can't be updated because there's no newer version in the Debian repos. You can update these manually, but then that might require other components to be updated, etc.

    • Should note that Debian is a lot friendlier and aware of modern hardware these days than before.

LawrenceC

Posted 2014-09-24T09:27:55.233

Reputation: 63 487

Windows NT was not developed new beginning in 1993. NT was simply a rebranded copy of OS/2 3.0 with Presentation Manager replaced by the Windows GDI. – Carey Gregory – 2014-09-25T00:52:25.597

Good point. I didn't consider OS/2. Wasn't OS/2 compatibility in NT was implemented as a subsystem (like the Win32 API and POSIX API on top of the native NT API) though? – LawrenceC – 2014-09-25T12:21:14.493

1NT didn't exactly have OS/2 compatibility because it was OS/2. Aside from the UI and API naming conventions, they were initially the exact same code base. For example, in a command line session when errors occurred, the error message text you got on NT and OS/2 was word-for-word identical. They gradually grew apart, but all the basic concepts implemented in NT to this day were originally part of the OS/2 design. – Carey Gregory – 2014-09-25T22:17:58.367

6

Unix = a commercial operating system specification

Linux = a free Unix clone (only the kernel)

Debian = a Linux distribution (Linux + other stuff)

Ubuntu = Debian redistributed (Debian made more end user friendly)

Georges St. Clair

Posted 2014-09-24T09:27:55.233

Reputation: 61

4

"Unix" is a trademark for an operating system that was inspired by the 1960s-vintage operating system named "Multics"; "Unix" was a wordplay meant to suggest that it was like Multics, but not as complicated. (Personal note: In the late 1980s, I worked on a commercialized descendant of Multics that was not a type of Unix.) Development of Unix began in 1969 on a DEC PDP-7, and moved to a PDP-11 in 1970. In 1972, it was rewritten in C; to that point it had been written in assembly language. (DEC assembly language was relatively programmer-friendly, but it was still assembly language.) It remained mostly a Bell Labs research project through what was known as "Version 7", which was released in 1979.

Along the way, circa 1977, an alternate branch developed: "BSD" (Berkeley Software Distribution). AT&T licensed a commercial version of its branch, "System III", in 1982, and then "System V" in 1983. Then there was a bunch of legal fighting between AT&T and Berkeley, which hurt both, until the lawsuit was eventually settled.

Partly in response to the battles over System V and BSD, two new projects began: Minix (by Andrew Tanenbaum, which replicated the key features of existing Unix-family kernels, with a micro-kernel design) and the GNU project (which replicated most of the important non-kernel parts of existing Unix), both with entirely new code that avoided the legal troubles between System V and BSD. Standardization efforts tried to resolve the differences between the two main branches; the main result was POSIX.

In 1991 – inspired by Minix, older Unix branches, and the absence of progress on a GNU kernel – Linus Torvalds created Linux. It was also all new code, and returned to the old-Unix type of kernel rather than the Minix-type micro-kernel.

In 1997, Apple took over the BSD-based Nextstep, and eventually developed it into a new Mac operating system, and adapted it to other Apple devices.

Linux exists in a variety of distributions, which are packages that include a Linux kernel and assorted utilities. Debian was one distribution of Linux, and it has branched into a family of distributions. Ubuntu is a distribution that is part of the Debian family, and it has in turn branched into a family of distributions.


Windows and DOS have a very different history. Circa 1963, DEC built the PDP-6, which had an operating system named Monitor. When they built the PDP-10, they named the operating system "TOPS-10". Gary Kildall wrote an operating system for Intel 8080-family computers and named it "CP/M"; it was inspired by TOPS-10. CP/M inspired "86-DOS", written for 8086-family machines by Tim Paterson (using Microsoft's "Standalone Disk BASIC-86" 8-bit FAT filesystem), because CP/M-86, the 8086-family sequel to CP/M, was delayed.

IBM wanted to license CP/M-86 for its first 8088 machine, but there were problems with the deal. IBM had heard of 86-DOS, and asked Microsoft to get it for them. Microsoft licensed it (and later bought it), and licensed it to IBM as "PC-DOS" – and licensed it to others as "MS-DOS".

Some time later, inspired by Visi On (which was in turn inspired by the Xerox Star, better known as the inspiration for Apple's Lisa and Macintosh), Microsoft developed Windows as an add-on to MS-DOS. Early versions were not very successful, but eventually Windows 3.0 was good enough for commercial success. Several later versions (3.1, 3.11, 95, 98, and ME) all ran on DOS, but Microsoft recognized that DOS was holding back progress on Windows. Near the end, much of that branch of Windows was 32-bit, but it still depended on 16-bit DOS.

In an attempt to get around the limitations of DOS, Microsoft worked with IBM on OS/2, which was meant to be "Better DOS than DOS, and better Windows than Windows". Initial versions were not much good, however, and eventually IBM and Microsoft ended joint development. IBM took it over, and ended up making a pretty good OS/2.

Meanwhile, DEC created the VAX series of computers to replace its PDP-11 line, and the VMS operating system to run on it. It shared some history with the TOPS-10 operating system, but they weren't mutually compatible.

Hedging against the possibility of problems with OS/2, Microsoft hired a bunch of top VMS developers (and some micro-kernel researchers) to build a new, 32-bit Windows, from scratch. Deep down, it resembled a micro-kernel adaptation of the best features of VMS. On top, it looked like Windows. The first release of 32-bit Windows was "Windows NT 3.1", followed by Windows NT 3.5, 3.51, and 4.0, then Windows 2000 (without the "NT"), XP (the first 64-bit Windows), Vista, 7, 8, and 8.1.


One interesting thread tying those mostly-unconnected development paths together is DEC. A lot of early Unix history was tied to DEC the PDP-7, PDP-11, and VAX. The DEC PDP-6 and PDP-10 inspired some DOS prehistory. And veterans of DEC's VAX-VMS team built the core of the Windows NT family.

Steve

Posted 2014-09-24T09:27:55.233

Reputation: 563

The correct spelling is "Linus Torvalds". Also, according to his book "Just for Fun", Torvalds didn't know much about the GNU project until after he released Linux and people in Usenet encouraged him to put it under the GPL! He never intended to write THE GNU kernel! (this also would make Hurd developers sad) – Josef says Reinstate Monica – 2014-09-25T13:54:47.847

Thanks for the spelling correction. Even if I got the other 700+ words right, it's still a bit embarrassing to get one wrong. The GNU kernel clarification is useful; although Torvalds hadn't intended to to write a GNU kernel, he also said that he wouldn't have written Linux if a GNU kernel had existed -- or if Tanenbaum's publishers had allowed him to open-source Minix. (Torvalds also said one goal was to learn more about the 386; a kernel is a good project for that sort of thing.) – Steve – 2014-09-25T23:43:16.777

I could point out a number of things that are wrong with this. 86-DOS (originally QDOS) was developed independently as a stopgap measure for 8086 development when no CP/M-86 was forthcoming from DRI. The IBM/Microsoft partnership broke apart before the release of Windows 3.0 in 1990 (Windows 3.0 was the version that took off). The Mac was launched in 1984, Windows development was inspired by a 1982 demo of Visi On, and Windows 1.0 was released in 1985; compare to the Apple Lisa. OS/2 1.x weren't bad for what they were; the architecture was decent, native software was another matter. And so on. – a CVn – 2014-09-26T12:27:40.507

@Michael Kjörling : The Microsoft-IBM Joint Development Agreement survived at least through the December 1990 release of OS/2 1.3; Windows 3.0 was released in May 1990, so although both sides were dissatisfied with the JDA by that point, it was (best I can tell) still in force. I searched for ancient news articles indicating an earlier dissolution of the JDA, but I didn't find anything. I'll look at the other points later, and revise if appropriate. – Steve – 2014-09-27T21:41:27.350

3

I suspect they are all Operating Systems

They are or were all operating systems. Nowadays Unix is a trademark and not an operating system.

that may be based upon one another

In one way or another this is true. The latter group were essentially based on a re-implementation of many ideas that came from Unix. There was no Unix code in Linux (although this was the subject of prolonged litigation which ultimately failed).

similar to how Windows is based on DOS.

I suspect there's not any PC-DOS code in Windows 8, maybe not even for compatibility purposes. There is a clear progression from DOS to Windows 8 though. This is not really the case with Unix and Linux.

Is this the same type of relationship?

Not really, Ownership and development of Unix and Linux are clearly separate.

Linux is an operating system kernel initially developed entirely by Linus Torvalds. It was intended to be a bit like Unix and drew many ideas from Unix. Torvalds did not start with any Unix code as a base.

To make a usable operating system you notably add to a Linux kernel a set of "GNU" tools independently developed by the FSF. You also nowadays add one or more of several competing subsystems (e.g. Gnome or KDE desktop manager). Each of these is called a "distribution".

There are many such distributions, each with their own particular choice of features.

Some distributions are essentially modified forms of other distributions. Typically one distribution is referred to as an upstream distribution. Releases of the downstream distribution depend to a large extent on new releases of the upstream distribution.

Ubuntu is a downstream distribution of Debian. One in which Ubuntu add a lot of value (compared to some other such relationships such as CentOS and RedHat perhaps)

RedGrittyBrick

Posted 2014-09-24T09:27:55.233

Reputation: 70 632

2

Linux per se is just the kernel.
You can compare the Linux kernel with the Windows kernel.
The biggest difference is, Linux uses a pure monolithic kernel where Windows uses a hybrid one.
But they are both kernels, and normal people cannot do stuff with just the kernel, because the kernel is not intended in giving us users access to functionality, but rather solve the tasks necessary for providing our access to functionality.

Debian and Ubuntu are flavors of distributions. Distributions are everything that run ON/AROUND the kernel. And since the kernel cannot do stuff, you'll need some basic applications, to lift Linux to be a fully operating system. So some basic needs a distribution provides is:

  • posibilities to manage libraries and applications,
  • managing startup applications,
  • handling serval protocols,
  • and a GUI

None of these are necessary, but are needed to have the full functionality of a "common" OS like what Windows or MAC OS provides.

Also Debian is one of the forefathers of distributions. It is one distribution that a LOT of distributions depend on/develop from. Like Ubuntu for example.
Now, why do so much people use Ubuntu instead of Debian?
Because Debian comes with as little preinstalled software as possible, but just as much as needed to run a full OS. (Which is this case is without GUI because it is mainly used on Servers). The result is, very stable and slink OS.
Now the "majority" of people would need a GUI, and might like to hear their music on their PC's and laptops, access the internet, and so on. With Debian, that wouldn't work without investing time in installing a GUI, serval drivers and configuring these and that. And here is where Ubuntu comes in. Ubuntu provides all the stability Deiban provides and adds a lot of functionality needed for daily home use.

Windows does not have these dynamics. But still, there is the Windows version everybody uses and the Server versions. Which is just not as diverse as the Linux flavours. But still a big customization for the existing group of customers AND applications realms.

Both, DOS and the Linux terminal are executed on the Kernel. But they can also be "emulated" in the OS. In the OS these emulators do nothing else than passing the commands to the kernel. The Kernel then dumps information which is picked up by the emulators and printed in the terminals.

PS: I intentionally say GUI is needed for a full OS and that Debian is a forefather for the sake of easier understanding. I am aware that these states are technically not fully right. Just a little info for keeping the hardcore nerds from spinning too fast while reading this :)

Harrys Kavan

Posted 2014-09-24T09:27:55.233

Reputation: 299

You can choose to install a GUI when you install Debian. It took me less than an hour to get Gnome and working wifi on my laptop, at which point you have default applications comparable to Ubuntu. To be fair, if you're terrified of the command line and don't want to learn, Ubuntu's a better choice. – Gordon Gustafson – 2014-09-24T15:09:13.923

1

Unix is a class of operating systems all based around the same theory and all similar enough that most people can't tell the difference. The history is kinda convoluted and involves Berkley (BSD) and AT&T (SysV) and a standard called POSIX.

Linux is a type of Unix, although purists will tell you that Linux is just the "kernel" the lowest-level part. The rest of the OS is made of Unix compatible tools from the GNU Software Association and other places. Together, this makes GNU/Unix.

Debian is a general distribution of Linux. Every distribution has its own package management tools, set of default packages that are pre-installed, and may differ in what services are pre-installed and even what configuration files and such are used.

Ubuntu is based on Debian. They take the latest stable Debian and add their own Desktop apps, software management tools and other things to make it unique. There are many other distributions of Linux. Most are either based on Debian or based on Redhat, although there are also Slackware and Gentoo based systems. Each of these 4 bases are built upon by the other distributions. For example, I'm running Elementary OS right now, which is based on Ubuntu which is based on Debian which is a version of Linux which is a flavor of Unix. Got it?

Mac OS/X is similar to Unix in that it uses a different kernel (Mach) that is also Unix compatible with a set of software packages on top of that to make it compatible (mostly) with BSD-flavors of Unix. A lot of software is easy to port from Linux to Mac because of Mac's BSD compatibility. However, they change the upper layers of the OS with a GUI based on display PDF and other additions. The whole thing was originally created as NeXT Step and Apple bought it and gave it a facelift. Its in the Unix family.

Android uses a Linux kernel, but the rest of the OS is of their own design, so while the lowest levels of the OS are based on Unix, the rest is not, and its not generally considered to be a Unix flavor, although some consider it a Linux flavor. Confused yet? Android doesn't conform to the POSIX standards.

DOS/Windows is totally different. MS-DOS was originally a port of CP/M from the 8080 to the 8086 (the 8080 is an 8-bit CPU and a .COM file is an 8-bit executable for CP/M). Microsoft didn't write it, they bought it then licensed it to IBM and its competitors. Windows started out as the old Apple API, more or less stolen legally, which is why it uses a Pascal calling convention. Windows 95 and Windows Me and a few others still used DOS internally for some things (there were lawsuits about this). Newer versions of Windows are based on the Win32 API which was co-written by IBM for OS/2. Microsoft broke off from the OS/2 deal and took the code with them. The Windows NT kernel is normally used for running the Win32 API which doesn't use DOS at all, and Microsoft actually borrowed some ideas from Unix .. in fact a couple Unix copyrights even show up when you boot NT, but its still FAR from Unix compatible.

Evan Langlois

Posted 2014-09-24T09:27:55.233

Reputation: 121

0

  • UNIX - A flavor for Power PC as oppose to 'Windows'.
  • Linux - Sub-set of Unix flavor - an OS devised under Free Software Foundation and it is "Free"
  • Debian - A foundation which devised Linux - also invited associates to come under the umbrella of Free Software Foundation and contribute for everything that can make complete Linux with many short of tools and utilities and many many application which can be installed on said system, including a package manager to support installation and configuration of all such application.
  • Ubuntu - an extracted version of Debian to suite/fit to Desktop environment in the format of 'Default installation'. Further it is dressed up for desktop themes and utilities.

Kamlesh

Posted 2014-09-24T09:27:55.233

Reputation: 9

-1

UNIX was an OS created in the 60s and 70s. Computers were expensive, and UNIX was expensive. That was not a problem. Only big companies, universities and governments had computers back then, and they had money.

It was so expensive that Linus Torvalds created an alternative: Linux, which stands for Linux Is Not UniX. He wanted it to be open and free. UNIX was copyrighted, so he rewrote all necessary code (with many helping hands), and required all code to be free, using a special license. As this was a lot cheaper, many people started using it. It was cheaper than UNIX, soon had more users, was used on more servers. As it was cheaper and faster than Windows, it was more popular for cheap webservers as well.

There are two main distributions: Debian/Ubuntu and Redhat/Centos. Besides that there are some other distributions, but these have the main marketshare.

Debian is mainly used as server OS.

Ubuntu was created on top of that, but then with normal users in mind - those that don't know how to use a terminal, those who want something that simply works.

Redhat and Centos both are server systems, like Debian. They both have desktop versions (and debian as well), but not as user friendly as Ubuntu, which has a server system as well, which is becoming more and more popular. Redhat is the OS of choice for big companies, because they offer support contracts - expensive but for some people not a problem.

SPRBRN

Posted 2014-09-24T09:27:55.233

Reputation: 5 185

2-1 linaa: Linux is not an acronym. Ubuntu 'simply works' implying that other distros don't? Desktop 'versions'? Initial install selection aside, you add or subtract packages to make the system do what you want. – mcalex – 2014-09-26T09:01:15.833