Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
History of operating systems
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{multiple| {{more citations needed|date=January 2013}} {{original research|date=June 2020}} }} {{short description|Aspect of computing history}} {{History of computing}} Computer [[operating system]]s (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 card|punched paper card readers]]. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use. ==Background== {{More citations needed section|date=April 2025}} Early computers lacked any form of operating system. Instead, the user, also called the operator, had sole use of the machine for a scheduled period of time. The operator would arrive at the computer with program and data which needed to be loaded into the machine before the program could be run. Loading of program and data was accomplished in various ways including toggle switches, [[Punched card|punched paper cards]] and magnetic or paper tape.<ref>{{Cite web |title=Computers {{!}} Timeline of Computer History {{!}} Computer History Museum |url=https://www.computerhistory.org/timeline/computers/ |archive-url=http://web.archive.org/web/20241225013827/https://www.computerhistory.org/timeline/computers/ |archive-date=2024-12-25 |access-date=2025-01-01 |website=www.computerhistory.org}}</ref><ref>{{Cite web |title=The punched card {{!}} IBM |url=https://www.ibm.com/history/punched-card |access-date=2025-01-01 |website=www.ibm.com}}</ref><ref>{{Cite web |date=2021-02-09 |title=When Computer Coding Was a 'Woman's' Job |url=https://www.history.com/news/coding-used-to-be-a-womans-job-so-it-was-paid-less-and-undervalued |access-date=2025-01-01 |website=HISTORY}}</ref> Once loaded, the machine would be set to execute the single program until that program completed or crashed. Programs could generally be debugged via a control panel using dials, toggle switches and panel lights, making it a very manual and error-prone process.<ref>{{Cite journal |last=Stuart |first=Brian |date=December 2018 |title=Debugging the ENIAC [Scanning Our Past] |url=https://ieeexplore.ieee.org/document/8540483 |journal=Proceedings of the IEEE |volume=106 |issue=12 |pages=2331–2345 |doi=10.1109/JPROC.2018.2878986}}</ref> Symbolic languages, [[assembly language|assemblers]],<ref>{{cite book | title = 705 Autocoder System Macro Instruction Manual | id = 22-6726-1 | date = February 1957 | edition = second | url = http://bitsavers.org/pdf/ibm/705/22-6726-1_autocoder_Feb57.pdf | mode = cs2}}</ref><ref>{{cite book | title = The USE Compiler Programming Manual for the UNIVAC Scientific 1103A and 1105 Computers | url = http://bitsavers.org/pdf/univac/1103/use/U1869_USE_compiler.pdf | mode = cs2}}</ref><ref>{{cite book | title = A Programmer's Guide to the X-6 Assembly System | id = U 1774.1 | url = http://bitsavers.org/pdf/univac/uss/U1774.1_X-6_Assembler_Introduction.pdf | mode = cs2}}</ref> [[compiler]]s were developed for programmers to translate symbolic program code into [[machine code]] that previously would have been hand-encoded. Later machines came with [[runtime library|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 program or job at a time. At [[University of Cambridge|Cambridge University]] in England the [[job queue]] was at one time a string from which tapes attached to corresponding job tickets were hung with stationery pegs.<ref>{{Cite web |title=Video & Audio: The EDSAC Film - Metadata |url=https://sms.cam.ac.uk/media/739532 |access-date=2023-06-21 |website=sms.cam.ac.uk}}</ref> 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 punched 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 [[central processing unit|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 trail]]s 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 library|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 multi step processes, were often called [[resident monitor|monitor]]s 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 computer|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 in every OS package. This has led to the perception of an OS as a complete user system with an integrated [[graphical user interface]], utilities, and some applications such as [[file manager]]s, [[text editor]]s, and configuration tools. The true descendant of the early operating systems is what is now called the "[[kernel (operating system)|kernel]]". In technical and development circles the old restricted sense of an OS persists because of the continued active development of [[embedded system|embedded]] operating systems for all kinds of devices with a data-processing component, from hand-held gadgets up to industrial robots and [[real-time computing|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 [[software|computer software]] article. ==Mainframes== The first operating system used for real work was [[GM-NAA I/O]], produced in 1956 by [[General Motors]]' Research division<ref>{{cite web | url = https://www.rand.org/content/dam/rand/pubs/papers/2008/P7316.pdf | title = General Motors/North American Monitor for the IBM 704 Computer | publisher = [[RAND Corporation]] | author = Robert Patrick | date = January 1987}}</ref> for its [[IBM 704]].<ref name="CHM-1956-SW">{{cite web | url = http://www.computerhistory.org/timeline/?year=1956 | title = Timeline of Computer History: 1956: Software | publisher = [[Computer History Museum]] | access-date = 2008-05-25}}</ref>{{Specify|reason=Cited link has no mention of GM-NAA IO or IBM 704 at all|date=March 2020}} Most other early operating systems for IBM mainframes were also produced by customers.<ref name="bozemanlugHistoryOfLinux">{{cite web | url = http://bozemanlug.montanalinux.org/talks/linux_history.html | title = A Brief History of Linux | access-date = 2017-11-05 | archive-url = https://web.archive.org/web/20171107022354/http://bozemanlug.montanalinux.org/talks/linux_history.html | archive-date = 2017-11-07 | url-status = dead}}</ref> 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=== {{main|History of IBM mainframe operating systems}} 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 [[IBM System/360|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 and successors|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.<ref name="JohnsonVSEPast40Years">{{cite journal | last = Johnston | date = April 1, 2005 | title = VSE: A Look at the Past 40 Years | journal = z/Journal | issue = April/May 2005 | publisher = Thomas Communications, Inc. | url = http://www.zjournal.com/index.cfm?section=article&aid=293 | url-status = dead | archive-url = https://web.archive.org/web/20090304014628/http://www.zjournal.com/index.cfm?section=article&aid=293 | archive-date = March 4, 2009}}</ref><ref name="Boyer360Revolution">{{cite web |author=Chuck Boyer |url=https://www.vm.ibm.com/history/360rev.pdf |title=The 360 Revolution}}</ref> IBM wound up releasing a series of stop-gaps followed by two longer-lived operating systems: * [[OS/360 and successors|OS/360]] for mid-range and large systems. This was available in three [[System Generation (OS)|system generation]] options: ** [[OS/360 and successors#PCP|PCP]] for early users and for those without the resources for multiprogramming. ** [[OS/360 and successors#MFT|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. ** [[OS/360 and successors#MVT|MVT]] for large systems. This was similar in most ways to PCP and MFT (most programs could be ported among the three without being [[compiler|re-compiled]]), but has more sophisticated memory management and a [[time-sharing]] facility, [[Time Sharing Option|TSO]]. MVT had several successors including the current [[z/OS]]. * [[DOS/360 and successors|DOS/360]] for small System/360 models had several successors including the current [[VSE (operating system)|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 (operating system)|TSS/360]], a time-sharing system for the [[IBM System/360 Model 67|System/360 Model 67]]. Overcompensating for their perceived importance of developing a timeshare system, they set hundreds of developers to work on the project. Early releases of TSS were slow and unreliable; by the time TSS had acceptable performance and reliability, IBM wanted its TSS users to migrate to OS/360 and OS/VS2; while IBM offered a TSS/370 PRPQ, they dropped it after 3 releases.<ref>{{cite web |url=http://www.beagle-ears.com/lars/engineer/comphist/ibm360.htm |title=IBM 360/370/3090/390 |author=Lars Poulsen |date=26 October 2001 |work=Computer History |access-date=18 November 2015}}</ref> 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 [[CDC SCOPE|SCOPE]] operating systems<ref group=NB>CDC used the SCOPE name for disparate operating systems on the [[CDC 3000|upper 3000 series]], the [[CDC 3000|lower 3000 series]], the [[CDC 6000 series|6000 series]] and the [[CDC 7600|7600]]</ref> in the 1960s, for [[batch processing]] and later developed the [[CDC Kronos|MACE]] operating system for time sharing, which was the basis for the later [[CDC Kronos|Kronos]]. In cooperation with the [[University of Minnesota]], the Kronos and later the [[NOS (operating system)|NOS]] operating systems were developed during the 1970s, which supported simultaneous batch and time sharing use. Like many commercial time sharing systems, its interface was an extension of the [[Dartmouth Time-Sharing System|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 at Urbana–Champaign|University of Illinois]] developed the [[PLATO (computer system)|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)|TUTOR programming language]] allowed applications such as real-time chat and multi-user graphical games. For the [[UNIVAC 1100/2200 series#1107|UNIVAC 1107]], [[UNIVAC]], the first commercial computer manufacturer, produced the [[UNIVAC EXEC I|EXEC I]] operating system, and [[Computer Sciences Corporation]] developed the [[UNIVAC EXEC II|EXEC II]] operating system and delivered it to UNIVAC. EXEC II was ported to the [[UNIVAC 1100/2200 series#1108|UNIVAC 1108]]. Later, UNIVAC developed the [[OS 2200#Exec 8|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 [[Burroughs large systems|B5000]] in 1961 with the MCP ([[Burroughs 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{{Citation needed|reason=Did ESPOL precede NELIAC?|date=November 2014}} OS to be written entirely in a high-level language - [[Executive Systems Problem Oriented Language|ESPOL]], a dialect of [[ALGOL 60]] - although ESPOL had specialized statements for each "syllable"<ref group=NB>A syllable in the B5000 could contain a 10-bit [[Literal (computer programming)|literal]], an [[operand]] call, a [[Burroughs large systems descriptors|descriptor]] call or a 10-bit [[opcode]].</ref> in the B5000 instruction set. MCP also introduced many other ground-breaking innovations, such as being one of<ref group=NB>The B5000 was contemporaneous with the [[Ferranti]] [[Atlas Computer (Manchester)|Atlas]]</ref> the first commercial implementations of [[virtual memory]]. The rewrite of MCP for the B6500 is now marketed as the [[Unisys]] ClearPath/MCP. [[General Electric|GE]] introduced the [[GE-600 series]] with the [[General Comprehensive Operating System|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. [[MIT Computer Science and Artificial Intelligence Laboratory#Project MAC|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. [[BBN Technologies|Bolt, Beranek, and Newman]] developed [[TENEX (operating system)|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 [[SDS Sigma series|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]]. ==Minicomputers== Digital Equipment Corporation created several operating systems for its 16-bit [[PDP-11]] machines, including the simple [[RT-11]] system, the time-sharing [[RSTS/E|RSTS]] operating systems, and the [[RSX-11]] family of [[real-time operating system]]s, as well as the [[OpenVMS|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 [[MODCOMP|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 [[IBM System/38|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 [[Relational database management system|RDBMS]]. The succeeding OS/400 (now known as [[IBM i]]) for the [[IBM AS/400]] and later [[IBM Power Systems]] has no files, only objects of different types and these objects persist in very large, flat virtual memory, called a single-level store. <!-- Need to add discussion of evolution of timesharing, timesharing OS and Multics. --> 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 (programming language)|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 [[workstation]]s, and its use became widespread. Unix exemplified the idea of an operating system that was conceptually the same across various hardware platforms. Because of its utility, it inspired many and later became one of the roots of the [[free software]] movement and [[open-source software]]. Numerous operating systems were based upon it including [[Minix]], [[History of Linux|GNU/Linux]], and the [[Berkeley Software Distribution]]. Apple's [[macOS]] is also based on Unix via [[NeXTSTEP]]<ref>{{cite news |url=https://arstechnica.com/apple/2012/12/the-legacy-of-next-lives-on-in-os-x/ |title=The legacy of NeXT lives on in OS X |author=Chris Foresman |date=19 December 2012}}</ref> and [[FreeBSD]].<ref>{{cite magazine |url=https://www.wired.com/2013/08/jordan-hubbard/ |title=Apple's Operating System Guru Goes Back to His Roots |author=Klint Finley |date=8 August 2013 |magazine=[[Wired (magazine)|Wired]]}}</ref> 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.<ref name="fiedler198310">{{cite news | url=https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n133/mode/2up | title=The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace | work=BYTE | date=October 1983 | access-date=30 January 2015 | author=Fiedler, Ryan | pages=132}}</ref> ==Microcomputers== 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 [[Random-access memory|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 computer]]s of the 1980s, such as the [[BBC Micro]], [[Commodore 64]], [[Apple II]], [[Atari 8-bit computers]], [[Amstrad CPC]], [[ZX Spectrum]] series and others could load a third-party disk-loading operating system, such as [[CP/M]] or [[GEOS (8-bit operating system)|GEOS]], they were generally used without one. Their built-in operating systems were designed in an era when [[floppy disk|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 Cassette|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{{citation needed|date=July 2015}} 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. Furthermore, those systems shipped with minimal amounts of [[computer memory]]—4-8 [[kilobyte]]s was standard on early home computers—as well as 8-bit processors without specialized support circuitry like an [[Memory Management Unit|MMU]] or even a dedicated [[real-time clock]]. On this hardware, a complex operating system's [[Overhead (computing)|overhead]] supporting multiple tasks and users would likely compromise the performance of the machine without really being needed. As those systems were largely sold complete, with a fixed hardware configuration, there was also no need for an operating system to provide drivers for a wide range of hardware to abstract away differences. [[Video game]]s and even the available [[spreadsheet]], [[database]] and [[word processor]]s 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 [[Comma-separated values|CSV]], or through specialized file conversion programs. ===Operating systems in video games and consoles=== Since virtually all video game consoles and [[Video game arcade cabinet|arcade cabinets]] designed and built after 1980 were true digital machines based on [[microprocessor]]s (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 [[Master System|Sega Master System]] and the [[SNK]] [[Neo Geo (system)|Neo Geo]]. Modern-day game consoles and videogames, starting with the [[TurboGrafx-16|PC-Engine]], all have a minimal BIOS that also provides some interactive utilities such as [[memory card]] management, [[Compact Disc Digital Audio|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 (console)|PlayStation]], but can load the [[Windows CE]] operating system from the game disk allowing easily porting of games from the [[IBM PC compatible|PC]] world, and the [[Xbox (console)|Xbox]] game console, which is little more than a disguised Intel-based [[IBM PC compatible|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 [[Game development kit|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=== [[File:Apple Lisa (Little Apple Museum) (8032162544).jpg|thumb|Apple Lisa running Lisa OS]] 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 bus|S-100]], SS-50, [[Apple II]], [[Industry Standard Architecture|ISA]], and [[Conventional PCI|PCI]] [[bus (computing)|bus]]es), 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, [[Marc McDonald|MDOS/MIDAS]], was designed along many of the PDP-11 features, but for microprocessor based systems. [[MS-DOS]], or [[IBM PC DOS|PC DOS]] when supplied by IBM, was designed to be similar to CP/M-80.<ref>{{cite web|url=https://www.embedded.com/was-dos-copied-from-cp-m/|title=Was DOS copied from CP/M?|author=Bob Zeidman|date=August 6, 2016}}</ref> 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 [[Apple Computer|Apple]]'s [[classic Mac OS]] and [[macOS]], the [[RadioShack|Radio Shack]] Color Computer's [[OS-9|OS-9 Level II/Multi-Vue]], [[Commodore International|Commodore]]'s [[AmigaOS]], [[Atari TOS]], [[IBM]]'s [[OS/2]], and [[Microsoft Windows]]. The original GUI was developed on the [[Xerox Alto]] computer system at Xerox [[PARC (company)|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: [[Apple Inc.]]'s [[macOS]], the [[Open-source software|open source]] [[Linux]], and [[Microsoft Windows]]. Since 2005 and the [[Mac transition to Intel processors]], all have been developed mainly on the [[x86]] platform, although macOS 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 architecture|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=== {{unreferenced section|date=February 2015}} [[File:Android phone.jpg|thumb|[[Android (operating system)|Android]] is the most used [[mobile operating system]].]] In the early 1990s, [[Psion (company)|Psion]] released the [[Psion Series 3]] [[personal digital assistant|PDA]], a small mobile computing device. It supported user-written applications running on an operating system called [[EPOC (operating system)|EPOC]]. Later versions of EPOC became [[Symbian]], an operating system used for mobile phones from [[Nokia]], [[Ericsson]], [[Sony Ericsson]], [[Motorola]], [[Samsung]] and phones developed for [[NTT Docomo]] by [[Sharp Corporation|Sharp]], [[Fujitsu]] & [[Mitsubishi]]. [[Symbian]] was the world's most widely used smartphone operating system until 2010 with a peak market share of 74% in 2006. In 1996, [[Palm, Inc.#Founding and acquisition|Palm Computing]] released the [[Pilot 1000]] and Pilot 5000, running [[Palm OS]]. Microsoft [[Windows Embedded Compact|Windows CE]] was the base for Pocket PC 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, known as simply [[IPhone OS 1|iPhone OS]] (until the release of [[iOS 4]]), which, like [[macOS|Mac OS X]], is based on the [[Unix-like]] [[Darwin (operating system)|Darwin]]. In addition to these underpinnings, it also introduced a powerful and innovative graphic user interface that was later also used on the [[tablet computer]] [[iPad]]. A year later, [[Android (operating system)|Android]], with its own graphical user interface, was introduced, based on a modified [[Linux kernel]], and [[Microsoft]] re-entered the mobile operating system market with [[Windows Phone]] in 2010, which was replaced by [[Windows 10 Mobile]] in 2015. In addition to these, a wide range of other [[mobile operating system]]s 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 [[VM (operating system)|Virtual Machine Facility/370]] (VM/370) on [[IBM System/370|System/370]]. On [[x86]]-based [[personal computer]]s, [[VMware]] popularized this technology with their 1999 product, [[VMware Workstation]],<ref>{{cite web | url = http://www.vmware.com/company/mediaresource/milestones.html | title = VMware company history | url-status = dead | archive-url = https://web.archive.org/web/20110416074213/https://www.vmware.com/company/mediaresource/milestones.html | archive-date = 2011-04-16}}</ref> and their 2001 VMware GSX Server and VMware ESX Server products.<ref>{{cite web | url = http://news.cnet.com/2100-1001-242656.html | title = VMware ready to capitalize on hot server market | date = June 30, 2000}}</ref> Later, a wide range of products from others, including [[Xen]], [[Kernel-based Virtual Machine|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.<ref>{{cite web |url=https://www.infoworld.com/article/2626340/gartner--1-in-4-server-workloads-will-be-virtual-by-year-end.html |title=Gartner: 1 in 4 server workloads will be virtual by year-end |date=September 27, 2010 |author=Jon Brodkin |work=Network World}}</ref> Over time, the line between virtual machines, monitors, and operating systems was blurred: * Hypervisors grew more complex, gaining their own application programming interface,<ref>{{cite web |url=https://www.vmware.com/support/developer/vix-api |title=VMware API |access-date=26 November 2008 | publisher=VMware |archive-url=https://web.archive.org/web/20081126065041/https://www.vmware.com/support/developer/vix-api/ |archive-date=26 November 2008 |url-status=dead}}</ref> memory management or file system.<ref>{{cite web | url=https://www.vmware.com/products/vi/esx/vmfs.html | title=VMware file system | access-date=26 November 2008 |archive-url=https://web.archive.org/web/20081126093742/https://www.vmware.com/products/vi/esx/vmfs.html |archive-date=26 November 2008 |url-status=dead}}</ref> * Virtualization becomes a key feature of operating systems, as exemplified by [[Kernel-based Virtual Machine|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 later POWER servers from IBM, the hypervisor is no longer optional.<ref>{{cite book | url=https://www.redbooks.ibm.com/abstracts/sg247940.html?Open | title=IBM PowerVM Virtualization Introduction and Configuration | date=30 September 2016 | access-date=5 June 2024}}</ref> * Radically simplified operating systems, such as [[CoreOS]] have been designed to run only on virtual systems.<ref>{{cite web |url=https://www.zdnet.com/article/snappy-ubuntu-challenges-coreos-and-project-atomic-on-lightweight-cloud-servers/ |title=Snappy Ubuntu challenges CoreOS and Project Atomic on lightweight cloud servers |date=December 10, 2014 |author=Steven J. Vaughan-Nichols |website=[[ZDNET]]}}</ref> * Applications have been re-designed to run directly on a virtual machine monitor.<ref>{{cite web | url=http://www.theserverside.com/news/thread.tss?thread_id=43424 | title=JRockit's Liquid VM could be the first real Java OS | access-date=26 November 2008}}</ref> 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 the system. ==See also== {{Portal|Computer programming}} * [[Charles Babbage Institute]] * [[IT History Society]] * [[List of operating systems]] * [[Timeline of operating systems]] * [[Icon (computing)#Overview|History of computer icons]] ==Notes== {{Reflist|group=NB}} ==References== {{Reflist}} ==Further reading== * {{cite book | author = Neal Stephenson | title = [[In the Beginning... Was the Command Line]] | year = 1999 | publisher = Harper Perennial | isbn = 0-380-81593-1 | author-link = Neal Stephenson}} {{Operating system}} [[Category:History of software|Operating systems]] [[Category:Operating systems|*History]] [[Category:History of computing]] [[Category:Software topical history overviews]]
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:History of computing
(
edit
)
Template:Main
(
edit
)
Template:More citations needed section
(
edit
)
Template:Multiple
(
edit
)
Template:Operating system
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Specify
(
edit
)
Template:Unreferenced section
(
edit
)
Search
Search
Editing
History of operating systems
Add topic