What is an Operating System?
(Read chapter 1 of the dinosaur book.)
An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware.
The purpose of an operating is to provide an environment in which a user can execute programs. Primary goal of an operating system is to make the computer system convenient to use.
(Read chapter 1; again...)
Computer System can conceptually be broken up into four components: the hardware, the operating system, application programs, and users.
Hardware represents the CPU, memory, IO devices, etc.
Application programs represent software such as MS Word, GCC compiler, Web Servers, etc. It is the software the user uses.
Users are usually people sitting in front of their computers, but can also be other software or systems. (one machine can contact another, etc.)
The operating system is like the glue that ties everything together. It allows users to interact with their programs, and their programs to interact with each other and the hardware.
(paraphrased from the book)
We can view the operating system as a government. It provides the means for proper use of resources. Like the government, it performs no useful function by itself. It simply provides an environment within which other programs can do useful work.
Another view of an OS is a resource allocator. It manages the resources (memory, IO, etc.), and allocates them for programs that request them. The operating system resolves conflicts if several programs request the same resource.
Yet another view of OS is as a control program. It makes sure that rogue programs do not harm the computer system or cause errors.
In general, operating systems have no single definition that works for all situations. (that's why DOJ had so much trouble fighting Microsoft on their inclusion of Internet Explorer into Windows 98; is it part of an operating system or not?)
The bare definition of the OS is that it's a program or library that makes using and programming computers simpler.
(Chapter 1 of the dinosaur book has a rather nice history of operating systems)
Brief Simplified History
Long time ago people decided to make computers. First `computers' where huge and inflexible, mostly built to do one specific job. Then Alan Turing and John Von Neumann (almost at the same time) came up with the concept of programmable computers. Now you could build one `universal computer', load up whatever program you wished, and it would run it.
Those machines were very hard to program, requiring writing code in binary 1s and 0s, and even modifying microcode. (very low level). These programs handled all their own memory management, input and output, etc.
Probably not too long after that, someone got an idea of reusing parts of the code for things like I/O. Before you knew it, a lot of the people were reusing each others code, and some standard libraries started to pop up.
From then on, these libraries have become a complete environment in which programs execute, and with the advent of faster hardware and high level programming languages, the complexity of these operating systems has increased substantially.
That's just about it.
After several generations of operating systems, important ones that have survived are UNIX and Windows (OS X, Linux, BSD, and Solaris are all UNIX). DOS, the shadow of Windows, is also still around in one form or another.
[In class: operating systems histories, how DOS got replaced by Windows, how Linux came about, etc., and how various new CPU architectures effected operating systems.]