The term software is used for a sequence of instruction given to the computer to perform a specific task. Software consists of the step-by-step instructions that tell the computer what to do. In general, software is divided into applications software and software. Applications software, which may be customized or packaged, performs useful work on general-purpose tasks. System software, which includes operating system, enables the application software to interact the computer.
Application software is defined as software that can perform program can be developed by a single computer professional programmer or by a team of programmers depending upon the requirements.
Package Software is the kind of “off” the “self” program developed for sale to the general public. Package software includes word processing, spreadsheet, database manager, graphics, and communications programs. These are the software development by experts in high/low level languages for non-experts. It is to facilitate all the fields of life.
It is obvious that to solve some problem on a computer a programmer will write instructions. But other than writing instructions for solving the problem every programmer will also have to write instructions for the following tasks.
- Read data from the input devices
- Show results on the output devices
- Perform memory management tasks (more details latter)
- Organize data on the storage devices.
These tasks are very complex and only expert programmers can write these instructions. From this discussion it is obvious that only expert difficult situation some these programs (instructions) can be written only once and can be stored in the computer so that every programmer does not have to write these instructions but rather use the stored instruction.
This set of programs evolved and became what is known as an operating system (OS). We can define an OS as a set of programs running in the background on a computer system and providing an environment in which other programs can be executed and the computer system can be used efficiently.
In this section we will discuss the main functions of an operating system and see how the OS provides these facilities. Some of the programs are stored in the processor memory and provide the basic utilities to the users. The remaining programs are stored on the hard disk or backing store of the computer and are loaded in the memory of the computer when these are needed.
Any programmer or user trying to use the computer system now does not need to write instructions for performing the common tasks but can issue command to the OS and OS can do the rest. So we can visualize as if he OS is sitting between the hardware and the application program or user. This is shown in the figure below. From this figure it is obvious that the OS will not only provide programs for doing different tasks but will also provide an interface to its users (i.e. programs, programmers etc)
Functions of the Operating Systems: In this section we will discuss the main functionality provided by the OS to its users.
Manage Hardware Resources: The operating system must provide programs for managing the hardware resources of the computer like disks, memory, and CPU.
Memory Management: In the stored program computer every program has to be loaded into the computer’s main memory during the execution. If there are several programs simultaneously loaded in the main memory, as is the case when time-sharing is used, the program and its data must be protected from the actions of other programs.
Load and Execute programs: As we know that a program has to be loaded into the main memory before the processor can execute it. The OS provides the facility of easily loading a program into memory and starts its execution.
Data Security: The OS must also protect the user data against illegal access and modification.
Providing interface to the users: The OS must provide an interface between the user and the computer and also between software and the computer. Most Operation systems provide the following two types of interfaces to their users.
Command prompt:In such interfaces the users communicate with the operating system by type commands using a keyboard. Each command given to the OS activates one of the many programs in the OS. Example of such an interface is the command prompt provided by MS-DOS to its users
Graphical User Interface (GUI): The GUI interface consists of Window, Menus, Icons and pointers. The user of the system communicates with the OS by selecting commands from the menus or by selecting different Icons with the pointing device. MS-Windows is a well-known example of the OS with a GUI interface. In MS-Windows the user selects commands by using a mouse and keyboard.