Module 7 (Application Software & SYSTEM SOFTWARE)

Structure of the Lesson
13.1 Learning Objectives
13.2 Introduction to Application Software
13.3 Types of Application Software
13.3.1 Spreadsheet
13.3.2 Data Management
13.3.3 Word Processing
 13.3.4 WYSIWYG
13.3.5 Desktop publishing
13.3.6 Graphics
13.3.7 Communications
13.3.8 Speech-recognition software
13.3.9 Accounting software
13.3.10 Media player
13.4 Web Applications
13.5 Web Based Software
13.5.1 Web-based software is better than your regular software
13.6 Web Server
13.7 Groupware
13.8 Software Suites
13.9 Summary
13.10 Glossary
13.11 Suggested Answer to SAQ
13.12 References/Bibliography
13.13 Suggested readings
13.13 Model Questions





13.1 Objectives
Software is the oxygen for computer system. Without software computer system is like dead hardware. We have categories software as system software and application software. This chapter will provide the detailed information about the application software available in market. As name suggest, application software are developed for particular applications like typing printing and processing words, Finical worksheets, to manage banking transactions etc.
13.2 Introduction
An Application Software is a computer program or set of instructions which are developed and designed to help the user in performing a specific task. Different application software performs different function in several ways. Application software can help to manipulate text, numbers, symbols, graphics, or a combination of these elements. Some type of application suites offer various ways by focusing on a single task, such as word processor or others, called integrated or collaborative software, offer somewhat less power but include various applications. Software written by the user guides the systems to meet the user's specific requirements. Software that is user-written includes spreadsheet templates, text processing software, scientific simulations, and graphics software and animation scripts. Even email filters which are used on Mail Servers are a kind of user software.

Application software consists of instructions that guide a computer system to perform specific information processing activities and that provide extended functionality for users. Because there are so many different uses and applications for computer systems, there are a large number of different application software programs or packages available in the market.
13.3 Types of Application Software
Application software includes Specific application software and contracted Application software. A Special and Specific Application software addresses a specific or unique business need for an individual company. This type of software may be developed in-house by the organization’s information systems and other systems personnel or it may be commissioned from a software Seller. Such specific software programs developed for a particular company vendor are called contract software which are built according to the company’s requirement and are vary from company to company.
Alternatively, the other application software can be purchased, leased, or rented from a vendor for the certain time period that develops programs and sells them to many organizations and large companies too
The word package is a commonly used term for a computer program (or group of programs) that has been developed by a developer and is available for purchase in a prepackaged form.
Types of Personal Application Software
This type of software consists of widely used packages: spreadsheets software , data management programs or software , word processing, text editors, desktop publishing applications, graphics software, multimedia specific software, communications supportive, speech-recognition software, and groupware. Software suites combine some of these packages and integrate their functions which are dependent on other modules present in other software kits. Personal application software is designed to help individual users increase their productivity.
13.3.1 Spreadsheet
Spread sheet software is commonly used software. For using this software, users can enter numeric or textual data into each grid location, called a cell. In addition, we can enter the formula for picking the text values entered by the user. With spreadsheets, we can also develop and use macros, which are sequences of commands that can be executed with just one simple instruction written according to the definite format. Computer spreadsheet packages are more beneficial for financial information, such as in-come statements or cash flow analysis and other finance related calculations.  They are also used for forecasting sales, analyzing insurance programs, summarizing income tax data, and analyzing investments.
Spreadsheet packages such as Microsoft’s Excel and Lotus 1-2-3 are thought of primarily as spreadsheets, they also offer data management and graphical capabilities.
13.3.2 Data Management
Data management software supports the Management of the stored data. It helps in storage, access, retrieval, and manipulation of related data facts and figures entered by the user according to his/her needs.
            There are two basic types of data management software:
Simple filing programs follow the traditional procedures, manual data-filing techniques, and database management programs that take advantage of a computer’s extremely fast and accurate ability. File-based management software is typically very simple to use and is often very fast, but it offers limited flexibility in how the data can be searched. Database management software like MS ACCESS, SQL SERVER, MYSQL, ORACLE do the same in a proper and easy way. The Data Manipulation done with the Help of DBMS takes much lesser time as compared to filing system.
Microsoft’s Access is an example of popular database management software.

13.3.3 Word Processing
Word processing software allows the client or user to manipulate whole text rather than just numbers. Modern word processors like MICROSOFT WORD contain many productive writing and editing features. A fully word processing software package consists of an integrated and collaborative set of programs including an editor program which edits the Text, a formatting program to format the text, a print program helps to take the preview and Hard copy of the text, a dictionary for synonyms and antonyms for the English words, a thesaurus, a grammar checker, a mailing list program like mail merge option, and integrated graphics, charting, and drawing programs and so on. 
13.3.4 WYSIWYG
(What You See Is What You Get, pronounced “wiz-e-wig”) word processors has the added advantage of displaying the text material on the screen exactly- or almost exactly- as it will seem on the final printed page the user gets after clicking the print option. With the help of this function the user can get rid of the unwanted matter on the paper after clicking on print preview option present in the Word Processor.
13.3.5 Desktop publishing
Desktop publishing software is widely used software now days. In the past, newsletters, announcements, advertising copy, and other specialized documents had to be written by the hand and then typeset. Desktop software allows computers to perform these tasks directly easily and efficiently. Pictures block diagrams, and other graphics can be combined with text matter, including several different fonts with a lot of options regarding texts, to produce a complete and ready document.
13.3.6 Graphics
“Graphics software is the backbone of Multimedia Industry”

