An operating system (OS) is a collection of system programs that together control the operation of a computer system. An operating system controls the way in which the computer system functions .in order to do this ,the operating system includes programs that : 1- initialize the hardware of the computer system. 2- provide basic routines for device control. 3- provide for the management , scheduling and interaction of tasks. 4- maintain system integrity and handle errors. There are many types of operating systems, the complexity of which varies depending upon what type of functions are provided , and what the system is being used for . Some systems are responsible for managing many users on a network . Other operating systems do not manage user programs at all . These are typically found in hardware devices like petrol pumps ,airplanes, video recorders,washing machines and car engines. Windows NT Workstation is know as a general-purpose operating system. This is because it provides the ability to run a number of different programs , such as games ,word processing ,business applications and program development tools. An operating system for a security control system (such as a home alarm system) would consist of a number of programs . One of these programs would gain control of the computer system when it is powered on , and initialize the system. The first task of this initialize program would be to reset(and probably test) the hardware sensors and alarms . Once the hardware initialization was complete, the operating system would enter a continual monitoring routine of all the input sensors. If the state of any input sensor changed , it would branch to alarm generation routine. Initialize the hardware Enter monitoring sequence Any sensor changed Process alarm Input and output devices are components that form part of the computer system. These devices are controlled by the operating system. Input devices provide input signals such as commands to the operating system .these commands received from input devices instruct the operating system to perform some task or control its behavior. Typical input devices are a keyboard, mouse, temperature sensor, air-flow valve or door switch . In the previous example of our simple security control system, the input devices could be door switches, alarm keyboard panel and smoke detector units. Output devices are instruments that receive commands or information from the operating system . Typical output devices are monitor screen, printers, speakers , alarm bells, fans, pumps, control valves, light bulbs and sirens. We are all familiar with the concept of sitting down at a computer system and writing documents or performing some task such as writing a letter . In this instance there is one keyboard and one monitor that you interact with . Operating systems such as windows 95 , windows NT workstation and windows 2000 professional are essentially single user operating systems . They provide you the capability to perform tasks on the computer system such as writing programs and documents , printing and accessing files . In essence , a single-user operating system provide access to the computer system by a single user at a time . If another user needs access to the computer system , they must wait till the current user finishes what they are doing and leaves . Students in computer labs at colleges or university often experience this . You might also have experienced this at home , where you want to use the computer but someone else is currently using it . You have to wait for them to finish before you can use the computer system . A multi-user operating system lets more than one user access the computer system at on time . Access to the computer system is normally provided via a network , so that users access the computer remotly using a terminal or other computer . In the early days of large multi-user computers , multiple terminals (keyboards and associated monitors) were provided . These terminals sent their commands to the main multi-user computer for proccessing , and the results were then displayed on the associated terminal monitor screen . Today , these terminals are generally personal computers and use a network to send and receive information to the multiuser computer system . Examples of multiuser operating system are UNIX , Linux and mainframes such as the IBM The operating system for a large multi-user computer system with many terminals is much more complex than a single-user operating system. It must manage and run all user requests, ensuring they do not interfere with each other. Devices that are serial in nature (devices which can only be used by one user at a time, like printers and disks) must be shared amongst all those requesting them (so that all the output documents are not jumbled up). If each user tried to send their document to the printer at the same time, the end result would be garbage. Instead, documents are sent to a queue, and each document is printed in its entirety before the next document to be printed is retrieved from the queue. The operating system consists of hundreds of thousands of lines of program code and stored on hard disk. Portions of the operating system are loaded into computer system memory (RAM) when needed. Utilities are provided for Managing Files and Documents Development of Programs and Software Communicating between people and with other computer systems Managing user requirements for programs, storage space and priority In addition, the operating system provides each user with an interface that accepts, interprets and executes user commands or programs. This interface is commonly called a SHELL or command line interpreter (CLI). In some systems this might be a simple text mode line-by-line entry using keywords (such as MSDOS or UNIX), in other systems it might be highly graphical using windows and a pointing device such as a mouse (such as XWindows). The advantage of having a multi-user operating system is that normally the hardware is very expensive, and it lets a number of users share this expensive resource. This means the cost is divided amongst the users. It also makes better use of the resources. Since the resources are shared, they are more likely to be in use than sitting idle being unproductive. One problem with multi-user computer systems is that as more users access it, the performance becomes slower and slower. Another disadvantage is the cost of hardware, as a multi-user operating system requires a lot of disk space and memory. In addition, the actual software for multi-user operating systems tend to cost more than single-user operating systems. A multi-tasking operating system provides the ability to run more than one program at once. For example, a user could be running a word processing package, printing a document, copying files to the floppy disk and backing up selected files to a tape unit. Each of these tasks the user is doing appears to be running at the same time. A multi-tasking operating system has the advantage of letting the user run more than one task at once, so this leads to increased productivity. The disadvantage is that more programs that are run by the user, the more memory that is required.