Operating Systems
Operating systems
An operating system (OS) is the system program that manages computer hardware and software and provides various services to computer users, who can run their programs without knowledge of specifics of the computer system. Early computers were built to perform a series of single tasks, like a simple calculator and programs written on them had to handle themselves all of the system. Basic operating system features were developed in the 1950s such as resident monitor functions that could automatically run different programs in succession to speed up processing. The first operating systems were produced by customers for the mainframes they acquired and were very diverse. In the US, the first operating systems started appearing in mid 1950s with General Motors’ GM-NAA I/O, produced in 1956 for its IBM 704.
There exist several types of operating systems: single & multitasking (several programs run at the same time and not sequentially), single & multi-user, distributed (run on several computers as one system), real time (basically runs specifically scheduled tasks), embedded (runs e.g. in embedded controllers like in appliances).
All this may sound complicated, but today most users never see what goes on “under the lid”, just as most people have no idea what goes on in a car engine. What simplifies life today is the existence of graphical user interfaces or GUIs, the development of which is followed on the GUI page.
OS functions.
- Processor & Memory Management. The OS schedules tasks (execution of different programs). It decides which process (program) is executed and when and also how much time it will get. It allocates the central processing unit (CPU) time and memory, when a process requests it to do so and de-allocates these when the process no longer needs it or is terminated. If several CPUs are present the OS allocates tasks to each.
- File Management. The OS runs the file system. Keeps track of directories and file information, location, uses, status etc.
- Device Management. The OS (via the Input/Output (I/O) controller) keeps track of all devices (e.g. printers, scanners, communication hardware, etc.) and manages device communication. Decides when and for how much time a process gets a device.
On the user side, the OS handles
- Job accounting. Checks time and resources allocated to users and their programs in some cases.
- Security. Prevents unauthorized access to programs and data via password or other method.
A timeline of operating systems that appeared for a number of common computer systems follows with some comments. We do not go here into the many quite different older mainframe systems.
1968
DEC’s TSS-8 was a time-sharing operating system co-written by Don Witcraft and John Everett at Digital Equipment Corporation in 1967. It ran on the 12-bit PDP-8 computer.
1971
Unix. Unix is a family of robust multitasking, multiuser computer operating systems that derive from the original AT&T Unix, developed starting in the 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others on the PDP 7 and then on the PDP-11 computers. In 1973 it was written in the C computer language, which made it easily portable (usable on different types of computer hardware).
Unix systems have a modular design: the OS provides a set of simple tools that perform well-defined functions, a unified filesystem and a shell scripting and command language which allow to perform complex workflows. Many Unix-like operating systems have arisen over the years, like the Berkeley Software Distribution UNIX (BSD; 1977) and later Free BSD (1993). Of all these Linux is the most popular, having displaced Single Unix Specification, SUS-certified Unix on many server platforms since its appearance in the early 1990s. The Apple MAC OS-X is based on Unix.
1974
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc. Initially confined to single-tasking on 8-bit processors and 64 kilobytes of memory, later versions of CP/M added multi-user variations and were migrated to 16-bit processors.
Early operating systems on personal computers like CP/M (and MS DOS, which resembles it), were single user ones, required to run a single task.
1978
Apple DOS was the family of disk operating systems for the Apple II series of microcomputers from late 1978 (DOS 3.1; there were no 1 or 2 versions) upto around 1983. The first Apple II shipped without disks.
1979-80
OS-9 is a family of real-time, process-based, multitasking, multi-user operating systems, developed in the 1980s, originally by Microware Systems Corporation for the Motorola 6809 microprocessor. It was purchased by Radisys Corp in 2001 and later by Microware LP. The OS-9 family was popular for general-purpose computing and in commercial embedded systems. In recent years, OS-9 was a product name used by both a Motorola 68000-series machine language OS and a portable (PowerPC, x86, ARM, MIPS, SH4, etc.) version written in C, originally known as OS-9000.
1980
86-DOS. Seattle Computer Products (SCP) released 86-DOS for its Intel 8086-based computer kit, partly because CP/86 was not available. The DOS was developed partly based on CP/M 80 processor (for the Intel 8080).
1981
MS DOS. IBM approached Digital Research, to license a forthcoming version of CP/M for the IBM Personal Computer. This deal did not take place and IBM instead contracted Microsoft to provide an OS. Microsoft acquired 86-DOS from Seattle Computer Products and modified it. Early versions of MS-DOS resembled those of CP/M. Some features like the file-handling data structures were identical, and both referred to disk drives with a letter (A:, B:, etc.). This similarity made it easier to port popular CP/M software like WordStar and dBase. However, CP/M’s very useful concept of separate user areas for files on the same disk was never ported to MS- DOS. MS-DOS’s main other difference was its FAT file system. MS-DOS became more popular because of the popularity of the IBM PC.
1984
QDOS. QDOS is the multitasking operating system developed at Sinclair Research for the Motorola 68000 based Sinclair QLcomputer. The QL had only small tapes and QDOS resided in 48KB ROM. Enhanced versions of QDOS were later developed called Minerva and SMS2 and SMSQ/E.
1984
LISA and MAC OS. Apple’s Lisa appeared in 1983, with an OS initially somewhat derived from a later Apple II version. The OS sometimes referred to as the “classic” Mac OS is the Macintosh operating system (System software 1) that was introduced in 1984 with the first Macintosh and remained in use through 2001. The initial system was not a multitasking one, whereas later systems featured preemptive multitasking. The last version was Mac OS9.
1985
Amiga OS. AmigaOS is the operating system of the Amiga and AmigaOne computers released in 1985 by Commodore for the Amiga 1000. AmigaOS is a single-user operating system based on a preemptive multitasking kernel, called Exec. The initial versions were developed fr the Motorola 68000 whereas later versions an on the PowerPC processor.
1987
OS/2 is a series of computer operating systems, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for “Operating System/2”, because it was introduced as part of the same generation change release as IBM’s “Personal System/2 (PS/2)” line of second-generation personal computers. The first version of OS/2 was released in December 1987 and newer versions were released until December 2001.
1987
MINIX (from “mini-Unix”) Unix-like computer operating system based on a microkernel architecture. It influenced to some extent Linux development.
1991
Linux appeared in 1991 as a result of a project of the Finnish student Linus Torvalds to create a new free operating system kernel. Since the initial release of its source code in 1991, it has grown from a small number of C files under a license prohibiting commercial distribution to the 4.2.3 version in 2015 with more than 18 million lines of source code under the GNU General Public License v2.
Linux is now extensively used on both personal and most supercomputers. Android and Chrome OS are based on Linux. There are lots of Linux distributions with a number of variations in the GUI presentations to choose from. Amongst these are (names are linked to where you can download them): Ubuntu, Elementary OS, Mint Linux, Tails (a privacy oriented version), CentOS 7 (Red Hat Linux Variant), openSuse etc.
1993
Windows NT is a family of operating systems produced by Microsoft starting in 1993. It is a multiprocessing, multi-user operating system. It was designed trying to maintain compatibility with earlier Microsoft products. In later years variants include Windows 2000, Windows XP etc.
1998
Free DOS for old software. Since Microsoft stopped supporting MS DOS, an open source project was started to produce a replacement that could run old MSDOS software. FreeDOS can be booted from a floppy disk or USB flash drive. It is designed to run well under virtualization or x86 emulation. Newer versions have appeared since then.
1999-2000
MacOSX. In 1999, Apple released the MacOS X Server 1.0. derived from the Unix based NeXTStep operating system, first introduced in 1989 by NeXT Step computers. It was succeeded in 2000 by the MAC OS X Kodiak (Public Beta version) incorporarting the new Aqua GUI. It was based on open source Darwin Unix like core including preemptive multitasking and protected memory. It was succeeded in 2001 by Mac OS X1.0 Cheetah.
The timeline stops here as most times we just see evolution of OS versions. Which is the most popular OS today? On supercomputers its Linux. Otherwise because of mobile devices Android (a derivative of Linux) turns out to be the most popular distribution and on the worldwide scale now beats Windows as the most used operating system according to Statcounter.