Graphics software allows the user or client  to create, store, and display or print charts, graphs, maps, and drawings.
 There are three basic categories of graphics software packages:
o   Presentation Graphics
o   Analysis Graphics
o   Computer-Aided Design Software.(CAD)

Presentation graphics software allows users to create graphically rich presentations.
 Many suites and packages have wide libraries and classes of clip art—pictures that can be “clipped out” and “pasted” into the final image. One of the most widely used presentation graphics programs is Microsoft’s PowerPoint. Analysis graphics applications additionally provide the ability to convert analyzed data—for example statistical data—into graphical formats like pie charts, line charts, bar charts, and scatter diagrams. Both presentation graphics and analysis graphics played a vital role in preparing graphic displays for business and organization presentations, from sales evaluation to marketing research.


MS Paint
Paint (formerly Paintbrush for Windows) is a simple and basic graphics painting program that has been included with all versions of Microsoft Windows.  It is often known as MS Paint or Microsoft Paint. This program opens and saves files as Windows bitmap (24-bit, 256 color, 16 color, and monochrome, all with the .bmp extension), JPEG, GIF , PNG (without alpha channel), and TIFF (without multiple page support).
Computer-aided design (CAD)
Software used for designing and manufacturing, allows the designers to design and “build” production structures and prototypes in software, test them as a computer object under given parameters and under some specific conditions (sometimes called computer-aided engineering, or CAE), compile and assemble  parts and quantity lists, outline production and assembly procedures, and then forward the final design directly to  manufacturing machines.
Manufacturers of all types are finding uses for CAD software.
Computer-aided Manufacturing (CAM)
Software requires digital designs output, for example from a CAD system, to directly and efficiently control production systems and machinery also.  Computer-integrated manufacturing (CIM) software is embedded within each automated production machine to develop or produce a product. Overall, a well, finite design from CAD software is used by CAM software to guide individual CIM programs in individual machines
Multimedia
Multimedia software collaborate at least two media for input or output of data. These media include audio (sound), voice, animation, video, text, graphics, and images. Multimedia can also be thought of as the combination of spatial -based media (text and images) with  time -based media (sound and video)
13.3.7 Communications
Computers are often interconnected in order to share or relate information. To exchange information, computers take help from the communications software. These software allows computers, whether they are connected and placed close to each other or far apart, to exchange data either over public cables, telephone lines, or dedicated lines or via direct satellite relay systems, or microwave circuits. When communications software exists in both the sending and receiving channels or systems, they are able to establish links, code and decode data transmissions, verify errors present in the code transmitting (and correct them automatically), and check for and handle transmission and conflicting transmission priorities.
13.3.8 Speech-recognition software
Two categories of speech-recognition software are available today: discrete speech and continuous speech.
Discrete speech recognition can interpret only a single word at a time, so users must place finite pauses between the words they spoke. This type of voice recognition can be used to control PC or system software (by using words such as “execute” or “print”). Like shutdown, restart, sleep commands
Software for continuous speech recognition can take  a continuing stream of words and interpret it . The software must understand the context of a word to determine its correct spelling, and be able to overcome accents and interpret words very quickly.

Many firms and people use speech-recognition software when use of a mouse and a keyboard is unable to perform actions. For example, such software can provide an excellent alternative for users with disabilities.
Advantages
       Allows user to operate a computer by speaking to it;
       Free up cognitive working space;
       Allows dictation of text, commands;
       Eliminates handwriting, spelling problems;
       Always spells correctly (doesn't always recognize words correctly)

13.3.9 Accounting software
Accounting software  is an Application Software that manipulate accounting transactions within all the functional modules such as accounts payable, accounts receivable, payroll, and trial balance. The main example of accounting software is Accounting Information System (AIS). It varies greatly in its complexity and cost.
13.3.10 Media player
Media player is a software mainly used as a  computer software for playing back multimedia files. While there are a lot of media players which play both audio and video, others focus only on one media type or the other. Such players are known as either audio players or video players and often designed to support only one or two media types
Media players often display icons known from physical devices such as tape recorders and CD players. Examples of these icons are (play), (pause), and (stop).
13.4 Web Applications
An application in which all or some parts of the software are downloaded from the Web each time it is run. It may refer to user agent like browser-based apps that run within the user's Web browser.
A)  Browser Based
In a browser-based Web application, browser compatible instructions are contained within the Web page that is retrieved from a Web site. Combined with the HTML code that helps in the visual layout, the HTML and browser supported Script on the Web page are executed via the browser. Alternatively, the Web page may cause the browser to launch a Java enabled graphical component called applet.
B)    Client  Based
A client program, which is either installed in the client’s computer or mobile device or is downloaded , interacts with a server on the Web using standard Web rules called protocols. This is same as  to the "client/server" architecture that was used  in companies and large organizations before the Internet was  discovered, except that today the server is often on the Internet rather than the local network.
13.5 Web Based Software
Web-based software is software which runs directly on the web through a user agent called web browser. For this the user need not to install any App or  download any software, or worry about upgrades. If you use an Web Application like online bank or web-based email program like Google mail, Hotmail, or Yahoo Mail then you’ve already used web-based software before.
13.5.1 Web-based software is better than  regular software
a) why is it better for business?
When you use web-based software you don’t have to pay attention regarding technical aspects — you can just do your work. Web itself handles all the security features  and uptime and backups and upgrades

