Tag Archives: Computer

A Brief History of the Computer

Simon Handby – 9 Jun 2011

er_photo_147577 (1)

With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world

If you’re a typical Expert Reviews reader, the chances are you use a computer at work, that you’ve got one or two at home, and that there’s more than a handful between your television, games console, car and mobile phone. Computers and computer technology have become an indispensable part of modern life, and their widespread uptake is changing the way we live, but computing for all is still relatively new – and it’s something that many early pioneers didn’t foresee.

The first true computers were electromechanical giants, developed by governments and institutions driven on by the desperate circumstances of the Second World War. Computers remained in the hands of universities, governments and big business for decades after the war’s end, but as the technology improved they became smaller, more affordable and more accessible until they came into our homes and ultimately our pockets. Here we chart the history of computing, telling the story of how such powerful tools have ended up in so many hands.


Most histories of the computer start with the English mathematician and engineer Charles Babbage, whose unfinished ‘analytical engine’ was undoubtedly the first design for what we now think of as a computer: a machine that takes an input, mathematically manipulates it according to a customisable program, and produces an output. Babbage was a true visionary; it’s a somewhat macabre indication of the esteem in which he was held, that one half of his brain remains on display at the Hunterian Museum in the Royal College of Surgeons, and the other at the Science Museum. Still, even his work built on some existing fundamentals.

Mankind had been using machines to aid calculation since at least the appearance of the abacus, thought to date back before 2300BC; but it was in Renaissance Europe that engineers began to produce far more sophisticated calculating devices, some of which had some degree of programmability. In 1801 as the Industrial Revolution gathered pace, Joseph Marie Jacquard invented a weaving loom that could be programmed with punched cards to produce different patterns – the first machine to be given instructions in this way.


The reconstruction of Babbage’s difference engine at the London Science Museum

Babbage sought a way to remove human errors from the mathematical tables available in the early 19th century, devising his mechanical ‘difference engine’ to calculate polynomial functions (a type of algebra equation). Though it was never finished, the first difference engine would have contained more than 25,000 parts and weighed over 13 tonnes. A revised design was completed in 1991 by the Science Museum, and found to work perfectly.

More complex still, and also unfinished, Babbage’s analytical engine added features that define modern computers. It could be programmed with cards, but could also store the results of calculations and perform new calculations on those. Babbage intended to support conditional branches and loops, fundamental to all modern programming languages. His death in 1871 meant that he never finalised his designs for the engine, but his son Henry completed its core computing unit – ‘the mill’ – in 1888.

With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world


While various inventions led to some early analogue, non-programmable calculating machines, the next major advances took place immediately before and during the Second World War, most notably at the Bletchley Park code-breaking site. We looked in detail at Bletchley’s wartime role in issue 272’s feature (on this month’s cover disc if you missed it), but its achievements in unlocking German ciphers were made possible partly by the mathematical genius of the people working there, and partly by the brute-force number-crunching provided by the first true computers.

The brilliant mathematician Alan Turing is acknowledged as the father of computer science, but he’s often wrongly credited with developing Colossus; the world’s first programmable, electronic computer. In fact, Colossus was designed by Tommy Flowers and other Post Office research engineers to replace and improve ‘Heath Robinson’, a mechanical calculating machine used at Bletchley. Entering service in February 1944, the Colossus machines provided the calculating speed and power to rule out impossible Lorenz cipher settings – which hugely sped up breaking messages from the German high command.


ENIAC: huge numbers of valves made wartime computers massive, room-filling affairs

While Colossi operated electronically – their only mechanical system was the tape reader through which encrypted messages were input – their construction would be unrecognisable next to a modern PC. Their huge size was necessary in part due to the use of 2,400 big, hot and power-hungry thermionic valves for circuit switching. Valves were at the heart of other giant computers immediately after the war, with the American Army’s ENIAC ballistics computer having no fewer than 17,468 when it became operational in 1946.

Turing’s cryptographical genius was essential to the successes of Bletchley Park, but for many years after the war the site’s work remained a secret. In 1952 he was prosecuted for then-illegal homosexual acts and ‘treated’ with female hormones, before committing suicide in 1954. It wasn’t until the 1970s that Bletchley’s work, and Turing’s importance to it, became widely known. Gordon Brown’s official governmental apology for the way Turing was treated after the war didn’t come until 2009.


With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world


The next three decades would see numerous inventions and innovations in electronics that would set a pattern for computer technology that continues today: as technology improves, computers increase in complexity, affordability and operational power, while their heat and power consumption fall. Some early milestones included the 1949 invention of random access memory (RAM) and the development in 1952 of the trackball by the Canadian Navy, but computers remained the preserve of governments, universities and large corporations who could afford the hardware and the expert staff to operate and maintain them.

DATAR Trackball


The first trackball works very similarly to today’s examples, although it’s not as ergonomic

One of the single most important breakthroughs happened in 1947, with the building at Bell Labs of the first working transistor – a semiconductor device that can perform the same functions as a valve. Although it was some years before the technology was refined, the first transistor computer appeared in 1953 and heralded the start of a second generation of more sophisticated machines. However, while the first fully-transistorised computer appeared in 1957, a second major innovation at the end of the 1950s would play an equally important role in pushing computers towards the hands of the masses.


While the earliest transistors were self-contained components, smaller than a valve but still challenging to build into a complex device, in 1957 an engineer at Texas Instruments, Jack Kilby, was working on ways to modularise them so that they could be assembled in grids. Kilby subsequently hit on the idea of building multiple components on a single piece of semiconductor substrate – the essence of the integrated circuit (IC). He built the first working IC from germanium, while in 1959 Robert Noyce independently built the first silicon example. Kilby’s discovery proved so revolutionary and important that by his death in 2005 he had received the Kyoto Prize, the Nobel Prize in Physics and had been awarded no fewer than nine honorary doctorates.

By 1962 simple ICs containing just a few transistors were being manufactured in small numbers at high cost and were almost solely used in ballistic guidance systems. However, growing demand helped reduce costs and improve manufacturing processes. Chips came with more and more transistors, by 1965 prompting Intel co-founder Gordon E. Moore to coin his famous Law. Originally Moore’s Law said that the number of transistors on a chip would double every year, although he later revised it to a doubling every two years – an estimate that has proved uncannily accurate. By the end of the 1960s, ICs were being mass-produced and the most advanced chips contained hundreds of transistors.


With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world

One of the very first computers to use ICs was the Apollo Guidance Computer, introduced into NASA’s Apollo rocket programme in 1966. Weighing more than 30 kilos, the electronic brain that first steered man to the moon had roughly 4k of RAM, 72kB of ROM and ran at just over 1MHz. It comprised 2,800 separate ICs, but by the beginning of the 1970s the first microprocessors arrived – ICs that comprised all the components needed for a computer’s central processing unit. While the costs were still considerable – Intel’s 4-bit 4004 cost thousands of dollars – building a computer was far cheaper than ever before.

In the early 1970s, the falling price and increased availability of ICs made them increasingly available to electronic hobbyists, a small but significant group of people who used available components to build their own electronic devices such as calculators. Several magazines served the community, publishing projects that readers could undertake, discussing technological developments and, in some cases, helping to drive them forward. By 1974, Intel’s 8-bit 8008 microprocessor was within the reach of hobbyists, and the July issue of Radio-Electronics magazine published a project to build the 8008-powered Mark 8, ‘your personal minicomputer’.


Computer magazines have come a long way since 1974

The computer was fairly daunting, and only around 100 of the specially-produced circuit boards were sold, but the project inspired Popular Electronics magazine to take the idea further, commissioning Ed Roberts, the founder of Micro Instrumentation and Telemetry Systems (MITS), to design a computer in kit form that its readers could buy and build. MITS, established to supply rocketry and calculator kits, was heavily in debt, but what followed not only rescued it; it laid the foundations of widespread personal computing.

It’s hard to overstate the impact of the Altair 8800 and the events of 1975 in the history of personal computing. Launched as a project in the January 1975 issue of Popular Electronics, the Altair was available from MITS for $397 in kit form, or $498 preassembled – equivalent to roughly £179 and £224 then, or £1,100 and £1,400 in today’s money. It had an 8-bit Intel 8080 processor and 256 bytes of memory and, optionally, came with a version of the Basic programming language. At a time when only a tiny proportion of society had ever been directly exposed to computers, here was one that people could go out and buy for themselves. Journalist Art Salsburg, who wrote the accompanying editorial, proclaimed: “The home computer is here!”


While MITS had expected to sell 800 or so Altairs in total, they had taken 1,000 orders by the end of February 1975 and had delivered 2,500 computers by the end of May. MITS took on more employees and the Altair’s price went up. While the cheapest versions could be instructed in machine code, the true cost of a ‘Basic-speaking’ computer kit was nearly $1,900 (roughly £5,400 in today’s prices). Even so, in the context of the times the Altair 8800 was an incredible success in its own right, selling more than 10,000 units before MITS sold the design on. Its historical importance goes further. Its version of Basic was coded by Paul Allen and one William Henry Gates III (later known as Bill) and, though marketed as Altair BASIC, it was Microsoft’s founding product.


The influential Altair 8800 home computer

Bill Gates and Paul Allen had been friends since attending school together in Seattle, where Gates first learned to program in BASIC on a mainframe computer. Later, Gates and Allen were temporarily banned from another computer after they were caught exploiting bugs to get more time on the system. With two other students they would later offer to find and fix bugs in the system in return for more time on it. Gates’ colourful youth continued when, asked by his school to write a program that would schedule students’ classes, he added code to make sure his lessons contained mostly female students.


With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world

Microsoft isn’t the only company that can trace its history to the mid-1970s, though. At the start of 1975 there were two microcomputer manufacturers in the US, but by the end of the year this had risen to 27, accompanied by a burgeoning industry of software providers and expansion board manufacturers, two magazines, two computer stores and several computing clubs and groups. 1975 saw the first integrated microcomputer; the Sphere, which contained the processor, keyboard and display in a single case and which also had an optional floppy drive.

The following year saw the appearance of more and more companies and pioneering products – among them Apple’s first effort; the hand-built Apple I. Founded in 1976 by Steve Jobs, Steve Wozniak and Ronald Wayne, Apple was incorporated in 1977, but by then Wayne had already sold his share to Jobs and Wozniak for just $800 (equivalent to less than £3,000 today). In retrospect this doesn’t seem to have been the wisest decision: today Apple is among the world’s largest companies, with assets of more than $75 billion, and profits in 2010 alone of $14 billion.

The explosion in companies and products would continue over the next few years into the 1980s, with new companies springing up and existing electronics companies such as Commodore switching to computer production. Commodore’s PET of 1977, with its integrated keyboard, ‘Datasette’ and display, sold alongside the similar Apple II and Tandy’s TRS-80, which, though less sophisticated, was widely distributed through the electronics chain’s stores.

In the UK, Clive Sinclair’s Science of Cambridge Ltd launched its first microcomputer kit, the MK14, for £40 in 1978. This was followed in February 1980 by the ZX80, which cost under £100 (roughly £320 today) in kit form, but which was also available pre-assembled. It went on to sell 50,000 units before its replacement a year later by the ZX81, which sold an astonishing 1.5 million units.


The ZX81 flew off the shelves back in 1981

While there were many buyers, however, the proliferation of non-compatible systems was far from ideal. Each manufacturer had its own user-base, each running programs that were generally incompatible with other makes and models. This kept the personal computer community fragmented, but it also provided a headache for developers. Michael Shrayer, whose Electric Pencil became in 1976 the first word processor for home computers, reportedly compiled 78 versions to run on the different platforms, operating systems and display capabilities of the time. Even as the ZX81 was enjoying its enormous success, IBM announced a product that would refocus the market, and become the bedrock of personal computing for at least the next 30 years: the IBM Personal Computer.


With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world


Founded in 1911, IBM had been instrumental in the development and production of electronic computers since their earliest days, and in 1975 had produced its first desktop microcomputer – the IBM 5100. While this was very expensive, the company wanted to go head-to-head with Commodore, Apple and Atari in the growing market for home sales, and convened a special team to produce something more competitive.


IBM’s first desktop computer – the 5100

With permission to do things quickly and in new ways, the team made a series of decisions that would not only keep costs and time to a minimum, but which also proved fundamental to the computer’s success. They used off-the-shelf components, including Intel’s 8088 processor and a pre-existing IBM monitor and Epson printer, and also settled on an open architecture – documenting the system and encouraging third-parties to produce compatible expansion boards and software. This was a contrast to most other proprietary approaches, and helped ensure that compatible products were available within weeks of the PC’s August 1981 introduction.

IBM’s engineers didn’t fully predict another side of their open approach. With the computer’s circuit schematics and other information available to developers, and with the processor and other key components not exclusive to IBM, the computer was susceptible to being copied. By June 1982, Columbia Data Products had legally reverse-engineered IBM’s BIOS, produced their own copy and begun selling an IBM PC clone – compatible with the same hardware and software as the original, but cheaper.

While this was bad news for IBM, which was powerless to stop a growing number of compatible systems competing with its own, it ultimately helped to establish the PC as the platform for the majority of home computers. It happened slowly, however. The home computer market was strong and diverse in the first years of the 1980s, and at more than $1,500 (roughly £2,200 in today’s money) the original PC was too expensive compared to rivals selling for less than half as much. Though designed as a home computer, it initially only sold well to businesses, with just 13,000 shipped by the end of 1981.

IBM continued to develop the PC, releasing the XT with a 10MB internal hard disk just 18 months later, and the more competitively priced PCjr in November 1983, but other factors would help to pave the way for the platform’s mainstream uptake. Commodore had bought the company that made the chips for its C64 and began an incredible price war that drew in almost all home computer makers. While it helped make the C64 the best-selling home computer model ever, it also destabilised many in the industry and helped precipitate a collapse. By 1984, Atari and Commodore were the only major survivors of the price war and both were in a parlous financial state. Users began to gravitate to IBM PC compatibles and Apple’s Macintosh. By the end of 1984 IBM had sold half a million PCs.


With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world


Many PC enthusiasts will be familiar with the way home computing has developed since then. As PC uptake continued and manufacturers tended towards a single, compatible platform, software vendors soon had access to a far wider and less complicated market. This was particularly true when it came to operating systems, the one bit of software that every computer needs. Just as it had with Basic for the Altair 8800, Microsoft got the contract to develop the operating system for the IBM-PC. Although this was distributed as PC-DOS, Microsoft cunningly retained the right to market its own MS-DOS, which it could supply to the growing number of IBM-compatible PCs.


An early photo of Microsoft founders Paul Allen and Bill Gates – courtesy of Microsoft

Microsoft has remained dominant ever since but its operating systems, like the hardware they run on, have continued to evolve. While the PC’s essential architecture remains unchanged, with any modern example theoretically able to run any early program, its subsystems have improved almost beyond recognition. New devices such as optical drives and sound cards have appeared while there have been several generations of data bus, disk interface and video card – each bringing faster speeds.


