3 Application Software: System Software and Service Software

Charru Malhotra

 

I.  Objectives

 

The primary objectives of this module are to impart basic knowledge and understanding of:

 

•    Fundamental Definition of Software

•    Various kinds of software, including Systems-Software, Application-Software and related important sub-categories for each.

•    Relevant  software  related  issues  such  as  Software bugs,  Open  Source  Software  and Software Licensing.

 

 

 

II.   Learning Outcome

 

After going through this lesson, learnerswould gain knowledge on basics of computer software and their two categories, namely system software and application software. You will particularly learn about application software including word processing software, spreadsheet applications and database management system. Learnerswould also attain knowledge about software, their types and categories, software licensing and open source software.

 

 

III.   Structure of the Module

 

1.  Software: Definition

2.  Categories of Software

3.  Understanding System Software

3.1  Operating system

3.1.1   Functions of Operating System

3.1.2  Types of Operating Systems

3.1.3    Some Popular Operating Systems: Although different types of operating systems are listed above few of them are more popular on microcomputers and the following paragraphs explain the same.

3.2  Utility Programs

3.2.1  Utility software categories

3.3  Middleware

4.  Application Software

4.1  Categorization of Application Software as per the Functional Criteria

4.2  Categorization of Application Software as per the Design Criteria

5.  Software Issues and Trends

5.1  Software Bugs

5.2  Open Source Software

5.3  Software Licensing

5.4  Software Upgrades

5.5  Global Software Support

6.  Summary

7.  References

 

 

 

1.  Software: Definition

 

Software means computer instructions or data. Anything that can be stored electronically is software, in contrast to storage devices and display devices which are called hardware.

 

The terms software and hardware are used as both nouns and adjectives. For example, you can say: “The problem lies in the software,” meaning that there is a problem with the program or data, not with the computer itself. You can also say: “It’s a software problem.”

 

The distinction between software and hardware is sometimes confusing because they are so integrally linked. Clearly, when you purchase a program, you are buying software. But to buy the software, you need to buy the disk (hardware) on which the software is recorded.

 

2.  Categories of Software

 

Software is often divided into two categories

 

a.       System software

b.      Application Software

