2.7 Configurability of Hardware and Software A computer system is made up from various components, some of which are inside the “system unit”, some of which are outside, and some of which are used to communicate with the user (see also the section on User Interfaces – 2.10). Peripherals Peripherals are hardware devices attached to the computer system that expand the capabilities of the system. They are attached via an electrical connection (e.g. they are plugged into one of the ports at the back of the computer), and generally require some software running on the computer to control or “drive” them (see Drivers). Examples of peripherals include such things as: Printers Plotters Scanners Barcode readers Storage Devices Computers need to store information, in order that it can be retrieved, searched, sorted, etc. There are two categories of storage used by computers: Primary Storage: This is the computer’s “main memory”, or RAM (Random Access Memory). RAM is so-called because the information can be accessed by the processor in any order, unlike the information on, say, a tape, which always comes in sequence. When we say that a computer school has 512Mb (mega-bytes) of memory, for example, it is the primary storage we are talking about. The programs you are currently running, and in most cases the data they are using (e.g. your current document in Word) are stored in the primary store. Primary storage is usually very fast – information can be retrieved in nanoseconds – but is normally the most expensive of type of storage per byte. Secondary Storage: The problem with RAM is that it is volatile. This means that is the computer is switched off or the power fails, then what is currently in the memory is lost (the word volatile means “evaporates quickly”). For this reason we need another form of storage; secondary storage. Secondary storage is a permanent, non-volatile form of storage that usually involves a storage device recording the information onto some sort of physical medium. In the early days of computing, things such as punched cards, paper tape and magnetic drums were used, but modern examples are things like: Hard discs Floppy discs ZIP Drives CD-ROMs DAT or other data cartridges Secondary storage is usually much cheaper per byte than primary storage, which is convenient, because users often have a much greater need for it. My computer at home, for example, has 1Gb of RAM, and 250Gb (1Gb is a “giga-byte”, or 1,000Mb) of secondary storage, and these two cost very roughly the same. Virtual Memory: As primary storage is usually more expensive than secondary storage, sometimes users don’t have as much as they require. A professional quality A4-size image, for example, would take up more than 64Mb on its own, without the operating system and the program used to process it. What some operating systems can do is operate a system called virtual memory. The memory manager can use secondary storage to save the information that won’t fit into the primary storage. Because it’s unlikely that all of the data is used all of the time, the bits being used can be swapped between primary and secondary storage in a way that is transparent to the program. Input and Output Devices These are devices for communicating with the computer system. Input devices are used to receive input from the user, and include the following: Keyboard Mouse Graphics tablet Joystick Output devices are used to communicate information to the user in a form that he or she can understand, and include the following: Printers Plotters VDUs (Visual Display Units) You will almost certainly be familiar with printers. Plotters produce also produce paper output ("hard copy"), but do so by "drawing" on the paper using pens; they are mainly used to produce technical drawings and plans (they are quite rare these days, but I’m sure you can find examples on the internet). Parallel and Serial Transmission Peripherals are usually connected to a PC via either a serial or parallel connector on the back. The data is sent by a different method through each. USB stands for Universal Serial Bus, and so they are serial cables too. Through a parallel port, data is sent a byte at a time. The parallel connector has eight wires, each of which will carry one bit of information, plus some other connections for control purposes (e.g. to indicate that the device is ready to receive, etc.) Printers and some scanners are usually connected through the parallel port. In a serial connection, there is only one wire for the data (plus others for control), and the information is sent a bit at a time. This is obviously slower than a parallel connection, but more reliable over longer distances. Serial communications can be either synchronous or asynchronous (see the 2.9 – Networking Environments). The serial ports on PCs use the asynchronous method in which there is no clock pulse. Buffering and Spooling Peripherals often work at a much slower rate than the computer itself. To avoid everything grinding to a halt when you print, for example, the operating system or drivers can employ certain techniques. Buffering and spooling are both methods of using temporary storage for data, between the processor and the input or output device. A buffer is usually an area of RAM, either in the computer itself, or in the peripheral device, where data can be stored before being processed, leaving the computer's main processor and memory to get on with other things. Spooling works in a similar way except that the data is usually written to secondary storage, e.g. the disc. This is a common practice when printers are used on a network. When users print out their work, it is written to a file on the network server if the printer is busy, and printed out when the printer becomes available. Printers There are various different types of printer, and which one you would select would depend on your requirements for: Volume of output Print quality Location Colour Different sizes of paper, envelopes and transparencies Cost – both the initial cost and the cost of consumables Noise (i.e. whether you need it to be quiet) Printers fall into two main categories; impact printers and non-impact printers. As the names suggest, the former produce characters or graphics by striking the page, and the latter type use alternative methods. Impact Printers Dot matrix and daisy-wheel printers and both impact printers. Dot matrix printers have a column of pins in the print head, which can move to strike the paper individually or in various combinations. They strike the paper through an inked ribbon and leave a dot. As the head moves across the paper, the trail of dots makes up the characters or an image. The quality of the image will depend on the number and size of the pins, and therefore the dots. Early printers had 8 or 9 pins, then came 24 pins and possibly more in modern printers, although it’s quite an old-fashioned technology. Daisy wheel printers work like a type-writer; there is a plastic wheel with a character at the end of each "petal". The wheel rotates to the correct position, and the letter, number or symbol is hammered onto a ribbon over the paper, thereby making an impression. Daisy wheel printers are limited to only one font (unless you change the wheel) and are not capable of producing text in different orientations (e.g. landscape), or graphics. Non-Impact Printers The two most common types of printer are ink jet (or "Bubble Jet") and laser printers. These are both nonimpact methods. Ink jet printers effectively spray the ink onto the page; this can make the output quite wet if large areas are covered (e.g. a picture is printed). They can also be quite fussy about the sort of paper used; if it is too absorbent, then the ink will spread like in blotting paper, and if the paper isn't absorbent enough, then the ink will set on the surface and take longer to dry, therefore being prone to smudging. Laser printers don't use ink at all, but a black powder called toner, which is melted onto the paper by a hot roller. This means that you need to be careful when using transparencies and labels as they can melt (in the case of labels, the adhesive backing can melt and the labels can come off and stick on the roller). Laser printers are generally faster, but more expensive (especially if you want colour) than ink jet printers. Display Devices The computer's output is normally displayed on a monitor, or Visual Display Unit (VDU). For a PC to do this, it needs to have a video card installed inside it (although some motherboards have support for video built in). Other types of computer, such as the Apple Mac or Acorn RISC machine have support built in. The size of the monitor is usually given in inches, measured diagonally from corner to corner (just as with a television). Common sizes are 14", 15" and 17", although larger sizes are becoming more popular. When talking about the quality of the output, there are two attributes we need to consider: Resolution: the image on the screen is made up of a series of dots called pixels (picture elements); the higher the number of dots, the better the quality of the image. The resolution describes the number of pixels that can be displayed on the screen in each direction (horizontal x vertical). The most common resolutions on PCs are: 640 x 480 800 x 600 1024 x 768 1152 x 864 1280 x 1024 These can be set in the Display section of Control Panel. To give you a comparison, the resolution of broadcast television is 625 lines. Colour Depth: the other thing to consider is how many colours can be displayed. The more colours, the more realistic photographic images will be. The most common colour depths are: 16 colours 256 colours "High Colour" (16 bit, or 65,536 colours) "True Colour" (24 bit, or over 16 million colours) Higher resolutions are greater number of colours require more memory. At 256 colours, each pixel requires one byte of memory. There are 8 bits in a byte, so each pixel in High Colour requires two bytes, and each pixel in True Colour requires three. Because of this, some video cards may restrict you to fewer colours in higher resolutions, due to the amount of memory required. For example, a True Colour display with a resolution of 1280 x 1024 pixels would require memory of 1280 x 1024 x 3 = 3,932,160 bytes, or nearly 4Mb! Drivers Different printers have different features, such as the ability to print in different fonts, and different resolutions (i.e. numbers of dots per inch) when printing graphics. Even where there are common features, such as the ability to print in bold, the codes that the computer needs to send to switch that feature on and off can vary from model to model. What the computer requires is some software called a driver, which can translate the codes generated by the program into codes suitable for the printer. In Windows, the drivers are installed centrally in the Control Panel so that each application, e.g. Excel or Word, can use the same drivers. In the days of DOS, each program often had its own printer driver. Other hardware devices, such as video cards, modems and scanners also require drivers. These perform the same function, allowing the computer to control the device. Sometimes the same driver can be used for similar devices (e.g. you may hear about “Hayes compatible modems”, or “HP LaserJet compatible printers”), but even in these cases it is often only by using the specific driver for that device that the most advanced features can be utilised. WYSIWYG and TrueType Fonts One of the problems with printing from a word processor or other application is that your text may not appear on paper as it did on the screen. With modern Graphical User Interfaces, this should be less of a problem, but with older “character-based” systems (such as DOS, or UNIX), fonts on the screen were not “proportionally spaced”. Characters could only appear at fixed intervals across the screen, and so it wasn’t possible to insert fractions of spaces to justify the text. This meant that sometimes you could print out justified text, but not see what it was going to look like on the screen. A solution to this problem came with the arrival of WYSIWYG user interfaces. WYSIWYG stands for “What You See Is What You Get”, and means that your print should appear exactly as it does on the screen. Word (in Page Layout View, at least) is a WYSIWYG word processor; you get exactly what you see as you are typing. Other word processors, such as WordPerfect 5.1 offer a halfway house solution, with a characterbased input screen, and a graphical print preview. Even with GUIs and WYSIWYG word processors, there was still the problem of the fonts being used in the printer not being exactly the same as the ones used for display on the screen. This could lead to things not quite lining up, or not appearing as expected. A solution for this came with TrueType fonts. A TrueType font is used by Windows both for display on the screen and for printing. When you select a typeface in, say, Word, the TT symbol indicates a TrueType font. If you select one of these, you can be sure that your document will appear in the same way on paper as it did on the screen. Limitations of Hardware and Software Sometimes, due to the limitations of the hardware or software being used, a system will not be able to fully exploit the features of a peripheral. You will not be able to use certain fonts that a printer may support, for example, if the word processor you are using will not let you select that font, or if you are printing from, say, Notepad. Also, there is no point in you being able to scan things in 24-bit colour (i.e. 16 million colours) if your monitor cannot display that many, or you need to save the image as a GIF (GIFs only support 256 colours; if you want more colours than that, save your picture as a jpeg). Some modern printer drivers are applications in their own right, and have minimum hardware requirements specified. The drivers for my printer at home, for example, will not run on a 386 computer.