Computer Software




The set of instructions or programs written by using a programming language to solve a problem is called computer software. 




software controls and operates computer hardware to perform a task. The set of instruction or command is called program. The set of program to perform a specific task is called software. Generally, computer software is classified into two types.

  1. System software
  2. Application software


System software
The software that manages controls and supports computer system is called system software. So, system software creates link between computer and user. It is a platform for running application software. It manages files and folders. It can be sub-divided into the operating system, utility software, device driver software, language processing software, etc.

Let's learn about different types of system software

operating system
An operating system is the system software that manages and controls the overall operation of computer. It coordinates, controls and manages computer hardware. The operating system is installed in C: drive of hard disk. It is the first software that is loaded into computer memory (RAM). The popular operating system are Windows XP, Windows 7, Windows 8, Windows 10, Linux based fedora, UNIX, MS-DOS etc. Android KitKat, Android Marshmallow, Android Oreo are the popular operating system of Android smartphone and IOS is the operating system of Apple iPhone.
The main functions of the operating system are explained below: 

a. Memory Management: Operating system performs the task of allocation and de-allocation of RAM-memory space needed to run programs and other resources. 

b. Processor Management Operating system must allocate resources to processes and enable processes to share and exchange information. 

c. Device management Operating system co-ordinates with all devices like keyboard, printer, monitor, mouse etc. So, the operating system helps to manage input, process and output devices. 

d. File Management Operating system manages all files in computer. It keeps records of filename, type, size, location, etc. 

e. Security Operating system provides a security mechanism while using a computer. For example, password is used in a system to prevent unauthorized access. 

The operating system can be classified into two types based on the mode of the user as: 

Single User Operating System 
It is designed to manage the computer so that one user can effectively do one thing at a time. The Palm Operating System for palm handheld computers is a good example of a modern single-user, single-task operating system. This is the most common type of operating system used on a home computer as well as on computer in offices and other work environments. Single User Operating system is designed to manage computer so that only one user can work on it at a time. MS-DOS, Windows 8/10 etc. are the examples of single-user operating system. 

Multi-User Operating System 
Multi-user operating system is designed to manage computer so that many users can work on it at a time. Many computers are connected to network through one operating system. So operating system coordinates and controls all computers connected to network. Mainframe computer uses multiuser operating system.


The operating system can be classified into two types based on the user interface as: 
CUI (Character User Interface) 
In this type of operating system, user gives command or character to perform tasks. The keyboard is used to give command in this operating system. It is less user-friendly in comparison to other operating system. DOS, UNIX, Novel Netware, etc. are examples of character user interface-based operating system


GUI (Graphical User Interface) 
In this type of operating system, the user gives command to perform the tasks by clicking on icons, buttons and menus using a mouse. It uses keyboard as well as mouse and it is user-friendly in comparison to CUI operating system. MS Windows 7/8/10, Linux, etc. are the examples of GUI. Nowadays, Microsoft Corporation develops GUI based operating system. Windows operating system users have increased. Windows is a GUI based operating system that controls all activities of computer system. In this operating system, the user uses different application program and document display on window. So it is named as Windows. Mouse is used to open file, shut down computer and perform different commands in windows operating system. The user does not need to remember long commands to perform task. Nowadays, Windows10 is the latest operating system.
 

ii. Language Processor/ language translator:
 A computer is an electronic machine. So it understands machine level language (binary language: 0 or 1). A computer program is a set of instructions to perform tasks. System software that converts different programming language into machine level language is called language processor. So language processor converts high-level language or assembly language into machine level language and vice versa. The three types of language processor are explained below: 

a. Assemblers 
An assembler is a type of language processor which converts program code written in assembly language into machine language. Machine level language uses binary digit, 0 or 1 to write a program which is difficult. So a programmer writes programs using assembly language. Mnemonic Code is used for writing program in assembly language. The source program is an input of assembler that contains assembly language instructions. The output generated by the assembler is the object code or machine code understandable by the computer.

