Using a computer was not always so easy. Operating systems emerged as a necessity to be able to use very complex machines at a time when highly specialized personnel were needed to operate them.
This article describes some milestones in the evolution of the software we know as the operating system and highlights the emergence of concepts that persist in modern operating systems. The division of generations is approximate in terms of years and is mainly guided by the milestones that marked the hardware.
In the early days of computers, operating systems, the software that controls applications and system resources, did not exist. The software itself did not exist either. The computers were programmed by manually connecting calculation circuits and changing the wiring for each new calculation to be performed.
This changed in 1945, when John Von Neumann invented the computer that stored instructions in memory that told calculating units what to do. On June 21, 1948 the first program was run on a machine called Baby at the University of Manchester, and the software was born.
However, computers continued to run only one program at a time, and operators still had to load each program and its corresponding data into memory from tapes or punch cards, run the program, and then repeat the entire process for the next program. And while this was faster than changing the cabling, a great deal of computer time was still wasted.
In the early 1950s, companies using computers were looking for ways to solve this problem.
In 1955, some programmers at the General Motors Research Center found a solution for their IBM 701 computer: a batch process monitor program that allowed operators to include a series of jobs on a single magnetic tape.
This was the first step towards a full-scale operating system. Computer manufacturers soon began offering their own batch process monitors. In the early 1960s, they began adding what would become critical operating system functions.
The Burroughs 5000 Master Control Program offered virtual memory and the ability to run multiple processes simultaneously. Univac’s EXEC 1 system allocated memory, scheduled CPU time, and attended to input/output requests for data.
In 1963, a team at the Massachusetts Institute of Technology led by Fernando Corbato developed the CTSS (Compatible Time-Sharing System), which was the first practical operating system that allowed several users to run several different programs from terminals.
A significant part of that team soon moved to work on a much more ambitious operating system: Multics, a joint project with General Electric and AT & T’s Bell Laboratories that offered a tree-structured, layered, or tiered file system. and many other modern OS functions.
Although AT&T departed from the Multics project in 1969, its programmers Ken Thompson and Dennis Ritchie began developing their own shortened version of Multics, which they called Unix.
Unix was easy to translate to new computer architectures and became popular in universities because AT&T made the Unix source encoding available to students so they could study it. By the 1980s, Unix had spawned a generation of workstations and displaced many existing operating systems.
Meanwhile, in the mid-1970s the first desktop personal computers began to arrive, with operating systems that were little more than the process monitors of twenty years earlier. When IBM began selling PCs in 1981, it offered several operating systems, And Microsoft came … and then Linux Microsoft soon dominated the market for PC operating systems, using features of its competitors, such as the Windows graphical user interface that it took from Apple Computer’s Macintosh computer.
Microsoft also offered the Xenix system, the most popular version of Unix for PCs, and collaborated with IBM to develop a multitasking system for PCs, OS / 2, in 1982. However, the collaboration of IBM and Microsoft ended, and the latter merged its OS / 2 product with its popular Windows system to create Windows NT in 1993.
For his part, Finnish student Linus Torvalds was not trying to compete with Microsoft in 1991 when he started working on a Unix clone he called Linux.
After finishing the first version, Torvalds turned to other programmers on the Internet for help, and by 1994 Linux was a free operating system on a full scale. In 1999, it ran on more web servers than Microsoft’s operating systems and was the most important competitor to the latter.
Today, Linux works on all types of devices, from mobile phones to mainframes, while the versions of Windows cover almost the same product range. How competition and interoperability develop between Windows and Linux could determine the future of business computing.
Until 1993, mobile phone devices were nothing more than communication devices that used dedicated, embedded systems to manage their hardware .
The concept of using these devices to carry out activities beyond telephony arose with the devices known as PDA ( Personal Digital Assistant ), among which is the Apple Newton that included a Newton OS operating system written in C ++, and with a pioneer use of handwriting recognition. It had an API for applications developed by third parties, however, it did not get much adoption.
Perhaps the first device called a smartphone was the IBM Simon, with a touch screen interface (with a stylus) and a ROM-DOS operating system, compatible with MS-DOS and developed by the Datalight company. Its one-hour battery life did not allow it to compete with the new devices.
Palm, Inc. and the Palm OS
It was in 1997 that the now-defunct Palm, Inc. company popularized PDA devices through its PalmPilot and its Palm OS 2.0 operating system as the first successful mobile operating system.
A system incorporating Graffiti of handwriting recognition, and the stack of TCP / IP protocols to support synchronization network instead of the serial cable. Palm OS gradually introduced modern features according to the evolution of devices such as support for the WiFi stack (IEEE 802.11), Bluetooth, and since 2004 with Palm OS 6.0 (Cobalt), a kernel with multitasking and memory protection. In 2009, Palm, Inc. tried to catch up with the competition for the mobile market with the development of WebOS. Palm, Inc. would be acquired by HP the following year and webOS development would not be boosted until at least two more years when the webOS code was released openly. Finally, HP licenses the use of webOS to LG to incorporate it into its smartTV devices.
Nokia and SymbianOS
Palm’s success led other mobile players like Nokia to co-found and later fully acquire Symbian Ltd .. The founding consortium included Psion, a company behind EPOC, a 32-bit single-user operating system with preemptive multitasking from 1998, which under Symbian would become Symbian OS whose first version (6.0) was used in the Nokia 9210 Communicator. Symbian OS ran on ARM processors, a RISC architecture.
At its best, Symbian OS was the preferred system for manufacturers such as Samsung, Motorola, Sony Ericsson, and primarily Nokia. It had a microkernel called EKA2 that supported preemptive multithreading, memory protection, and real-time task scheduling ( RTOS ).
It had an object-oriented design and was written in C ++. Symbian OS dominated much of the mobile operating system market until its gradual abandonment by Samsung, Sony Ericsson, and eventually Nokia (which would replace it with Windows Phone), which made it lose ground to the emergence of iOS and Android. SymbianOS. Nokia 9210 Communicator (2000).
RIM and Blackberry OS
In 2002, the Canadian company Research In Motion (RIM) developed its own line of mobile devices known as BlackBerry and its own BlackBerry OS operating system (RIM would eventually change its name to BlackBerry Ltd.).
The BlackBerry OS was a multitasking system with support for applications using the special platform for embedded devices Java Micro Edition (JavaME). It included support for WAP, a stack of mobile communication protocols that was no longer adopted when mobile devices were powerful enough to process the traditional TCP / IP stack .
In 2010, BlackBerry OS was replaced by BlackBerry 10, a system based on the QNX real-time microkernel (RTOS) . Since 2016, devices produced by BlackBerry began to use Android instead of BlackBerry 10, whose support has been announced at least until 2019. RIM / Blackberry logo. Blackberry Curve 9320 with BlackberryOS 7.1. Blackberry 10 architecture.
Apple: iPhone and iOS
The year 2007 saw the entry of one of the main competitors when Apple introduced its iPhone along with its iOS operating system (originally iPhone OS ). iOS, like MacOSX, is based on the XNU hybrid kernel and the Darwin (UNIX-like) operating system. Since 2010, with iOS 4, the system added API support for multitasking by user applications.
Previously multitasking was restricted to only certain system services. The availability of the iOS SDK ( Software Development Kit ) attracted the development of multiple native applications available from an online store (App Store), rapidly popularizing the use of the iPhone and positioning it as one of the main competitors.