b) Web-based software is safer
With traditional software, employees save data on their laptops, USB drives, or portable hard drives. It’s not as safe . Laptops can be stolen, computers are backed up properly, and it’s unlikely everyone’s machines are up to date with the latest security patches and updates. When you use web-based software, your data is stored on highly secured, updated, backed-up class servers
C) Your data is automatically backed up daily
With the help of Backed Up…You Don’t take worry about Data Lost or stolen as your important data have the automatically back up on the Web after a certain time span.
d) You’re always using the latest and greatest
Unlike traditional software that requires you to download and install updates yourself, web products are updated automatically. Whenever you use any products you’re always using the latest and greatest version.

e) There’s nothing to install, ever
With our software theirs is no need to download or install. You have to Just log in with the web-browser which you already have (Internet Explorer, Safari, or Firefox). It’s just like your online bank or web-based email program.
f) You’ll never have to ask “Is it compatible?
Software used to only be available for certain platforms. There was Windows software, Mac software, etc. Web software works on any platform with a web browser and internet connection. Mac, Windows, Linux are all supported.
13.6 Web Server
The term web server can refer to the software which is used to access the data to the client via Web. The most common use of web servers is to host websites, Web Applications or Web Sites which handle all the client’s requests.
The primary function of a web server is to handle the communication between the Clients and the server itself. The communication between client and server takes place using the Hypertext Transfer Protocol (HTTP).
A user agent, commonly a web browser or web crawler, initiates communication by making a request for a specific resource using HTTP  and the server sends the service like messages sending Acknowledgment to the clients .The client then sends the Data to the server and at last server responds against that data. This feature is used for submitting web forms, including uploading of files. Many generic web servers also support server-side scripting using Active Server Pages (ASP), PHP, or other scripting languages.
Web servers are not always used for serving the World Wide Web. They can also be used to support Resources like Printers , Proxy Servers interconnected in the Network. The web server Has also help to check or monitor the Performance of the Network. . This usually means that no need to install additional software on the client computer since only a web browser is required (which now is included with most operating systems).
Simulation software
Simulation software is based on the process of modeling or designing a real process with a set of mathematical formulas or Concepts of Mathematics. It is, essentially, a program that allows the user to observe an operation through simulation without actually performing that operation. Simulation software is used widely to design an Environment so that we can conclude our result on the same software that will required the same platform as it required.
13.7 Groupware
Groupware is a class or collaboration of software products or elements that helps in communication, coordination, and collaboration among several types of people. Groupware is important because it allows workgroups—people who need to interact with one another within an organization or outside the company—to communicate and share information, even when they are working together at a distance.  Groupware can provide many benefits to businesses, including more efficient and effective project management, location independence, increased communications capability either on same or different channels, increased information availability, or improved workflow. Groupware comes in many varieties.
The most elaborate system, IBM’s Lotus Notes/Domino, is a document-management system, DMS a distributed client/server data-base, and a basis for intranet and electronic commerce systems, as well as a communication support tool.  This class of groupware Supports real-time communications with asynchronous electronic connections (e.g., electronic mail and other forms of messaging).
Thanks to electronic networks, e-mail, and shared discussion databases, group members can communicate, access data, and exchange or update data at any time and from any place. Group members might store all their official memos, formal reports, and informal conversations related to particular projects in a shared, online data store, such as a database. Then, as individual members need to check on the contents, they can access the shared database to find the information they need. Other groupware approaches focus on workflow, enhanced electronic mail (e.g., list serve), calendaring and scheduling, electronic meeting support, and video conferencing. Microsoft’s Exchange is primarily an electronic messaging server that incorporates groupware functionality for sharing information. It provides e-mail and supports work-group activities with additional features such as interactive scheduling, built-in access to shared bulletin boards, forms design, and access to publicly shared folders on computer networks. It also offers built-in connectivity to the Internet or corporate intranets. Other leading groupware products provide functionality similar to Microsoft Exchange. These products include Netscape’s Suite Spot Servers, Novell’s GroupWise, and Oracle’s Inter Office.
13.8 Software Suites
Software suites are collections of application software packages that integrate some or all of the nine functions of the packages described in this section. Software suites can include word processors, spreadsheets, database management systems, graphics pro-grams, communications tools, and other applications. Microsoft Office, Novell Perfect Office, and Lotus SmartSuite are widely used software suites for PCs.  Each of these suites includes a spreadsheet program, word processor, database program, and graphics package with the ability to move documents, data, and diagrams among them. Surprisingly, there are even more types of personal application software that may be of interest to business people.
13.9 SUMMARY
Proprietary software can be developed in-house to address the specific needs of an organization. Existing software programs can be purchased off the shelf from vendors that sell programs to many organizations and individuals. Or a combination of these two methods can be used, by purchasing off-the-shelf programs and customizing them for an organization’s specific needs. The major types of application software are spreadsheet, data management, word processing, desktop publishing, graphics, multimedia, communications, speech recognition, and groupware. Software suites combine several types of application software (e.g., word processing, spreadsheet, and data management) into an integrated package.  Software and programming languages continue to become more user oriented. Programming languages have evolved from the first generation of machine languages that is directly understandable to the CPU to higher levels that use more natural language and that do not require users to specify the detailed procedures for achieving desired results.
This trend ensures that end users and the information systems staff will become more productive. In addition, software is becoming much more complex, expensive, and time consuming to develop.  As a result, the trend is toward purchasing off-the-shelf software, often in the form of components, rather than developing it in-house. In the future, organizations will tend to buy component-based software modules to reduce costs and development time. Organizations want packaged applications that support integration between functional modules (i.e., human resources, operations, marketing, finance, accounting, etc.), that can be quickly changed or enhanced, and that present a common graphical look and feel. In addition, organizations want individual components software modules that can be combined as necessary to meet changing business needs.  Enterprise software consists of programs that manage a company’s vital operations, such as supply-chain management, inventory replenishment, ordering, logistics co-ordination, human resources management, manufacturing, operations, accounting, and financial management. The term web server can refer to the software (the computer application) that helps to deliver web content that can be accessed through the Internet.  The primary function of a web server is to store, process and deliver web pages to clients. The communication between client and server takes place using the Hypertext Transfer Protocol (HTTP). Pages delivered are most frequently HTML documents, which may include images, style sheets and scripts in addition to text content. A user agent, commonly a web browser or web crawler, initiates communication by making a request for a specific resource using HTTP and the server responds with the content of that resource or an error message if unable to do so. The resource is typically a real file on the server's secondary storage, but this is not necessarily the case and depends on how the web server is implemented.
13.10 Glossary
ADT               Abstract data type
WMF              Microsoft Windows Metafile
BMP               Bitmap
MIDI              Musical Instrument Digital Interface
CSS                 Cascading Style Sheets
RTF                Rich Text Format
WPG              WordPerfect Graphics Metafile
13.11 Suggested answers to SAQ
Question: What is Application software?
Application software consists of instructions that direct a computer system to perform specific information processing activities and that provide functionality for users. Because there are so many different uses for computers, there are a correspondingly large number of different application software programs available.
Question: Write about Word processing software?
Word processing software allows the user to manipulate text rather than just numbers. Modern word processors contain many productive writing and editing features. A typical word processing software package consists of an integrated set of programs including an editor program, a formatting program, a print program, a dictionary etc
Question: What is WYSIWYG?
WYSIWYG (an acronym for What You See Is What You Get, pronounced “wiz-e-wig”) word processors have the added advantage of displaying the text material on the screen exactly or almost exactly
Question: Write about Speech-recognition software?
Two categories of speech-recognition software are available today: discrete speech and continuous speech. Discrete speech recognition can interpret only one word at a time, so users must place distinct pauses between words. This type of voice recognition can be used to control PC software (by using words such as “execute” or “print”). But it is inadequate for dictating a memo, be-cause users find it difficult to speak with measurable pauses between every word and still maintain trains of thought. Software for continuous speech recognition can interpret a continuing stream of words.
Question: Write about Desktop publishing software?
Desktop publishing software represents a level of sophistication beyond regular word processing. In the past, newsletters, announcements, advertising copy, and other specialized documents had to be laid out by hand and then typeset.
Question: Explain the use of Computer-aided design (CAD) software?
CAD is used for designing items for manufacturing, allows designers to design and “build” production prototypes in software, test them as a computer object under given parameters (sometimes called computer-aided engineering, or CAE), compile parts and quantity lists etc
Question: Explain theuse of Computer-aided manufacturing software (CAM)?
CAM Software uses digital design output, such as that from a CAD system, to directly control production machinery.  Computer-integrated manufacturing (CIM) software is embedded within each automated production machine to produce a product.
Question: what is Groupware?
Groupware is a class of software products that facilitate communication, coordination, and collaboration among people. Groupware is important because it allows workgroups people who need to interact with one another within an organization to communicate and share information, even when they are working together at a distance.
13.12 References/Bibliography
·         http://www.pcmag.com/encyclopedia/term/54272/web-application
·         https://37signals.com/webbased
·         http://en.wikipedia.org/wiki/Accounting_software
·         http://www.webopedia.com/DidYouKnow/Hardware_Software/types_of_software.asp
13.13 Suggested Readings
·         Computer Application Softwares by TATA Mcgrawhill
·         www.tutorialspoint.com/computer_fundamentals/computer_software.htm‎
·         http://prepare.icttrends.com/m/gold/text-books/text-book-for-fundamentals-of-computer/computer-software/
13.13 Model Questions
·         What is Application Software?
·          Explain the Term Personal Application Software
·         What are the types of Application Software?
·         What Is Speech Recognition Software?