To date Moore’s Law has held true. While cramming 2,300 transistors onto Intel’s first microprocessor was at the cutting edge in 1971, today’s six-core Core i7 processor has more than a billion transistors – more than half a million times as many. At the same time, better designs and materials mean that modern processors run at far higher clock speeds. Intel’s 4004 ran at a maximum 740KHz and the Apollo Guidance Computer managed 1MHz, but today’s desktops can exceed 3GHz – three thousand times faster.

Improvements in hardware have enabled PCs to run anything from suites of office software through to graphics-rich games, but they’ve become more affordable in real terms too. At the same time, the public has become more computer-literate as computers have become more prevalent in our workplaces and schools. Cheap, compact processors have allowed digital technology to displace earlier standards in photography, music and other media, and our PCs help us edit, store and display the results.

Perhaps the most poignant illustration of the way in which massive computing power has become widely available came in 2007, after a working replica of a Mark II Colossus was completed at Bletchley Park. In a challenge to mark the occasion, enthusiasts were invited to compete against the mighty computer in a recreation of its wartime code-breaking role. German radio and computer enthusiast Joachim Schüth won the challenge; his 1.4GHz laptop decoding the Lorenz-encrypted message in just 46 seconds. The replica Colossus worked perfectly, but it took three and a quarter hours.


With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world

Such developments have helped make today’s PCs and Apple Macs truly mainstream objects: according to Office for National Statistics (ONS) figures, 75 per cent of all UK homes owned a computer by 2009. The internet has proven to be one of the most effective drivers of mainstream computer uptake. In 2009, 71 per cent of UK households had an internet connection, but home computers are no longer alone in being able to exploit it.

Games consoles, smart phones and other computerised devices increasingly support wireless networks and access the internet: HTML was originally written (see below) to be platform independent, and more advanced web applications are made possible through application frameworks such as Flash or Java, which provide a standardised environment for more advanced web apps. With these available for a range of devices, the browser, operating system and even the underlying hardware is quickly becoming less important for web users.

What this means is that, while full-sized computers have long faced competition from compact laptops, netbooks and most recently net tops, many of their most popular applications can now be tackled by a high-end smart phone. Larger alternatives such as the iPad and its Android-powered rivals may soon present a serious challenge to our current notion of the home computer. Just as advancing technology made the PC an indispensable tool for the modern home, such advances might ultimately make it obsolete. The future of personal computing might – literally – be in our hands.



While the invention of transistors, integrated circuits and the move to mass production established the foundations of the personal computer revolution, it’s the internet that has truly unleashed the computers potential. A communication medium so powerful and desirable that it has helped push PC technology into everybody’s homes and beyond. But while mass internet use is a phenomenon of the last decade, the network’s foundations pre-date many of the technologies that made personal computing possible – including even the microprocessor.


ARPANET, the predecessor to the modern internet, as it was in 1973 when the UK got its first connection

The internet’s roots date back to the late 60s, and early work in the US on the Advanced Research Projects Agency Network (ARPANET), a computer communications network developed jointly by the Massachusetts Institute of Technology (MIT) and the Defense Advanced Research Projects Agency (DARPA). The goal was to find a way to share information between the users of various computer mainframes. Like established phone systems, data transmissions had previously relied on circuit switching, where an electrical circuit is created between two parties for their exclusive use in exchanging information, but researchers had started considering something fundamentally different.

ARPANET was designed from the start around the concept of packet switching. Instead of information being sent over dedicated point-to-point connections, the network groups data into parcels that are electronically stamped with an address. Data packets are sent into the network and routed to their destination by nodes that read the address and forward the packet appropriately. The key advantage is that a single link can be used to send data concurrently to multiple recipients, with packets from several streams intermingled as necessary.

With computers now commonplace in every home, workplace and pocket, Simon Handby traces the development of the technology that changed the world

While the initial ARPANET linked just four nodes, it grew to 13 routers by the end of 1970 and continued to expand steadily. In 1973 the first UK node was added at University College London, and by 1981 there were 213 host computers worldwide. At the same time, the protocols and services used today began to emerge. The first use of email came in 1971, and the File Transfer Protocol (FTP) appeared in 1973. At the end of 1974 the term ‘internet’ was first used as three Stanford University scientists published the specification of the Transmission Control Protocol (TCP). In 1983 ARPANET was converted to use TCP and Internet Protocol (IP), which still comprise the bulk of internet traffic today.

The next big step occurred in 1990. Tim Berners-Lee, an English research fellow at Switzerland’s CERN nuclear physics laboratory, began a project that would combine the internet and its Domain Name System (DNS) with the idea of hypertext. Working with Belgian Robert Cailliau, Berners-Lee developed the world’s first worldwide web server, serving pages written in HyperText Markup Language (HTML) from Christmas day that year. Incidentally, this ran on a simple workstation computer built by NeXT – a company founded by Steve Jobs after he was forced out of Apple in the mid-1980s.

While the web was originally used only within CERN, Berners-Lee publicised it in August 1991 and made his rudimentary server and browser software freely available for others to download. This decision was one of several that helped the web grow to its current ubiquity: it had been designed from the start to be platform-independent, suiting the variety of computers and operating systems at that time and since. Perhaps most significantly, in April 1993 Berners-Lee persuaded CERN to certify that the technology of the web was in the public domain – free for all to use.

Comparison of Operating Systems

From Wikipedia, the free encyclopedia

These tables provide a comparison of operating systems, of computer devices, as listing general and technical information for a number of widely used and currently available PC or handheld (including smartphone and tablet computer) operating systems. The article “Usage share of operating systems” provides a broader, and more general, comparison of operating systems that includes servers, mainframes and supercomputers.

Because of the large number and variety of available Linux distributions, they are all grouped under a single entry; see comparison of Linux distributions for a detailed comparison. There is also a variety of BSD and DOS operating systems, covered in comparison of BSD operating systems and comparison of DOS operating systems. For information on views of each operating system, see operating system advocacy.

General Information

General Information

Technical Information

Technical information




For POSIX compliant (or partly compliant) systems like FreeBSD, Linux, macOS or Solaris, the basic commands are the same because they are standardized.



History of Operating Systems

From Wikipedia, the free encyclopedia

Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use.

1 Background
2 Mainframes
2.1 Systems on IBM hardware
2.2 Other mainframe operating systems
3 Minicomputers
4 Microcomputers
4.1 Home computers
4.2 Operating systems in video games and consoles
4.3 Personal computer era
4.4 Mobile operating systems
5 Rise of virtualization


This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (January 2013) (Learn how and when to remove this template message)

The earliest computers were mainframes that lacked any form of operating system. Each user had sole use of the machine for a scheduled period of time and would arrive at the computer with program and data, often on punched paper cards and magnetic or paper tape. The program would be loaded into the machine, and the machine would be set to work until the program completed or crashed. Programs could generally be debugged via a control panel using dials, toggle switches and panel lights.

Symbolic languages, assemblers, and compilers were developed for programmers to translate symbolic program-code into machine code that previously would have been hand-encoded. Later machines came with libraries of support code on punched cards or magnetic tape, which would be linked to the user’s program to assist in operations such as input and output. This was the genesis of the modern-day operating system; however, machines still ran a single job at a time. At Cambridge University in England the job queue was at one time a washing line from which tapes were hung with different colored clothes-pegs to indicate job-priority.

As machines became more powerful the time to run programs diminished, and the time to hand off the equipment to the next user became large by comparison. Accounting for and paying for machine usage moved on from checking the wall clock to automatic logging by the computer. Run queues evolved from a literal queue of people at the door, to a heap of media on a jobs-waiting table, or batches of punch-cards stacked one on top of the other in the reader, until the machine itself was able to select and sequence which magnetic tape drives processed which tapes. Where program developers had originally had access to run their own jobs on the machine, they were supplanted by dedicated machine operators who looked after the machine and were less and less concerned with implementing tasks manually. When commercially available computer centers were faced with the implications of data lost through tampering or operational errors, equipment vendors were put under pressure to enhance the runtime libraries to prevent misuse of system resources. Automated monitoring was needed not just for CPU usage but for counting pages printed, cards punched, cards read, disk storage used and for signaling when operator intervention was required by jobs such as changing magnetic tapes and paper forms. Security features were added to operating systems to record audit trails of which programs were accessing which files and to prevent access to a production payroll file by an engineering program, for example.

All these features were building up towards the repertoire of a fully capable operating system. Eventually the runtime libraries became an amalgamated program that was started before the first customer job and could read in the customer job, control its execution, record its usage, reassign hardware resources after the job ended, and immediately go on to process the next job. These resident background programs, capable of managing multistep processes, were often called monitors or monitor-programs before the term “operating system” established itself.

An underlying program offering basic hardware-management, software-scheduling and resource-monitoring may seem a remote ancestor to the user-oriented OSes of the personal computing era. But there has been a shift in the meaning of OS. Just as early automobiles lacked speedometers, radios, and air-conditioners which later became standard, more and more optional software features became standard features in every OS package, although some applications such as database management systems and spreadsheets remain optional and separately priced. This has led to the perception of an OS as a complete user-system with an integrated graphical user interface, utilities, some applications such as text editors and file managers, and configuration tools.

The true descendant of the early operating systems is what is now called the “kernel”. In technical and development circles the old restricted sense of an OS persists because of the continued active development of embedded operating systems for all kinds of devices with a data-processing component, from hand-held gadgets up to industrial robots and real-time control-systems, which do not run user applications at the front-end. An embedded OS in a device today is not so far removed as one might think from its ancestor of the 1950s.

The broader categories of systems and application software are discussed in the computer software article.


The first operating system used for real work was GM-NAA I/O, produced in 1956 by General Motors’ Research division for its IBM 704. Most other early operating systems for IBM mainframes were also produced by customers.

Early operating systems were very diverse, with each vendor or customer producing one or more operating systems specific to their particular mainframe computer. Every operating system, even from the same vendor, could have radically different models of commands, operating procedures, and such facilities as debugging aids. Typically, each time the manufacturer brought out a new machine, there would be a new operating system, and most applications would have to be manually adjusted, recompiled, and retested.

Systems on IBM Hardware

The state of affairs continued until the 1960s when IBM, already a leading hardware vendor, stopped work on existing systems and put all its effort into developing the System/360 series of machines, all of which used the same instruction and input/output architecture. IBM intended to develop a single operating system for the new hardware, the OS/360. The problems encountered in the development of the OS/360 are legendary, and are described by Fred Brooks in The Mythical Man-Month—a book that has become a classic of software engineering. Because of performance differences across the hardware range and delays with software development, a whole family of operating systems was introduced instead of a single OS/360.

IBM wound up releasing a series of stop-gaps followed by two longer-lived operating systems:

  • OS/360 for mid-range and large systems. This was available in three system generation options:
    • PCP for early users and for those without the resources for multiprogramming.
    • MFT for mid-range systems, replaced by MFT-II in OS/360 Release 15/16. This had one successor, OS/VS1, which was discontinued in the 1980s.
    • MVT for large systems. This was similar in most ways to PCP and MFT (most programs could be ported among the three without being re-compiled), but has more sophisticated memory management and a time-sharing facility, TSO. MVT had several successors including the current z/OS.
  • DOS/360 for small System/360 models had several successors including the current z/VSE. It was significantly different from OS/360.

IBM maintained full compatibility with the past, so that programs developed in the sixties can still run under z/VSE (if developed for DOS/360) or z/OS (if developed for MFT or MVT) with no change.

IBM also developed TSS/360, a time-sharing system for the System/360 Model 67. Overcompensating for their perceived importance of developing a timeshare system, they set hundreds of developers to work on the project. They ended up with a bloated, buggy project that took as long to boot as it did to crash, and ended the project without releasing it.

Several operating systems for the IBM S/360 and S/370 architectures were developed by third parties, including the Michigan Terminal System (MTS) and MUSIC/SP.

Other Mainframe Operating Systems

Control Data Corporation developed the SCOPE operating systems] in the 1960s, for batch processing and later developed the MACE operating system for time sharing, which was the basis for the later Kronos. In cooperation with the University of Minnesota, the Kronos and later the NOS operating systems were developed during the 1970s, which supported simultaneous batch and timesharing use. Like many commercial timesharing systems, its interface was an extension of the DTSS time sharing system, one of the pioneering efforts in timesharing and programming languages.

In the late 1970s, Control Data and the University of Illinois developed the PLATO system, which used plasma panel displays and long-distance time sharing networks. PLATO was remarkably innovative for its time; the shared memory model of PLATO’s TUTOR programming language allowed applications such as real-time chat and multi-user graphical games.

For the UNIVAC 1107, UNIVAC, the first commercial computer manufacturer, produced the EXEC I operating system, and Computer Sciences Corporation developed the EXEC II operating system and delivered it to UNIVAC. EXEC II was ported to the UNIVAC 1108. Later, UNIVAC developed the EXEC 8 operating system for the 1108; it was the basis for operating systems for later members of the family. Like all early mainframe systems, EXEC I and EXEC II were a batch-oriented system that managed magnetic drums, disks, card readers and line printers; EXEC 8 supported both batch processing and on-line transaction processing. In the 1970s, UNIVAC produced the Real-Time Basic (RTB) system to support large-scale time sharing, also patterned after the Dartmouth BASIC system.

Burroughs Corporation introduced the B5000 in 1961 with the MCP (Master Control Program) operating system. The B5000 was a stack machine designed to exclusively support high-level languages, with no software, not even at the lowest level of the operating system, being written directly in machine language or assembly language; the MCP was the first OS to be written entirely in a high-level language – ESPOL, a dialect of ALGOL 60 – although ESPOL had specialized statements for each “syllable” in the B5000 instruction set. MCP also introduced many other ground-breaking innovations, such as being one of the first commercial implementations of virtual memory. The rewrite of MCP for the B6500 is still in use today in the Unisys ClearPath/MCP line of computers.

GE introduced the GE-600 series with the General Electric Comprehensive Operating Supervisor (GECOS) operating system in 1962. After Honeywell acquired GE’s computer business, it was renamed to General Comprehensive Operating System (GCOS). Honeywell expanded the use of the GCOS name to cover all its operating systems in the 1970s, though many of its computers had nothing in common with the earlier GE 600 series and their operating systems were not derived from the original GECOS.

Project MAC at MIT, working with GE and Bell Labs, developed Multics, which introduced the concept of ringed security privilege levels.

Digital Equipment Corporation developed TOPS-10 for its PDP-10 line of 36-bit computers in 1967. Before the widespread use of Unix, TOPS-10 was a particularly popular system in universities, and in the early ARPANET community. Bolt, Beranek, and Newman developed TENEX for a modified PDP-10 that supported demand paging; this was another popular system in the research and ARPANET communities, and was later developed by DEC into TOPS-20.