Fig.1: System Software and Application Software
(Source: http://www.webopedia.com/FIG/APPLICAT.gif)

 

3.  Understanding System Software

 

System software (or systems software) is computer software designed to operate and control the computer hardware and to provide a platform for running application software.

 

System software includes the following:

 

•   The operating system (prominent examples being z/OS, Microsoft Windows, Mac OS X and Linux), allows the parts of a computer to work together by performing tasks like transferring data between memory and disks or rendering output onto a display device. It also provides a platform to run high-level system software and application software.

 

•    Utility software helps to analyze, configure, optimize and maintain the computer.

 

•    Device drivers such as computer BIOS and device firmware provide basic functionality to operate and control the hardware connected to or built into the computer.

 

•    A user interface that “allows users to  interact  with  a  computer.”[3] Since  the  1980s the graphical user interface (GUI) has been perhaps the most common user interface technology. The command-line interface is still a commonly used alternative.

 

The role of System Software

 

The role of System Software is to provide interface between Users, Application Software and Hardware

 

Fig.2: The Role of Systems Software

 

Types of System Software

 

•    Operating systems

•    Utility programs

•    Middleware

 

3.1  Operating system

 

An Operating System is a program that acts as an intermediary between the user of a computer and computer hardware. The purpose of an operating system is to provide an environment in which user can execute programs in a convenient and efficient manner. It is the first program loaded into the computer’s memory after the computer is switched on. Popular operating systems include MS-DOS, OS/2, Windows and UNIX.

 

The operating system is an important component of the computer system, because it sets the standards for the application programs that run on it. All programs must be written to talk to the operating system.

 

3.1.1  Functions of Operating System

 

The basic functions of an operating system are:

 

•    Memory Management

•    Processor Management

•    Device Management

•    File Management

Fig.3: Operating System Functions

 

a.  Memory Management Functions

 

Operating System manages the primary memory of the system. It allocates the memory, on the request of a process, which is being run at that time. It also keeps a check that at a particular time, how many bytes of memory are in use and which process is using it. It also keeps track of what part of it is free. In case of a multi-user system, it decides on priority basis, which user will have access to memory and when. How much of it is used depends on the requirements.

 

b.  Processor Management Functions

 

Operating System also takes care of the processor. It allocates the processor to the user. In case of multi-user system, it allocates the processor time to different users as and when needed and in such a way that every user has a minimum waiting time.

 

c.  Device Management Functions

 

It keeps track of all the devices i.e. peripherals attached to the computer such as I/O devices etc. When needed, it allocates the devices in such a way that each can be efficiently used. It initiates the I/O operations and allocates them along with other devices to the user

 

d.  File Management Functions

 

Writing and retrieving the information on/from the secondary storage device is the function of an Operating System. It follows a complete methodology for maintaining the files, so that different sets of information do not get mixed up and exactly the same set of information is supplied, which is required by the user.

 

3.1.2  Types of Operating Systems

 

Single user Operating Systems

 

These Operating Systems allow only one user to work on a computer at a time. Example:  MS-DOS Multi user Operating System. These Operating Systems allow more than one user to work on the computer at the same time. These operating systems allocate memory in such a way that different users can work simultaneously without disturbing each other. They also allocate the processing time in such a way that every user gets a very quick response from the machine. These are also known as Time Sharing Operating Systems

 

Example: LINUX, UNIX, XENIX,VMS, Windows NT.

Fig.4: Operating System Interface

 

Enterprise Operating Systems

 

a.       z/OS

b.      MPE/iX

c.       HP-UX

d.      Linux

 

Workgroup Operating Systems

 

a.      Windows Server

b.      UNIX

c.       NetWare

d.      Red Hat Linux

e.       Mac OS X Server

 

Operating  Systems  for  Small  Computers,  Embedded  Computers,  and  Special-Purpose Devices

 

a.       Palm OS

b.      Windows Embedded

c.       Windows Mobile

 

Fig.5: Microsoft Windows, MAC OS, Linux

 

 

3.1.3   Some Popular Operating Systems:

 

Although different types of operating systems are listed above few of them are more popular on microcomputers and the following paragraphs explain the same

 

DOS: DOS (Disk Operating System) gained a reputation by supporting operating systems developed by IBM and Windows. DOS was prominent in the industry up until support was terminated for Windows ME. Though it’s not as sophisticated as modern systems, DOS offers many advantages to the user. This system is very stable and rarely endures crashes. It can display content on an arcade monitor without the aid of special hardware and the use of batch files offer a high degree of customization. While the system is still used, DOS has become more difficult to manage as support is limited.

 

Linux: The Linux operating system is developed on a kernel based on UNIX. It is known as one of the most secure platforms, yet Linux is often viewed as more complex. Linux is the result of an open-source project, allowing users and developers to access the source code for  free. Because it requires less hardware, Linux is capable of providing exceptional performance even on a smaller hard disk. Large communities of users exist for this system, constantly contributing to the code and making improvements. The server-based concept of Linux has resulted in fewer home users and a lack of multimedia support for the system.

 

Mac OS X: Mac OS X is Apple’s trademark operating system software for their line of Macintosh computers. The system was based in part on UNIX and mimics in its format with the administrative controls. Mac OS X software requires a low level of maintenance with fewer occurrences of computers worms, viruses and spyware. The Apple operating system does have some disadvantages, primarily with regard to software and hardware compatibility.

 

Windows: The Microsoft Windows operating system is the most popular choice and currently has a stronghold over the market. This platform has made significant advancements from version 1.0 all the way to the new Vista system. The Windows system is highly compatible, feature-rich and has a much larger selection of software applications. Unlike the Linux kernel, Windows is proprietary software and tends to be more expensive than others. Despite widespread usage, Windows has been heavily associated with the term “insecure” as a number of security vulnerabilities have made it the most targeted system. Frequently exploited by hackers and malicious code writers, it is recommended that any Windows operating system with internet access be protected by some form of security software. Through the XP version (release 2001) Microsoft has united its various Windows packages under a single banner. It is followed by Windows 7 and latest Windows 10 with added security features more Apps

 

3.2  Utility Programs

 

Utility software is system software designed to help analyze, configure, optimize or maintain a computer. It usually focuses on how the computer infrastructure (including the computer hardware, operating system, and application software and data storage) operates. Due to this focus, utilities are often rather technical and targeted at people with an advanced level of computer knowledge – in contrast to application software, which allows users to do things like creating text documents, playing video games, listening to music or viewing websites.

 

3.2.1  Utility software categories

 

•    Anti-virus utilities scan for computer viruses

•    Archivers output a stream or a single file when provided with a directory or a set of files.

Archive utilities, unlike archive suites, usually do not include compression or encryption capabilities. Some archive utilities may even have a separate un-archive utility for the reverse operation.

•    Backup software can make copies of all information stored on a disk and restore either the  entire disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental deletion).

•    Clipboard managers expand the clipboard functionality of an operating system.

•    Cryptographic utilities encrypt and decrypt streams and files.

•    Data compression utilities output a shorter stream or a smaller file when provided with a stream or file.

•    Data synchronization utilities establish consistency among data from a source to target data storage and vice versa. There are several branches of this type of utility:

•    File synchronization utilities maintain consistency between two sources. They may be used to create redundancy or backup copies but are also used to help users carry their digital music, photos and video in their mobile devices.

•    Revision control utilities are intended to deal with situations where more than one user attempts to simultaneously modify the same file.