·         Explain the Term Groupware

Structure of the Lesson
14.1 Learning Objectives
14.2 Introduction to Software
14.3 System Software
14.3.1 System Control Programs

14.3.7 The graphical user interface
14.4 Common Operating System Tasks
14.5 Types Of Operating Systems
14.5.1 Process Management
14.5.2 Time Sharing OS
14.5.3 Multiprocessing
14.5.4 Virtual Memory
14.3.6 Fault Tolerance
14.6 System Support Programs
14.7 System Security Monitors
14.8 Programming Languages
14.9 Summary
14.10 Glossary
14.11 Suggested Answers to SAQ
14.12 References/Bibliography
14.13 Suggested Readings
14.14 Model Questions







14.1 Learning Objectives
At the end of this chapter, you will be able to distinguish between the term software and system software. You will also understand the importance of system software and the various task handled by the system software. You shall also know about the various types of operating system and the use of programming languages.
14.2 Introduction
Software consists of computer programs, which are sequences of instructions for the computer. The process of writing (or coding) programs is called programming, and those who perform this task are called programmers. The computer can’t do anything until it is instructed by software. Although computer hardware is, by design, general purpose, platform which enables the user to instruct a computer system to perform various functions that fulfill the needs of the human being. Software is a collection of programs or sequence of instructions given for changing the state of the computer hardware in a certain manner.
14.3 System Software
Systems software is the class of programs that control and support the computer system and its information-processing activities. Systems software also facilitates the programming, testing, and debugging of computer programs. It is much more powerful or efficient  as compared to application programs and is usually independent of any type of necessary applications.
Systems software programs helps to support application software which runs on it by the user directions. For example, when the computer is turned on, the initialization system program (an Operating systems program) prepares and readies all devices for processing.
Description: operating system
14.3.1 System Control Programs
System control programs helps to control the activities of the hardware, software, and various data re-sources of a computer system. The main system control program is the operating system. The operating system checks the overall operation of the computer, including monitoring or checks the computer’s status and scheduling operations, which include the input and output processes. In addition, the operating system allocates CPU the required time and main memory for  programs running on the computer, and it also to provides an interface between the user and the hardware. This interface or medium hides the various complexities of the hardware from the user. That is, you do not have to know how the hardware actually operates, just what the hardware will do and what you need to do to obtain desired results. Specifically, the operating system provides various services that include security, fault tolerance, virtual memory, process management, file management, and the user interface.
Description: J:\book pics\chp 8\Application.jpg
14.3.2 Process management
Process management means managing or supervising the program or programs (also called jobs) running on the hardware (processor) at a given time. In the simplest case, (a desktop operating system), the operating system loads various programs into main memory and executes it. The program also utilizes the computer’s resources. Some operating systems offer more forms of process management, such as multiprocessing, multitasking and multithreading,. The management of two or more tasks, or programs, running on the computer system at the same time is called multitasking, or multiprogramming. Because switching among these programs occurs so rapidly, they appear to be executing at the same time. The multitasking program is executed until an interruption occurs, such as a request for input. While the input request is handled, the execution of a needed program begins. However, because there is only one processor, only one program is actually in execution mode at any one time. Multithreading is another form of multitasking that focuses on running various tasks within a single application simultaneously. For example, a text editor like word processor application program may edit one document while another document is being spell-checked or grammar identified.
14.3.3 Time-sharing
In this mode, a number of users operate online with the same CPU, but each uses a different input/output terminal. Time-sharing is an extension of multiprogramming. The programs of the users are placed into basic partitions in primary storage like RAM. Execution of these programs rotates among all users who run the system, occurring so rapidly that it appears to each user as though he or she were the only one single user using the computer.
14.3.4 Multiprocessing
Multiprocessing is the running of various processes and it occurs when a computer system with two or more processors can run more than one program, or thread, at a given time by assigning them to different processors. Multiprocessing needs the multiple processing with multiple CPUs present in the system, whereas multiprogramming results into concurrent or simultaneous processing with one CPU.
Description: J:\book pics\chp 8\operating.jpg
14.3.5 Virtual Memory
Virtual memory distributes the whole application program or a module into fixed-length portions called pages. Virtual memory creates more main memory than actually exists in the computer system. It allows a program to behave as if it had access to the full storage capacity of a computer, rather than just access to the amount of primary storage installed on the computer. The system executes some pages of instructions while pulling others from secondary storage. In effect, primary storage is extended into a secondary storage device, allowing users to write programs as if primary storage were larger than it actually is. This enlarged capability boosts the speed of the computer and allows it to efficiently run programs with very large numbers of instructions.
14.3.6 Fault Tolerance
Fault tolerance is the ability of a system to reproduce corrected results and to continue to operate even in the presence of faults or errors. Fault tolerance can involve error-correcting memory, redundant computer components, and related software that pro-tect the system from hardware, operating system, or user errors. Although operating systems perform some of their functions automatically, for certain tasks the user interacts directly with the computer through the systems software. Older command line interfaces like DOS ( disk operating system) required typing in complex commands. In an effort to make computers more user-friendly, the graphical user interface was developed.
14.3.7 The graphical user interface
The graphical user interface (GUI) allows users to have direct control of graphical elements and actions that replace complex commands. The GUI was developed by researchers at Xerox PARC (Palo Alto Research Center), and then popularized by the Apple Macintosh computer. Microsoft soon introduced its GUI-based Windows operating system for IBM-style PCs.
The next generation of GUI technology will incorporate features such as virtual reality, head-mounted displays sound and animation, artificial intelligence, multimedia, cellular/wireless communication capabilities and speech, pen and gesture recognition,. The next step in the evolution of GUIs is social interfaces. A social interface is a user interface that guides the user through computer applications by using cartoon like characters, animation, graphics, and various voice commands. The cartoon like characters can be cast as guides, avatars, puppets, narrators, (computer-generated humanlike figures), or hosts.
14.4 Common Operating Systems Tasks
• Monitoring performance
• Formatting diskettes
• Correcting errors
• Controlling the computer monitor
• Providing and maintaining the user interface
 • Sending jobs to the printer