Scientific Data Systems/Xerox Data Systems developed several operating systems for the Sigma series of computers, such as the Basic Control Monitor (BCM), Batch Processing Monitor (BPM), and Basic Time-Sharing Monitor (BTM). Later, BPM and BTM were succeeded by the Universal Time-Sharing System (UTS); it was designed to provide multi-programming services for online (interactive) user programs in addition to batch-mode production jobs, It was succeeded by the CP-V operating system, which combined UTS with the heavily batch-oriented Xerox Operating System (XOS).


Digital Equipment Corporation created several operating systems for its 16-bit PDP-11 machines, including the simple RT-11 system, the time-sharing RSTS operating systems, and the RSX-11 family of real-time operating systems, as well as the VMS system for the 32-bit VAX machines.

Several competitors of Digital Equipment Corporation such as Data General, Hewlett-Packard, and Computer Automation created their own operating systems. One such, “MAX III”, was developed for Modular Computer Systems Modcomp II and Modcomp III computers. It was characterised by its target market being the industrial control market. The Fortran libraries included one that enabled access to measurement and control devices.

IBM’s key innovation in operating systems in this class (which they call “mid-range”), was their “CPF” for the System/38. This had capability-based addressing, used a machine interface architecture to isolate the application software and most of the operating system from hardware dependencies (including even such details as address size and register size) and included an integrated RDBMS. The succeeding OS/400 for the AS/400 has no files, only objects of different types and these objects persist in very large, flat virtual memory, called a single-level store. i5/OS and later IBM i for the iSeries continue this line of operating system.

The Unix operating system was developed at AT&T Bell Laboratories in the late 1960s, originally for the PDP-7, and later for the PDP-11. Because it was essentially free in early editions, easily obtainable, and easily modified, it achieved wide acceptance. It also became a requirement within the Bell systems operating companies. Since it was written in the C language, when that language was ported to a new machine architecture, Unix was also able to be ported. This portability permitted it to become the choice for a second generation of minicomputers and the first generation of workstations. By widespread use it exemplified the idea of an operating system that was conceptually the same across various hardware platforms, and later became one of the roots of the free software and open source including GNU, Linux, and the Berkeley Software Distribution. Apple’s macOS is also based on Unix via NeXTSTEP and FreeBSD.

The Pick operating system was another operating system available on a wide variety of hardware brands. Commercially released in 1973 its core was a BASIC-like language called Data/BASIC and a SQL-style database manipulation language called ENGLISH. Licensed to a large variety of manufacturers and vendors, by the early 1980s observers saw the Pick operating system as a strong competitor to Unix.


Beginning in the mid-1970s, a new class of small computers came onto the marketplace. Featuring 8-bit processors, typically the MOS Technology 6502, Intel 8080, Motorola 6800 or the Zilog Z80, along with rudimentary input and output interfaces and as much RAM as practical, these systems started out as kit-based hobbyist computers but soon evolved into an essential business tool.

Home computers
While many eight-bit home computers of the 1980s, such as the BBC Micro, Commodore 64, Apple II series, the Atari 8-bit, the Amstrad CPC, ZX Spectrum series and others could load a third-party disk-loading operating system, such as CP/M or GEOS, they were generally used without one. Their built-in operating systems were designed in an era when floppy disk drives were very expensive and not expected to be used by most users, so the standard storage device on most was a tape drive using standard compact cassettes. Most, if not all, of these computers shipped with a built-in BASIC interpreter on ROM, which also served as a crude command line interface, allowing the user to load a separate disk operating system to perform file management commands and load and save to disk. The most popular home computer, the Commodore 64, was a notable exception, as its DOS was on ROM in the disk drive hardware, and the drive was addressed identically to printers, modems, and other external devices.

More elaborate operating systems were not needed in part because most such machines were used for entertainment and education, and seldom used for more serious business or science purposes.

Another reason is that the hardware they used was (largely) fixed and a need for an operating system to abstract away differences was thus not needed. They shipped with minimal amounts of computer memory—4-8 kilobytes was standard on early home computers—as well as 8-bit processors without specialized support circuitry like a MMU or even a dedicated real-time clock. On this hardware, a complex operating system’s overhead supporting multiple tasks and users would likely compromise the performance of the machine without really being needed.

Video games and even the available spreadsheet, database and word processors for home computers were mostly self-contained programs that took over the machine completely. Although integrated software existed for these computers, they usually lacked features compared to their standalone equivalents, largely due to memory limitations. Data exchange was mostly performed through standard formats like ASCII text or CSV, or through specialized file conversion programs.

Operating Systems in video games and consoles

Since virtually all video game consoles and arcade cabinets designed and built after 1980 were true digital machines based on microprocessors (unlike the earlier Pong clones and derivatives), some of them carried a minimal form of BIOS or built-in game, such as the ColecoVision, the Sega Master System and the SNK Neo Geo.

Modern-day game consoles and videogames, starting with the PC-Engine, all have a minimal BIOS that also provides some interactive utilities such as memory card management, audio or video CD playback, copy protection and sometimes carry libraries for developers to use etc. Few of these cases, however, would qualify as a true operating system.

The most notable exceptions are probably the Dreamcast game console which includes a minimal BIOS, like the PlayStation, but can load the Windows CE operating system from the game disk allowing easily porting of games from the PC world, and the Xbox game console, which is little more than a disguised Intel-based PC running a secret, modified version of Microsoft Windows in the background. Furthermore, there are Linux versions that will run on a Dreamcast and later game consoles as well.

Long before that, Sony had released a kind of development kit called the Net Yaroze for its first PlayStation platform, which provided a series of programming and developing tools to be used with a normal PC and a specially modified “Black PlayStation” that could be interfaced with a PC and download programs from it. These operations require in general a functional OS on both platforms involved.

In general, it can be said that videogame consoles and arcade coin-operated machines used at most a built-in BIOS during the 1970s, 1980s and most of the 1990s, while from the PlayStation era and beyond they started getting more and more sophisticated, to the point of requiring a generic or custom-built OS for aiding in development and expandability.

Personal Computer Era

The development of microprocessors made inexpensive computing available for the small business and hobbyist, which in turn led to the widespread use of interchangeable hardware components using a common interconnection (such as the S-100, SS-50, Apple II, ISA, and PCI buses), and an increasing need for “standard” operating systems to control them. The most important of the early OSes on these machines was Digital Research’s CP/M-80 for the 8080 / 8085 / Z-80 CPUs. It was based on several Digital Equipment Corporation operating systems, mostly for the PDP-11 architecture. Microsoft’s first operating system, MDOS/MIDAS, was designed along many of the PDP-11 features, but for microprocessor based systems. MS-DOS, or PC DOS when supplied by IBM, was based originally on CP/M-80. Each of these machines had a small boot program in ROM which loaded the OS itself from disk. The BIOS on the IBM-PC class machines was an extension of this idea and has accreted more features and functions in the 20 years since the first IBM-PC was introduced in 1981.

The decreasing cost of display equipment and processors made it practical to provide graphical user interfaces for many operating systems, such as the generic X Window System that is provided with many Unix systems, or other graphical systems such as Microsoft Windows, the Radio Shack Color Computer’s OS-9 Level II/MultiVue, Commodore’s AmigaOS, Atari TOS, Apple’s classic Mac OS, and macOS, or even IBM’s OS/2. The original GUI was developed on the Xerox Alto computer system at Xerox Palo Alto Research Center in the early 1970s and commercialized by many vendors throughout the 1980s and 1990s.

Since the late 1990s, there have been three operating systems in widespread use on personal computers: Microsoft Windows, Apple Inc.’s Mac OS X, and the open source Linux. Since 2005 and Apple’s transition to Intel processors, all have been developed mainly on the x86 platform, although Mac OS X retained PowerPC support until 2009 and Linux remains ported to a multitude of architectures including ones such as 68k, PA-RISC, and DEC Alpha, which have been long superseded and out of production, and SPARC and MIPS, which are used in servers or embedded systems but no longer for desktop computers. Other operating systems such as AmigaOS and OS/2 remain in use, if at all, mainly by retrocomputing enthusiasts or for specialized embedded applications.

Mobile Operating Systems

This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (February 2015) (Learn how and when to remove this template message)
In the early 1990s, Psion released the Psion Series 3 PDA, a small mobile computing device. It supported user-written applications running on an operating system called EPOC. Later versions of EPOC became Symbian, an operating system used for mobile phones from Ericsson, Motorola, and Nokia. In 1996, Palm Computing released the Pilot 1000 and Pilot 5000, running Palm OS. Microsoft Windows CE was the base for PocketPC 2000, renamed Windows Mobile in 2003, which at its peak in 2007 was the most common operating system for smartphones in the U.S.

In 2007 Apple introduced the iPhone and its operating system, iOS, which, like Mac OS X, is based on the Unix-like Darwin. In addition to these underpinnings, it also introduces a powerful and innovative graphic user interface – later also used for the tablet computer iPad. A year later, Android was introduced, based on a modified Linux kernel, and its own graphical user interface, and Microsoft re-entered this market with Windows Phone in 2010, due to be replaced by Windows 10 Mobile in 2015.

In addition to these, a wide range of other mobile operating systems are contending in this area.

Rise of Virtualization

Operating systems originally ran directly on the hardware itself and provided services to applications, but with virtualization, the operating system itself runs under the control of a hypervisor, instead of being in direct control of the hardware.

On mainframes IBM introduced the notion of a virtual machine in 1968 with CP/CMS on the IBM System/360 Model 67, and extended this later in 1972 with Virtual Machine Facility/370 (VM/370) on System/370.

On x86-based personal computers, VMware popularized this technology with their 1999 product, VMware Workstation, and their 2001 VMware GSX Server and VMware ESX Server products. Later, a wide range of products from others, including Xen, KVM and Hyper-V meant that by 2010 it was reported that more than 80 percent of enterprises had a virtualization program or project in place, and that 25 percent of all server workloads would be in a virtual machine.

Over time, the line between virtual machines, monitors, and operating systems was blurred:

  • Hypervisors grew more complex, gaining their own application programming interface, memory management or file system.
  • Virtualization becomes a key feature of operating systems, as exemplified by KVM and LXC in Linux, Hyper-V in Windows Server 2008 or HP Integrity Virtual Machines in HP-UX.
  • In some systems, such as POWER5 and POWER6-based servers from IBM, the hypervisor is no longer optional.
  • Radically simplified operating systems, such as CoreOS have been designed to run only on virtual systems.
  • Applications have been re-designed to run directly on a virtual machine monitor.

In many ways, virtual machine software today plays the role formerly held by the operating system, including managing the hardware resources (processor, memory, I/O devices), applying scheduling policies, or allowing system administrators to manage system.

List of Operating Systems

From Wikipedia, the free encyclopedia

This is a list of operating systems. Computer operating systems can be categorized by technology, ownership, licensing, working state, usage, and by many other characteristics. In practice, many of these groupings may overlap. Criteria for inclusion is notability, as shown either through an existing Wikipedia article or citation to a reliable source.


Acorn Computers

  • Arthur
  • ARX
  • MOS
  • RISC iX

Amiga Inc.

  • AmigaOS
    • AmigaOS 1.0-3.9 (Motorola 68000)
    • AmigaOS 4 (PowerPC)
  • Amiga Unix (a.k.a. Amix)

Apple Inc.

  • Apple II family
  • Apple DOS
  • Apple Pascal
  • ProDOS
  • GS/OS
  • GNO/ME

Apple III

  • Apple SOS

Apple Lisa

  • Lisa Workshop
  • Lisa Operating System

Apple Macintosh

  • Classic Mac OS
  • A/UX (UNIX System V with BSD extensions)
  • Copland
  • MkLinux
  • Pink
  • Rhapsody
  • macOS (formerly Mac OS X and OS X)
  • macOS Server (formerly Mac OS X Server and OS X Server)

Apple Network Server

  • IBM AIX (Apple-customized)

Apple Message

  • PadNewton OS

iPhone, iPod Touch, iPad

  • iOS

Apple Watch

  • watchOS

Apple TV

  • tvOS

Embedded operating systems

  • A/ROSE
  • iPod software (unnamed embedded OS for iPod)
  • Unnamed NetBSD variant for Airport Extreme and Time Capsule

Apollo Computer

  • Domain/OS : One of the first network-based systems. Run on Apollo/Domain hardware. Later bought by Hewlett-Packard.


  • Atari DOS (for 8-bit computers)
  • Atari TOS
  • Atari MultiTOS

BAE Systems

  • XTS-400

Be Inc.

  • BeOSBeIA
  • BeOS r5.1d0
  • magnussoft ZETA (based on BeOS r5.1d0 source code, developed by yellowTAB)

Bell Labs

Unix (“Ken’s new system,” for its creator (Ken Thompson), officially Unics and then Unix, the prototypic operating system created in Bell Labs in 1969 that formed the basis for the Unix family of operating systems)UNIX Time-Sharing System v1

  • UNIX Time-Sharing System v2
  • UNIX Time-Sharing System v3
  • UNIX Time-Sharing System v4
  • UNIX Time-Sharing System v5
  • UNIX Time-Sharing System v6
    • PWB/UNIX
      • USG
      • CB Unix
  • UNIX Time-Sharing System v7 (It is from Version 7 Unix (and, to an extent, its descendants listed below) that almost all Unix-based and Unix-like operating systems descend.)
    • Unix System III
    • Unix System IV
  • Unix System V
  • Unix System V Releases 2.0, 3.0, 3.2, 4.0, and 4.2
  • UNIX Time-Sharing System v8
  • UNIX TIme-Sharing System v9
  • UNIX Time-Sharing System v10

Non-Unix Operating Systems:

  • Plan 9 from Bell Labs

Bull SAS

  • General Comprehensive Operating System (GCOS)
  • Burroughs Corporation, Unisys[edit]
  • Burroughs MCP

Control Data Corporation

  • Chippewa Operating System (COS)
    • MACE (Mansfield and Cahlander Executive)
      • Kronos (Kronographic OS)
      • NOS (Network Operating System)
        • NOS/BE NOS Batch Environment
        • NOS/VE NOS Virtual Environment
    • SCOPE (Supervisory Control Of Program Execution)
    • SIPROS (for Simultaneous Processing Operating System)
  • EP/IX (Enhanced Performance Unix)

Convergent Technologies

  • Convergent Technologies Operating System (later acquired by Unisys)

Data General

  • AOS for 16-bit Data General Eclipse computers and AOS/VS for 32-bit (MV series) Eclipses, MP/AOS for microNOVA-based computers
  • DG/UX
  • RDOS Real-time Disk Operating System, with variants: RTOS and DOS (not related to PC DOS, MS-DOS etc.)


  • CTOS Z-80 based, Cassette Tape Operating System for early desktop systems. Capable of up to 8 simultaneous users. Replaced by DataPoint DOS.
  • DOS Intel 808x/80×86-based, Disk Operating Systems for desktop systems. Capable of up to 32 users per node. Supported a sophisticated network of nodes that were often purpose-built. The name DOS was used in these products login screens before it was popularized by IBM, Microsoft and others.

