Introduction to Software and its types:
Thus, various types of software are the medium through which a user interacts with hardware or different physical parts of the computer and can perform a personalized task.
There are various software to be installed within the computer to perform various operations easily. They are basically subdivided into 2 types:
- System Software
- Application Software
System Software and its types:
System software is one type of computer software. because it is designed to make direct interaction between the user and the hardware. Thus they are the interface between the user and the computer.
One of the most common examples for system software can be an Operating System (OS) such as Windows, Linux, Mac OS. The OS manages the whole computer such as file management, storage management.
There are various examples for a system software which are explained below:
- Operating System
Operating System is an interface between the user and the various components of the computer (Hardware).
It can perform various operations such as memory management, device management, process scheduling, file management, protection, and security.
A compiler is a system software tool that converts the High-Level Language into Machine understandable language that is Machine Level Language.
The compiler can convert the entire code to the machine code in one. Because the codes need to be converted into machine level language`. Compiler is used to convert various High-Level Languages for example C, C++, Java, etc..
An assembler is another system software tool which converts the Assembly Language into the Machine Language.
An Assembly Language is a low-level programming language that can give instructions to the computer.
Assembly Language is easily understandable by the computer as compared to High-Level Language.
An interpreter converts the High-Level Programming Language into the machine code.
The only difference between the compiler and interpreter is that the interpreter checks the program line by line. Thus, the interpreter and compiler are similar to each other.
Thus an interpreter is slower than Compiler. An interpreter can be used in High-Level Language such as Python.
A linker is used to link the various object modules undoubtedly made in different High-Level Language. Therefore, the linker links the various object modules.
Modules are in distinct languages but when they are converted into the machine code they are the same.
When the modules are converted to the machine code, then these codes need to link. Thus, this linking of different object modules can be done using Linker.
Loader loads the linked object modules because to combine various object modules linked together. They are subdivided into 2 categories based on there working that is Absolute Loaders and Relocating Loaders.
Absolute loaders thus loads the linked objects to the memory location specified in the object modules decided at the time of loading.
Relocating loaders thus loads the linked objects to any location in the memory.
They also need additional information to be stored in the linked object module. Thus it can be seen that the information regarding the relative addresses of the memory locations has to be stored in the linked object modules.
Application Software and its types:
Application Software is another type of software that needs to be installed according to the user. Hence, these software’s are designed for a special operation to be performed within the computer.
Application Software are of various types such as games, management system, control system. Therefore, they are used in various fields to improvise the working of the system.
For example, a company uses tools to store data of its employees and customers.
There are various application software that are used nowadays such as Microsoft Office, Adobe Photoshop, Corel Draw.
Application software includes tools such as graphics tools, media tools, editing tools, Report management tools.