• Starting (“booting”) the computer
• Maintaining security and limiting access
Reading programs into memory
• Locating files
• Managing memory allocation to those programs
• Detecting viruses
• Placing files and programs in secondary storage
• Compressing data
14.5 Types of operating systems
As previously discussed, operating systems are necessary in order for computer hardware to function.  Operating environments features that enable system developers to create applications without directly accessing the operating system function only with an operating system. That is, operating environments are not operating systems, but work only with an operating system.
Operating systems (OSs) can be divided by the number of users that they support as well as by their levels of usage.  Operating systems for mobile phones and other devices are designed to support a single person using a mobile, or information appliance and handheld device,.  For example, the early versions of Windows were operating platform that provided a graphical user interface and worked only with single MS-DOS.
Desktop operating programs or systems are designed to support a single user or a small workgroup of various users. Departmental server operating systems typically support from a few dozen to a few more users. Enterprise server operating systems generally support thousands of simultaneous users and uncountable number of concurrent transactions.  Supercomputer operating systems programs helps the required processing needs of various supercomputers.
Various Supercomputer and enterprise server operating systems support the greatest functionality, followed by departmental server operating systems, EEM operating systems. and finally desktop operating systems, An important exception is the user interface, which is most leads on desktop operating systems and least compatible on supercomputer and enterprise server operating systems and other Mobile device operating systems. These operating systems are designed for a variety of devices, such as set-top boxes, subnotebook PCs, mobile telephones, and factory-floor equipment handheld computers. The mobile device operating system market includes Microsoft’s Windows CE embedded Linux and Pocket PC, Palm OS and Windows Embedded NT 4.0.
 Here is some information about mobile de-vice operating systems:
