Many people use computers without knowing how it works. The main software when using the computer is the operating system. The operating system defines all the experience when using a computer; it manages the hardware and software resources of the computer system, provides a way for applications to deal with the hardware without having to know all the details of the hardware, and it is the software that makes all the programs we use work, and it organizes and controls the hardware on our computers. The operating system is the first software we see when we turn on the computer, and the last software we see when the computer is turned off.
It’s important to know and understand that not all computers have operating systems. For example the computer that controls the microwave oven in your kitchen doesn’t need an operating system, it has only simple tasks to perform, very simple input and output methods (a keypad and an LCD screen). For a computer like this, an operating system would not be needed; it will only add things that are not required. Instead the computer in a microwave oven only runs one program all the time. When using computer systems that are more complex than a microwave oven you need an operating system in order for the computer to work. All desktop computers have operating systems. The most common are the Windows family of operating systems, the UNIX family of operating systems and the Macintosh operating systems, and there are hundreds of other operating systems available for special applications. The operating system plays the role of the good parent, making sure that each application gets the necessary resources while playing nicely with all the other applications, as well as husbanding the limited capacity of the system to the greatest good of all the users and applications. Even if a particular computer is unique, an operating system can ensure that applications continue to run when hardware upgrades and updates occur, because the operating system and not the application is charged with managing the hardware and the distribution of its resources. Windows 98 is a very good example of an operating system because it can accommodate thousands of different printers, disk drives and special peripherals in any possible combination.
When dealing with computers you need to know what is the best operating system for the tasks you want to perform. There are four different kinds of computer operating systems. There is a Single-user single task, Single-user multitasking, Multi-user, and Real-time operating system. It’s important to understand the differences between multi-user operating systems and single-user computer operating systems that support networking. Windows 2000 and Novell Netware can each support hundreds or thousands of networked users, but the operating systems themselves aren’t designed for multi-user operating systems. The system administrator is the only user for Windows 2000 or Netware. The network support and all of the remote user logins the network are enabled, in the overall plan of the operating system, a program being run by the administrative user.
- Single-user, single task: This operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system.
- Single-user, multi-tasking: This is the type of operating system most people use on their desktop and laptop computers today. Windows 98 and the MacOS are both examples of an operating system that will let a single user have several programs in operation at the same time. For example, it’s entirely possible for a Windows user to be writing a note in a word processor while downloading a file from the Internet while printing the text of an e-mail message.
- Multi-user: A multi-user operating system allows many different users to take advantage of the computer’s resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn’t affect the entire community of users. Unix, VMS, and mainframe operating systems, such as MVS, are examples of multi-user operating systems.
- Real-time operating system (RTOS): Real-time operating systems are used to control machinery, scientific instruments and industrial systems. An RTOS typically has very little user-interface capability, and no end-user utilities, since the system will be a “sealed box” when delivered for use. A very important part of an RTOS is managing the resources of the computer so that a particular operation executes in precisely the same amount of time every time it occurs. In a complex machine, having a part move more quickly just because system resources are available may be just as catastrophic as having it not move at all because the system is busy.
The computer operating systems tasks, in the most general sense, fall into six categories:
- Processor management: The heart of managing the processor is related to two things first ensuring that each process and application receives enough of the processor’s time to function properly, and using as many processor cycles for real work as is possible. The basic unit of software that the operating system deals with in scheduling the work done by the processor is either a process or a thread, depending on the operating system.
- Memory management: When an operating system manages the computer’s memory, there are two broad tasks that have to be accomplished first each process must have enough memory in which to execute, and the second it can neither run into the memory space of another process nor be run into by another process, and the different types of memory in the system must be used properly so that each process can run most effectively. The first task requires the operating system to set up memory boundaries for types of software and for individual applications.
- Device management: device management is the way the operating system works through a set of instructions
- Storage management: Storage management is Disk storage and it is one of the memory types that must be managed by the operating system, and is the slowest. Ranked in order of speed, and it is divided into three types of memory in a computer system and they are
- High-speed cache: This is fast, relatively small amounts of memory that are available to the CPU through the fastest connections. Cache controllers predict which pieces of data the CPU will need next and pull it from main memory into high-speed cache to speed up system performance.
- Main memory: This is the RAM that you see measured in megabytes when you buy a computer.
- Secondary memory: This is most often some sort of rotating magnetic storage that keeps applications and data available to be used, and serves as virtual RAM under the control of the operating system.
- Application interface: Just as drivers provide a way for applications to make use of hardware subsystems without having to know every detail of the hardware’s operation, application program interfaces (APIs) let application programmers use functions of the computer and operating system without having to directly keep track of all the details in the CPU’s operation. Let’s look at the example of creating a hard disk file for holding data to see why this can be important.
- User interface: Just as the API provides a consistent way for applications to use the resources of the computer system, a user interface (UI) brings structure to the interaction between a user and the computer. In the last decade, almost all development in user interfaces has been in the area of the graphical user interface (GUI), with two models, Apple’s Macintosh and Microsoft’s Windows, receiving most of the attention and gaining most of the market share. There are other user interfaces, some graphical and some not, for other operating systems.
While there are some who argue that an operating system should do more than these six tasks, and some operating-system vendors do build many more utility programs and auxiliary functions into their operating systems, these six tasks define the core of nearly all computer operating systems. One question concerning the future of computer operating systems revolves around the ability of a particular philosophy of software distribution to create an operating system useable by corporations and consumers together. Linux, the operating system created and distributed according to the principles of open source, could have a significant impact on the operating system in general. Most computer operating systems, drivers and utility programs are written by commercial organizations that distribute executable versions of their software — versions that can’t be studied or altered. Open source requires the distribution of original source materials that can be studied, altered and built upon, with the results once again freely distributed. The continuing growth of the Internet and the proliferation of computers that aren’t standard desktop or laptop machines means that operating systems will change to keep pace, but the core management and interface functions will continue, even as they evolve.