Operating systems are computer programs. An operating system is the first piece of software that the computer executes when you turn the machine on. The operating system loads itself into memory and begins managing the resources available on the computer. It then provides those resources to other applications that the user wants to execute. Typical services that an operating system provides include:
- A task scheduler - The task scheduler is able to allocate the execution of the CPU to a number of different tasks. Some of those tasks are the different applications that the user is running, and some of them are operating system tasks. The task scheduler is the part of the operating system that lets you print a document from your word processor in one window while you are downloading a file in another window and recalculating a spreadsheet in a third window.
- A memory manager - The memory manager controls the system's RAM and normally creates a larger virtual memory space using a file on the hard disk. (See also this Question of the Day.)
- A disk manager - The disk manager creates and maintains the directories and files on the disk. When you request a file, the disk manager brings it in from the disk.
- A network manager - The network manager controls all data moving between the computer and the network.
- Other I/O services manager - The OS manages the keyboard, mouse, video display, printers, etc.
- Security manager - The OS maintains the security of the information in the computer's files and controls who can access the computer.
An operating system normally also provides the default user interface for the system. The standard "look" of Windows 98 includes the Start button, the task bar, etc. The Mac OS provides a completely different look and feel for Macintosh computers.
Importance of Linux:Linux is as much a phenomenon as it is an operating system. To understand why Linux has become so popular, it is helpful to know a little bit about its history. The first version of UNIX was originally developed several decades ago and was used primarily as a research operating system in universities. High-powered desktop workstations from companies like Sun proliferated in the 1980s, and they were all based on UNIX. A number of companies entered the workstation field to compete against Sun: HP, IBM, Silicon Graphics, Apollo, etc. Unfortunately, each one had its own version of UNIX and this made the sale of software difficult. Windows NT was Microsoft's answer to this marketplace. NT provides the same sort of features as UNIX operating systems -- security, support for multiple CPUs, large-scale memory and disk management, etc. -- but it does it in a way that is compatible with most Windows applications.
The entry of Microsoft into the high-end workstation arena created a strange dynamic. The proprietary operating systems owned by separate companies and the lack of a central authority in the UNIX world weaken UNIX, but many people have personal problems with Microsoft. Linux stepped into this odd landscape and captured a lot of attention.
The Linux kernel, created by Linus Torvalds, was made available to the world for free. Torvalds then invited others to add to the kernel provided that they keep their contributions free. Thousands of programmers began working to enhance Linux, and the operating system grew rapidly. Because it is free and runs on PC platforms, it gained a sizeable audience among hard-core developers very quickly. Linux has a dedicated following and appeals to several different kinds of people:
- People who already know UNIX and want to run it on PC-type hardware
- People who want to experiment with operating system principles
- People who need or want a great deal of control over their operating system
- People who have personal problems with Microsoft