·       Embedded Linux
This is  a compact form of Linux used in mobile devices? Both IBM and Motorola are developing Embedded Linux for mobile devices.
Description: C:\Documents and Settings\NITIN\Desktop\book\index.jpg
·       Windows CE
A 32-bit operating system is Microsoft’s information appliance operating system. Windows CE includes scaled-down versions (known as pocket versions) of Microsoft Word, Excel, PowerPoint, and Internet Explorer.
·       Pocket PC
 Pocket PC is a version of Windows CE 3.0 specifically designed for personal digital assistants and handheld computers.
·       Windows Embedded NT 4.0
A 32-bit operating system, is aimed at embedded devices that require more operating system capabilities and flexibility than Windows CE can offer.
·       The Palm operating system
The Palm operating system was developed by Palm for its Palm Pilot handheld, pen-input PDAs. Palm OS includes a graphical user interface, and users must learn a stylized alphabet, called Graffiti, to make the device receive handwritten input.
·       Desktop and notebook computer operating systems.
The Windows family is the leading series of desktop operating systems. The MS-DOS (Microsoft Disk Operating System) was one of the original operating systems for the IBM PC and various similar platforms. This 16-bit operating system, with both GUI and its text-based interface, has now been almost totally re-placed by GUI operating systems such as Windows 2000 and Windows XP. Windows1.0 through Windows 3.1(successive versions) was not operating systems, but was operating environments that provided the GUI that operated with, and extended the functionalities of, MS-DOS.
·       Windows 95
Windows 95 released in 1995, was the first of a series of products in the Windows operating system that provided a Graphical interface by using icons to provide instant access to common tasks. Windows 95 is a 32-bit operating system that features, networking, multi-tasking, multithreading and Internet collaborative capabilities, including the ability to integrating e-mail, and scheduling programs. Windows 95 also support plug-and-play capabilities.  Plug-and-play is a feature that automatically install of new hardware by enabling the operating system to recognize new hardware and install the required software (called drivers) automatically.
Subsequent products in the Microsoft Windows operating system are:
Description: C:\Documents and Settings\NITIN\Desktop\book\index.jpg
·       Windows 98
Windows 98 was not a major upgrade to Windows 95, but did offer minor refinements, bug fixes, and enhancements to Windows 95.
·       Windows Millennium Edition (Windows ME)
Windows ME is a major update to Windows 95, offering improvements for home computing in the areas of PC reliability, digital media, home networking, and the online experience.
·       Windows NT
Windows NT is an operating system for high-end desktops, workstations, and servers. It provides the same GUI as Windows 95 and 98, and has more powerful and memory-management multiprocessing, multitasking, capabilities. Windows NT supports software written especially for DOS and Windows platform, and it provides extremely computing power for new applications with large memory and file requirements. It is also designed for easy and reliable connection with networks and other computing machinery, and is proving popular in networked systems in business organizations.
·       Windows 2000
Windows 2000 is a renamed version of Windows NT 5.0. This operating system has added security features, will run on multiple-processor computers, and offers added Internet and intranet functionality.
·       Windows XP
Windows XP is the first upgrade to Windows 2000 and has three versions.
·         32-bitconsumer version,
·         32-bit business version
·         64-bit business version.
Windows XP is the first version of Windows to support Microsoft’s .NET platform
Following Windows XP, Microsoft will release its first fully .NET-enabled Windows operating system, code-named BLACKCOMB. Blackcomb will feature natural inter-faces, including speech recognition and handwriting supporting capabilities.
·       UNIX
UNIX provides many extreme desktop features, including multiprocessing and multitasking. UNIX is valuable to business organizations because it can be used on many different sizes of computers (or different platforms), can support many different hardware devices (e.g., printers, plotters, etc.), and has number of applications written to run on it. UNIX has many different versions. Most UNIX users are focusing their development efforts on servers as compared to desktops, and are promoting Linux for use on the desktop.
·       Linux
Linux is a powerful distribution of the UNIX operating system that is completely free of cost. It generally offers multitasking, virtual memory management, and TCP/IP networking. Linux was originally written by LINUS TORVALDS at the University of Helsinki in Finland in 1991. He then released the source code to the world (called open source software, as discussed in the chapter opening case). Since that time, many programmers around the world have worked on Linux and written software for it. The result is that, like UNIX, Linux now runs on multiple hardware platforms, can support many different h/w devices, and has n number of applications written to run on it. Linux is becoming widely used by Internet service providers (ISPs), the companies that provide Internet connections.
·       The Macintosh operating system X (ten) (Mac OS X)
The Macintosh operating system for Apple Macintosh micro computers is a 32-bit operating system that supports Internet integration, virtual memory management, and AppleTalk networking. Mac OS X features a new Aqua user interface, advanced graphics, virtual memory management, and multitasking.
·       IBM’s OS/2
IBM’s OS/2  is a 32-bit operating system that supports multitasking, accommodates larger applications, allows applications to be run simultaneously, and supports networked multimedia and pen-computing applications.
·       Sun’s Java operating system (Java OS)
Java OS executes programs written in the Java language without the need for a traditional operating sys-tem. It is designed for Internet and intranet applications and embedded devices. Java OS is designed for handheld products and thin-client computing.
·       Departmental server Operating Systems
The major departmental server operating systems include UNIX, Linux, Windows 2000, Windows XP, and Novell NetWare. Al-though some of these are also desktop operating systems, all can serve as departmental server operating systems because of their strong scalability, reliability, backup, security, fault tolerance, multitasking, multiprocessing, TCP/IP networking (Internet integration), network management, and directory services.
·       Enterprise server Operating Systems
Enterprise server operating systems (e.g. IBM’s OS/390, VM, VSE, and OS/400) mainly runs on mainframes and mid range systems. Enterprise operating systems offer superior stability and manageability, security, support for online applications, secure electronic commerce, multiple concurrent working users, big (terabyte) databases, and trillions of transactions per day. ES operating systems also offer partitioning, a method of distributing  a server’s re-sources to allow the processing of various  applications on a single system. OS/400 is IBM’s operating system for the AS/400 server line, which was renamed e Server I Series 400.
·       IBM’s z/Architecture (z/OS)
 A new 64-bit mainframe operating system, replaces all previous mainframe operating systems. The first system implementing the new architecture is the e Server z Series 900.