•    Disk checkers can scan operating hard drive.

•    Disk cleaners can find files that are unnecessary to computer operation, or take up considerable amounts of space. Disk cleaner helps the user to decide what to delete when their hard disk is full.

•    Disk compression utilities can transparently compress/uncompress the contents of a disk, increasing the capacity of the disk.

•    Disk defragmenters can detect computer files whose contents are broken across several locations on the hard disk, and move the fragments to one location to increase efficiency.

•    Disk partitions can divide an individual drive into multiple logical drives, each with its own file system which can be mounted by the operating system and treated as an individual drive.

•    Disk space analyzers for the visualization of disk space usage by getting the size for each folder (including sub folders) & files in folder or drive. Showing the distribution of the used space.

•    Disk storage utilities

•    File managers provide a convenient method of performing routine data management tasks, such as deleting, renaming, cataloging, uncataloging, moving, copying, merging, generating and modifying data sets.

•    Hex editors directly modify the text or data of a file. These files could be data or an actual program.

•    Memory testers check for memory failures.

•    Network utilities analyze the computer’s network connectivity, configure  network settings, check data transfer or log events.

•    Registry cleaners clean and optimize the Windows registry by removing old registry keys that are no longer in use.

•    Screensavers were desired to prevent phosphor burn-in on CRT and plasma computer monitors by blanking the screen or filling it with moving images or patterns when the computer is not in use. Contemporary screensavers are used primarily for entertainment or security.

•    System monitors for monitoring resources and performance in a computer system.

•    System profilers provide detailed information about the software installed and hardware attached to the computer.