b. Compilers 
The high-level programming language is developed for the improvement of assembly language. A compiler is a type of language processor which converts the program written in high-level language into machine level language at once. The equivalent machine code obtained after translation is called object code. So the process of converting source code into object code is known as compilation. The compiler specifies the errors at the end of compilation with line numbers when there are any errors in the source code. The errors must be removed before the compiler can successfully recompile the source code again. C, C#, C++, Java, PHP, etc. are compiler-based programming languages.


c. Interpreter 
Interpreter is a type of language processor which converts the program written in high-level language into machine level language line by line. If there is any error in the middle of the program then program is interrupted in between. So, after removing the error, the program needs to run again from the beginning. LOGO, QBASIC, BASICA, Perl, Python, etc. are interpreter based language.

iii. Utility Software 
Utility software is also called service program. A set of programs that perform task related to the maintenance of computer software and hardware is called utility software. The main objective of utility software is the smooth functioning of computer system. 


The examples of utility software are: 
 Antivirus software (Kaspersky, Norton Antivirus) 
 Backup Software (Nova BACKUP Professional, Ashampoo Backup Pro) 
 Encryption Tools (Versacrypt, Bitcocker) 
 File Compression Tools (Winzip, WinRAR) 
 Disk Utilities (Disk Defrag, WinDirstat) 

iv. Device Drivers Software 
Device driver software often provides programs for working with special devices such as printers. These programs are called drivers because they allow the operating system and another program to activate and use the hardware device. Most new software you buy will work with your printer, monitor and other equipment without requiring you to install any special driver because the device driver for common peripherals are already included in the operating system.

b. Application Software 


Application software is designed to fulfil the requirement of user. A set of programs designed to do specific tasks is called application software. The application software is used to type e-mail, edit photos, prepare presentation, listen to music, design engineering work, edit videos, produce bills etc. The popular two types of application software are given below.

i. Packaged/General Purpose Application Software The software developed for all general users to perform their generalized tasks is called general-purpose application software. It cannot be modified as per user requirement. It is costlier and easily available in market. 
The examples of general-purpose application software are: 
 MS Office Package (MS-Word, MS-Excel, MS-PowerPoint) 
 Adobe Photoshop 
 Auto CAD 
 SPSS (Statistical Package for the Social Sciences) 
 Autodesk Maya. 

ii. Customized/Tailored Software 
The software which is designed to fulfil the specific requirement of an individual or office or organization is called customized/tailored software. It can be modified as per user's requirement. It can be used in school, college, hotel, travel agency, airlines, hospital, insurance, etc. for performing different tasks like account, administration, store, ticket booking, etc. There are different softwires in many offices and they are expensive.

Freeware 
Freeware is a software available free of charge. It is copyrighted by its developer. The developer retains the rights to control its distribution, modify it and sell it in the future. Freeware is typically distributed without its source code, thus preventing modification by its users. So, it may be freely downloaded, installed, used and shared. Source code can be written in any programming languages. Some of the most popular programming languages are C, C++, Java, Perl, PHP, etc. Freeware is usually distributed with a license that permits its redistribution to some extent. For example, allowing users to give copies to friends. However, there may be restrictions, such as limitations on its commercial use. Some licenses permit the software to be freely copied but not sold.

OSS (Open Source Software) 
The programs written in high level language like C++, C#, Java, Python, etc. are called source code. Opensource softwires are freely available software and source code is also free of cost. So, open-source softwires are called free software. MS office package, Adobe Photoshop, Windows 8/10, etc. are called proprietary softwires which do not provide source code to user after payment.

In open-source software, the user modifies source code according to user requirement. Open-source software was started by Richard Stallman in 1983. Richard Stallman announced the GNU Project in 1983. Free Software Foundations was established in 1985. Some proprietary software and their alternative open source software are listed below:


Comments