·       Supercomputer operating systems
Supercomputer operating systems target the supercomputer hardware market. Examples of these systems include the Cray Unicosand IBM’s AIX (both types of UNIX). These two operating systems manage highly parallel multiprocessor and multiuser environments.
14.6 System Support Programs
The second major type of systems software, system support programs, which supports the operations, management and clients of a computer system by providing a wide variety of support services. Examples of system programs are utility programs, performance monitoring programs, and security check monitors.
System utilities are programs that  written to fulfill common tasks such as sorting records, checking the integrity of diskettes (i.e., amount of storage available and existence of any damage), and creating directories and subdirectories. They also restore accidentally erased files, locate files within the directory structure, manage memory usage, and redirect output.
System performance monitors are programs that check the execution of jobs running on a whole computer system. They supervise the computer system performance and produce reports containing detailed information relating to the use of system resources, such as processor time, memory storage, I/O devices, and system and application programs. These reports are used for planning and control the best use of the computer system resources and to help in troubleshooting the system in case of problems.
14.7 System Security Monitors
System security monitors are the programs that check the usage of a computer system to protect it and its resources from unauthorized access, unwanted fraud, or destruction. Such pro-grams provide the computer security required to allow only verified users for accessing  to the system. Security monitors also control use of the hardware, software, and data resources of a computer system. Finally, these programs monitor use of the computer and collect detailed information regarding attempts at improper use.
14.8 Programming Languages
Programming languages provide the basic building blocks for all systems and application software. Programming languages allow people to tell computers what to do and what are the means by which whole systems are developed.
Description: J:\book pics\chp 8\language gernration.jpg
A) Machine Language
Machine language is the low-level computer language, consisting of the internal representation of instructions and data. This machine code—the actual instructions written in binary language understood and directly run by the CPU(Central Processing Unit)—is composed of binary digits(0 and 1). Machine language is the only programming language that only the machine Can understands. Therefore, machine language is considered the first-Generation language.
B) Assembly Language
An assembly language is the next level up from machine language. It is still considered a lower-level language but is more user-friendly because it represents machine-language instructions and data locations in primary storage by using  mnemonic codes , or memory aids, which people can more easily use. Assembly languages are considered as second-generation languages.
Compared to machine language, assembly language eases the job of the program-mer considerably. However, each statement in an assembly language must still be translated into a single statement in machine language, and assembly languages are still hardware dependent. Translating an assembly language program into machine language is accomplished by a systems software program called an assembler.
C) Procedural Languages
Procedural languages are the next step in the evolution of user-oriented programming languages. They are also called third-generation languages , or 3GLs. Procedural languages are much closer to  natural language (communication language) and therefore are easier to write, read, and change. Moreover, one statement in a procedural language is translated into a number of machine language instructions, thereby making programming more efficient and productive. In general, procedural languages are more like natural language than assembly languages are, and they use common words rather than abbreviated mnemonics. Because of this, procedural languages are considered the first level of higher-level languages.
Procedural languages require the programmer to specify, step by step, exactly how the computer must accomplish a task. A procedural language is oriented toward how a result is to be produced because computers understand only machine language (i.e., 0s and 1s), higher-level languages must be translated into machine language prior to execution.
A language translator converts the high-level program, called source code, into machine language code, called object code.
 There are two types of language translators—interpreters and compilers.
