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 system is
to provide an environment in which a user can execute programs in a convenient and efficient manner. -------------GOAL--------------- 1--The primary goal of an operating system is convenience for the user. Operating systems exist because they are supposed to make it easier to compute with them than without them.This view is particularly clear when we look at operating systems for small personal computers. 2--A secondary goal is efficient operation of the computer system. This goal is particularly important for large, shared multiuser systems. These systems are typically expensive, so it is desirable to make them as efficient as possibl e. These two goalsconvenience and efficiencyare sometimes contradictory. ----------------TASKS----------------- 4.DEVICE MANAGEMENT--The operating system controls and coordinates the use of th e hardware among the various application programs for the various users.Mainframe operating systems are designed primaril y to optimize utilization of hardware. The operating system acts as the manager of these devices and allocates them to specific programs and users as necessary for tasks. Since there may be many possibly conflicting requests for devices, the operating system must decide which requests are allocated resources to operate the computer system efficiently and fairly. 3.STORAGE MANAGEMENT--To make the computer system convenient for users, the oper ating system provides a uniform, logical view of information storage. 3(i)FILE MANAGEMENT The operating system is responsible for the following activities in connection with file management: Creating and deleting files Creating and deleting directories to organize files Supporting primitives for manipulating files and directories Mapping files onto secondary storage Backing up files on stable (nonvolatile) storage media 3(ii)MASS STORAGE MANAGEMENT The operating system is responsible for the following activities in connection with disk management: Free-space management Storage allocation Disk scheduling 1.PROCESS MANAGEMENT--The operating system is responsible for the following acti vities in connection with process management: Creating and deleting both user and system processes Suspending and resuming processes Providing mechanisms for process synchronization Providing mechanisms for process communication Providing mechanisms for deadlock handling 2.MEMORY MANAGEMENT-- The operating system is responsible for the following activities in connection with memory management: Keeping track of which parts of memory are currently being used and by whom Deciding which processes (or parts thereof) and data to move into and out of memory Allocating and deallocating memory space as needed ---------------------------------------- TYPES OF O.S 1.Simple batch systems Batch systems allowed automatic job sequencing by a resident operating system and greatly improved the overall utilization of the computer. The computer no longer had to wait for human operation. GPU utilization was still low, however, because of the slow speed of the I/O devices relative to that of 4he CPU. Off-line operation ofIslow devicesjpmvMes ajneans Jo> use jnultiple reader-to-tape and tape-to-printer systems for one CPU. Spooling allows the CPU to overlap the input of one job with the computation and output of other jobs. 2.Multiprogrammed batched systems In a multiprogramming system, the operating system simply switches to and executes another job. VJhen.-that job needs to wait, the CPU is switched to another job, and so on. Eventually, the first job finishes waiting and gets t he CPU back. As long as there is always some job to execute, the CPU will never be idle. Multiprogramming, which was developed to improve performance, also allows time sharing. 3.Time sharing systems Time-sharing systems were developed to provide interactive use of a computer system at a reasonable cost. A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared computer.Since each action or command in a time-shared system tends to be short, only a little CPU time is needed for each user. As the system switches rapidly from one user to the next, each user is given the impression that she has her own computer, whereas actually one computer is being shared among many users. 4.Personal computer systems Personal computer systems are microcomputers that are considerably smaller and less expensive than are mainframe systems. Operating systems for these computers have benefited from the development of operating systems for mainframes in several ways. However, since individuals have sole use. of the computer, CPU utilization is no longer a prime concern. Hence, some of the design decisions that are made in operating systems for mainframes may not be appropriate for smaller systems. 5.Parallel systems Parallel systems have more than one CPU in close communication; the CPUs share the computer bus, and sometimes share memory and peripheral devices. Such systems can provide increased throughput and enhanced reliability. 6.Distributed systems A distributed system is a collection of processors that do not share memory or a clock. Instead, each processor has its own local memory, and the processors communicate with one another through various communication lines, such as high-speed buses or telephone lines. A distributed system provides the user with access to the various resources located at remote sites. 7. Real time systems A real-time system is used when there are rigid time requirements on the operation of a processor or the flow of data, and thus is often used as a contro l device in a dedicated application. Sensors bring data to the computer. The computer must analyze the data and possibly adjust controls to modify the sensor inputs. Systems that control scientific experiments, medical -imaging systems, industrial control systems, and some display systems are real-time systems. 7(1)A hard real-time operating system has well-defined, fixed time constraints. Processing must be done within the defined constraints, or the system will fail. 7(2)Soft real-time systems have less stringent timing constraints, and do not support deadline scheduling.