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.
Background
Early computers lacked any form of operating system. Instead, the user (rarely also the computer operator), had sole use of the machine for a scheduled period of time. The user would deliver his program to a computer operator who would be responsible for loading the computer with the program and data needed for its 'run'.
Eventually, the end of a user's program could be detected and a control program automatically loaded which would load the next user's program, relieving the operator of having to load in each user's program individually and introducing the era of 'batched' programming. That is, a number of user programs could all be loaded together in a batch. Loading of program and data was accomplished in various ways including toggle switches (only used by a user on the earliest of computers, but later used by the computer operator to control the computer, e.g., to start it up, to shut it down, to 'pause', to 'dump' its RAM contents, and/or to control its input and/or its output), punched paper cards and magnetic or paper tape.[1][2][3] Once loaded, the machine would be set to execute each program singly until that program completed, crashed, exceeded its time limit or went into a(n infinite) loop. In those early days, there were only 'Control Program' units for providing the software necessary to control the computers and ancillary hardware, e.g., for such semi hardware functions as I/O . None of the early 'Control Programs' were sufficiently sophisticated to recognize a looping user program or initiate a recovery action. Detection and recovery from a looping program was another critical operator function and was usually detected by the sound of the looping computer, whereupon the operator would simply initiate a complete dump of the executing program (for later debugging by the programmer) and then load in (or instruct the computer to go on to) the next user's program. Programs could sometimes be debugged via a control panel using dials, toggle switches and panel lights, making it a very manual and error-prone process.[4] But, this was quite rare, since the high cost of even the simplest of the early computers prohibited such exclusive use of a computer by an individual programmer. Almost all program debugging was done away from any computer by the original programmer perusing the program and the dump of its execution obtained, e.g., by the computer operator or automatically by some computer hardware exception detection (such as a timeout, an attempt to divide by zero, or an over or underflow). Programmers then could only very rarely have more than one computer 'run' per day!
Assemblers[5][6][7] and compilers were developed for programmers to translate program source code written in a symbolic language 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 program or job at a time. At 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.[8]
Mainframes
The first operating system used for real work was GM-NAA I/O, produced in 1956 by General Motors' Research division[9] for its IBM 704.[10] Most other early operating systems for IBM mainframes were also produced by customers.[11]
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
Building on customer experience and requirements, IBM took on a more active role in developing operating systems for the 709, 1410, 7010, 7040, 7044, 7090 and 7094. IBM also collaborated with universities.
The state of affairs continued until the mid 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.[12][13]
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. 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.[14]
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[NB 1] 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 time sharing use. Like many commercial time sharing 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 presentó el B5000 en 1961 con el sistema operativo MCP ( Master Control Program ). El B5000 era una máquina de pila diseñada para soportar exclusivamente lenguajes de alto nivel, sin que ningún software, ni siquiera en el nivel más bajo del sistema operativo, estuviera escrito directamente en lenguaje máquina o lenguaje ensamblador ; el MCP fue el primer sistema operativo escrito completamente en un lenguaje de alto nivel: ESPOL , un dialecto de ALGOL 60 , aunque ESPOL tenía instrucciones especializadas para cada "sílaba" [ NB 2 ] en el conjunto de instrucciones del B5000. MCP también introdujo muchas otras innovaciones revolucionarias, como ser una de las [ NB 3 ] primeras implementaciones comerciales de memoria virtual . La reescritura de MCP para el B6500 se comercializa ahora como Unisys ClearPath/MCP.
GE presentó la serie GE-600 con el sistema operativo General Electric Comprehensive Operating Supervisor (GECOS) en 1962. Tras la adquisición del negocio informático de GE por parte de Honeywell , este pasó a llamarse General Comprehensive Operating System (GCOS). En la década de 1970, Honeywell amplió el uso del nombre GCOS para abarcar todos sus sistemas operativos, aunque muchos de sus ordenadores no tenían nada en común con la anterior serie GE 600 y sus sistemas operativos no derivaban del GECOS original.
El proyecto MAC del MIT, en colaboración con GE y Bell Labs , desarrolló Multics , que introdujo el concepto de niveles de privilegio de seguridad jerárquicos.
Digital Equipment Corporation desarrolló TOPS-10 para su línea de computadoras de 36 bits PDP-10 en 1967. Antes de la popularización de Unix, TOPS-10 era un sistema particularmente popular en las universidades y en la incipiente comunidad de ARPANET . Bolt, Beranek y Newman desarrollaron TENEX para una PDP-10 modificada que admitía la paginación bajo demanda ; este fue otro sistema popular en las comunidades de investigación y ARPANET, y posteriormente fue desarrollado por DEC como 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.
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 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 (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.
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, 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, GNU/Linux, and the Berkeley Software Distribution. Apple's macOS is also based on Unix via NeXTSTEP[15] and FreeBSD.[16]
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.[17]
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 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, 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, 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.
Furthermore, those systems 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 an 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. 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 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 SNKNeo 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.
En general, se puede decir que las consolas de videojuegos y las máquinas recreativas que funcionaban con monedas utilizaban, como mucho, una BIOS integrada durante las décadas de 1970, 1980 y la mayor parte de la década de 1990, mientras que a partir de la era de PlayStation comenzaron a volverse cada vez más sofisticadas, hasta el punto de requerir un sistema operativo genérico o personalizado para facilitar el desarrollo y la expansión.
era de la computadora personal

El desarrollo de los microprocesadores hizo que la informática económica estuviera al alcance de las pequeñas empresas y los aficionados, lo que a su vez condujo al uso generalizado de componentes de hardware intercambiables mediante una interconexión común (como los buses S-100 , SS-50, Apple II , ISA y PCI ), y a una creciente necesidad de sistemas operativos "estándar" para controlarlos. El más importante de los primeros sistemas operativos en estas máquinas fue CP/M -80 de Digital Research para las CPU 8080/8085/Z80. Estaba basado en varios sistemas operativos de Digital Equipment Corporation, principalmente para la arquitectura PDP-11. El primer sistema operativo de Microsoft, MDOS/MIDAS , se diseñó siguiendo muchas de las características del PDP-11, pero para sistemas basados en microprocesadores. MS-DOS , o PC DOS cuando lo suministraba IBM, se diseñó para ser similar a CP/M-80. [ 18 ] Cada una de estas máquinas tenía un pequeño programa de arranque en ROM que cargaba el propio sistema operativo desde el disco. La BIOS de los ordenadores de la clase IBM-PC fue una extensión de esta idea y ha ido incorporando más características y funciones en los 20 años transcurridos desde que se presentó el primer IBM-PC en 1981.
La disminución del costo de los equipos de visualización y los procesadores hizo posible ofrecer interfaces gráficas de usuario para muchos sistemas operativos, como el sistema genérico X Window que viene con muchos sistemas Unix, u otros sistemas gráficos como el clásico Mac OS y macOS de Apple , OS-9 Level II/Multi-Vue de Radio Shack Color Computer , AmigaOS de Commodore , TOS de Atari , OS/2 de IBM y Microsoft Windows . La interfaz gráfica de usuario original se desarrolló en el sistema informático Xerox Alto en el Centro de Investigación Xerox Palo Alto a principios de la década de 1970 y fue comercializada por muchos proveedores a lo largo de las décadas de 1980 y 1990.
Since the late 1990s, there have been three operating systems in widespread use on personal computers: Apple Inc.'s macOS, the open sourceLinux, 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 they have now switched to Apple silicon 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.
New operating systems have emerged from China such as HarmonyOS and Asterinas.
Mobile operating systems

A principios de la década de 1990, Psion lanzó la Psion Series 3 PDA , un pequeño dispositivo informático móvil. Admitía aplicaciones escritas por el usuario que se ejecutaban en un sistema operativo llamado EPOC . Las versiones posteriores de EPOC se convirtieron en Symbian , un sistema operativo utilizado para teléfonos móviles de Nokia , Ericsson , Sony Ericsson , Motorola , Samsung y teléfonos desarrollados para NTT Docomo por Sharp , Fujitsu y Mitsubishi . Symbian fue el sistema operativo para smartphones más utilizado del mundo hasta 2010, con una cuota de mercado máxima del 74% en 2006. En 1996, Palm Computing lanzó los modelos Pilot 1000 y Pilot 5000, que ejecutaban Palm OS . Microsoft Windows CE fue la base de Pocket PC 2000, renombrado Windows Mobile en 2003, que en su apogeo en 2007 fue el sistema operativo más común para smartphones en Estados Unidos.
En 2007, Apple presentó el iPhone y su sistema operativo, conocido simplemente como iPhone OS (hasta el lanzamiento de iOS 4 ), que, al igual que Mac OS X , se basa en Darwin , un sistema similar a Unix . Además de estos fundamentos, también introdujo una potente e innovadora interfaz gráfica de usuario que posteriormente se utilizó en la tableta iPad . Un año después, se presentó Android , con su propia interfaz gráfica de usuario, basada en un núcleo Linux modificado , y Microsoft regresó al mercado de sistemas operativos móviles con Windows Phone en 2010, que fue reemplazado por Windows 10 Mobile en 2015.
Además de estos, una amplia gama de otros sistemas operativos móviles compiten en este ámbito.
Auge de la virtualización
Originalmente, los sistemas operativos se ejecutaban directamente sobre el hardware y proporcionaban servicios a las aplicaciones, pero con la virtualización, el propio sistema operativo se ejecuta bajo el control de un hipervisor , en lugar de tener el control directo del hardware.
En los mainframes, IBM introdujo la noción de máquina virtual en 1968 con CP/CMS en el IBM System/360 Modelo 67 , y la amplió posteriormente en 1972 con Virtual Machine Facility/370 (VM/370) en el System/370 .
On x86-based personal computers, VMware popularized this technology with their 1999 product, VMware Workstation,[19] and their 2001 VMware GSX Server and VMware ESX Server products.[20] 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.[21]
Over time, the line between virtual machines, monitors, and operating systems was blurred:
- Hypervisors grew more complex, gaining their own application programming interface,[22] memory management or file system.[23]
- 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 later POWER servers from IBM, the hypervisor is no longer optional.[24]
- Radically simplified operating systems, such as CoreOS have been designed to run only on virtual systems.[25]
- Applications have been re-designed to run directly on a virtual machine monitor.[26]
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
Notes
- ↑CDC used the SCOPE name for disparate operating systems on the upper 3000 series, the lower 3000 series, the 6000 series and the 7600
- ↑A syllable in the B5000 could contain a 10-bit literal, an operand call, a descriptor call or a 10-bit opcode.
- ↑The B5000 was contemporaneous with the FerrantiAtlas
References
- ↑"Computers | Timeline of Computer History | Computer History Museum". www.computerhistory.org. Archived from the original on 2024-12-25. Retrieved 2025-01-01.
- ↑"The punched card | IBM". www.ibm.com. Retrieved 2025-01-01.
- ↑"When Computer Coding Was a 'Woman's' Job". HISTORY. 2021-02-09. Retrieved 2025-01-01.
- ↑Stuart, Brian (December 2018). "Debugging the ENIAC [Scanning Our Past]". Proceedings of the IEEE. 106 (12): 2331–2345. doi:10.1109/JPROC.2018.2878986.
- ↑705 Autocoder System Macro Instruction Manual(PDF) (second ed.), February 1957, 22-6726-1
- ↑The USE Compiler Programming Manual for the UNIVAC Scientific 1103A and 1105 Computers(PDF)
- ↑A Programmer's Guide to the X-6 Assembly System(PDF), U 1774.1
- ↑"Video & Audio: The EDSAC Film - Metadata". sms.cam.ac.uk. Retrieved 2023-06-21.
- ↑Robert Patrick (January 1987). "General Motors/North American Monitor for the IBM 704 Computer"(PDF). RAND Corporation.
- ↑"Timeline of Computer History: 1956: Software". Computer History Museum. Retrieved 2008-05-25.
- ↑"A Brief History of Linux". Archived from the original on 2017-11-07. Retrieved 2017-11-05.
- ↑Johnston (April 1, 2005). "VSE: A Look at the Past 40 Years". z/Journal (April/May 2005). Thomas Communications, Inc. Archived from the original on March 4, 2009.
- ↑Chuck Boyer. "The 360 Revolution"(PDF).
- ↑Lars Poulsen (26 October 2001). "IBM 360/370/3090/390". Computer History. Retrieved 18 November 2015.
- ↑Chris Foresman (19 December 2012). "The legacy of NeXT lives on in OS X".
- ↑Klint Finley (8 August 2013). "Apple's Operating System Guru Goes Back to His Roots". Wired.
- ↑Fiedler, Ryan (October 1983). "The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace". BYTE. p. 132. Retrieved 30 January 2015.
- ↑Bob Zeidman (August 6, 2016). "Was DOS copied from CP/M?".
- ↑"VMware company history". Archived from the original on 2011-04-16.
- ↑"VMware ready to capitalize on hot server market". June 30, 2000.
- ↑Jon Brodkin (September 27, 2010). "Gartner: 1 in 4 server workloads will be virtual by year-end". Network World.
- ↑"VMware API". VMware. Archived from the original on 26 November 2008. Retrieved 26 November 2008.
- ↑"VMware file system". Archived from the original on 26 November 2008. Retrieved 26 November 2008.
- ↑IBM PowerVM Virtualization Introduction and Configuration. 30 September 2016. Retrieved 5 June 2024.
- ↑Steven J. Vaughan-Nichols (December 10, 2014). "Snappy Ubuntu challenges CoreOS and Project Atomic on lightweight cloud servers". ZDNET.
- ↑"JRockit's Liquid VM could be the first real Java OS". Retrieved 26 November 2008.
Further reading
- Neal Stephenson (1999). In the Beginning... Was the Command Line. Harper Perennial. ISBN 0-380-81593-1.
- History of software
- Operating systems
- History of computing