The translation of a high-level language program to object code is accomplished by a software program called a compiler, which translates the entire program at once.
In contrast, an interpreter is a compiler that translates and executes one source pro-gram statement at a time. Because this translation is done one statement at a time, interpreters tend to be simpler than compilers. This simplicity allows for more extensive debugging and diagnostic aids to be available on interpreters.
D) Nonprocedural Languages
Another type of high-level language, called nonprocedural languages, allows the user to specify the desired result without having to specify the detailed procedures needed for achieving the result. These languages are fourth-generation languages (4GLs). An advantage of nonprocedural languages is that they can be used by nontechnical users to carry out specific functional tasks. These languages greatly simplify and accelerate the programming process, as well as reduce the number of coding errors. The 4GLs are common in database applications as query languages, report generators, and data-manipulation languages. They allow users and programmers to interrogate and access computer databases using statements that resemble natural language.
E) Natural Programming Languages
Natural programming languages are the next evolutionary step. They are sometimes known as fifth-generation languages, or intelligent languages. Translator programs to translate natural languages into a structured, machine-readable form are extremely complex and require a large amount of computer resources. Therefore, most of these languages are still experimental and have yet to be widely adopted by industry.
F) Visual Programming Languages
Programming languages that are used within a graphical environment are often referred to as visual programming languages. These languages use a mouse, icons, symbols on the screen, or pull-down menus to make programming easier and more intuitive. Visual Basic and Visual C++ are examples of visual programming languages. Their ease of use makes them popular with nontechnical users, but the languages often lack the specificity and power of their no visual counterparts. Although programming in visual languages is popular in some organizations, the more complex and mission-critical applications are usually not written in visual languages.
G) Hypertext Markup Language
Hypertext is an approach to data management in which data are stored in a network of nodes connected by links (called hyperlinks). Users access data through an interactive browsing system. The combination of nodes, links, and supporting indexes for any particular topic is a hypertext document. A hypertext document may contain text, images, and other types of information such as data files, audio, video, and executable computer programs.
The standard language the World Wide Web uses for creating and recognizing hypertext documents is the Hypertext Markup Language (HTML). HTML gives users the option of controlling visual elements such as fonts, font size, and paragraph spacing without changing the original information. HTML is very easy to use, and some modern word processing applications will automatically convert and store a conventional document in HTML. Dynamic HTML is the next step beyond HTML. Dynamic HTML presents richly formatted pages and lets the user interact with the content of those pages without having to download additional content from the server. This functionality means that Web pages using Dynamic HTML provide more exciting and useful information.
H) Extensible Markup Language (XML)
Extensible Markup Language (XML)is designed to improve the functionality of Web documents by providing more flexible and adaptable information identification. XML describes what the data in documents actually mean. XML documents can be moved to any format on any platform without the elements losing their meaning. That means the same information can be published to a Web browser, a PDA, or a smart phone, and each device would use the information appropriately. Figure 4.8 compares Homeland XML. Notice that HTML only describes where an item appears on a page, whereas XML describes what the item is.
14.9 SUMMARY
The Chapter has given an introduction to the System Software. It gives a detailed listing of the various types of Operating Systems Too. The concepts are also very clearly understood by seeing at the figures in the chapter. Software consists of computer programs (coded instructions) that control the functions of computer hardware. There are two main categories of software: systems software and application software. Systems software manages the hardware re-sources of the computer system and functions between the hardware and the application software.  Systems software includes the system control programs (operating systems) and system support programs. Application software enables users to perform specific tasks and information-processing activities. Operating systems manage the actual computer resources (i.e., the hardware).Operating systems schedule and process applications (jobs), manage and protect memory, ensure cache consistency, manage the input and output functions and hardware, manage data and files, and provide clustering support, security, fault tolerance, inter application communications, graphical user interfaces, and windowing. There are five types of operating systems: mobile, desktop, departmental, enterprise, and supercomputer. Mobile device operating systems are designed to support a single person using a mobile, handheld device or information appliance.  Desktop operating systems have the least functionality and enterprise operating systems the most, with departmental operating systems in the middle. Desktop operating systems are typically designed for one user, departmental operating systems for up to several hundred users, and enterprise operating systems can handle thousands of users and millions of transactions simultaneously. Supercomputer operating systems are designed for the particular processing needs of supercomputers.
14.10 GLOSSARY
ADT                           Abstract data type
COBOL                      COmmon Business Oriented Language
PL                               Programming Language
CLOS                         Common LISP Object System
Prolog                         PROgramable LOGic
UML                           Unified Modelling Language
14.11 Suggested Answer to SAQ
Questions: What is System Software?
Systems software is the class of programs that control and support the computer sys-tem and its information-processing activities. Systems software also facilitates the programming, testing, and debugging of computer programs.
Questions: Explain Virtual memory?
Virtual memory simulates more main memory than actually exists in the computer system. It allows a program to behave as if it had access to the full storage capacity of a computer, rather than just access to the amount of primary storage installed on the computer.
Questions: Write about Machine Language?
Machine language is the lowest-level computer language, consisting of the internal representation of instructions and data. This machine code—the actual instructions understood and directly executable by the central processing unit
Questions: Write about Extensible Markup Language (XML)?
Extensible Markup Language (XML)is designed to improve the functionality of Web documents by providing more flexible and adaptable information identification. XML describes what the data in documents actually mean.
Questions: What is Procedural Languages?
Procedural languages are the next step in the evolution of user-oriented programming languages. They are also called third-generation languages, or 3GLs. Procedural languages are much closer to so-called natural language (the way we talk) and therefore are easier to write, read, and alter.
Questions: Write about Assembly Language?
An assembly language is the next level up from machine language. It is still considered a lower-level language but is more user-friendly because it represents machine-language instructions and data locations in primary storage by using  mnemonics , or memory aids, which people can more easily use.
Questions: What is Visual Programming Languages?
Programming languages that are used within a graphical environment are often referred to as visual programming languages. These languages use a mouse, icons, symbols on the screen, or pull-down menus to make programming easier and more intuitive.
14.12 References/Bibliography
·         New Perspectives on Computer Concepts 2014: Comprehensive
 By June Jamrich Parsons, Dan Oja

·         New Perspectives on Computer Concepts 2014: Comprehensive
By June Jamrich Parsons, Dan Oja
14.13 Suggested Readings
·         New Perspectives on Computer Concepts 2014: Comprehensive
 By June Jamrich Parsons, Dan Oja

·         New Perspectives on Computer Concepts 2014: Comprehensive
By June Jamrich Parsons, Dan Oja
14.14 Model Questions
·         What Is System Software Explain?
·         What Is Translator? Explain Its Types
·         What is an Assembly language?
·         What Is GUI?
·         What are the operations performed by an OS?
·         What is Multiprocessing Environment?
·         Differentiate among types of operating systems and describe each type.