home

=__Operating System__ =

**What is an Operating System? **
An **operating system** (**OS**) is an interface between hardware and user, which is responsible for the management and coordination of activities and the sharing of the resources of a computer, that acts as a host for computing applications run on the machine. One of the purposes of an operating system is to handle the resource allocation and access protection of the hardware. This relieves the application programmers from having to manage these details. Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation. Users may also interact with the operating system with some kind of software user interface like typing commands by using command line interface (CLI) or using a graphical user interface.

**What are the functions of Operating System?**
1. Processor management, that is, assignment of processor to different tasks being performed by the computer system.

2. Memory management, that is, allocation of main memory and other storage areas to the system programmes as well as user programmes and data.

3. Input/output management, that is, co-ordination and assignment of the different output and input device while one or more programmes are being executed.

4. File management, that is, the storage of file of various storage devices to another. It also allows all files to be easily changed and modified through the use of text editors or some other files manipulation routines.

5. Establishment and enforcement of a priority system. That is, it determines and maintains the order in which jobs are to be executed in the computer system.

6. Automatic transition from job to job as directed by special control statements.

7. Interpretation of commands and instructions.

8. Coordination and assignment of compilers, assemblers, utility programs, and other software to the various user of the computer system.

9. Facilities easy communication between the computer system and the computer operator (human). It also establishes data security and integrity.

**What are different types of Operating System?**
Data or programs are collected grouped and processed at a later date.
 * 1. Batch Processing System**

Inputs immediately affect the outputs. Timing is critical i.e. they are capable of influencing the source of the data e.g. control where data from sensors is processed immediately and affect the outputs – controlling some device.
 * 2. Real-time Systems**

Inputs immediately affect the outputs but timing is not critical. Each transaction is completed online as it arises e.g. booking systems – each booking is online and a database of bookings can be amended interactively and very quickly whilst another user is locked out so cannot double book or alter that record at the same time.
 * 3. Real-time transaction**

Processing performed under the direct control of the CPU whilst the user remains in communication with the computer.
 * 4. Online processing**

Processing which is done away from CPU.
 * 5. Offline processing**

Any users linked by workstations to a central computer such as in a network.
 * 6. Multi-access on-line**

The user has to be present and program cannot proceed until there is some input from the user. For example, selection from a menu at ATM.
 * 7. Interactive processing**

Processing is carried out independently in more than one location, but with shared and controlled access to some common facilities.
 * 8. Distributed system**

Ability to run many programs apparently at the same time.
 * 9. Multiprogramming:**

The ability to hold several programs in RAM at one time but the user switches between them.
 * 10. Multi tasking**

**Use of different Operating System in different fields**
Payroll, stock control and billing systems.
 * Batch Processing System**

Control of nuclear power plants, oil refining, chemical processing and air traffic control systems.
 * Real-time Systems**

Holiday and airline booking system. Difference between realtime and real-time transactions. In real time, time is critical and delays can be catastrophic but in real-time transactions systems there is no time criticality. E.g. poor speeds in airline control would be dangerous but poor booking speeds would not be so crucial.
 * Real-time transaction**

Holiday or airline booking system. One person must be locked out when another is updating the file. This helps to prevent Double booking.
 * Multi-access on-line**

Databases e.g. libraries.
 * Distributed system**