210 likes | 382 Views
2.4 - Nature & Capabilities of Software. What is software? Types of software Generic software Drivers, protocols and standards for interfacing with peripherals and storage devices Object linking and embedding Functionality of internet software Compatibility and portability
E N D
2.4 - Nature & Capabilities of Software • What is software? • Types of software • Generic software • Drivers, protocols and standards for interfacing with peripherals and storage devices • Object linking and embedding • Functionality of internet software • Compatibility and portability • Features of software & evaluation/comparison • Upgrading - technical and human implications • Reliability - how do we make software reliable?
What is software? • Hardware is the physical components that make up a computer system. • Software is the programs and data that make the hardware do something useful. • Software is NOT the CD or floppy disc that the program comes on - usually you are just buying the licence to use the software, and not the software itself.
Firmware • You may also come across the term Firmware - this is software that is stored in hardware (i.e. on a chip) and is usually found in embedded systems. • Not all computers are multi-purpose desktop or laptop PCs, mainframe or mini-computers, so are designed for a specific purpose and are built into machinery - these are called embedded systems. • Embedded systems are mostly used for control, e.g. in washing machines.
Types of Software • Specific purpose - e.g. Encarta, POS, etc. • Generic - e.g. spreadsheets, databases, etc. • Off the shelf - i.e. a product such as Sage Accounts • Bespoke - i.e. custom-made for the user There are three main categories of software: • Operating systems • Utility programs • Applications Applications come in different types :
Operating Systems • Control and manage the computer’s resources • memory management • resource allocation • storage • communication • interrupt handling • Examples include Windows (NT, 2000 and XP only, not versions up to 98), Unix, Linux, CPM, Mac-OS. • Heathcote says that they are installed on the hard disc, but this is not always the case, e.g. RISC-OS, PDAs, embedded systems and early home computers such as Spectrums and VIC-20s!
Kernel Shell Operating Systems • The kernel is hardware specific and controls primary and secondary storage, input and output. • The shellprovides the user interface - this could be a command line or a Graphical User Interface. • It is possible that an operating system, e.g. Windows NT or Linux, could run on several platforms (e.g. Intel, Power PC, DEC Alpha) by having the same shell with different kernels
Memory Management • System resources and hardware often require memory which must be allocated by the OS • Most modern operating systems are capable of multi-tasking (running several programs at once) - each program will require its own area of memory to store data. • Some types of OS can use multiple processors, so they must also decide where a process takes places, as well as which memory it will use!
Memory Management • Non-volatile, usually magnetic media - stored without power • Slower - access time of around 8ms • Cheaper, e.g. 40Gb for £35 Primary storage (e.g. RAM): • Volatile - i.e. contents are lost without power • Fast - access time of around 7ns for PC RAM • Relatively expensive - 1Gb DDR RAM costs £140 Secondary storage (e.g. hard disc):
Virtual Memory • Sometimes the operating system can use secondary storage to supplement primary storage in a way that is transparent to the application - this is called virtual memory • RAM overflows onto the disc - e.g. in the Windows paging/ swap-file
Sector Disc Storage Constant angular velocity Constant linear velocity • CLV discs (e.g. Compact Discs) slow down as sectors nearer the edge are read - the sectors are the same physical length so that capacity is increased
A A A B A B B B B B File Allocation and Fragmentation • File A is written • File B is written • File A is edited • Disc is fragmented • The disc is now defragmented - the sectors are contiguous and so quicker to read • Location of file is stored in the File Allocation Table (FAT) A
Keystrokes Mouse movements or clicks User Interface • Manages multi-tasking – e.g. each application in a separate window • Allocates events to the appropriate application: • Mouse movement • Mouse click/double-click • Key presses • Timers Shell
Copy Paste User Interface • Provides the ability to transfer information between applications – e.g. the clipboard in Windows Clipboard Application A Application B • Provides a consistent appearance to applications, e.g. menus, help, printing and error messages
Peripherals • Peripherals can be connected to a computer either internally - e.g. video or sound cards - or externally, through USB, serial or parallel ports. • Internal devices are serviced through interrupts - the OS polls each device in turn to see whether it requires any processing time. • The operating system communicates with the device through a driver. • A driver is a piece of software that translates the user’s instructions - e.g. that they want a particular piece of text to be bold - into the device-specific control codes that the particular hardware uses.
Utility Programs • A utility is a small program, usually with a technical function - they often come with an operating system. • Examples of utilities are: • Virus checkers • Windows Explorer/File Manager/Xtree • Printer Manager • Scandisk & Defrag • Winzip (or other compression software) • Norton Utilities/PC Tools • Compilers and interpreters • Performance monitoring • Backup and restore
Applications • Written for a specific purpose - inflexible • Such systems may be bespoke or off-the-shelf • Bespoke systems are those written specifically for a particular customer, usually in a language such as C++, Visual BASIC or Java, e.g. • Point of Sale (POS) systems • Insurance quotation systems • Management Information Systems (MIS) • Off-the-shelf software is the boxed products you might see in PC World: • Sage Accounting • AutoRoute
Bespoke Software • Purpose-designed for task - it does exactly what you want (or what you asked for, anyway!) • Purpose-designed for hardware • Extra features can be integrated more easily • More likely to be bug-ridden • Tied into one suppliers, e.g. for: • documentation (no books!) • training • support • Portability of data is less likely • Much more expensive
General Purpose/Generic Software • Some software wasn’t designed for a specific purpose - they are known as generic or content-free applications • Examples of generic software include: • word processors and DTP applications • database management systems • spreadsheets • Integrated packages contain several of these functions in one application - e.g. Microsoft Works or Lotus Symphony • Software suites contain these functions in separate applications, e.g. Microsoft Office or Lotus SmartSuite