Fig.6: Utility Software
(Source: http://1.bp.blogspot.com/-_GsTWl6Qryg/ Ud_CF5B0QbI/AAAAAAAAAao/ fhV7GQu14kg/s1600/ software.jpg)

 

3.3 Middleware

 

Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as “software glue”. Middleware makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application.

 

 

Fig.7: Middleware

 

 

4.  Application Software

 

Application software is all the computer software that causes a computer to perform useful tasks beyond the running of the computer itself. A specific instance of such software is called a software application, application program, application or app.

 

The term is used to contrast such software with system software, which manages and integrates a computer’s capabilities but does not directly perform tasks that benefit the user. The system software serves the application, which in turn serves the user.

 

Examples include accounting software, enterprise software, graphics software, media players, and office suites.

 

4.1  Categorization of Application Software as per the Functional Criteria

 

Depending on the functions rendered by the application software, there are many types of application software:

 

a.   An application suite consists of multiple applications bundled together. They usually have related functions, features and user interfaces, and may be able to interact with each other,   e.g.   open   each   other’s   files. Business   applications often   come   in   suites, e.g. Microsoft Office, LibreOffice and iWork, which bundle together a word processor, a spreadsheet, and so on but suites exist for other purposes, e.g. graphics or music.

 

b.   Enterprise software addresses the needs of an entire organization’s processes and data flow, across almost all departments, often in a large distributed environment. (Examples include financial systems, customer relationship management (CRM) systems and supply). Departmental Software is a sub-type of enterprise software with a focus on smaller organizations and/or groups within a large organization. (Examples  include travel expense management and IT Helpdesk.)

 

c.  Enterprise infrastructure software provides common capabilities needed to support enterprise software systems. (Examples include databases, email servers, and systems for managing networks and security.)

 

d.    Information worker software lets users create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, documentation tools, analytical, and collaborative. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks.

 

e.     Content access software is used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consume digital entertainment and published digital content. (Examples include media players, web browsers, and help browsers.)

 

f.    Educational software is related to content access software, but has the content and/or features adapted for use by educators or students. For example, it may deliver evaluations (tests), track progress through material, or include collaborative capabilities.

 

g.      Simulation software simulates physical or abstract systems for research, training or entertainment purposes.

 

h.      Media development software generates print and electronic media for others to consume, most often in a commercial or educational setting. This includes graphic-art software, desktop publishing software, multimedia development software, HTML editors, digital-animation editors, digital audio and video composition, and many others.

 

i.        Product engineering software is used in developing hardware and software products.

This includes computer-aided design (CAD), computer-aided engineering (CAE), computer language editing and compiling tools, integrated development environments, and application programmer interfaces.

 

 

4.2  Categorization of Application Software as per the Design Criteria

 

Depending on the design criteria, the various types of Application Software are

 

a.  Proprietary software or closed source software is computer software licensed under exclusive legal right of the copyright holder with the intent that the licensee is given the right to use the software only under certain conditions, and restricted from other uses, such as modification, sharing, studying, redistribution, or reverse engineering. Usually the source code of proprietary software is not made available.

 

b.   Commercial-Off-The-Shelf Software (COTS) is pre-built software usually from a 3rd party vendor. COTS can be purchased, leased or even licensed to the general public.

 

COTS provide some of the following advantages.

 

•    Applications are provided at a reduced cost.

•    The application is more reliable when compared to custom built software because its reliability is proven through the use by other organizations.

•    COTS is more maintainable because the systems documentation is provided with the application.

•    The application is higher quality because competition improves the product quality.

•    COTS is of higher complexity because specialists within the industry have developed the software.

•    The marketplace not industry drives the development of the application.

•    The delivery schedule is reduced because the basic schedule is operations.

 

Comparison of Proprietary and Off-the-Shelf Software

Fig.8: Comparison of Proprietary and Off-the-Shelf Software

 

Personal Application Software- that is used for our personal or professional work. Examples of Personal Application Software

 

 

5.  Software Issues and Trends

 

Since software is an important part of computer systems issues such as software bugs, licensing, upgrades and global support have received increased attention.

 

5.1  Software Bugs

 

A software bug is a defect in a computer program that keeps it from performing in the matter intended.

Some bugs are subtler and can go unnoticed until it is to late. An example is the denial of service attack on Yahoo! in 1999.

 

5.2  Open Source Software

 

Open source software is software that freely available to anyone in a form that can be easily modified. The example is MySQL and php. A number of open source programs are available including Linux and Apache. Advantages of Open Source Software

 

•    CustomizabilityEverybody has the right to modify the source code, This means the code can be implemented in order pieces of software and adapted to changing environment

 

•    QualityIn general, open source software gets closest to what user want because those users can have a hand in making. Users and developers make what they want and they make high quality of source.

 

•    CostMost  current  Open  Source  are  available  free  of  royalties  Individuals  and  smaller

companies may aid in developing the software reducing number of programmers to pay the salaries.

 

Disadvantages of Open Source Software

 

•    No guarantee

 

It is impossible to know if a project will ever reach a suitable stage on time and even if it reaches, it may have many bugs or problems later and no one guarantees the software and nobody is bound to give you regular updates since it is free.

 

•    No support

Since it is free, there is no support. Even though there are many helps available on the internet, the users have to have self-motivation to install and run open software without any support.

 

•    Not reliable

 

Because the users can modify the source by themselves, the source could have some problems and may not be reliable.

 

Examples of Open-Source Software

 

Fig.10: Open-Source Software

 

5.3  Software Licensing

 

In general, software manufacturers want to license their software to lock in steady, predictable stream of revenue from customers. *Client should be aware of EULA.

 

EULA (End User License Agreement): The type of license used for most software, and EULA is a legal contract between the manufacturer and/or the author and the end user of an application. The EULA details how the software can and cannot be used and any restrictions that the manufacturer imposes. This is the contract between the licensor and purchaser, establishing the purchaser’s right to use the software.

 

5.4  Software Upgrades

 

Software companies revise their programs and sell new versions periodically. In some cases the revised software offers new and valuable enhances.

 

Example of upgrades includes service packs provide by Microsoft for their operating systems.

 

5.5  Global Software Support

 

Globalization has ensured that computer networks stretch to all corners of the earth. Software producers need to ensure they provide global support, otherwise people will go to their competition instead.

 

6.  Summary

 

The module presented an overview of software- both operating and application software. Computer programs are sequences of instructions for the computer. Basically they are categorized as system software or operating system and application software. Systems software coordinates the activities of hardware and programs while application software helps users solve particular problems. Operating system (OS) is a set of computer programs that controls the computer hardware and acts as an interface with application programs. Graphical user interface (GUI) are user interfaces that uses icons and menus displayed on screen to send commands to the computer system.

 

Application software can be further categorized based on defined criteria like functions, design etc. Time-sharing: allows more than one person to use a computer system at the same time; Proprietary software: one-of-a-kind program for a specific application, usually developed and owned by a single company; Off-the-shelf software is the existing software program that is purchased; Enterprise resource planning (ERP) software manages a company’s vital business operations for an entire multisite, global organization. Programming languages: allow humans to communicate instructions to be executed by a computer. Most software products are protected by law using copyright or licensing provisions. Open-source software is freely available to anyone in a form that can be easily modified.

 

7.  References

  1. http://www.webopedia.com/TERM/S/systems_software.html
  2. http://en.wikipedia.org/wiki/Software
  3. http://en.wikipedia.org/wiki/System_software
  1. http://en.wikipedia.org/wiki/Application_software
  2. http://en.wikipedia.org/wiki/Middleware
  3. http://en.wikipedia.org/wiki/Utility_software
  4. https://zaipul.wikispaces.com/Information+Technology
  5. http://nielit.in/elearning.aspx
  6. http://yukiinformationsystem.blogspot.in/2012/10/software-issues-and-trends.html
  7. http://www.slideshare.net/SowminiGowda/04-software-system-and-application- software