Concept of Software(System and Application)

System Software

System software that controls internal computer operations is called the system software. System software can be classified into two categories
  • Operating system
  • Language processor
Operating System

An Operating System (OS) is an interface between a computer user and computer hardware. An operating system is a software that performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.

Language Processor

A computer understands instructions in machine code/language, i.e. 0s and 1s. And it is very hard to write a computer program directly in machine language so programs are written mostly in high-level languages like Java, C++, Python, etc (based on English language). These high-level language codes cannot be executed directly by the computer and must be converted into machine language by a special system software i.e. is called Language Processor.

The language processors can be any of the following three types:

Assembler
- The Assembler is used to translate the program written in Assembly language into machine language. 

Compiler- Compiler reads the complete source program written in a high-level language (HLL) as a whole in one go and translates it into in machine language.
Interpreter- Interpreter translates one line at a time of source program written in a high-level language (HLL) and executes it immediately before moving on to the next line. If there is an error in the first line, the interpreter terminates its translating process and moves on to the next line for execution only after the removal of the error.

Types of operating system

Single program operating system- These are single-user operating systems that support only one user program at a time.

Multiprogramming operating system- Multiprogramming operating system is a multi-user operating system and it supports multiprogramming that is more than one user and more than one user program can be executed by it.

Time-sharing operating system- This type of operating system uses time-sharing techniques. Each active user program is given a fair share of CPU time and these types of operating systems use scheduling techniques.

Real-time operating system- In a real-time operating system the jobs have fixed deadlines and the jobs have to be completed within their deadlines. If a job cannot be completed within its deadline then this situation is called deadline overrun. 

Multiprocessing operating system- The multiprocessing operating system is capable of handling more than one processor. Because in these types of operating systems the jobs have to be executed on more than one processor.

Application software

Application software is the set of programs necessary to carry out operations for a specified application. E.g. a software that can perform railway reservation cannot prepare result for the school. So we can say that these types of software are based to perform a specific task.

Application software can further be subdivided into three categories-

1. Packages,

2. Utilities,

3. Customized software

1. Packages- Packages are some general software designed according to individual users. 

Some examples of packages are

i. Word processing software

ii. Spreadsheet

iii. Database management system DBMS

iv. Graphics, multimedia and presentation applications

i. Word processing software- word processing package is a package that processes textual matter and we can create almost any kind of documents such as business letters, thesis work, legal documents, newsletters and even a book. Some popular word processing software are WordStar, Microsoft word, Word perfect, etc.

ii. Spreadsheet- An electronic spreadsheet is a program that accepts data in a tabular form in rows and columns and allows user to manipulate/calculate/analyze data in the desired manner

Some popular electronic spreadsheets are- Microsoft Excel, Lotus, Quattro Pro, etc.

iii. Database management system (DBMS)- It is a package that can handle and manage the bulk of stored data.

iv. Graphics, multimedia, and presentation applications- Graphics, multimedia packages are used to create/view/manipulate/play graphics, multimedia contents and presentation applications are used to create office presentation, school project presentation, etc.

2. Utilities- Utilities are those application programs that assist the computer by performing functions like a backup disk, scanning and cleaning viruses, arranging information, etc.

Some important utilities are as follows

I. Text editor- In a text editor software we can edit text i.e. we can insert, delete, find, replace characters, and can write paragraphs.

II. Backup utilities- These utility programs facilitate the backing up of disk. Backup means duplicating the disk information to that in case of any damage or data loss this backup data may be used.

III. Compression utility- This utility program facilitates compression of files. By using this utility program we can compress large files into small sizes.

IV. Disk defragmenter- Disk defragmenter splits the largest file and stores it in pieces and it improves the speed of disk access by rearranging the files and also rearrange the free space on the disk.

V. Antivirus software- A computer virus is a computer program that interrupts computer processes and makes the computer system behave abnormally. Antivirus software scans the hard disk for viruses and removes them.

3. Customized software- These types of software are mostly used in businesses. Some examples of customized software are Inventory management system, Payroll system, Financial management system, etc.

These types of software are based on the company's requirements. Requirements can differ from company to company so they need to customize their software according to their needs.