DDC-I, Inc.

  • Deos Time & Space Partitioned RTOS, Certified to DO-178B, Level A since 1998
  • HeartOS Posix-based Hard Real-Time Operating System

Digital Research, Inc.

  • CP/M
    • CP/M CP/M for Intel 8080/8085 and Zilog Z80
      • Personal CP/M, a refinement of
      • CP/M
    • CP/M Plus with BDOS 3.0
    • CP/M-68K CP/M for Motorola 68000
    • CP/M-8000 CP/M for Zilog Z8000
      • CP/M-86 CP/M for Intel 8088/8086CP/M-86 Plus
      • Personal CP/M-86
    • MP/M Multi-user version of CP/M-80MP/M II
    • MP/M-86 Multi-user version of CP/M-86
      • MP/M 8-16, a dual-processor variant of MP/M for 8086 and 8080 CPUs.
    • Concurrent CP/M, the successor of CP/M-80 and MP/M-80
    • Concurrent CP/M-86, the successor of CP/M-86 and MP/M-86
      • Concurrent CP/M 8-16, a dual-processor variant of Concurrent CP/M for 8086 and 8080 CPUs.
    • Concurrent CP/M-68K, a variant for the 68000
  • DOS
    • Concurrent DOS, the successor of Concurrent CP/M-86 with PC-MODEConcurrent PC DOS, a Concurrent DOS variant for IBM compatible PCs
      Concurrent DOS 8-16, a dual-processor variant of Concurrent DOS for 8086 and 8080 CPUs

      • Concurrent DOS 286
      • Concurrent DOS XM, a real-mode variant of Concurrent DOS with EEMS support
      • Concurrent DOS 386Concurrent DOS 386/MGE, a Concurrent DOS 386 variant with advanced graphics terminal capabilities
    • Concurrent DOS 68K, a port of Concurrent DOS to Motorola 68000 CPUs with DOS source code portability capabilities
    • FlexOS 1.0 – 2.34, a derivative of Concurrent DOS 286
      • FlexOS 186, a variant of FlexOS for terminals
      • FlexOS 286, a variant of FlexOS for hosts
        • Siemens S5-DOS/MT, an industrial control system based on FlexOS
        • IBM 4680 OS, a POS operating system based on FlexOS
        • IBM 4690 OS, a POS operating system based on FlexOSToshiba 4690 OS, a POS operating system based on IBM 4690 OS and FlexOS
      • FlexOS 386, a later variant of FlexOS for hosts
        • IBM 4690 OS, a POS operating system based on FlexOS
          • Toshiba 4690 OS, a POS operating system based on IBM 4690 OS and FlexOS
      • FlexOS 68K, a derivative of Concurrent DOS 68K
    • Multiuser DOS, the successor of Concurrent DOS 386
      • CCI Multiuser DOS
      • Datapac Multiuser DOS
        • Datapac System Manager, a derivative of Datapac Multiuser DOS
    • IMS Multiuser DOS
      • IMS REAL/32, a derivative of Multiuser DOS
      • IMS REAL/NG, the successor of REAL/32
    • DOS Plus 1.1 – 2.1, a single-user, multi-tasking system derived from Concurrent DOS 4.1 – 5.0
    • DR-DOS 3.31 – 6.0, a single-user, single-tasking native DOS derived from Concurrent DOS 6.0Novell PalmDOS 1.0
      • Novell “Star Trek”
      • Novell DOS 7, a single-user, multi-tasking system derived from DR DOS
      • Caldera OpenDOS 7.01
      • Caldera DR-DOS 7.02 and higher

Digital Equipment Corporation, Tandem Computers, Compaq, Hewlett-Packard

  • Batch-11/DOS-11
  • Domain/OS (originally Aegis, from Apollo Computer who were bought by HP)
  • Multi-Programming Executive (from HP)
  • NonStop
  • OS/8
  • RSTS/E (multi-user time-sharing OS for PDP-11s)
  • RSX-11 (multiuser, multitasking OS for PDP-11s)
  • RT-11 (single user OS for PDP-11)
  • TOPS-10 (for the PDP-10)
  • TENEX (an ancestor of TOPS-20 from BBN, for the PDP-10)
  • TOPS-20 (for the PDP-10)
  • Digital UNIX (derived from OSF/1, became HP’s Tru64 UNIX)
  • Ultrix
  • VMS (originally by DEC and HP now by VMS Software Inc.) for the VAX mini-computer range, Alpha and Intel Itanium i2 and i4; later renamed OpenVMS)
  • WAITS (for the PDP-6 and PDP-10)


  • OSE Flexible, small footprint, high-performance RTOS for control processors


  • Towns OS

General Electric

  • Real-Time Multiprogramming Operating System


  • Chrome OS is designed to work exclusively with web applications. Announced on July 7, 2009, Chrome OS is currently publicly available and was released summer 2011. The Chrome OS source code was released on November 19, 2009, under the BSD license as Chromium OS.
    • Chromium OS is an open source operating system development version of Chrome OS. Both operating systems are based on the Linux kernel.
  • Android is an operating system for mobile devices. It consists of Android Runtime (userland) with Linux (kernel), with its Linux kernel modified to add drivers for mobile device hardware and to remove unused Vanilla Linux drivers.

Green Hills Software

  • INTEGRITY Reliable Operating system
  • INTEGRITY-178B A DO-178B certified version of INTEGRITY.
  • µ-velOSity A lightweight microkernel.

Heathkit, Zenith Data Systems

  • HDOS; ran on the H8 and Heath/Zenith Z-89 series
  • HT-11 (a modified version of RT-11) ran on the Heathkit H11


  • HP Multi-Programming Executive (MPE, MPE/XL, and MPE/iX) runs on HP 3000 and HP e3000 mini-computers
  • HP-UX; runs on HP9000 and Itanium servers – from small to mainframe-class computers
  • NonStop OS; runs on HP’s NonStop line of Itanium servers


  • Multics
  • GCOS
  • CP-6

Intel Corporation

  • iRMX; real-time operating system originally created to support the Intel 8080 and 8086 processor families in embedded applications.
  • ISIS, ISIS-II; “Intel Systems Implementation Supervisor” was an environment for development of software within the Intel microprocessor family in the early 1980s on their Intellec Microcomputer Development System and clones. ISIS-II worked with 8 inch floppy disks and had an editor, cross-assemblers, a linker, an object locator, debugger, compilers for PL/M, a BASIC interpreter, etc. and allowed file management through a console.


On early Mainframes: 1400, 1800, 701, 704, 709, 7090, 7094

  • BESYS (for the IBM 7090)
  • CTSS (The Compatible Time-Sharing System, developed at MIT’s Computation Center for use on a modified IBM 7094)
  • GM OS & GM-NAA I/O (for the IBM 704)
  • IBSYS (tape based operating system for IBM 7090 and IBM 7094)
  • IJMON (A bootable serial I/O monitor for loading programs for IBM 1400 and IBM 1800)
  • SOS (SHARE Operating System, for the IBM 704 and 709)
  • UMES (University of Michigan Executive System, for the IBM 704, 709, and 7090)

On S/360, S/370, and Successor Mainframes

  • OS/360 and successors on IBM S/360, S/370, and successor mainframes
    • OS/360 (first official OS targeted for the System/360 architecture), Saw customer installations of the following variations:
      • PCP (Primary Control Program, a kernel and a ground breaking automatic space allocating file system)
      • MFT (original Multi-programming with a Fixed number of Tasks, replaced by MFT II)
      • MFT II (Multi-Programming with a Fixed number of Tasks, had up to 15 fixed size application partitions, plus partitions for system tasks, initially defined at boot time but redefinable by operator command)
      • MVT (Multi-Programming Variable Tasks, had up to 15 application regions defined dynamically, plus additional regions for system tasks)
    • OS/VS (port of OS/360 targeted for the System/370 virtual memory architecture, “OS/370” is not correct name for OS/VS1 and OS/VS2, but rather refers to OS/VS2 MVS and MVS/SP Version 1),Customer installations in the following variations:
      • SVS (Single Virtual Storage, both VS1 & VS2 began as SVS systems)
      • OS/VS1 (Operating System/Virtual Storage 1, Virtual-memory version of MFT II)
      • OS/VS2 (Operating System/Virtual Storage 2, Virtual-memory version of OS/MVT but without multiprocessing support)OS/VS2 R2 (called Multiple Virtual Storage, MVS, eliminated most need for VS1)
    • MVS/SE (MVS System Extensions)
    • MVS/SP (MVS System Product)
    • MVS/XA (MVS/SP V2. MVS supported eXtended Architecture, 31-bit addressing)
    • MVS/ESA (MVS supported Enterprise System Architecture, horizontal addressing extensions: data only address spaces called Dataspaces; a Unix environment was available starting with MVS/ESA V4R3)
    • OS/390 (Upgrade from MVS, with an additional Unix environment)
    • z/OS (OS/390 supported z/Architecture, 64-bit addressing)
  • DOS/360 and successors on IBM S/360, S/370, and successor mainframes
    • BOS/360 (early interim version of DOS/360, briefly available at a few Alpha & Beta System/360 sites)
    • TOS/360 (similar to BOS above and more fleeting, able to boot and run from 2×00 series tape drives)
    • DOS/360 (Disk Operating System (DOS), multi-programming system with up to 3 partitions, first commonly available OS for System/360)DOS/360/RJE (DOS/360 with a control program extension that provided for the monitoring of remote job entry hardware (card reader & printer) connected by dedicated phone lines)
    • DOS/VS (First DOS offered on System/370 systems, provided virtual storage)
    • DOS/VSE (also known as VSE, upgrade of DOS/VS, up to 14 fixed size processing partitions )
    • VSE/SP (program product replacing DOS/VSE and VSE/AF)
    • VSE/ESA (DOS/VSE extended virtual memory support to 32-bit addresses (Extended System Architecture)).
    • z/VSE (latest version of the four decades old DOS lineage, supports 64-bit addresses, multiprocessing, multiprogramming, SNA, TCP/IP, and some virtual machine features in support of Linux workloads)
  • CP/CMS (Control Program/Cambridge Monitor System) and successors on IBM S/360, S/370, and successor mainframes
    • CP-40/CMS (for System/360 Model 40)
    • CP-67/CMS (for System/360 Model 67)
    • VM/370 (Virtual Machine / Conversational Monitor System, virtual memory operating system for System/370)
    • VM/XA (VM/eXtended Architecture for System/370 with extended virtual memory)
    • VM/ESA (Virtual Machine / Extended System Architecture, added 31-bit addressing to VM series)
    • z/VM (z/Architecture version of the VM OS with 64-bit addressing)
  • TPF Line (Transaction Processing Facility) on IBM S/360, S/370, and successor mainframes (largely used by airlines)
    • ACP (Airline Control Program)
    • TPF (Transaction Processing Facility)
    • z/TPF (z/Architecture extension)
  • Unix-like on IBM S/360, S/370, and successor mainframesAIX/370 (IBM’s Advanced Interactive eXecutive, a System V Unix version)
    • AIX/ESA (IBM’s Advanced Interactive eXecutive, a System V Unix version)
    • OpenSolaris for IBM System z
    • UTS (developed by Amdahl)
    • z/Linux
  • Others on IBM S/360, S/370, and successor mainframes:BOS/360 (Basic Operating System)
    • MTS (Michigan Terminal System, developed by a group of universities in the US, Canada, and the UK for the IBM System/360 Model 67, System/370 series, and compatible mainframes)
    • RTOS/360 (IBM’s Real Time Operating System, ran on 5 NASA custom System/360-75s)[3]
    • TOS/360 (Tape Operating System)
    • TSS/360 (IBM’s Time Sharing System)
    • MUSIC/SP (developed by McGill University for IBM System/370)
    • ORVYL and WYLBUR (developed by Stanford University for IBM System/360)

On PC and Intel x86 based Architectures

    • PC DOS 1.x, 2.x, 3.x (developed jointly with Microsoft)
    • IBM DOS 4.x, 5.0 (developed jointly with Microsoft)
    • PC DOS 6.1, 6.3, 7, 2000, 7.10OS/2OS/2 1.x (developed jointly with Microsoft)
  • OS/2 2.x
    • OS/2 Warp 3 (ported to PPC via Workplace OS)
    • OS/2 Warp 4
    • eComStation (Warp 4.5/Workspace on Demand, rebundled by Serenity Systems International)
  • IBM 4680 OS version 1 to 4, a POS operating system based on Digital Research’s Concurrent DOS 286 and FlexOS 286 1.xx
    • IBM 4690 OS version 1 to 6.3, a successor to 4680 OS based on Novell’s FlexOS 286/FlexOS 386 2.3x
      • Toshiba 4690 OS version 6.4, a successor to 4690 OS 6.3

On other hardware platforms

  • IBM Series/1
    • EDX (Event Driven Executive)
    • RPS (Realtime Programming System)
    • CPS (Control Programming Support, subset of RPS)
    • SerIX (Unix on Series/1)
  • IBM 1130
    • DMS (Disk Monitor System)
  • IBM 1800
    • TSX (Time Sharing eXecutive)
    • MPX (Multi Programming eXecutive)
  • IBM 8100
    • DPCX (Distributed Processing Control eXecutive)
    • DPPX (Distributed Processing Programming Executive)
  • IBM System/3
    • DMS (Disk Management System)
  • IBM System/34, IBM System/36
    • SSP (System Support Program)
  • IBM System/38
    • CPF (Control Program Facility)
  • IBM System/88
    • Stratus VOS (developed by Stratus, and used for IBM System/88, Original equipment manufacturer from Stratus)
  • AS/400, iSeries, System i, Power Systems i Edition
    • OS/400 (descendant of System/38 CPF, include System/36 SSP environment)
    • i5/OS (extends OS/400 with significant interoperability features)
    • IBM i (extends i5/OS)
    • AIX (Advanced Interactive eXecutive, a System V Unix version)
    • AOS (a BSD Unix version, not related to Data General AOS)
  • Others
    • Workplace OS (a Microkernel based operating system including OS/2, developed and canceled in the 1990s)
    • K42 (open-source research operating system on PowerPC or x86 based cache-coherent multiprocessor systems)
    • Dynix (developed by Sequent, and used for IBM NUMA-Q too)

International Computers Limited[edit]

  • J and MultiJob for the System 4 series mainframes
  • GEORGE 2/3/4 GEneral ORGanisational Environment, used by ICL 1900 series mainframes
  • Executive, used on the 1900 and 290x range of minicomputers. A modified version of Executive was also used as part of GEORGE 3 and 4.
  • TME, used on the ME29 minicomputer
  • ICL VME, including early variants VME/B and VME/2900, appearing on the ICL 2900 Series and Series 39 mainframes, implemented in S3
  • VME/K on early smaller 2900s


  • Remix OS

