Software is a collection of programs, procedures, and documentation that perform some task on a computer system. In other word software is a set of computer programs, procedures and associated documents for effective execution of the computer system. Software consists of sequence of instructions written in computer understandable form.
Different types of software are: system software, Operating system software, Application software, Utility software.
System software is a type of computer program that is designed to run a computer’s hardware and application In other word, system software is a set of program that manages and supports the resources and operations of a computer system. It is essential software which creates link between user and computer as well as provides and maintains a platform for running application software. The system software controls internal operations like reading data from input devices, sending processed information to the output device, to translate data/instruction to system understandable form. System software can be classified in three types:
a) Operating System Software:
operating system software is a collection of programs that controls the overall operations of a computer. In other word, the system which instructs computer to operate properly within its defined parameters is known as operating system. Operating system software interface between user, application software and hardware. Examples of operating system software are: Window-7, Mac OS, DOS, LINUX etc.
Function of Operating System Software
- Memory Management: Memory is the storage location of data and information in the computer system before or after processing data. Operating system process of managing both primary and secondary memory of the computer. It allocates memory for the process while creating the process and freeing it after the processing is over.
- File Management: File system is the most important components of computer systems. Operating system is responsible for managing files or folders stored on hard disk and other storage device. An operating system helps in creation or deletion of files or folders for reading and writing, transfer data or files one place to another and manage the files or folders.
- Input /Output Management: Operating system is the process of managing input/output devices and their operation. It controls all the operation of input/output and interacts with the peripheral devices.
- Device Management: A system is a collection of different devices and peripherals to make these devices work operating system are required. The operating system serves as an interpreter for several devices and languages. Most of operating system use device driver to translate input and output signals into commands to specific hardware devices.
- Processing Management: Operating system handles the problems of various tasks for processing. It includes creating process, allocating resources for the process, scheduling executing and terminating the process after the execution is over.
- Command Interpreter: The command interpreter takes a command from user then operating system translates it into meaningful instruction which computer can understand easily. The commands can be both text and graphical command.
- Security Management: Operating system plays the vital role to secure the data and program while loaded into the memory. Security is the mechanism for controlling access of program or data by the authorized user to gain resources. It protects the data, resources and information from unauthorized user, hackers and computer viruses.
- Network Management: We have to work on different computers to share files, folders and resources or to communicate from one system to another. The files sharing mechanism, security and resources management are managed by operating system. Network operating system is used to manage networking facilities which uses protocols for to communicate on the network.
- Backup and Recovery: Operating system provides the facilities to recover lost data. It protects data and information from loss. Generating data and information from storage device is data recovery. Backup and recovery assures from loss of data and facilitates to gain previous recovery point.
- Virtual Memory: When there are programs larger than main memory operating system uses the free space from secondary device to create a workable space is virtual memory. The whole program is divided into pages. Only those pages required at a particular time are stored in main memory and remaining pages are stored in secondary memory and loaded immediately when required in main memory.
b) Utility Software:
The utility software also known as service program is a type of system software, which is used for maintenance of computer system and other programs. It performs special jobs in the computer such as virus scanning and cleaning, formatting disk, defragmentation of disk etc. The utility software is designed to make the computer function smoothly. Data recovery, Antivirus, Disk cleanup, file mangers are the example of utility software.
c) Language processor:
It is special types of computer system software that can use to translate the program written in one language into another language. Language processor is translating program which translates instructions provided by the user in human understandable form to machine language. Assembler, compiler and interpreter are the language processor software. They are descibed below:
- Assembler: An assembler is types of language processor which translates the program written in assembly language into machine language and vice-versa. The assembler reads each assembly instructions and converts them into equivalent machine instructions. It translate complete program at once, if the program is free from syntax error. Example: Pseudo Assembly.
- Complier: The compiler is a type of language processor which translates the program written in high level language into machine language at once. It reads whole block of codes at a time, converts them into executable machine code, and run code. It indentifies error only after compiling of complete program. It is faster, difficult and time consuming for debugging. It is usually larger program and requires larger memory space. The programming languages like c, c++, Java, .Net etc are complier based programming language.
- Interpreter: An interpreter is a type of language processor which translates the program in high level language into a machine language line by line. An interpreter translate one instruction to machine code, executes the instruction, then translates and executes the next one and so on until the end of the program. It identifies error after interpreting each line of line of statement. It is slower, easier and faster debugging. It is usually a smaller program and requires less memory space. The programming languages like, QBASIC, LOGO, Visual Basic, C# are interpreter based languages.
Application software is a set of one or more programs, designed to solve a specific problems of user. It is also known as user oriented software. Especially Application software is used to solve user oriented problems so they are developed for user’s purpose. It helps the user to work faster, more efficiently and more productively. There are two types of application software they are :
- Tailored Software: Tailored Software is the software designed to meet the specific requirement of an organization or individual. Tailored software is written on the demand of individual need and serves only one user or organization. It is written in high level languages like C, C++ Visual Basic etc.
- Package Software: Package software is a generalized set of programs which allow computer to perform a specific data processing job for the user. This software are user friendly and designed for use in more than one environment. Some of the most popular packaged software are: Ms-Office package, Adobe Photoshop, Tally, Core Draw, etc.