History of operating systems

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.

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.

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.

These resident background programs, capable of managing multi step 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.

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.

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.

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.

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.

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.

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.

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

Several competitors of Digital Equipment Corporation such as Data General, Hewlett-Packard, and Computer Automation created their own operating systems.

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.

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.

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.

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.

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.

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.

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.

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.

Since the late 1990s, there have been three operating systems in widespread use on personal computers: Apple Inc.'s macOS, the 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, which are used in servers or embedded systems but no longer for desktop computers.

Apple Lisa running Lisa OS