1.1. Operating Systems¶
1.1.1. What is an Operating System?¶
Computers and computing devices are ubiquitous in today’s world, which is why many of the devices that we all interact with every day, either directly or indirectly, are often considered a computer or said to contain one internally. Here are some quick examples:
The primary piece of software on most computers is known as an operating system, a program which manages the computer’s resources for its users and the other programs that those users use [AD2014]. Here are the names of a few operating systems that you may have encountered prior to reading this book:
At the time of this writing, Android is the operating system directly used by most users to access 1.5 million sampled websites according to Stats Counter with 45% of the worldwide marketshare.
1.1.2. Early Computers¶
While most operating systems today provide a graphical interfaces that enable users to interact with applications and adjust various operating system settings using their keyboard, mouse, or even by touching the the computer screen, but that was not always the case. Early computers (c. 1940 - 1950) required users to manually program them to do things by physically connecting vaccuum tubes or wires or by preparing and inserting punchcards.

Fig. 1.1 Glen Beck (background) and Betty Snyder (foreground) program the ENIAC computer by connecting its at the Ballistic Research Laboratory at the ENIAC at Aberdeen Proving Ground in Maryland c. 1947 to 1955 [IMAGE_ENIAC].¶

Fig. 1.2 An actual bug, a moth, found trapped inside an early computer while it was being tested at Harvard University on September 9, 1947 [IMAGE_BUG].¶
Early computers did not typically have display monitors attached to them, so program output was typically printed onto paper so that users could read it. When an program error occurred, users needed to double check their tubes, wires, and punchcards, and in some cases, physically remove bugs (i.e., insects) that had not made their way into the computer causing it to malfunction.
Although these early computers sound drastically different than ones that we are used to interacting with today, programmers still use some of the terminology that originated from that time period today (see Table 1.1).
Term |
Meaning |
---|---|
display program output |
|
debug |
find and fix program errors |