System Software 2 Revision Objectives After you have studied this chapter, you should be able to: %%describe the purpose of operating systems %%describe the characteristics of different types of operating systems and their users; batch, real-time, single user, multi-user, multi-tasking and network systems %%identify a range of applications requiring batch processing and a range of applications in which a real time response is required %%describe different types of user interface; forms, menus, GUI, natural language and command line, suggesting the characteristics of user interfaces which make them appropriate for use by different types of user %%describe the purpose of a range of utility software, for example, disk formatting, file handling, hardware drivers, file compression and virus checkers. 2.1 The Operating System (OS) The computer hardware is unusable without an operating system. When we purchase a PC it is the one item of software we expect to be provided along with the hardware. The OS is the software which makes the hardware usable. This is obvious but we need to appreciate what the computer system has to perform behind the screens. Look Back To Chapter 1 for definition of OS Consider the following example: You load the word processing software and at the end of the session save the document. You simply have to key in a document name and click the save button. Consider what the operating system is doing behind the screens. The OS must: check that the document name is valid check that there is sufficient free disc space. If so, decide which sectors on the disc it will use for storage of the file mark these sectors are used remove these sectors from the list of free space on the secondary storage make a new entry in the file directory fort he device. This suggests that the purpose of any operating system is to: hide the complexity of the computer hardware away from the user provide a user-friendly interface between the user and the computer hardware. Progress Check 2.1 1. Is the operating system applications software or systems software? 2. Write two possible definitions for the operating system. Look Back To the previous chapter MTPL0225_Chapter 02.indd 7 2/4/2012 4:08:15 PM
8 System Software The discussions so far are points which would apply to any computer system. We shall now study computer systems which operate in a specific way. Batch processing OS Before the advent of the microcomputer the majority of computer usage was batch processing. A program would be loaded together with the data which the program would process and the printed output produced. Key features Characteristics of any batch processing system are given here. All aspects of the processing occur as a batch The data is collected and entered as a batch The data is all processed at the same time (i.e. as a batch) The output is also produced as a single batch of documents. This may result in acceptable time delay between the data entry stage and final production of the output The job once started will run to completion without any interaction from the user. Progress Check 2.2 A college operates a payroll program for the payment of all monthly paid staff. Staff must submit a form showing their hours worked before the 14 th of each month. The data from these forms is keyed in and saved a batch. The program is run on the 25 th of each month and the payslips are posted to employees the following day. Does this application meet all the key points bulleted above? Real-time OS Real-time processing is the exact opposite of batch processing. Whereas with batch the nature of the application means there is an acceptable time delay between inputs and outputs, for a real-time application the processing must occur almost instantaneously. Applications which require a real-time OS therefore are process control type applications. Key features Characteristics of real-time processing are: there is a continuous cycle of inputprocessing-output called a feedback loop the inputs may not be sequential in nature the nature of the output(s) will affect the next input events (and so inputs) may occur is parallel and at intermittent intervals. Progress Check 2.3 A large greenhouse is temperature controlled. The inputs come from a number of temperature sensors. Each sensor sends temperature readings back to the computer (say) every 1/100 th of a second. The computer processes these readings and will, if required, send signals to a set of motors which control the opening and closing of the windows. This continuous cycle of input-processing-output maintains a constant temperature inside the greenhouse. Does this application meet the bullet pointed requirements for a real-time operating system? Note Some of the OS classification descriptions are not mutually exclusive. A multi-user operating system is likely to be provided for by on a network; the operating system therefore provides both network and multi-user usage. Pseudo real-time Some computer applications require the processing and outputs to take place quickly but on a time scale of seconds (rather that fractions of a second as with our greenhouse application). MTPL0225_Chapter 02.indd 8 2/4/2012 4:08:15 PM
System Software 9 Consider purchasing concert tickets from a ticketing agency. Once a reservation is made for tickets, the reservation data must be brought up-to-date immediately as each new reservation transaction is completed. If not, the likely outcome will be a double booking. Modern websites will often reserve the selection made by the user for around two minutes, to give the user sufficient time to make payment for the tickets selected. Single-user Multi-user OS A stand-alone microcomputer system will require a single-user operating system. This is clouded by the ability to create different user profiles for use on the same computer, but when the computer system is in use it is a single-user system. Multi-user means the computer system can be concurrently used by several users. Progress Check 2.4 A small office environment may require that all users have access to a central database of data for order processing etc. Could you describe another computer application which would require multi-user access? Network OS Each computer on the network will have its resident operating system software. Communication across the network is provided for with another layer of software called the network operating system. Tasks for the network OS include: control of access to the network (user IDs and passwords) management of all available resources (for example, a printer) management of all users data files. Multitasking When using a stand-alone computer we almost take for granted that we can have several programs concurrently loaded. Strictly we should use the term process. For example, there may be two copies of the word processor program loaded and the OS will treat each of these as a separate process. However, remember that there is only one processor and so although there are several programs loaded into the main memory the processor is only ever actually processing one of the processes at any one time. For the Windows operating system we can see the loaded programs sitting on the taskbar. Running the Task Manager utility will display the list of processes loaded. Don t Confuse Multitasking Multi-processing Multi-programming 2.2 User interfaces We have already stated that it is a key role of the operating system to provide the user of the computer system will an interface through which the computer system is used. Forms based interface Many applications are web-based and require the completion of a form for data capture. The screen shows the entry of the data for ordering a pair of spectacles on-line. The form will contain the usual widget controls for data entry including: text boxes radio buttons check boxes drop-down lists. Why do drop-down list help with data validation? Note the fields marked with the star must be entered a form of validation. Progress Check 2.5 Do you know where it would be appropriate to use a check boxes (usually square) or radio buttons? MTPL0225_Chapter 02.indd 9 2/4/2012 4:08:16 PM
10 System Software Figure 2.1 Figure 2.2 Graphical User Interface (GUI) A GUI uses: windows (This means a program window and not the Windows operating system) icons menus pointing device (for example, a mouse). Hence a graphical user interface is called a WIMP interface. This screen illustrates all these points. The Windows Explorer program uses multi-level menus (see screenshot). The desktop and taskbar has icons to represent various programs. A more recent trend is to organise the menu selections using ribbons and tabs. This is illustrated with the Articulate Quizmaker software (Figure 2.3). MTPL0225_Chapter 02.indd 10 2/4/2012 4:08:17 PM
System Software 11 Figure 2.3 Figure 2.4 Command-line interface The user is presented with a command line prompt. The user must learn and then use the commands. The traditional command-line interface on the PC was the early MS-DOS operating system from Microsoft. One such command is dir which displays a list of all the folders and files in the current folder/ directory. Command line interfaces have the advantage that once the commands have been learnt an expert user can quickly use the computer system. Natural language interface Natural language processing is the ability to communicate with the computer system using natural language. This is one step on from simply carrying out a keyword search. Figure 2.5 There s an interesting paradox here in that natural language, the system that is easiest for humans to learn and use, is the hardest for a computer system to master and implement! Consider a search for the text Which city in England has the largest population outside London. A keyword search would only focus on the keywords population and London. A natural MTPL0225_Chapter 02.indd 11 2/4/2012 4:08:18 PM
12 System Software language search on the other hand, attempts to use natural language to understand the nature of the question and then return matches which answer the question. If the natural language search is successful, results should have a higher relevance than results from a keyword search using a search engine. The website Ask.com would claim to use natural language processing for the analysis of search engine text. Disc formatter program Formatting a disc requires the setting up of the block markers on each track. The screenshot shows the format of a pen-drive with Windows 7 and the screen shows the size of the blocks which the FAT filing system will use. The size of all blocks written to the disc is 16 kilobytes. A disc must be formatted before it can be used. Look Back To Figure 1.2 in Chapter 1 to see where utility software fits in the general classification of software. 2.3 Utility software What was classified as a utility some 15 years ago would have been clear. The issue now is that, as operating systems now provide more and more features, tasks we would have previously labelled a utility may well now be packaged as part of the OS. The screenshot shows all the Windows 7 operating system programs available under System Tools. The following are all examples of a utility program. Figure 2.7 Disc defragmenter As the disc becomes more and more used for the saving of files, the blocks used for a file become scattered over various tracks and sectors. The result is that files may take longer to load, as all the required blocks need to be retrieved and this will require several movements of the read/write head. Defragmenter software rearranges the blocks that are used for each file so that the blocks are contiguous. This will result in fewer movements of the read/write head and hence faster retrieval of the file. Disc cleanup Following heavy use, some of the blocks on the surface of the disc may become damaged. These blocks must be marked as unusable so that the file management module of the OS will not attempt to use them. Figure 2.6 Virus checker All computers should have one! The virus checker program will make reference to a database of MTPL0225_Chapter 02.indd 12 2/4/2012 4:08:19 PM
System Software 13 known viruses and then report if a file is found on the computer. The virus checking software will then quarantine the suspicious file, ready for its removal. The database of known viruses must be continually kept up-to-date. A virus is just one type of malware which can cause harm to the computer system. Hardware driver New hardware when developed will be designed so that it can be used with a variety of operating systems. What makes this possible is a program called a device driver. A driver program is designed to allow successful communication between the operating system and the hardware device. File management The operating system will come with commands/ programs to manage the files on the computer system. File management includes: organising files into folders/directories deleting files moving/copying files. File compression Some files by their very their nature, for example, video and graphics files, are large. Reducing the size of any file is clearly desirable as: it takes up less storage space on the secondary storage device the file size may be critical if the file is to be attached to an email and then sent over the Internet. The WinZip program (Figure 2.8) has almost become a de-facto standard for file compression on the PC. Figure 2.8 The overhead with file compression is that we need software to perform the task and then software to extract a compressed file. Archiving utility This may be utility in its own right or a feature which is part of an application such as an email client program. An email client program (such as Microsoft s Outlook) has a facility to archive old and unwanted emails. When the files are archived file compression will take place. Top tip The list of possible utilities is huge for an examination answer stick to these listed here which can be found on most computer systems. Exam-style Questions Specimen Paper 1 Question 1 1 (a) State what is meant by (i) operating system software...... [1] (ii) applications software...... [1] MTPL0225_Chapter 02.indd 13 2/4/2012 4:08:19 PM
14 System Software Technique The number of lines provided indicates the length of answer expected for each part. Note also the different keywords: State Explain Identify (b) Explain the difference between batch processing and real-time operating systems....... [2] (c) Identify one application which would need to use batch processing and give a reason for your answer. Application... Reason... [2] Summer 2009 Question 5 (The question has been presented in the current question/answer book format) Technique Needs careful reading, as the question requires: a description of the interface and then an application. One purpose of most operating systems is to provide a human computer interface (HCI). (a) Describe the following HCIs and give an example of an application which would use each: (i) menu based...... [3] (ii) natural language...... [3] (b) State three other purposes of an operating system. 1....... 2....... 3....... [3] MTPL0225_Chapter 02.indd 14 2/4/2012 4:08:19 PM