Introduction
Software plays a crucial role in the modern digital age, driving a wide range of systems from individual gadgets to elaborate corporate networks.Recognizing the different types of software is essential for efficiently moving through the extensive realm of technology.In this guide, we will explore the different kinds of software, including their features, instances, benefits, and uses in various industries.
1.System Software
- System software consists of several programs, which are directly responsible for controlling, integrating, and managing the individual hardware components of a computer system. You must have noticed that a new computer system is always accompanied by some software, either stored in a floppy or CD, which is supplied by the manufacturer. This software manages and supports the computer system and its information processing activities.
- System software is more transparent and less noticed by the users, they usually interact with the hardware or the applications. This software provides a programming environment in which programmers can create applications to accommodate their needs. This environment provides functions that are not available at the hardware level and performs the tasks related to the execution of an application program. Hence, system software acts as an interface between the hardware of the computer and the software applications.
- In simple terms, system software makes the computer functional. They provide basic functionality like file management, visual display, and keyboard input, and are used by application software to accomplish these functions. Some examples of system software are operating systems,device drivers, language translators, and system utilities.
1.Operating System
- Operating system is the first layer of software loaded into computer memory when it starts up.As the first software layer, all other software that gets loaded after it depends on it for various common core services.
- These common core services include disk access, memory management, task scheduling, and user interfacing. In addition, the operating system ensures that different programs executing at the same time do not interfere with each other.
- It provides a software platform on top of which other programs can run. In simple words, the operating system organizes and controls the hardware.Examples of operating systems are Windows XP, UNIX, and Linux. The basic functions of an operating system are:
- Process Management: It handles the creation, deletion, suspension, resumption, and synchronization of processes.
- Memory Management: It handles allocation and de-allocation of memory space as required by various programs.
- File Management: It is responsible for creation and deletion of files and directories. It also organizes, stores, retrieves, names, and protects all the files.
- Device Management: It manages all the devices of the computer system such as printers and modems. If any device fails, it detects the device failure and notifies the same to the user.
- Security Management: It protects system resources and information against destruction and unauthorized use.
- User Interface:It provides the interface between the user and the hardware.
2.Device Drivers
- Device drivers are system programs, which are responsible for proper functioning of devices. Every device, whether it is a printer, monitor, mouse or keyboard, has a driver program associated with it for its proper functioning. Whenever a new device is added to the computer system,a new device driver must be installed before the device is used. In modern operating systems, most hardware drivers such as the keyboard driver, come with the operating system.
- A device driver acts like a translator between the device and program (typically, an operating system) that uses the device. For example, when a user prints a document, the processor issues a set of generic commands to the printer driver, and the driver translates those commands into the specialized instructions that the printer understands. Note that each device has its own set of specialized commands that only its driver understands. A device driver is not an independent program; it assists and is assisted by the operating system for the proper functioning of the device.
3.Language Translators
- Computers only understand a language consisting of 0s and 1s called machine language. To ease the burden of programming entirely in 0s and 1s,special programming languages called high-level programming languages were developed that resemble natural languages like English. Therefore, a tool was required which could translate a program written in a programming language to machine language.
- Along with every programming language developed, a language translator was also developed, which accepts the programs written in a programming language and executes them by transforming them into a form suitable for execution. To be precise, they convert programming statements into the 0s and 1s that the computer is able to process.
Depending on the programming language used, language translators are divided into three major categories: compiler, interpreter, and assembler. All these are listed in the below Table.
Language Translators | Description |
---|---|
Compiler | The programs written in any high-level programming language (C or Pascal) are converted into machine language using a compiler. As a system program, the compiler translates source code (user written program) into object code (binary form). |
Interpreter | An interpreter analyses and executes the source code in line-by-line manner, without looking at the entire program. In other words, an interpreter translates a statement in a program and executes the statement immediately, before translating the next source language statement. The advantage of interpreters is that they can execute a program spontaneously. Compilers require some time before an executable program is formed because it looks at the whole source code. However, programs produced by compilers run much faster than the same programs executed by an interpreter. |
Assembler | Compared to all the types of programming languages, assembly language is closest to the machine code. Assembly language is fundamentally a symbolic representation of machine code. The assembly language program must be translated into machine code by a separate program called an assembler. The assembler program recognizes the character strings that make up the symbolic names of the various machine operations and substitutes the required machine code for each instruction. In short, an assembler converts the assembly codes into machine codes, making the assembly program ready for execution. |
- Typical software generally comprises millions of lines of programming statements or code. The code is divided into logical groups and stored in different independent modules so that the debugging and maintenance of the code becomes easier. Before execution, different object codes resulting from the independent modules have to be linked together to create an executable program.
- A linker is a system program that links together several objects modules and libraries to form a single, coherent, program (executable program). The part of the operating system that brings an executable file residing on disk into memory and executes it is known as loader. Being responsible for tasks like loading, linking, and relocation, loader performs the function of a linked program and then immediately schedules the executable for execution without creating an executable file as an output.
4.System Utility
- File Management: These utilities make it easier to manage data files. Many programs are written to help users to find the files, create and organize directories, copy, move, and remove files.For example, the Windows Explorer in Microsoft Windows operating system does all the said activities in user-friendly interface.
- Backup: It may happen that sometime data files are corrupted, or accidentally deleted. In such a case, data backups become very useful. A backup system utility is essential for those organization, which want to keep their data intact.
- Data Recovery: It is the process of retrieving deleted or inaccessible data from failed electronic storage media such as computer hard disk drives, removable media, optical devices, and tape cartridges. The data might become inaccessible due to a software problem, computer virus, mechanical or electrical malfunction or a deliberate human act. Using these tools, experienced technicians can successfully recover 80 to even 100 percent of lost data.
- Virus Protection: Anti-virus programs are essential system utilities for a computer system functioning in a network.They provide the security to the system from viruses that can damage the computer system. Viruses are small programs written with malicious intent, which copy themselves to the hard disk from Internet or other infected systems. Viruses keep on spreading to other computers through the network or exchange of infected storage devices such as floppies and CDs. Once installed on the system, anti-virus software scans the hard disk for any kind of virus and, if found, remove them. In addition, they monitor the clean (virus free) computer for any activity of viruses. Examples of some of the anti-virus programs are Norton anti-virus and McAfee anti-virus that protect the system from viruses.
- Disk Management: Disk management programs include various system software like disk defragmenter, data compressor, and disk formatting tools. De-fragmentation implies putting fragments of files in a sequential order onto the disk which reduces the time to access the file.It recognizes the data stored on the disk so that it can be arranged more effectively.Data compression programs squeeze out the slack space generated by the formatting schemes.Formatting tools format the hard drive-in tracks and sectors for orderly storing of data in the drive.
- Firewall: Firewall forms a barrier between networked computers within an organization and those outside the organization. It is commonly used to protect information such as e-mail and data files within a physical building or organization.Essentially a firewall is designed to protect a computer from unauthorized access, especially via network.
- Disk Cleanup: To keep a computer running smoothly,regular maintenance is vital.Therefore,one should use the disk cleanup utility,which easily determines which files on hard drive are no longer needed and delete those files.In addition to freeing up potentially significant hard disk space; using disk cleanup on a regular basis can significantly improve system performance.
2.Application Software
- The most often seen software by a user is the application software.It is used to accomplish specific tasks rather than just managing a computer system.For a user,the computer system has no specific use without application software.Application software may consist of a single program,such as Microsoft’s Notepad (for writing and editing simple text).
- It may also consist of a collection of programs, often called a software package, which work together to accomplish a task, such as database management software. Application software may also include a larger collection of related but independent programs and packages (a software suite), which have a common user interface or shared data format, such as Microsoft Office suite.
- Application software is dependent on system software. A system software (like operating system) acts as an interface between the user and the computer hardware, while application software performs specific tasks. Applications are software that perform tasks for the user besides helping the computer operate, which is the task of system software.Application software are controlled by system software,which manages hardware devices and performs background tasks for them.The distinction between the two is important.
- Without system software, the computer will not run, and without application software,the computer, no matter how powerful, will not be helpful in meeting user requirements. Think of it this way applications apply the computer’s thinking power to business tasks such as tracking the general ledger or billing your customers. Figure 1 illustrates that application layer executes on the system software layer, which lies on the hardware layer.
- Application software ranges from games, calculators, and word processors (document creating programs), to programs that “paint” images on screen (image editors). Applications represent real world tasks. They can be easily divided by looking at exactly what function they serve. Some of the most commonly used application software are discussed below.
1.Word Processors
- A word processor is software used to compose, format, edit, and print electronic documents. Word processing is one of the earliest applications for office productivity and the personal computer. It involves not only typing, but also checking the spelling and grammar of the text and arranging it correctly on a page.
- A variety of different typefaces is available for a variety of effects. It is possible to include pictures, graphs,charts, and many other things within the text of the document. It also allows for changes in margins, fonts, and colors. Nowadays, virtually all personal computers are equipped with a word processing program, which has the same function as a typewriter for writing letters, reports or other documents, and printing. Examples of some well-known word processors are Microsoft Word and WordPerfect.
2.Spreadsheets
- One of the first commercial uses of computers was in processing payroll and other financial records. So the programs were designed to generate reports in the standard “spreadsheet”
format used by bookkeepers and accountants. A spreadsheet application is a rectangular grid, which allows text, numbers, and complex functions to be entered into a matrix of thousands of individual cells. - The spreadsheet provides sheets containing cells each of which may contain text and/or numbers. Cells may also contain equations that calculate results from data placed in other cells or series of cells. A simple example might be a column of numbers totalled in a single cell containing an equation relating to that column. Microsoft Excel and Lotus 1-2-3 are examples of spreadsheet
applications.
3.Image Editors
- Image editor programs are designed specifically for capturing, creating, editing and manipulating images. These graphics programs provide a variety of special features for creating and altering images. In addition to offering a host of filters and image transformation algorithms,some image editors also enable the user to create and superimpose layers. Most graphic programs have the ability to import and export one or more graphic file formats.
- These computer programs enable the user to adjust an image to improve its appearance. With image editing software, one can darken or lighten an image, rotate it, adjust its contrast, crop out extraneous detail, and much more.Examples of these programs are Adobe Photoshop, Adobe Illustrator, and CorelDRAW.
4.Database Management Systems
- Database management software is a collection of computer programs that allow storage, modification, and extraction of information from a database in an efficient manner. It supports the structuring of the database in a standard format and provides tools for data input, verification, storage, retrieval, query, and manipulation. When such software is used information systems can be changed much more easily as the organization’s information requirements change. New categories of data can be added to the database without disrupting the existing system. It also controls the security and integrity of the database from unauthorized access. FoxPro and Oracle are database management systems.
5.Presentation Applications
- A presentation is a means of assessment, which requires presentation providers to present their work orally in the presence of an audience. It combines both visual and verbal elements. Presentation software allows the user to create presentations by producing slides or handouts for presentation of projects. Essentially, such computer programs allow users to create a variety of visually appealing electronic slides for presentations. Microsoft PowerPoint is one of the most famous presentation applications.
6.Desktop Publishing Software
- The term desktop publishing is usually used to describe the creation of printed documents using a desktop computer. It is a technique of using a personal computer to design images and pages, and assemble type and graphics, then using a laser printer or imagesetter to output the assembled pages onto paper, film, or printing plate. This software are used for creating magazines, books, newsletters, and so on. Such software assists in creating sophisticated documents including complicated page designs, detailed illustrations, and camera-ready typefaces.Quark Express and Adobe PageMaker are desktop publishing software.
Conclusion
System software and application software play essential roles in the digital environment, with each fulfilling specific functions to support computer operations and enhance user interaction. It is crucial for users, developers, and IT professionals to comprehend the distinctions between these categories and investigate different types within them in order to fully utilize the power of software in today's technology-driven society.