Lynx Real-time Systems, LynuxWorks, Lynx Software Technologies

  • LynxOS

Micrium Inc.

  • MicroC/OS-II (small pre-emptive priority based multi-tasking kernel)
  • MicroC/OS-III (small pre-emptive priority based multi-tasking kernel, with unlimited number of tasks and priorities, and round robin scheduling)

Microsoft Corporation

  • Xenix (licensed version of Unix; licensed to SCO in 1987)
  • MSX-DOS (developed by MS Japan for the MSX 8-bit computer)
  • MS-DOS (developed jointly with IBM, versions 1.0–6.22)
  • Windows (16-bit and 32-bit preemptive and cooperative multitasking, running atop
    • MS-DOS)Windows 1.0 (Windows 1)
    • Windows 2.0 (Windows 2 – separate version for i386 processor)
    • Windows 3.0 (Windows 3)
    • Windows 3.1x (Windows 3.1)
    • Windows for Workgroups 3.1 (Codename Snowball)
    • Windows 3.2 (Chinese-only release)
    • Windows for Workgroups 3.11
    • Windows 95 (codename Chicago – Windows 4.0)
    • Windows 98 (codename Memphis – Windows 4.1)
    • Windows Millennium Edition (Windows ME – Windows 4.9)
  • Windows NT (Full 32-bit or 64-bit kernel, not dependent on MS-DOS)Windows NT 3.1
    • Windows NT 3.5
    • Windows NT 3.51
    • Windows NT 4.0
    • Windows 2000 (Windows NT 5.0)
    • Windows XP (Windows NT 5.1)
    • Windows Server 2003 (Windows NT 5.2)
    • Windows Fundamentals for Legacy PCs (based on Windows XP)
    • Windows Vista (Windows NT 6.0)
    • Windows Azure (Cloud OS Platform) 2009
    • Windows Home Server (based on Windows Server 2003)
    • Windows Server 2008 (based on Windows Vista)
    • Windows 7 (Windows NT 6.1)
    • Windows Server 2008 R2 (based on Windows 7)
    • Windows Home Server 2011 (based on Windows Server 2008 R2)
    • Windows Server 2012 (based on Windows 8)
    • Windows 8 (Windows NT 6.2)
    • Windows Phone 8
    • Windows 8.1 (Windows NT 6.3)
    • Windows Server 2012 R2 (based on Windows 8.1)
    • Xbox One system software
    • Windows Phone 8.1
    • Windows 10 (Windows NT 10.0)
    • Windows 10 Mobile
    • Windows Server 2016
  • Windows CE (OS for handhelds, embedded devices, and real-time applications that is similar to other versions of Windows)Windows CE 3.0
    • Windows CE 5.0
    • Windows CE 6.0
    • Windows Mobile (based on Windows CE, but for a smaller form factor)
    • Windows Phone 7
  • Singularity – A research operating system written mostly in managed code (C#)
  • Midori – A managed code operating system
  • Xbox 360 system software
  • Xbox One system software
  • MontaVista[edit]
  • MontaVista Mobilinux

NCR Corporation

  • TMX – Transaction Management eXecutive
  • IMOS – Interactive Multiprogramming Operating System (circa 1978), for the NCR
  • Century 8200 series minicomputers
  • VRX – Virtual Resource eXecutive


  • es is a computer operating system developed originally by Nintendo and since 2008 by Esrille. It is open source and runs natively on x86 platforms.


  • NetWare network operating system providing high-performance network services. Has been superseded by Open Enterprise Server line, which can be based on NetWare or Linux to provide the same set of services.
  • UnixWareNovell “SuperNOS”, a never released merge of NetWare and UnixWare
    Novell “Corsair”Novell “Exposé”
  • Open Enterprise Server, the successor to NetWare.

Quadros Systems

  • RTXC Quadros RTOS proprietary C-based RTOS used in embedded systems


  • TSOS, first OS supporting virtual addressing of the main storage and support for both timeshare and batch interface


  • DSPnano RTOS 8/16 Bit Ultra Tiny Embedded Linux Compatible RTOS
  • Unison RTOS 32 Bit Open Standards, Linux Compatible, Ultra Tiny Size, Modularity, POSIX-compliant RTOS that supports a variety of wireless modules and provides a complete set of security protocols

Samsung Electronics

  • Bada
  • Tizen

SCO, SCO Group

  • Xenix, Unix System III based distribution for the Intel 8086/8088 architecture
    • Xenix 286, Unix System V Release 2 based distribution for the Intel 80286 architecture
    • Xenix 386, Unix System V Release 2 based distribution for the Intel 80386 architecture
  • SCO Unix, SCO UNIX System V/386 was the first volume commercial product licensed by AT&T to use the UNIX System trademark (1989). Derived from AT&T System V Release 3.2 with an infusion of Xenix device drivers and utilities plus most of the SVR4 features
    • SCO Open Desktop, the first 32-bit graphical user interface for UNIX Systems running on Intel processor-based computers. Based on SCO Unix
  • SCO OpenServer 5, AT&T UNIX System V Release 3 based
  • SCO OpenServer 6, SVR5 (UnixWare 7) based kernel with SCO OpenServer 5 application and binary compatibility, system administration, and user environments
  • UnixWare
    • UnixWare 2.x, based on AT&T System V Release 4.2MP
    • UnixWare 7, UnixWare 2 kernel plus parts of 3.2v5 (UnixWare 2 + OpenServer 5 =UnixWare 7). Referred to by SCO as SVR5

Scientific Data Systems (SDS)

  • Berkeley Timesharing System for the SDS 940

Sciopta Systems GmbH

  • SCIOPTA Pre-emptive, priority-based real-time kernel (IEC61508 certified)


  • PikeOS is a certified real time operating system for safety and security critical embedded systems

Tandy Corporation

  • TRSDOS; A floppy-disk-oriented OS supplied by Tandy/Radio Shack for their TRS-80 Z80-based line of personal computers. Eventually renamed as LS-DOS or LDOS.
    Color BASIC; A ROM-based OS created by Microsoft for the TRS-80 Color Computer.
  • NewDos/80; A third-party OS for Tandy’s TRS-80 personal computers.
  • DeskMate; Operating system created by Tandy Corporation and introduced with the Tandy 1000 computer.

TCSC (later NCSC)

  • Edos – enhanced version of IBM’s DOS/360 (and later DOS/VS and DOS/VSE) operating system for System/360 and System/370 IBM mainframes

Texas Instruments

  • TI-RTOS Kernel; Real-time operating system for TI’s embedded devices.

TRON Project

  • TRON (open real-time operating system kernel)
  • T-Kernel


  • Unisys MCP
  • Unisys OS 2200 operating system

UNIVAC, Unisys

  • EXEC I
  • EXEC 8 Ran on 1100 series.
  • VS/9, successor to RCA TSOS

Wang Laboratories

  • WPS Wang Word Processing System. Micro-code based system.
  • OIS Wang Office Information System. Successor to the WPS. Combined the WPS and VP/MVP systems.
  • Wang VS Operating System (VSOS) – used on the VS line of minicomputer systems.


  • WICAT Multiuser Computer System (WMCS). MC-68K multiuser O/S for their proprietary microcomputers, used mainly for CBT systems

Wind River Systems

  • VxWorks Small footprint, scalable, high-performance RTOS for embedded microprocessor based systems.



  • Lisp Machines, Inc. (also known as LMI) used an operating system written in MIT’s Lisp Machine Lisp.
  • Symbolics Genera written in a systems dialect of the Lisp programming language called ZetaLisp and Symbolics Common Lisp. Genera was ported to a virtual machine for the DEC Alpha line of computers.
  • Texas Instruments’ Explorer Lisp machine workstations also had systems code written in Lisp Machine Lisp.
  • Xerox 1100 series of Lisp machines used an operating system also written in Interlisp, and was also ported to a virtual machine called “Medley.”
  • PilOS Stand alone operating system. It is a full blown 64-bit PicoLisp runs directly on a standard x86-64 PC hardware.

Non-standard Language-based

Pilot operating system (used in Xerox Star workstations) was written in the Mesa programming language.
PERQ Operating System (POS) was written in PERQ Pascal.

Other Proprietary Non-Unix-like

  • Эльбрус-1 (Elbrus-1) and Эльбрус-2 used for application, job control, system programming,[6] implemented in uЭль-76 (AL-76).
  • EOS; developed by ETA Systems for use in their ETA-10 line of supercomputers
  • EMBOS; developed by Elxsi for use on their mini-supercomputers
  • GCOS is a proprietary Operating System originally developed by General Electric
  • MAI Basic Four; An OS implementing Business Basic from MAI Systems.
  • Michigan Terminal System; Developed by a group of universities in the US, Canada, and the UK for use on the IBM System/360 Model 67, the System/370 series, and compatible mainframes
  • MUSIC/SP; an operating system developed for the S/370, running normally under
  • VM
  • OS ES; an operating system for ES EVM
  • PC-MOS/386; DOS-like, but multiuser/multitasking
  • Prolog-Dispatcher; used to control Soviet Buran space ship.
  • SINTRAN III; an operating system used with Norsk Data computers.
  • SkyOS; commercial desktop OS for PCs
  • TSX-32; a 32-bit operating system for x86 platform.
  • TX990/TXDS, DX10 and DNOS; proprietary operating systems for TI-990 minicomputers

Other Proprietary Unix-like and POSIX-compliant

  • Aegis (Apollo Computer)
  • Amiga Unix (Amiga ports of Unix System V release 3.2 with Amiga A2500UX and SVR4 with Amiga A3000UX. Started in 1990, last version was in 1992)
  • Coherent (Unix-like OS from Mark Williams Co. for PC class computers)
  • DC/OSx (DataCenter/OSx—an operating system developed by Pyramid Technology for its MIPS-based systems)
  • DG/UX (Data General Corp)
  • DNIX from DIAB
  • DSPnano RTOS (POSIX nanokernel, DSP Optimized, Open Source)
  • HeliOS developed and sold by Perihelion Software mainly for transputer based systems
  • Interactive Unix (a port of the UNIX System V operating system for Intel x86 by Interactive Systems Corporation)
  • IRIX from SGI
  • MeikOS
  • NeXTSTEP (developed by NeXT; a Unix-based OS based on the Mach microkernel)
    OS-9 Unix-like RTOS. (OS from Microware for Motorola 6809 based microcomputers)
  • OS9/68K Unix-like RTOS. (OS from Microware for Motorola 680×0 based microcomputers; based on OS-9)
  • OS-9000 Unix-like RTOS. (OS from Microware for Intel x86 based microcomputers; based on OS-9, written in C)
  • OSF/1 (developed into a commercial offering by Digital Equipment Corporation)
  • QNX (POSIX, microkernel OS; usually a real time embedded OS)
  • Rhapsody (an early form of Mac OS X)
  • RISC iX – derived from BSD 4.3, by Acorn computers, for their ARM family of machines
  • RISC/os (a port by MIPS Technologies of 4.3BSD for its MIPS-based computers)
  • RMX
  • SCO UNIX (from SCO, bought by Caldera who renamed themselves SCO Group)
  • SINIX (a port by SNI of Unix to the MIPS architecture)
  • Solaris (from Sun, bought by Oracle; a System V-based replacement for SunOS)
  • SunOS (BSD-based Unix system used on early Sun hardware)
  • SUPER-UX (a port of System V Release 4.2MP with features adopted from BSD and Linux for NEC SX architecture supercomputers)
  • System V (a release of AT&T Unix, ‘SVR4’ was the 4th minor release)
  • System V/AT, 386 (The first version of AT&T System V UNIX on the IBM 286 and 386 PCs, ported and sold by Microport)
  • Trusted Solaris (Solaris with kernel and other enhancements to support multilevel security)
  • UniFLEX (Unix-like OS from TSC for DMA-capable, extended addresses, Motorola 6809 based computers; e.g. SWTPC, GIMIX and others)
  • Unicos (the version of Unix designed for Cray Supercomputers, mainly geared to vector calculations)
  • UTX-32 (Developed by Gould CSD (Computer System Division), a Unix-based OS that included both BSD and System V characteristics. It was one of the first Unix based systems to receive NSA’s C2 security level certification.)
  • Zenix, Zenith corporations Unix (a popular USA electronics maker at the time)



Research and other POSIX-compliant

  • MINIX (study OS developed by Andrew S. Tanenbaum in the Netherlands)
  • Plan 9 from Bell Labs (distributed OS developed at Bell Labs, based on original Unix design principles yet functionally different and going much further)Inferno (distributed OS derived from Plan 9, originally from Bell Labs)
    Plan B (distributed OS derived from Plan 9 and Off++ microkernel)
  • Unix (OS developed at Bell Labs ca 1970 initially by Ken Thompson)
  • Xinu (Study OS developed by Douglas E. Comer in the United States)

Free and Open Source

  • BSD (Berkeley Software Distribution, a variant of Unix for DEC VAX hardware)
    • FreeBSD (one of the outgrowths of UC Regents’ abandonment of CSRG’s ‘BSD Unix’)
      • DragonFlyBSD, forked from FreeBSD 4.8
    • MidnightBSD, forked from FreeBSD 6.1
    • Darwin, created by Apple using FreeBSD and NeXTSTEP
    • GhostBSD
    • TrueOS (previously known as PC-BSD)
  • NetBSD (an embedded device BSD variant)
    • OpenBSD forked from
      • NetBSDBitrig forked from OpenBSD
  • GNU Hurd
  • GNU Linux (or simply Linux)
  • Android x86
  • Cray Linux Environment
  • illumos, contains original Unix (SVR4) code derived from the OpenSolaris (discontinued by Oracle in favor of Solaris 11
    • Express)OpenIndiana, operates under the illumos Foundation. Uses the illumos kernel, which is a derivative of OS/Net, which is basically an OpenSolaris/Solaris kernel with the bulk of the drivers, core libraries, and basic utilities.
    • Nexenta OS, based on the illumos kernel with Ubuntu packages
    • SmartOS, an illumos distribution for cloud computing with Kernel-based Virtual Machine integration.
  • RTEMS (Real-Time Executive for Multiprocessor Systems)
  • Haiku (open source inspired by BeOS, under development)
  • Syllable Desktop
  • Univention Corporate Server
  • VSTa
    • FMI/OS, successor of VSTa


  • Plurix
  • TUNIS (University of Toronto)



  • Amoeba (research OS by Andrew S. Tanenbaum)
  • Croquet
  • EROS microkernel, capability-based
    • CapROS microkernel EROS successor.
    • Coyotos microkernel EROS successor, goal: be first formally verified OS.
  • HelenOS research and experimental operating system
  • House – Haskell User’s Operating System and Environment, research OS written in Haskell and C
  • ILIOS Research OS designed for routing
  • L4 second generation microkernel
  • Mach (from OS kernel research at Carnegie Mellon University; see NeXTSTEP)
  • Nemesis Cambridge University research OS – detailed quality of service abilities
    Spring (research OS from Sun Microsystems)
  • THE multiprogramming system by Dijkstra in 1968, at the Eindhoven University of Technology in the Netherlands, introduced the first form of software-based memory segmentation, freeing programmers from being forced to use actual physical locations
  • V from Stanford, early 1980s

Free and Open Source

  • Cosmos (written in C#)
  • FreeDOS (open source DOS variant)
  • Ghost OS (written in Assembly, C/C++)
  • ITS written by MIT students (for the PDP-6 and PDP-10) (written in MIDAS)
    osFree OS/2 Warp open source clone.
  • OSv (written in C++)
  • Phantom OS (persistent object oriented)
  • ReactOS, open source OS designed to be binary compatible with Windows NT and its variants (Windows XP, Windows 2000, etc.); currently in development phase
  • SharpOS (written in .NET C#)
  • TempleOS (written in HolyC)
  • Redox OS (written in Rust)

Disk Operating Systems (DOS)

  • 86-DOS (developed at Seattle Computer Products by Tim Paterson for the new Intel
  • 808x CPUs; licensed to Microsoft, became PC DOS/MS-DOS. Also known by its working title QDOS.)
    • PC DOS (IBM’s DOS variant, developed jointly with Microsoft, versions 1.0–7.0, 2000, 7.10)
    • MS-DOS (Microsoft’s DOS variant for OEM, developed jointly with IBM, versions 1.x–6.22 Microsoft’s now abandoned DOS variant)
  • Concurrent CP/M-86 3.1 (BDOS 3.1) with PC-MODE (Digital Research’s successor of CP/M-86 and MP/M-86)Concurrent DOS 3.1-4.1 (BDOS 3.1-4.1)
    • Concurrent PC DOS 3.2 (BDOS 3.2) (Concurrent DOS variant for IBM compatible PCs)
      • DOS Plus 1.1, 1.2 (BDOS 4.1), 2.1 (BDOS 5.0) (single-user, multi-tasking system derived from Concurrent DOS 4.1-5.0)
    • Concurrent DOS 8-16 (dual-processor variant of Concurrent DOS for 8086 and 8080 CPUs)
    • Concurrent DOS 286 1.x
      • FlexOS 1.00-2.34 (derivative of Concurrent DOS 286)FlexOS 186 (variant of FlexOS for terminals)
      • FlexOS 286 (variant of FlexOS for hosts)
        • Siemens S5-DOS/MT (industrial control system based on FlexOS)
      • IBM 4680 OS (POS operating system based on FlexOS)
      • IBM 4690 OS (POS operating system based on FlexOS)Toshiba 4690 OS (POS operating system based on IBM 4690 OS and FlexOS)
    • FlexOS 386 (later variant of FlexOS for hosts)
      • IBM 4690 OS (POS operating system based on FlexOS)
        • Toshiba 4690 OS (POS operating system based on IBM 4690 OS and FlexOS)
    • Concurrent DOS 386 1.0, 1.1, 2.0, 3.0 (BDOS 5.0-6.2)
      • Concurrent DOS 386/MGE (Concurrent DOS 386 variant with advanced graphics terminal capabilities)
      • Multiuser DOS 5.0, 5.01, 5.1 (BDOS 6.3-6.6) (successor of Concurrent DOS 386)
        • CCI Multiuser DOS 5.0-7.22 (up to BDOS 6.6)
          • Datapac Multiuser DOSDatapac System Manager 7 (derivative of Datapac Multiuser DOS)
    • IMS Multiuser DOS 5.1, 7.0, 7.1 (BDOS 6.6-6.7)
      • IMS REAL/32 7.50, 7.51, 7.52, 7.53, 7.54, 7.60, 7.61, 7.62, 7.63, 7.70, 7.71, 7.72, 7.73, 7.74, 7.80, 7.81, 7.82, 7.83, 7.90, 7.91, 7.92, 7.93, 7.94, 7.95 (BDOS 6.8 and higher) (derivative of Multiuser DOS)
        • IMS REAL/NG (successor of REAL/32)
    • Concurrent DOS XM 5.0, 5.2, 6.0, 6.2 (BDOS 5.0-6.2) (real-mode variant of Concurrent DOS with EEMS support)
      • DR DOS 3.31, 3.32, 3.33, 3.34, 3.35, 5.0, 6.0 (BDOS 6.0-7.1) single-user, single-tasking native DOS derived from Concurrent DOS 6.0)
        • Novell PalmDOS 1 (BDOS 7.0)
        • Novell DR DOS “StarTrek”
        • Novell DOS 7 (single-user, multi-tasking system derived from DR DOS, BDOS 7.2)
          • Novell DOS 7 updates 1-10 (BDOS 7.2)
            • Caldera OpenDOS 7.01 (BDOS 7.2)
              • Enhanced DR-DOS 7.01.0x (BDOS 7.2)
                • Dell Real Mode Kernel (DRMK)
    • Novell DOS 7 updates 11-15.2 (BDOS 7.2)
      • Caldera DR-DOS 7.02-7.03 (BDOS 7.3)
        • DR-DOS “WinBolt”
        • OEM DR-DOS 7.04-7.05 (BDOS 7.3)
        • OEM DR-DOS 7.06 (PQDOS)
        • OEM DR-DOS 7.07 (BDOS 7.4/7.7)
  • FreeDOS (open source DOS variant)
  • ProDOS (operating system for the Apple II series computers)
  • PTS-DOS (DOS variant by Russian company Phystechsoft)
  • TurboDOS (Software 2000, Inc.) for Z80 and Intel 8086 processor-based systems
  • Multi-tasking user interfaces and environments for DOS
    • DESQview + QEMM 386 multi-tasking user interface for DOS
    • DESQView/X (X-windowing GUI for DOS)

Network Operating Systems

  • Banyan VINES (Banyan Systems)
  • Cambridge Ring
  • Cisco IOS by Cisco Systems
  • CTOS (Convergent Technologies, later acquired by Unisys)
  • Data ONTAP by NetApp
  • Enterprise OS by McDATA
  • ExtremeWare by Extreme Networks
  • ExtremeXOS by Extreme Networks
  • Fabric OS by Brocade
  • JunOS by Juniper
  • NetWare (networking OS by Novell)
  • NOS (developed by CDC for use in their Cyber line of supercomputers)
  • Novell Open Enterprise Server (Open Source networking OS by Novell. Can incorporate either SUSE Linux or Novell NetWare as its kernel).
  • Plan 9 (distributed OS developed at Bell Labs, based on Unix design principles but not functionally identical)
    • Inferno (distributed OS derived from Plan 9, originally from Bell Labs)
    • Plan B (distributed OS derived from Plan 9 and Off++ microkernel)
  • SAN-OS by Cisco (now NX-OS)
  • TurboDOS (Software 2000, Inc.)

Generic, Commodity, and Other

  • Bluebottle also known as AOS (a concurrent and active object update to the Oberon operating system)
  • BS1000 by Siemens AG
  • BS2000 by Siemens AG, now BS2000/OSD from Fujitsu-Siemens
  • Computers (formerly Siemens Nixdorf Informationssysteme)
  • BS3000 by Siemens AG (functionally similar to OS-IV and MSP from Fujitsu)
  • FLEX9 (by TSC for Motorola 6809 based machines; successor to FLEX, which was for Motorola 6800 CPUs)
  • GEM (windowing GUI for CP/M, DOS, and Atari TOS)
  • GEOS (popular windowing GUI for PC, Commodore, Apple computers)
  • JNode (Java New Operating System Design Effort), written 99% in Java (native compiled), provides own JVM and JIT compiler. Based on GNU Classpath.
  • JX Java operating system that focuses on a flexible and robust operating system architecture developed as an open source system by the University of Erlangen.
  • KERNAL (default OS on Commodore 64)
  • MERLIN for the Corvus Concept
  • MorphOS (Amiga compatible)
  • MSP by Fujitsu (successor to OS-IV), now MSP/EX, also known as Extended System Architecture (EXA), for 31-bit mode
  • NetWare (networking OS by Novell)
  • Oberon (operating system) (developed at ETH-Zürich by Niklaus Wirth et al.) for the
  • Ceres and Chameleon workstation projects
  • OSD/XC by Fujitsu-Siemens (BS2000 ported to an emulation on a Sun SPARC platform)
  • OS-IV by Fujitsu (based on early versions of IBM’s MVS)
  • Pick (often licensed and renamed)
  • PRIMOS by Prime Computer (sometimes spelled PR1MOS and PR1ME)
  • Sinclair QDOS (multitasking for the Sinclair QL computer)
  • SSB-DOS (by TSC for Smoke Signal Broadcasting; a variant of FLEX in most respects)
  • SymbOS (GUI based multitasking operating system for Z80 computers)
  • Symobi (GUI based modern micro-kernel OS for x86, ARM and PowerPC processors, developed by Miray Software; used and developed further at Technical University of Munich)
  • TripOS, 1978
  • TurboDOS (Software 2000, Inc.)
  • UCSD p-System (portable complete programming environment/operating system/virtual machine developed by a long running student project at UCSD; directed by Prof Kenneth Bowles; written in Pascal)
  • VOS by Stratus Technologies with strong influence from Multics
  • VOS3 by Hitachi for its IBM-compatible mainframes, based on IBM’s MVS
  • VM2000 by Siemens AG
  • Visi On (first GUI for early PC machines; not commercially successful)
  • VPS/VM (IBM based, main operating system at Boston University for over 10 years.)

For Elektronika BK

  • KMON
  • MK-DOS


  • AROS (AROS Research Operating System, formerly known as Amiga Research Operating System)
  • AtheOS (branched to become Syllable Desktop)
  • Syllable Desktop (a modern, independently originated OS; see AtheOS)
  • BareMetal
  • DexOS – 32-bit operating system written in x86 assembly
  • DSPnano RTOS
  • EmuTOS
  • EROS (Extremely Reliable Operating System)
  • HelenOS, based on a preemptible microkernel design
  • LSE/OS
  • MenuetOS (extremely compact OS with GUI, written entirely in FASM assembly language)
  • KolibriOS (a fork of MenuetOS)
  • S-OS (a minimal DOS for Z80 machines)
  • ToaruOSPonyOS


Personal Digital Assistants (PDAs)

  • DIP DOS on Atari Portfolio
  • Embedded LinuxAndroid
  • Firefox OS
  • Ångström distribution
  • Familiar Linux
  • Mæmo based on Debian deployed on Nokia’s Nokia 770, N800 and N810 Internet Tablets.
  • MeeGo merger of Moblin and Maemo
  • OpenZaurus
  • webOS from Palm, Inc., later Hewlett-Packard via acquisition, and most recently at LG Electronics through acquisition from Hewlett-Packard[12]
  • Inferno (distributed OS originally from Bell Labs)
  • iOS
  • Magic Cap
  • MS-DOS on Poqet PC, HP 95LX, HP 100LX, HP 200LX, HP 1000CX, HP OmniGo 700LX
  • NetBSD
  • Newton OS on Apple MessagePad
  • Palm OS from Palm, Inc; now spun off as PalmSource
  • PEN/GEOS on HP OmniGo 100 and 120
  • PenPoint OS
  • Plan 9 from Bell Labs
  • PVOS
  • Symbian OSEPOC
  • Windows CE, from MicrosoftPocket PC from Microsoft, a variant of Windows CE
  • Windows Mobile from Microsoft, a variant of Windows CE
  • Windows Phone from Microsoft
  • Digital media players[edit]
  • DSPnano RTOS
  • iOS
  • iPod software
  • iPodLinux
  • iriver clix OS
  • RockBox

Mobile Phones and Smartphones

  • BlackBerry OS
  • Embedded LinuxAccess Linux Platform
    • Android
    • bada
    • Firefox OS (project name: Boot to Gecko)
    • Openmoko Linux
    • OPhone
    • MeeGo (from merger of Maemo & Moblin)
    • Mobilinux
    • MotoMagx
    • Qt Extended
    • Sailfish OS
    • Tizen (earlier called LiMo Platform)
    • Ubuntu Touch
    • webOS
  • iOS
  • Palm OS
  • Symbian platform (successor to Symbian OS)
  • Windows Mobile (superseded by Windows Phone)
  • BlackBerry 10


  • AlliedWare by Allied Telesis (a.k.a. Allied Telesyn)
  • AirOS by Ubiquiti Networks
  • CatOS by Cisco Systems
  • Cisco IOS (originally Internetwork Operating System) by Cisco Systems
  • DD-WRT by NewMedia-NET
  • Inferno (distributed OS originally from Bell Labs)
  • IOS-XR by Cisco Systems
  • IronWare by Foundry Networks
  • JunOS by Juniper Networks
  • LibreWRT GNU/Linux-libre
  • OpenWrt
  • RouterOS by Mikrotik
  • ScreenOS by Juniper Networks, originally from Netscreen
  • Timos by Alcatel-Lucent
  • FTOS by Force10 Networks
  • RTOS by Force10 Networks
  • List of wireless router firmware projects

Other embedded

  • Apache Mynewt
  • ChibiOS/RT
  • Contiki
  • ERIKA Enterprise
  • eCos
  • NetBSD
  • uClinux
  • NCOS
  • freeRTOS, openRTOS and safeRTOS
  • OpenEmbedded (or Yocto Project)
  • pSOS (Portable Software On Silicon)
  • QNX Unix-like real-time operating system, aimed primarily at the embedded systems market.
  • REX OS (microkernel OS; usually an embedded cell phone OS)
  • RIOT
  • TinyOS
  • ThreadX
  • DSPnano RTOS
  • Windows Embedded
    • Windows CE
    • Windows Embedded Standard
    • Windows Embedded Enterprise
    • Windows Embedded POSReady
  • Wind River VxWorks Small footprint, scalable, high-performance RTOS for
  • embedded microprocessor based systems.
  • Wombat OS (microkernel OS; usually a real time embedded OS)
  • Zephyr

LEGO Mindstorms

  • brickOS
  • leJOS


  • Cambridge CAP computer operating system demonstrated the use of security capabilities, both in hardware and software, also a useful fileserver, implemented in ALGOL 68C
  • Flex machine – Custom microprogrammable hardware, with an operating system, (modular) compiler, editor, * garbage collector and filing system all written in ALGOL 68.
  • HYDRA – Running on the C.mmp computer at Carnegie Mellon University, implemented in the programming language BLISS
  • KeyKOS nanokernel
    • EROS microkernelCapROS EROS successor
    • Coyotos EROS successor, goal: be first formally verified OS
  • V from Stanford, early 1980s


Comparison of Microsoft Windows Versions

From Wikipedia, the free encyclopedia

Microsoft Windows is the name of several families of computer software operating systems created by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs).

General information

Basic general information about Windows.

DOS shells

DOS shells

Windows 9x

Windows 9x

Windows NT

Windows NT

^N has also an N-edition
^K has also an N-edition
^KN has also an N-edition
^x64 has a separate x64-edition
^Core has also a Core-edition
^wHV has also an edition without HyperV
^CwHV has also a Core-edition without HyperV

Windows Embedded Compact

Windows Embedded Compact (Windows CE) is a variation of Microsoft’s Windows operating system for minimalistic computers and embedded systems. Windows CE is a distinctly different kernel, rather than a trimmed-down version of desktop Windows. It is supported on Intel x86 and compatibles, MIPS, ARM, and Hitachi SuperH processors.

Windows Embedded Compact

Windows Mobile

Windows Mobile is Microsoft’s discontinued line of operating systems for smartphones.

Windows Mobile

Windows Phone

As of 2013 Windows Phone is Microsoft’s active line of operating systems for smartphones.

Windows Phone

Technical Information

DOS Shells

DOS shells - TECH

Windows 9x

Windows 9x TECH

It is possible to install the MS-DOS variants 7.0 and 7.1 without the graphics user interface of Windows. If an independent installation of both, DOS and Windows is desired, DOS ought to be installed prior to Windows, at the start of a small partition. The system must be transferred by the (dangerous) “SYSTEM” DOS-command, while the other files constituting DOS can simply be copied (the files located in the DOS-root and the entire COMMAND directory). Such a stand-alone installation of MS-DOS 8 is not possible, as it’s designed to work as real mode for Windows Me and nothing else.

Windows NT

The Windows NT kernel powers all recent Windows operating systems. It runs on IA-32, x64 and Itanium processors.

Windows NT TECH

Windows Phone

Windows Phone TECH

Supported File Systems

Various versions of Windows support various file systems, including: FAT12, FAT16, FAT32, HPFS, or NTFS, along with network file systems shared from other computers, and the ISO 9660 and UDF file systems used for CDs, DVDs, and other optical discs such as Blu-ray. Each file system is usually limited in application to certain media, for example CDs must use ISO 9660 or UDF, and as of Windows Vista, NTFS is the only file system which the operating system can be installed on. Windows Embedded CE 6.0, Windows Vista Service Pack 1, and Windows Server 2008 onwards support exFAT, a file system more suitable for USB flash drives.

Windows 9x

Windows 9x SUPPORT

Windows NT


Windows Phone

Windows Phone SUPPORT

Hardware Requirements

Installing Windows requires an internal or external optical drive. A keyboard and mouse are the recommended input devices, though some versions support a touchscreen. For operating systems prior to Vista, the drive must be capable of reading CD media, while in Windows Vista onwards, the drive must be DVD-compatible. The drive may be detached after installing Windows.

Windows 9x

Windows 9x HW

Windows NT

Windows NT HW

Windows Phone

Windows Phone HW

Physical Memory Limits

Maximum limits on physical memory (RAM) that Windows can address vary depending on both the Windows version and between IA-32 and x64versions.[8][9]

  • Windows 9x[edit]
  • Windows 95: 480 MB[10]
  • Windows 98: 1 GB
  • Windows Me: 1.5 GB

Windows NT


Security Features

Security features







Microsoft Version Numbering

From Wikipedia, the free encyclopedia

Software Versioning


Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software. Within a given version number category (major, minor), these numbers are generally assigned in increasing order and correspond to new developments in the software. At a fine-grained level, revision control is often used for keeping track of incrementally different versions of information, whether or not this information is computer software.

Modern computer software is often tracked using two different software versioning schemes—internal version number that may be incremented many times in a single day, such as a revision control number, and a released version that typically changes far less often, such as semantic versioning or a project code name.

1 Schemes
1.1 Sequence-based identifiers
1.1.1 Change significance
1.1.2 Degree of compatibility
1.1.3 Designating development stage
1.1.4 Incrementing sequences
1.1.5 Separating sequences
1.1.6 Number of sequences
1.1.7 Using negative numbers
1.2 Date of release
1.3 Alphanumeric codes
1.4 TeX
1.5 Apple
1.6 Other schemes
2 Internal version numbers
3 Pre-release versions
4 Modifications to the numeric system
4.1 Odd-numbered versions for development releases
4.2 Apple
5 Political and cultural significance of version numbers
5.1 Version 1.0 as a milestone
5.2 To describe program history
5.3 Matching competitor’s numbers
5.4 Apple
6 Dropping the most significant element
6.1 Superstition
6.2 Geek culture
7 Overcoming perceived marketing difficulties
8 Significance in software engineering
9 Significance in technical support
10 Version numbers for files and documents
11 Version number ordering systems
12 Use in other media


A variety of version numbering schemes have been created to keep track of different versions of a piece of software. The ubiquity of computers has also led to these schemes being used in contexts outside computing.

Sequence-based Identifiers

In sequence-based software versioning schemes, each software release is assigned a unique identifier that consists of one or more sequences of numbers or letters. This is the extent of the commonality; however, schemes vary widely in areas such as the quantity of sequences, the attribution of meaning to individual sequences, and the means of incrementing the sequences.

Change Significance

In some schemes, sequence-based identifiers are used to convey the significance of changes between releases: changes are classified by significance level, and the decision of which sequence to change between releases is based on the significance of the changes from the previous release, whereby the first sequence is changed for the most significant changes, and changes to sequences after the first represent changes of decreasing significance.

For instance, in a scheme that uses a four-sequence identifier, the first sequence may be incremented only when the code is completely rewritten, while a change to the user interface or the documentation may only warrant a change to the fourth sequence.

This practice permits users (or potential adopters) to evaluate how much real-world testing a given software release has undergone. If changes are made between, say, 1.3rc4 (a release candidate) and the production release of 1.3, then that release, which asserts that it has had a production-grade level of testing in the real world, in fact contains changes which have not necessarily been tested in the real world at all. This approach commonly permits the third level of numbering (“change”), but does not apply this level of rigor to changes in that number: 1.3.1, 1.3.2, 1.3.3, 1.3.4… 1.4.1, etc.

In principle, in subsequent releases, the major number is increased when there are significant jumps in functionality such as changing the framework which could cause incompatibility with interfacing systems, the minor number is incremented when only minor features or significant fixes have been added, and the revision number is incremented when minor bugs are fixed. A typical product might use the numbers 0.9 (for beta software), 0.9.1, 0.9.2, 0.9.3, 1.0, 1.0.1, 1.0.2, 1.1, 1.1.1, 2.0, 2.0.1, 2.0.2, 2.1, 2.1.1, 2.1.2, 2.2, etc. Developers may choose to jump multiple minor versions at a time to indicate significant features have been added, but are not enough to warrant incrementing a major version number; for example Internet Explorer 5 from 5.1 to 5.5, or Adobe Photoshop 5 to 5.5. This may be done to emphasize the value of the upgrade to the software user, or, as in Adobe’s case, to represent a release halfway between major versions (although levels of sequence based versioning are not limited to a single digit, as in Drupal version 7.12).

A different approach is to use the major and minor numbers, along with an alphanumeric string denoting the release type, e.g. “alpha”, “beta” or “release candidate”. A software release train using this approach might look like 0.5, 0.6, 0.7, 0.8, 0.9 == 1.0b1, 1.0b2 (with some fixes), 1.0b3 (with more fixes) == 1.0rc1 (which, if it is stable enough) == 1.0. If 1.0rc1 turns out to have bugs which must be fixed, it turns into 1.0rc2, and so on. The important characteristic of this approach is that the first version of a given level (beta, RC, production) must be identical to the last version of the release below it: you cannot make any changes at all from the last beta to the first RC, or from the last RC to production. If you do, you must roll out another release at that lower level.[dubious – discuss]

However, since version numbers are human-generated, not computer-generated, there is nothing that prevents arbitrary changes that violate such guidelines: for example, the first sequence could be incremented between versions that differ by not even a single line of code, to give the (false) impression that very significant changes were made.

Other schemes impart meaning on individual sequences:




Again, in these examples, the definition of what constitutes a “major” as opposed to a “minor” change is entirely subjective and up to the author, as is what defines a “build”, or how a “revision” differs from a “minor” change.

Shared libraries in Solaris and Linux may use the current.revision.age format where

current: The most recent interface number that the library implements.
revision: The implementation number of the current interface.
age: The difference between the newest and oldest interfaces that the library implements.
A similar problem of relative change significance and versioning nomenclature exists in book publishing, where edition numbers or names can be chosen based on varying criteria.

In most proprietary software, the first released version of a software product has version 1.

Degree of Compatibility

Some projects use the major version number to indicate incompatible releases. Two examples are Apache APR and the FarCry CMS.

Semantic Versioning is a formal convention for specifying compatibility using a three-part version number: major version; minor version; and patch. The patch number is incremented for minor changes and bug fixes which do not change the software’s application programming interface (API). The minor version is incremented for releases which add new, but backward-compatible, API features, and the major version is incremented for API changes which are not backward-compatible. For example, software which relies on version 2.1.5 of an API is compatible with version 2.2.3, but not necessarily with 3.2.4.

Often programmers write new software to be backward compatible, i.e., the new software is designed to interact correctly with older versions of the software (using old protocols and file formats) and the most recent version (using the latest protocols and file formats). For example, IBM z/OS is designed to work properly with 3 consecutive major versions of the operating system running in the same sysplex. This enables people who run a high availability computer cluster to keep most of the computers up and running while one machine at a time is shut down, upgraded, and restored to service.

Often packet headers and file format include a version number – sometimes the same as the version number of the software that wrote it; other times a “protocol version number” independent of the software version number. The code to handle old deprecated protocols and file formats is often seen as cruft.

Designating development stage
Some schemes use a zero in the first sequence to designate alpha or beta status for releases that are not stable enough for general or practical deployment and are intended for testing or internal use only.

It can be used in the third position:

  • 0 for alpha (status)
  • 1 for beta (status)
  • 2 for release candidate
  • 3 for (final) release

For instance:

  • instead of 1.2-a1
  • instead of 1.2-b2 (beta with some bug fixes)
  • instead of 1.2-rc3 (release candidate)
  • instead of 1.2-r (commercial distribution)
  • instead of 1.2-r5 (commercial distribution with many bug fixes)

Incrementing Sequences

There are two schools of thought regarding how numeric version numbers are incremented. Most free and open-source software packages, including MediaWiki, treat versions as a series of individual numbers, separated by periods, with a progression such as 1.7.0, 1.8.0, 1.8.1, 1.9.0, 1.10.0, 1.11.0, 1.11.1, 1.11.2, and so on. On the other hand, some software packages identify releases by decimal numbers: 1.7, 1.8, 1.81, 1.82, 1.9, etc. Decimal versions were common in the 1980s, for example with NetWare, DOS, and Microsoft Windows, but even in the 2000s have been for example used by Opera and Movable Type. In the decimal scheme, 1.81 is the minor version following 1.8, while maintenance releases (i.e. bug fixes only) may be denoted with an alphabetic suffix, such as 1.81a or 1.81b.

The standard GNU version numbering scheme is major.minor.revision, but emacs is a notable example using another scheme where the major number (1) was dropped and a user site revision was added which is always zero in original emacs packages but increased by distributors. Similarly, Debian package numbers are prefixed with an optional “epoch”, which is used to allow the versioning scheme to be changed.

Separating Sequences

When printed, the sequences may be separated with characters. The choice of characters and their usage varies by scheme. The following list shows hypothetical examples of separation schemes for the same release (the thirteenth third-level revision to the fourth second-level revision to the second first-level revision):

  • A scheme may use the same character between all sequences: 2.4.13, 2/4/13, 2-4-13
  • A scheme choice of which sequences to separate may be inconsistent, separating some sequences but not others: 2.413
  • A scheme’s choice of characters may be inconsistent within the same identifier: 2.4_13

When a period is used to separate sequences, it may or may not represent a decimal point, — see “Incrementing sequences” section for various interpretation styles.

Number of Sequences

There is sometimes a fourth, unpublished number which denotes the software build (as used by Microsoft). Adobe Flash is a notable case where a four-part version number is indicated publicly, as in Some companies also include the build date. Version numbers may also include letters and other characters, such as Lotus 1-2-3 Release 1a.

Using Negative Numbers

Some projects use negative version numbers. One example is the SmartEiffel compiler which started from -1.0 and counted upwards to 0.0.

Date of Release

The Wine project formerly used a date versioning scheme, which uses the year followed by the month followed by the day of the release; for example, “Wine 20040505”. Ubuntu Linux uses a similar versioning scheme—Ubuntu 11.10, for example, was released October 2011. Some video games also use date as versioning, for example the arcade game Street Fighter EX. At startup it displays the version number as a date plus a region code, for example 961219 ASIA.

When using dates in versioning, for instance, file names, it is common to use the ISO 8601 scheme: YYYY-MM-DD, as this is easily string sorted to increasing/decreasing order. The hyphens are sometimes omitted.

Microsoft Office build numbers are an encoded date: the first two numbers is the number of months passed from the January of the year the project started (with each major Office release being a different project), and the last two numbers are the day of that month. So 3419 is the 19th day of the 34th month after the month of January of the year the project started.

Other examples that identify versions by year include Adobe Illustrator 88 and WordPerfect Office 2003. When a date is used to denote version, it is generally for marketing purposes, and an actual version number also exists. For example, Microsoft Windows 95 is internally versioned as MS-DOS 7.00 and Windows 4.00, Microsoft Windows 2000 Server is internally versioned as Windows NT 5.0 (“NT” being a reference to the original product name).

Alphanumeric codes


Macromedia Flash MX


TeX has an idiosyncratic version numbering system. Since version 3, updates have been indicated by adding an extra digit at the end, so that the version number asymptotically approaches π; this is a form of unary numbering – the version number is the number of digits. The current version is 3.14159265. This is a reflection of the fact that TeX is now very stable, and only minor updates are anticipated. TeX developer Donald Knuth has stated that the “absolutely final change (to be made after my death)” will be to change the version number to π, at which point all remaining bugs will become permanent features.

In a similar way, the version number of METAFONT asymptotically approaches e.


Apple has a formalised version number structure based around the NumVersion struct, which specifies a one- or two-digit major version, a one-digit minor version, a one-digit “bug” (i.e. revision) version, a stage indicator (drawn from the set development/prealpha, alpha, beta and final/release), and a one-byte (i.e. having values in the range 0–255) pre-release version, which is only used at stages prior to final. In writing these version numbers as strings, the convention is to omit any parts after the minor version whose value are zero (with “final” being considered the zero stage), thus writing 1.0.2 (rather than 1.0.2b12), 1.0.2 (rather than 1.0.2f0), and 1.1 (rather than 1.1.0f0).

Other Schemes

Some software producers use different schemes to denote releases of their software. For example, the Microsoft Windows operating system was first labelled with standard version numbers for Windows 1.0 through Windows 3.11. After this Microsoft excluded the version number from the product name. For Windows 95 (version 4.0), Windows 98 (4.10) and Windows 2000 (5.0), year of the release was included in the product title. After Windows 2000, Microsoft created the Windows Server family which continued the year-based style with a difference: For minor releases, Microsoft suffixed “R2” to the title, e.g., Windows Server 2008 R2. This style had remained consistent to this date. The client versions of Windows however did not adopt a consistent style. First, they received names with arbitrary alphanumeric suffixes as with Windows ME (4.90), Windows XP (5.1) and Windows Vista (6.0). Then, once again Microsoft adopted incremental numbers in the title, but this time, they were not version numbers; the version numbers of Windows 7, Windows 8 and Windows 8.1 are respectively 6.1, 6.2 and 6.3. In Windows 10, the version number leaped to 10.0.

The Debian project uses a major/minor versioning scheme for releases of its operating system, but uses code names from the movie Toy Story during development to refer to stable, unstable and testing releases.

BLAG Linux and GNU features very large version numbers: major releases have numbers such as 50000 and 60000, while minor releases increase the number by 1 (e.g. 50001, 50002). Alpha and beta releases are given decimal version numbers slightly less than the major release number, such as 19999.00071 for alpha 1 of version 20000, and 29999.50000 for beta 2 of version 30000. Starting at 9001 in 2003, the most recent version as of 2011 is 140000.

Internal Version Numbers

Software may have an “internal” version number which differs from the version number shown in the product name (and which typically follows version numbering rules more consistently). Java SE 5.0, for example, has the internal version number of 1.5.0, and versions of Windows from NT 4 on have continued the standard numerical versions internally: Windows 2000 is NT 5.0, XP is Windows NT 5.1, Windows Server 2003 and Windows XP Professional x64 Edition are NT 5.2, Windows Server 2008 and Vista are NT 6.0, Windows Server 2008 R2 and Windows 7 are NT 6.1, Windows Server 2012 and Windows 8 are NT 6.2, and Windows Server 2012 R2 and Windows 8.1 are NT 6.3. Note, however, that Windows NT is only on its fourth major revision, as its first release was numbered 3.1 (to match the then-current Windows release number).

Pre-release Versions

In conjunction with the various versioning schemes listed above, a system for denoting pre-release versions is generally used, as the program makes its way through the stages of the software release life cycle.

Programs that are in an early stage are often called “alpha” software, after the first letter in the Greek alphabet. After they mature but are not yet ready for release, they may be called “beta” software, after the second letter in the Greek alphabet. Generally alpha software is tested by developers only, while beta software is distributed for community testing.

Some systems use numerical versions less than 1 (such as 0.9), to suggest their approach toward a final “1.0” release. This is a common convention in open source software. However, if the pre-release version is for an existing software package (e.g. version 2.5), then an “a” or “alpha” may be appended to the version number. So the alpha version of the 2.5 release might be identified as 2.5a or 2.5.a.

An alternative is to refer to pre-release versions as “release candidates”, so that software packages which are soon to be released as a particular version may carry that version tag followed by “rc-#”, indicating the number of the release candidate – and when the final version is released, the “rc” tag is removed.

Modifications to the Numeric System

This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (September 2010) (Learn how and when to remove this template message)
Various modifications have been introduced to distinguish versions or sets of versions. A set of releases or versions having the same major or minor version number may be collectively referred to as .x, for example version 2.2.x to refer to versions 2.2, 2.2.1, 2.2.2, and all other versions in the 2.2 branch of that software.

Odd-numbered versions for development releases

Between the 1.0 and the 2.6.x series, the Linux kernel used odd minor version numbers to denote development releases and even minor version numbers to denote stable releases; see Linux kernel: Version numbering. For example, Linux 2.3 was a development family of the second major design of the Linux kernel, and Linux 2.4 was the stable release family that Linux 2.3 matured into. After the minor version number in the Linux kernel is the release number, in ascending order; for example, Linux 2.4.0 → Linux 2.4.22. Since the 2004 release of the 2.6 kernel, Linux no longer uses this system, and has a much shorter release cycle.

The same odd-even system is used by some other software with long release cycles, such as GNOME.


Apple had their own twist on this habit during the era of the classic Mac OS: although there were minor releases, they rarely went beyond 1, and when they did, they twice jumped straight to 5, suggesting a change of magnitude intermediate between a major and minor release (thus, 8.5 really means ‘eight and a half’, and 8.6 is ‘eight and a half point one’). The complete sequence of versions (neglecting revision releases) is 1.0, 1.1, 2.0, 2.1, 3.0, 3.2 (skipping 3.1), 4.0, 4.1, 5.0, 5.1, 6.0, 7.0, 7.1, 7.5, 7.6, 8.0, 8.1, 8.5, 8.6, 9.0, 9.1, 9.2.

Mac OS X (since renamed macOS) departed from this trend, in large part because “X” (the Roman numeral for 10) is in the name of the product. As a result, all versions of OS X begin with the number 10. The first major release of OS X was given the version number 10.0, but the next major release was not 11.0. Instead, it was named version 10.1, followed by 10.2, 10.3, and so on for each subsequent major release.

In this system, the third number (instead of the second) denotes a minor release, and a fourth number (instead of the third) denotes bug-fix/revision releases. Because the first number is always 10, and because the subsequent numbers are not decimal, but integer values, the 11th major version of OS X is labeled “10.10” rather than “11.0”.

Political and Cultural Significance of Version Numbers

Version 1.0 as a Milestone

Proprietary software developers often start at version 1 for the first release of a program and increment the major version number with each significant update.

In contrast to this, the free-software community tends to use version 1.0 as a major milestone, indicating that the software is “complete”, that it has all major features, and is considered reliable enough for general release.

In this scheme, the version number slowly approaches 1.0 as more and more bugs are fixed in preparation for the 1.0 release. The developers of MAME do not intend to release a version 1.0 of their emulator program. The argument is that it will never be truly “finished” because there will always be more arcade games. Version 0.99 was simply followed by version 0.100 (minor version 100 > 99). In a similar fashion Xfire 1.99 was followed by 1.100. After 8 years of development, eMule reached version 0.50a.

To describe Program History

Winamp released an entirely different architecture for version 3 of the program. Due to lack of backward compatibility with plugins and other resources from the major version 2, a new version was issued that was compatible with both version 2 and 3. The new version was set to 5 (2+3), skipping version 4. A similar situation occurred with UnixWare 7, which was the combination of UnixWare 2 and OpenServer 5.

Matching Competitor’s Numbers

A practice in the software industry is to make major jumps in numeric major or minor version numbers for reasons which do not seem (to many members of the program’s audience) to merit the marketing version numbers.

This can be seen in many examples of product version numbering by Microsoft, America Online, Sun Solaris, Java Virtual Machine, SCO Unix, WordPerfect, the filePro DB/RAD programming package, which went from 2.0 to 3.0 to 4.0 to 4.1 to 4.5 to 4.8 to 5.0, and is about to go to 5.6, with no intervening release. A slightly different version can be seen in AOL’s PC client software, which tends to have only major releases (5.0, 6.0, 7.0, etc.). Likewise, Microsoft Access jumped from version 2.0 to version 7.0, to match the version number of Microsoft Word.

Microsoft has also been the target of ‘catch-up’ versioning, with the Netscape browsers skipping version 5 to 6, in line with Microsoft’s Internet Explorer, but also because the Mozilla application suite inherited version 5 in its user agent string during pre-1.0 development and Netscape 6.x was built upon Mozilla’s code base.

Another example of keeping up with competitors is when Slackware Linux jumped from version 4 to version 7 in 1999.


Apple has a particular form of version number skipping, in that it has leveraged its use of the Roman numeral X in its marketing across multiple product lines. Both Quicktime and Final Cut Pro jumped from versions 7 directly to version 10. Like with Mac OS X, the products were not upgrades to previous versions, but brand new programs, branded as Quicktime X and Final Cut Pro X, but unlike Apple’s desktop operating systems, there were no major versions 8 or 9. As with OS X, however, minor releases are denoted using a third digit, rather than a second digit. Consequently, major releases for these programs also employ the second digit, as Apple does with OS X. In WWDC 2016, they announced that Mac OS X will now onwards be called macOS.

Dropping the most Significant Element

Sun’s Java has at times had a hybrid system, where the internal version number has always been 1.x but has been marketed by reference only to the x:

  • JDK 1.0.3
  • JDK 1.1.2 through 1.1.8
  • J2SE 1.2.0 (“Java 2”) through 1.4.2
  • Java 1.5.0, 1.6.0, 1.7.0, 1.8.0 (“Java 5, 6, 7, 8”)

Sun also dropped the first digit for Solaris, where Solaris 2.8 (or 2.9) is referred to as Solaris 8 (or 9) in marketing materials.

A similar jump took place with the Asterisk open-source PBX construction kit in the early 2010s, whose project leads announced that the current version 1.8.x would soon be followed by version 10.

This approach, panned by many because it breaks the semantic significance of the sections of the version number, has been adopted by an increasing number of vendors including Mozilla (for Firefox).


  • The Office 2007 release of Microsoft Office has an internal version number of 12. The next version Office 2010 has an internal version of 14, due to superstitions surrounding the number 13.
  • Roxio Toast went from version 12 to version 14, likely in an effort to skip the superstitions surrounding the number 13.
  • Corel’s WordPerfect Office, version 13 is marketed as “X3” (Roman number 10 and “3”). The procedure has continued into the next version, X4. The same has happened with Corel’s Graphic Suite (i.e. CorelDRAW, Corel Photo-Paint) as well as its video editing software “Video Studio”.
  • Sybase skipped major versions 13 and 14 in its Adaptive Server Enterprise relational database product, moving from 12.5 to 15.0.
    ABBYY Lingvo Dictionary uses numbering 12, x3 (14), x5 (15).

Geek Culture

  • The SUSE Linux distribution started at version 4.2, to reference 42, “the answer to the ultimate question of life, the universe and everything” mentioned in Douglas Adams’ The Hitchhiker’s Guide To The Galaxy.
  • A Slackware Linux distribution was versioned 13.37, referencing leet.
  • Finnix skipped from version 93.0 to 100, partly to fulfill the assertion, “There Will Be No Finnix ’95”, a reference to Windows 95.
  • The Tagged Image File Format specification has used 42 as internal version number since its inception, its designers not expecting to alter it anymore during their (or its) lifetime since it would conflict with its development directives.

Overcoming perceived Marketing Difficulties

In the mid-1990s, the rapidly growing CMMS, Maximo, moved from Maximo Series 3 directly to Series 5, skipping Series 4 due to that number’s perceived marketing difficulties in the Chinese market, where the number 4 is associated with “death” (see tetraphobia). This did not, however, stop Maximo Series 5 version 4.0 being released. (It should be noted the “Series” versioning has since been dropped, effectively resetting version numbers after Series 5 version 1.0’s release.)

Significance in Software Engineering

Version numbers are used in practical terms by the consumer, or client, to identify or compare their copy of the software product against another copy, such as the newest version released by the developer. For the programmer or company, versioning is often used on a revision-by-revision basis, where individual parts of the software are compared and contrasted with newer or older revisions of those same parts, often in a collaborative version control system.

In the 21st century, more programmers started to use a formalised version policy, such as the Semantic Versioning policy. The purpose of such policies is to make it easier for other programmers to know when code changes are likely to break things they have written. Such policies are especially important for software libraries and frameworks, but may also be very useful to follow for command-line applications (which may be called from other applications) and indeed any other applications (which may be scripted and/or extended by third parties).

Versioning is also a required practice to enable many schemes of patching and upgrading software, especially to automatically decide what and where to upgrade to.

Significance in Technical Support

Version numbers allow people providing support to ascertain exactly which code a user is running, so that they can rule out bugs that have already been fixed as a cause of an issue, and the like. This is especially important when a program has a substantial user community, especially when that community is large enough that the people providing technical support are not the people who wrote the code. The semantic meaning of version.revision.change style numbering is also important to information technology staff, who often use it to determine how much attention and research they need to pay to a new release before deploying it in their facility. As a rule of thumb, the bigger the changes, the larger the chances that something might break (although examining the Changelog, if any, may reveal only superficial or irrelevant changes). This is one reason for some of the distaste expressed in the “drop the major release” approach taken by Asterisk et alia: now, staff must (or at least should) do a full regression test for every update.

Version Numbers for Files and Documents

Some computer file systems, such as the OpenVMS Filesystem, also keep versions for files.

Versioning amongst documents is relatively similar to the routine used with computers and software engineering, where with each small change in the structure, contents, or conditions, the version number is incremented by 1, or a smaller or larger value, again depending on the personal preference of the author and the size or importance of changes made.

Version Number Ordering Systems

Version numbers very quickly evolve from simple integers (1, 2, …) to rational numbers (2.08, 2.09, 2.10) and then to non-numeric “numbers” such as 4:3.4.3-2. These complex version numbers are therefore better treated as character strings. Operating systems that include package management facilities (such as all non-trivial Linux or BSD distributions) will use a distribution-specific algorithm for comparing version numbers of different software packages. For example, the ordering algorithms of Red Hat and derived distributions differ to those of the Debian-like distributions.

As an example of surprising version number ordering implementation behavior, in Debian, leading zeroes are ignored in chunks, so that 5.0005 and 5.5 are considered as equal, and 5.5<5.0006. This can confuse users; string-matching tools may fail to find a given version number; and this can cause subtle bugs in package management if the programmers use string-indexed data structures such as version-number indexed hash tables.

In order to ease sorting, some software packages will represent each component of the major.minor.release scheme with a fixed width. Perl represents its version numbers as a floating-point number, for example, Perl’s 5.8.7 release can also be represented as 5.008007. This allows a theoretical version of 5.8.10 to be represented as 5.008010. Other software packages will pack each segment into a fixed bit width, for example, on Windows, version number 6.3.9600.16384 would be represented as hexadecimal 0x0006000325804000. The floating-point scheme will break down if any segment of the version number exceeds 999; a packed-binary scheme employing 16 bits apiece after 65535.

Use in Other Media

Software-style version numbers can be found in other media.

In some cases, the use is a direct analogy (for example: Jackass 2.5, a version of Jackass Number Two with additional special features; the second album by Garbage, titled Version 2.0; or Dungeons & Dragons 3.5, where the rules were revised from the third edition, but not so much as to be considered the fourth).

More often it’s used to play on an association with high technology, and doesn’t literally indicate a ‘version’ (e.g., Tron 2.0, a video game followup to the film Tron, or the television series The IT Crowd, which refers to the second season as Version 2.0). A particularly notable usage is Web 2.0, referring to websites from the early 2000s that emphasized user-generated content, usability and interoperability.