Fundamentals of Hardware and Software 1 Distinguish between systems programs and application programs System software - This software is usually called an operating system since it controls the hardware and how all the other software work. The most commonly used operating system is Windows made by Microsoft Corporation. 2 Operating System • This is the most important system software; it manages the operations of the CPU, controls the input, output, and storage resources, and controls computer tasks. • E.g. Windows, Mac OS (Macintosh), UNIX, Linux 3 Utility Programs -are used for routine, repetitive tasks; they are common to all computer system software. • e.g Desktop utilities- are available from the taskbar, computer directory, and recycle bin; • The menu bar and toolbar-provide utilities to manage files and folders and for customizing the desktop and windows. • Disk formatting-removes information from the disk and prepares it for the operating system. • Disk defragmentation -increase the speed of access and retrieval from a disk by rewriting parts of a file to contiguous sectors on a disk. 4 Language Translators are system programs that translate a program’s language into machine language so that it can be processed. • A compiler is a translator that changes the programming code into machine code. • An interpreter is a special compiler that translates and executes each program statement one at a time 5 Application software This software instructs a computer to carry out or perform a specific task. Word Processors, Spreadsheet and databases are all application software. 6 • General purpose software - Programmes which are designed to cover a single but broad application scope. Prime examples of this are programmes such as • Microsoft Word, • spreadsheet operations • database management. 7 • • • • • Advantages Many persons use it. Help is readily available. Updates are readily available. Cheaper than custom written software • Disadvantage • Does not meet the specific needs of the individual. 8 Custom-written software • Programs which have been created specifically to meet the needs of a particular individual or company. It is very similar to you going to a tailor for him to make a suit to meet your fashion needs. • Macros are usually added to general purpose software 9 Advantages 1. You get exactly what you want. 2. Your software runs faster since the code is optimized to serve your specific purposes only. 3. You are in more control of revisions made to the software. Disadvantage 1. Its development is time consuming. 2. Its development is very costly to the individual or company. 3. Special training is necessary which can also be expensive and time consuming 10 Customization of general-purpose software • Imagine having an article of clothing which does not quite suit you. You would take this garment to the tailor and ask him to modify it to suit you. Customisation of general-purpose software is just like this. 11 • Advantages • Meets the specific needs of the user • More cost effective than designing customwritten software • Disadvantages • Updates will not be as easily obtainable as with the general- purpose software. 12 Integrated Software A collection of computer programs designed to work together to handle an application, either by passing data from one program to another or as components of a single system, such as, word processing, spread sheets, data-base management, graphics, and data communications. 13 Specialized software packages • These are programs designed to give the user a range of different tools for assistance in completing a specific or narrow kind of task, rather than for a broad application area. An example of this could be a program especially designed for preparing and printing DVD labels. 14 • Advantages • Makes work easier and more efficient for its users. • Disadvantage • Does not meet the general needs of end users. 15 Operating System Components • • • • • • • Process management Main memory management File management I/O management Device Management Security User Interface 16 Major Benefits of an OS • • • • • Convenience: facilitates the use of hardware Efficiency: ensures that resources are used efficiently Security: ensures that resources are not misused Communication: enables access to other computers Real-Time Support: enables real-time constraints to be met. 17 Process Management • • • • A process is a running program A process runs sequentially A process requires access to system resources A process may need to communicate with other processes. 18 Main Memory Management • Main memory is the work space for the CPU • – Consists of a large array of words • – Each word is addressed by its index in the array • The code and data of an executing process must be resident in main memory 19 File Management • A file is an abstract, uniform unit of stored information • – Files are organized into directories • Files can be stored on several kinds of physical media • Information access is largely controlled by file access 20 I/O Device Management • A computer includes several I/O hardware devices • An operating system wraps an I/O subsystem around each I/O device to: – Hide the physical aspects of the device – Provide a uniform software-based means of accessing I/O devices 21 Device Management The device manager monitors every input/out put device constantly to ensure that the device is functioning properly. The device manager maintains a queue for each input/output device or one or more queues for similar input/output devices. The device manager controls the different policies for accessing input/output devices. 22 Security • Concerned with the protection of: – Electronically stored and manipulated information – Operating system – Application-level information systems 23 User Interface • Each operating system has a user interface, a program that accepts requests from users (processes) and interprets them for the rest of the operating system. 24 Distinguish among multitasking, multiprocessing and multiprogramming; • Multiprogramming The ability of a computer to execute two or more programs at the same time, using one CPU (or processor). • Multiprocessing The ability of a computer to execute programs on two more processors simultaneously. • Multitasking The concurrent execution (at the same time) of two or more related tasks. 25 explain the different types of processing modes • Batch processing system is one where data is collected together in a batch before processing starts e.g. Utility bills Advantage 1. Jobs can be scheduled for a time when the computer is not busy Disadvantage 1. An expensive computer is required and a well trained staff 26 Real Time processing system- processes data without significant delay making it always up to date. e.g. aeroplane landing control system, ticket reservation. Advantage 1. No significant delay for response Disadvantages 1. The computer must be dedicated solely to the task. 27 Online Processing- is when computers and peripheral devices are connected to a main processor and turned on so that interaction can take place. e.g.printers 28 • Time Sharing system- allows many users to share time on a single computer. e.g. banks bank card system. 29 Distinguish between types of user interface. • • • • • Command-driven interfaces Graphical user interface Menu-driven interfaces Direct manipulation interfaces Special purpose interfaces 30 Command interface Commands enable the user to quickly and simply instruct the computer what to do. • Advantages of command-driven interface • Faster to use, once you have learnt the commands. • Disadvantages of command-driven interface • It is sometimes difficult to • remember all the commands. 31 GUI (Graphical User Interface) This interface makes use of pictorial representations (icons) and lists of menu items on a screen, which enable the user to choose commands by pointing to the icons. Just remember WIMP Windows Icons Menus Pointing devices 32 • Advantages of GUIs • •Fewer command errors • •Reduced typing • Disadvantages of GUIs • •It may consume more screen . • space 33 Menu Driven • The user is presented with a choice and, therefore, does not have to remember any commands. The interface is, therefore, suitable for beginners and infrequent users. 34 • Pop-down menu: one that opens immediately below the position of your mouse (or other pointing device). You move the cursor downward to go through the items in the menu list. 35 • Pop-up menu: any menu list that pops • up on the screen, on demand, to offer • you a choice of commands. 36 Cont’d Advantage of menu-driven interfaces • The user is presented with a list of options to choose from, they do not need to remember the commands. • Disadvantage of menu-driven interface • Several steps required to issue a command. 37