3.2 Applications software SOFTWARE FUNDAMENTALS (Tomorrows Technology and You - Chapter 4) Software refers to the programs that we run on computer systems. They allow the hardware to do their job; without software, the hardware wouldn't know what it was supposed to do. Software is made up of a series of instructions or computer code. It is these instructions which tell the hardware it needs to print a document or save a file or even change the word 'form' to 'from'. There are two main types of computer software: system software and application software: System software includes the operating system and utility programs that control how the hardware of a computer works. Application software includes the everyday programmes that you use such as Word Processors, Spreadsheets and Databases. It also includes e-mail packages, web browsers and anti-virus software (A)SYSTEM SOFTWARE Types of System software 1. Operating system Definition of an Operating system An operating system is a collection of related programs that enable the computer to perform its functions with minimum human interventions from the user. An operating system controls the performance of a computer by doing a variety of jobs to ensure the proper, orderly and efficient use of the hardware by application programs. An OS is a program that allows applications software to communicate with the hardware. A computer cannot function without an operating system. The sophistication and speed of modern computers is beyond capabilities of human operators to control without the aid of an operating system. The operating system is part of the system software; it is needed to make the system work. All computers have an operating system. It controls the hardware and is the link between you and the computer Examples of operating systems are, Windows XP, Windows NT, UNIX, MacOS 1 Functions of an Operating System There are several functions of an operating system but we are going to discuss a few of them in this chapter. These are as follows; -Loading programs and subroutines. The programs and data are to be loaded from the storage system before they can be processed. The loading of other system programs or software into the main storage i.e. a compiler is handled. The duty also includes the swapping of application programs between direct main storage and direct access storage, and the calling into main storage and linking together the applications or systems subroutines to be used together with particular jobs. -File security and management. Ensures that unauthorized users do not gain access to the computer files i.e. i). Use of pass word to prevent illegal access or amendments to user of systems files ii). Copying file contents for use incase of losses. iii). Maintaining all the file descriptions and their locations. -Input and output control. It is composed of a set of routines to manage or control the input from and output to the peripherals. These routines are part of the executive. Control over hardware resources e.g. control over the selection and operation of devices used for input/output or devices for Storage (control over selection of input/output devices). -Provision of error correction routines The programming errors can be channeled to the user incase an interrupt is not attended to promptly then data may be lost during the transfer and such may be recovered by setting up the read process again. -Communication with the operator Normally through the keyboard the operator has to deal with errors missed by the operating system and re-establishing the systems failure. The communication routines include: i). Operators to computer - Command language to load jobs or other software. Command language to call routines for faults. Command language to terminate the job. ii). Computer to the operator Report end of jobs. -Report job usage i.e. lapse time and CPU time used. -Error message. -Ask for commands. -Interrupt handling Entails different users connected to the CPU via keyboard terminals and all running different programs on the computer at the same time. Done by the executive, which determines the cause of the interrupt. The causes of the interrupt may include or be caused by: -Power failure -Arithmetic or logical error -Clock 2 -Input/output interrupts. -Protecting hardware, software and data from improper user. -Memory management. Memory Management i.e. calls into Main Storage of programs and sub-routines as and when required. Storing, retrieving, erasing and copying data files or programs on magnetic storage. Supports various file organization methods. -Job sequencing Passing of control from one job (job sequencing) to another under a system of priority when more than one applications program occupies Main Storage (i.e. provision for multi-programming operations). -Furnishing a log of events Provision of the events or jobs and keeping track of their execution and hardware use. Furnishing a complete recording of all that happens during processing. Usually in the form of a printed log. (Logging the system). Operating Systems can keep record of what the human operator is doing. Types of operating system There are different types of operating system: Single-user Multi-user or network operating systems. Network systems are more complicated as they have to deal with more than one user at a time. Tasks of the operating system The operating system performs many roles, these are just a few: It sorts out where to store data on disk drives It deals with security – user names and passwords It allows you to organise files using folders, and to copy and delete files It manages the data travelling between the peripherals i.e. printer/monitor It allows the application you are using to print, save and open files Operating systems operate in one or more of the following interfaces: • Graphical user interface (GUI) • Command line interface (CLI), • Menu-driven interface (MDI), 2. Utility programs These are another useful set of systems software. A Utility program is designed to do one or perhaps two tasks very well and nothing else. For example, you may want to compress a file to let you save it on to a floppy disk. For this task you would choose to use a file compression utility program. Quite often, a Utility program is built right in to the operating system. For example Windows XP has a built in 'Zip' compression utility you can use to compress a file or folder. Here are some very common tasks that are carried out by different Utility programs File sorting File renaming File conversion ( e.g. convert a sound file to MP3) File repair 3 Disk monitoring and defragmentation (defragging) Printing jobs Backing up data. Anti-Virus 3. Software driver Is another piece of essential system software. A driver is a specially written program which translates the commands from the operating system into commands that hardware understands, for example the printer, mouse and keyboard each have a driver to make it work with the operating system. It also translates responses back from the hardware to the operating system. When the operating system is first released by the manufacturer, it will contain most of the drivers needed for the devices on the market. This is because they have been working hard with the main hardware suppliers to ensure that as many drivers are available straight out of the box. However, as new devices are manufactured, their drivers will have to installed. Normally the device comes with an installation disk that will load the new drivers into the operating system. If you try to use a device without the correct driver, then it probably won't work. 4. Firmware In computing, firmware is a computer program that is embedded in a hardware device, for example a microcontroller. It can also be provided on flash ROMs or as a binary image file that can be uploaded onto existing hardware by a user. As its name suggests, firmware is somewhere between hardware and software. Like software, it is a computer program which is executed by a computer. But it is also an intimate and vital part of a piece of hardware, and has little meaning outside of that particular hardware. A microcontroller, like this PIC18F8720 is controlled by firmware stored inside on FLASH memory Examples of firmware include: 4 The BIOS found in IBM-compatible Personal Computers; The iPod's control menus The Xbox 360 Dashboard Updates (like including 1080p HDTV Resolutions) Timing and control systems for Washing machines Software available in intelligent TV remote controls (B) Application Software Software Applications work through the operating system to gain access to the hardware. A Software Application carries out tasks that the user is interested in such as writing a letter, working out the company payroll, calculating the distance of a certain route, sending an email etc. Application software can be classified under three main categories: general-purpose specialist or tailor-made (be-spoke software) 1. General-purpose A general-purpose application package is a type of software that can perform many different (but related) tasks. Word processors, spreadsheets, databases, graphics and presentation software are all examples of general purpose application packages This type of software is sometimes called generic software. This means, for example, that any one of the many different word processing packages that you could buy will all do the same general sorts of tasks as each other Most computer users buy application packages ‘off-the-shelf’. There are several good reasons for using this type of ready-made software: it is relatively cheap; it is readily available and can be installed quickly and easily; it will have been thoroughly tested so there will be very little chance of it having any serious faults or ‘bugs’; it will be well supported with a lot of books about how to use it available as well as on-line help and discussion forums on the Internet. 2. Integrated package An integrated package combines many different types of application together in one single package Integrated packages normally include facilities for word processing, spreadsheets, databases, graphics, presentation and communications Microsoft WORKS is an example of an integrated package The advantages of using integrated packages are: it is much cheaper to buy one integrated package rather than several separate application packages; different applications have the same user interface; data can be transferred quickly and easily between applications; they are much quicker to install than several separate application packages A problem with integrated packages is that the individual applications do not have as many features compared to the single application package Integrated packages have gradually been replaced by applications bundled together by software manufacturers and sold as suites of programs Bundled suites offer the advantages of applications with a complete set of features, a common user interface and easy facilities for sharing and exchanging data Microsoft Office XP is an example of a bundled suite of application programs — database, spreadsheet, word processing and desktop publishing software are all included 3. Specialist application software performs a single very specific type of task 5 Examples: payroll calculate accounts plan driving routes work out income tax returns deal with stock control 4. Sometimes an organization finds that ‘off-the-shelf’ software will not do exactly what they want. In this case they might decide to have special software specially developed for the purpose, this is called Tailormade, or bespoke software. The main advantage is that the company gets exactly what it needs. The main drawbacks of this approach are the high cost and long time that some programs take to develop. As the organization requires new features in their tailor-made software, they will have to pay yet more money to get it written, tested and re-released. With 'off-the-shelf' software this development cost is effectively shared amongst thousands of customers. Application software can also be categorized as: Shareware - Copyrighted software that is available free of charge on a trial basis, usually with the condition that users pay a fee for continued use and support. Public domain - Programs that are un copyrighted because their authors intended to share them with everyone else are in the public domain. The UNIX community has developed a number of such programs over the years. Programs in the public domain can be used without restriction as components of other programs. When reusing such code, it is good to understand its history so that you can be sure it really is in the public domain. Freeware - Like shareware, freeware is software you can download, pass around, and distribute without any initial payment. However, the great part about freeware is that you never have to pay for it. No 30 day limit, no demo versions, no disabled features -- it's totally free. Things like minor program updates and small games are commonly distributed as freeware. Though freeware does not cost anything, it is still copyrighted, so other people can't market the software as their own . Commercial software- Software that is designed and developed for sale to the general public . Integrated software – Same as integrated package discussed above – that is -these are separate software components or applications that have been combined into one package. 6