Standard Grade Computing Studies Unit 13 – Computer Systems Name: . . . . . . . . . . . . . . . . . Class: . . . Bishopbriggs Academy Contents: Sys 1 – Computer Hardware The structure of a modern computer system The Central Processing Unit The Main Memory Interfaces Common Peripherals Sys 2 – Low Level Machine Software Storage in main memory Storing positive whole numbers as binary Storing text as binary Storing black and white graphics as binary Storing database records in main memory Storing programs in main memory Sys 3 – Operating Systems The purpose of an Operating System Types of Operating Systems Tasks carried out by an Operating system Sys 4 –Systems Software High Level Programming Languages Portability of software Types of translator Interpreters compared to Compilers End of Unit Questions 2 Bishopbriggs Academy - Standard Grade Computing Studies 3 3 5 6 8 9 12 12 13 16 19 21 25 27 27 29 30 36 36 37 38 39 41 Sys 1 – Computer Hardware In this chapter you will learn about • • • • • The structure of a modern computer system The main components of a CPU About the types of memory – RAM and ROM Main memory size Commonly used input output and backing stores The Structure of a modern computer system You learned in the first booklet ‘Introduction to Systems’ that a computer system could be represented as four blocks like this: Input Device Processor & Memory Output Device Backing Store This model applies equally to the different types of computer – palmtop, laptop, desktop and mainframe. The first booklet described the different Input Devices, Output Devices and Backing Stores in common use today. This booklet will concentrate on the central block in the diagram above containing the Processor and the Memory. Unit 13 – Computer Systems 3 This diagram can be re-drawn to show more detail of the central block like this: Input Devices Central Processing Unit ROM RAM Interfaces Backing Stores Output Devices Address Bus Data Bus The central block is made up of four parts: The Central Processing Unit (CPU) – which fetches and executes the instructions that make up the programs. ROM – Read Only Memory – permanent memory whose contents cannot be changed nor lost when the power is switched off. RAM – Random Access Memory – memory whose contents can be changed but which are lost when the power is switched off. Interfaces – used to match the signals going to and from the input, output and backing storage devices to the processor. These four parts are connected together through bundles of wires called the Address Bus and the Data Bus. 4 Bishopbriggs Academy - Standard Grade Computing Studies The Central Processing Unit (CPU) There are many makes and types of CPUs, but they all share the same three basic components: Arithmetic Logic Unit (ALU) Registers Control Unit Data Bus Address Bus The Arithmetic/Logic Unit is the part where calculations (Arithmetic) are performed on data and decisions are made by comparing data (Logic). Registers are storage locations inside the processor. The number of registers varies with the CPU. Some CPUs have only 8 while others have hundreds. Instructions are stored in registers while the Control Unit is executing them. Data is stored while it is being used in calculations and for making decisions by the ALU. The Control Unit fetches and executes the program instructions and controls all movement of data inside and outside of the CPU. Unit 13 – Computer Systems 5 The Main Memory Before a program can be run it must be stored in the main memory. This is known as the ‘stored program concept’. Main memory made up of two types – ROM and RAM. ROM – Read Only Memory – The instructions and data in ROM are set when the chip is made. The contents are permanent and therefore cannot be altered. Every computer contains at least a small amount of memory stored as ROM- if only to restart the computer after it has been switched off. (RAM cannot be used to restart a computer as once switched off its contents are erased!) The programs for embedded computers (like those found in cars, MP3 players, etc) are usually stored in ROM so they are ready as soon as the device is switched on. RAM – Random Access Memory – The contents of RAM are empty until data is stored – but the contents are lost when power is switched off. RAM is often described as ‘volatile’ memory. Most of the total memory in palmtop, laptop, desktop and mainframe computers is made up of RAM. In these types of computers, the programs and data are stored in RAM. Every location in main memory is identified by a unique address. To fetch data, the CPU puts this unique address on the Address Bus and the data travels from main memory to the CPU through the Data Bus. To store data, the CPU puts the address on the Address Bus and the data travels from the CPU to the main memory location with that unique address. 6 Bishopbriggs Academy - Standard Grade Computing Studies The amount of data that is transferred at one time along the Data Bus is called the Word size. Modern computers use either a 32 bit word or a 64 bit word – that is each address is the location of 4 bytes (32 bits) or 8 bytes (64 bits) The bigger the Word size the more powerful the CPU Measuring Main Memory The smallest piece of memory is called a bit. Bit is short for ‘binary digit’ – a ‘1’ or a ‘0’. 8 bits = 1 byte 1024 bytes = 1 kilobyte or KB 1024 KB = 1 megabyte or MB 1024 MB = 1 gigabyte or GB 1024 GB = 1 terabyte or TB Modern desktop computers will have at least 256 MB of memory – though they will work a lot better with more than this! Main memory is bought in modules of 256 MB, 512 MB or 1 GB. These are plugged into the memory connectors on the computer motherboard to increase the size of the main memory. (Note: you must buy the correct type of memory for your computer – not all are the same!) Unit 13 – Computer Systems 7 Interfaces Input Devices, Output Devices and Backing Stores are referred to as peripherals. Different peripherals work at different speeds from the CPU or memory. Some operate with different voltages from the CPU and memory, others use different types of signals – like analogue instead of digital. All peripherals are connected to the CPU and memory through an interface. The purpose of an interface is to alter the different signals from the peripherals to make them suitable to be used by the CPU or to be stored in main memory – and vice versa. To save money and to give buyers greater choice, manufacturers have agreed to choose from the same set of interfaces for peripherals when they design new computers – these are called ‘standard interfaces’. For example: USB – Universal Serial Bus – to connect printers, scanners, digital still cameras – i.e. – relatively slow devices. USB2 – High Speed USB – to connect external hard disks, video cameras – i.e. – relatively high speed devices. (Also works with the slower USB devices.) Firewire (IEEE1394) – also for high speed devices. High Density VGA - to connect analogue monitors. (Monitors that use a CRT or Cathode Ray Tube) DVI (Digital video Interface) to connect digital monitors (Monitors that use a TFT or Thin Film Transistor flat screen display.) 8 Bishopbriggs Academy - Standard Grade Computing Studies Common Peripherals The following Peripherals were described in the first booklet – ‘Introduction to Systems’. Make sure you know what each one is and what it is used for. Input Device Output Device Backing Store Mouse Laser printer Magnetic tape Trackball Ink jet printer Floppy disk Trackpad Plotter Hard disk Graphics tablet Liquid Crystal Display (LCD) Touch sensitive Thin Film screen Transistor Display (TFT) Keyboard Cathode Ray tube display (CRT) Joystick Loudspeakers and sound card Scanner Virtual Reality headset Digital still camera Graphics card Digital video camera Web Cam CD-ROM DVD-ROM CD-recordable (CD-R) CD –rewriteable (CD-RW) DVD – recordable (DVD-R) DVD – rewriteable (DVD-RW) USB Flash Drive Microphone and sound card Unit 13 – Computer Systems 9 Homework / Written Exercise 1 1. What does CPU stand for? 2. What is the purpose of the CPU? 3. What is main memory made up of? 4. What does ROM stand for? 5. What are two characteristics of ROM? 6. What does RAM stand for? 7. What are two characteristics of RAM? 8. What is an interface used for? 9. How are the parts of a computer connected together? 10. (Credit) Name the three main parts inside a CPU. 11. (Credit) describe the purpose of each of these main parts inside the CPU. 12. What is the ‘stored program concept’? 13. Why do all computers need at least a small amount of ROM? 14. What is an embedded computer? 15. Why does an embedded computer use ROM? 16. What is RAM used for in desktop or laptop computers? 17. (Credit) How does the CPU tell one piece of memory from another? 10 Bishopbriggs Academy - Standard Grade Computing Studies 18. (Credit) What is meant by the Word size of a computer? 19. (Credit) How does Word size affect the performance of a computer? 20. Complete this table: Memory A ‘0’ or a ‘1’ Equivalent 1 byte 1024 bytes 1 megabyte 1024 megabytes 1 terabyte 21. What is a peripheral? 22. Name three input devices. 23. Name three output devices. 24. Name three backing stores. 25. (Credit) What is meant by sequential access? 26. (Credit) Name a backing store that uses sequential access. 27. (Credit) What is meant by direct access? 28. (Credit) Name a backing store that uses direct access. 29. (Credit) What is meant by multi-access? 30. (Credit) Which type of computer is designed to use multi-access? Unit 13 – Computer Systems 11 Sys 2 – Low Level Machine In this chapter you will learn about: • Using the main memory to store : o positive whole numbers o text o bit-mapped images o a database record • program instructions o machine code Software Storage in Main Memory. You learned in chapter 1 that the smallest unit of main memory is a bit and that it can only hold a ‘0’ or a ‘1’. This means that all software – programs and data - are stored as ‘1’s and ‘0’s. A system based on only two digits, ‘1’ and ‘0’, is called a binary system. All software – programs and data are stored in the main memory of the computer as binary. After we type in a number or a sentence or draw a simple picture on the screen, the data we entered is converted into binary to store it in the computer’s main memory. Similarly, when data in main memory has to be displayed it has to be converted back from binary into text, numbers or pictures. In addition, all of the instructions that make up a program must be converted into binary for storage and it is the binary instructions that are used when the program runs. This chapter will look at how software is stored in binary. 12 Bishopbriggs Academy - Standard Grade Computing Studies Storing positive whole numbers as binary We are used to working with numbers that use 10 different digits – 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 - the decimal system. A decimal number must be converted into binary to store it in the computer’s main memory. For example to convert the decimal number 37 to binary: Write down this sequence of numbers: 128 64 32 16 8 4 2 1 By adding combinations of these numbers together you can make any decimal number up from 1 to 255 by only using each number once.) Decide which numbers are needed to make up our number 37 and write a ‘1’ underneath it like this: 128 64 32 1 16 8 4 1 2 1 1 That is 37 = 32 + 4 + 1 Write a ‘0’ under each of the other numbers 128 64 0 0 32 1 16 0 8 0 4 1 2 0 1 1 That is it! 37 in binary = 00100101 Unit 13 – Computer Systems 13 Converting binary numbers into decimal numbers. To convert a binary number back to decimal you just reverse the process! For example to convert the binary number 01101010 to decimal you would do this: If the binary number has less than 8 digits then add 0s to the front of the number to make it up to 8 digits long. Write down the same sequence of numbers 128 64 32 16 8 4 2 1 Beneath this write down the binary number you want to convert: 128 64 0 1 32 1 16 0 8 1 4 0 2 1 1 0 This means that the decimal number is made up of: 64 + 32 + 8 + 2 = 106 Simple! Note: negative numbers and real numbers (ones with a decimal point) are a little harder to deal with so they are left to Higher Computing. In order to store larger numbers, most modern software uses 4 bytes to store each number. 14 Bishopbriggs Academy - Standard Grade Computing Studies Homework / Written Exercise 2a 1. How many digits are there in the decimal number system? 2. How many digits are there in the binary number system? 3. What must happen to a decimal number before it con be stored in a computer’s main memory? 4. Convert the following numbers from decimal to binary. 5. a) 13 b) 29 c) 92 d) 115 Convert the following numbers from binary to decimal a) 1011 b) 101011 c) 11101110 d) 10101 Unit 13 – Computer Systems 15 Storing text as binary To convert text into binary, the processor takes each character of the text as it is entered and looks up a table of binary numbers to find the number to store. This binary number is then stored in its memory, usually one character number to a single byte. The table of numbers that is most often used is called the American Standard Code for Information Interchange or ASCII. Below is the table of ASCII codes used. Binary Nº Character 00100000 a space 00100001 ! 00100010 " 00100011 # 00100100 $ 00100101 % 00100110 & 00100111 ` 00101000 ( 00101001 ) 00101010 * 00101011 + 00101100 , 00101101 00101110 . 00101111 / 00110000 0 00110001 1 00110010 2 00110011 3 00110100 4 00110101 5 00110110 6 00110111 7 00111000 8 00111001 9 00111010 : 00111011 ; 00111100 < 00111101 = 00111110 > 00111111 ? 16 Binary Nº Character Binary Nº Character 01000000 @ 01100000 ` 01000001 A 01100001 a 01000010 B 01100010 b 01000011 C 01100011 c 01000100 D 01100100 d 01000101 E 01100101 e 01000110 F 01100110 f 01000111 G 01100111 g 01001000 H 01101000 h 01001001 I 01101001 i 01001010 J 01101010 j 01001011 K 01101011 k 01001100 L 01101100 l 01001101 M 01101101 m 01001110 N 01101110 n 01001111 O 01101111 o 01010000 P 01110000 p 01010001 Q 01110001 q 01010010 R 01110010 r 01010011 S 01110011 s 01010100 T 01110100 t 01010101 U 01110101 u 01010110 V 01110110 v 01010111 W 01110111 w 01011000 X 01111000 x 01011001 Y 01111001 y 01011010 Z 01111010 z 01011011 [ 01111011 { 01011100 \ 01111100 | 01011101 ] 01111101 } 01011110 ^ 01111110 – 01011111 _ 01111111 ~ Bishopbriggs Academy - Standard Grade Computing Studies Such a table is called a character set. It lists all of the characters the computer will use. (Note: You don’t have to remember this table!) You may have noticed that only 96 codes have been used. The ASCII code actually defines 128 codes. The missing 32 codes are called control codes or nonprinting codes. These are used for such things as… return; line feed; page feed or clear screen; move the cursor up a line; move the cursor left one character; move the cursor right one character; move the cursor down a line. Control characters can all be accessed by using the ‘ctrl’ key on the keyboard, for example ctrl - M is the same as pressing the ‘return’ key. Notice that the ASCII code is very useful for exchanging data - provided you use English. It was never designed for any other language. Notice also, that the eighth bit in the code is always 0, so only 128 codes are actually defined. Computer manufacturers have taken advantage of this fact and used all 256 of the codes. The 128 extra codes are used for storing characters that foreign languages might use such as å; ç; é; !; ß; etc., or symbols £, ©; ¥ etc. Unit 13 – Computer Systems 17 These extra codes are not fixed, so every manufacturer uses them for different characters. Every group of these 256 characters is called its character set. There are thousands of such character sets, each one different from the others. The ‘Alt’ key is used to access these. However, you must know which combination of keys produces which characters. This becomes very confusing because the combination is different for every character set used! 256 codes are not really enough, so the major manufacturers have developed a single, super set of characters called ‘Unicode’, which includes most current written languages and most often used graphic characters (up to 65,536 characters!). Two bytes are used to store each character when Unicode is used. Homework / Written Exercise 2b 1. How is each character in a text message stored in a computer’s main memory? 2. What does ASCII stand for? 3. Use the table to write your first name in ASCII. 4. What other use is made of ASCII? 5. Give two examples of non-printing codes. 6. What is the disadvantage of ASCII? 7. What is Unicode? 8. What is the disadvantage of Unicode over ASCII? 18 Bishopbriggs Academy - Standard Grade Computing Studies Storing black and white bit-mapped graphics You learned that the picture you see on the computer screen is made up of ‘pixels’ or picture elements. These pixels are also represented inside the computer as binary numbers. In a simple ‘black and white’ display, each pixel is represented by one bit: a ‘1’ turns the pixel white a ‘0’ turns the pixel black A special section of memory called the ‘screen’ memory or ‘video’ memory holds the pattern of 1’s and 0’s that make up the picture. For example: This part of the screen memory holds and you see on the monitor 000000000000000000000000000 001000111000110001110011110 010100100101001001001010000 011100111001000001001011000 010100100101001001001010000 010100111000110001110011110 000000000000000000000000000 Graphics or pictures are also represented this way, for example: This part of the screen memory holds and you see on the monitor 111111111111111111111111111 111111111110011111111111111 111111111111011111111111111 111111111100000111111111111 111111111100100111111111111 111111111100000111111111111 111100000000000000000000111 111000100010001000100010011 111100000000000000000000111 111111111111111111111111111 Unit 13 – Computer Systems 19 It should be obvious that the bigger the image, the greater the amount of memory needed to store it. To find out how much memory a graphic image will use you need to know the size of the image in pixels. For example the original Apple Macintosh computer used a black and white screen that was 640 pixels across and 480 pixels high. So the screen used 640 x 480 pixels. Each pixel needed 1 bit So the memory needed was 640 x 480 x 1 bits = 307,200 bits divide by 8 to get bytes = 307,200/8 bytes = 38,400 bytes divide by 1024 to get KB = 38,400/1024 KB Total memory needed = 37.5 KB Calculating how much memory is needed to store a colour image is dealt with in Higher Computing. Homework / Written Exercise 2c 1. How are black and white images stored in a computer’s main memory? 2. (Credit) How much memory is needed to store an image 32 x 32 pixels? 3. (Credit) How much memory is needed to store an image 128 x 96 pixels? 20 Bishopbriggs Academy - Standard Grade Computing Studies Storing flat-file database records Each record in a flat-file database is made up of fields. These fields can be of different types, for example: Text Number Date Graphic Calculated The contents of each of these types of fields must be turned into binary to be stored in the computer’s main memory. Text fields Each character in a text field must be converted to its ASCII binary number and stored character per byte. However this would take too long to work out in a large database so we use a ‘worst case scenario’ where we assume that every text field would be the longest likely to be found. For example allow 15 bytes for a first name 15 bytes for a last name 30 bytes for a street name 12 bytes for a telephone number Number fields Each number is converted to its binary equivalent. Allow 4 bytes for each number field. Date fields Allow 8 bytes to hold a date (2 day, 2 month, 4 year) Unit 13 – Computer Systems 21 Graphic fields Calculate the size of the graphic by multiplying the number of horizontal pixels by the number of vertical pixels (width x height). That is the size in bits. Divide this by 8 to get the size in bytes. Calculated fields If the calculation returns a number then treat it as a number field and allow 4 bytes for the answer – do not calculate the size of the formula – it is not stored in the record. If the calculation returns text like “Pass” or “Fail” then treat the answer like a text field and estimate the maximum number of characters that needs to be stored. Record size Once an estimate has been made for size of each field that makes up a record then the size of one record is found by simply adding up the sizes of each field in the record to get a total. File size To calculate the size of a file you must first know the size of one record and the number of records that will be stored. File size = size of one record x number of records This answer will be in bytes so divide by 1024 to get kilobytes and if necessary again by 1024 to get megabytes. 22 Bishopbriggs Academy - Standard Grade Computing Studies Example: This is an example of one record from a second-hand car sales database. Make: Model: First reg. Price £: Car Tax £: Total £ Mercedes-Benz A-class SE 1/4/2004 7,600 136 7,736 You must now estimate the size of each field: Draw up a table – it makes it easier. Field Name Make Model First reg. Price £ Car Tax £ Total £ Picture Type Text Text Date Number Number Calculated number Graphic Record size = Size 15 15 8 4 4 4 200 x 120 = 24000 bits = 24000/8 byte = 3000 bytes 3050 bytes If the garage stores 200 cars in its database then the file size would be: = size of one record x number of records = 3050 x 200 bytes = 610,000 bytes = 610,000/1024 KB = 595.7 KB Unit 13 – Computer Systems 23 Homework / Written Exercise 2d 1. (Credit) Calculate the storage requirements of the following database records: a) Address Book Field Name Title First name Last name Street Town Post Code Date of Birth Telephone Number Field Type Field Size Total = b) If the above Address book file contains 56 entries, how big is the file? c) Class Record Field Name Field Type First name Last name Class 150 x 100 photograph Graphics test Database test Word Processing test Spreadsheet test Average Field Size Total = d) 24 If the above class Record file contains 120 entries, how big is the file? Bishopbriggs Academy - Standard Grade Computing Studies Storing Programs in main memory Not only is all data stored in the computer’s main memory as binary, but the programs must be stored as binary as well. Fortunately the Central Processing Unit (CPU) can only deal with very simple instructions such as: • LOAD data from the memory to the processor • ADD the next byte in memory to the byte held in the processor • STORE the result back in memory. However, processors do not actually understand ‘human’ commands like LOAD and STORE. All the processor understands are patterns of bits (1s and 0s) for example: 10010111 might mean LOAD 10011001 might mean ADD 10011010 might mean STORE. This pattern of bits that the processor understands as instructions is called its machine code. Unfortunately, every make and model of processor understands different patterns of bits - so one set of bits for one processor might mean ADD, while for another the same set of bits might mean STORE! Therefore the machine code for one processor will rarely work with another processor. Unit 13 – Computer Systems 25 Homework / Written Exercise 2e 1. What is machine code? 2. How is machine code stored in a computer’s main memory? 3. Why will machine code written for one computer rarely work on another one? 4. Why then will machine code for an Intel Pentium 3 run on an Intel Pentium 4? 5. Why might machine code for an Intel Pentium 4 not run on an Intel Pentium 3? 26 Bishopbriggs Academy - Standard Grade Computing Studies Sys 3 – Operating Systems In this chapter you will learn about: • The purpose of an operating system • Types of operating systems • Tasks carried out by the operating system The purpose of an Operating System An Operating System is a computer program. It runs all of the time that the computer is switched on. The Operating System controls every process that runs on the computer. • The Operating System is the first program to load and run when a computer is switched on. • The Operating System is the last program to quit when you shut a computer down. • Every other program depends on the Operating System to run. • The Operating System isolates the application programs (such as a database or game) from the computer hardware. This means that the same application program can be loaded and runs on computers that use different types of memory, different hard disks, different keyboards, etc. provided the Operating System the application has been design to work with is the same. Unit 13 – Computer Systems 27 This means that applications are written to work with a particular Operating System. When an application wants to load a file it asks the Operating System to do it for it, or when it wants to print it asks the Operating System to print, or when it wants to check which menu item has been chosen it asks the Operating System to check for it, etc. This means, for example, an application written to work with Mac OS X will not run on Windows XP or Linux. Types of Operating Systems The most widely used operating systems are interactive systems. An interactive system will display something on the screen and wait for the user to do something about it. It will then process the user’s input and put something else on the screen for the user to do something about. And so on. This is referred to as the Input-Process-Output (IPO) cycle. In an interactive operating system, processing only occurs after the user makes an input. However, all modern interactive Operating Systems have what is known as ‘background job capability’. A background job is a program that once started running does not require any input from the user so it can process and output without waiting for the user to do anything. Common examples of this are printing, playing music or videos in the background at the same time that the user is using a word processor or browsing the World Wide Web – applications which do require an input from the user. 28 Bishopbriggs Academy - Standard Grade Computing Studies Some Operating Systems use real-time systems. In real-time systems processing and output will continue without any user input. When the user does make an input the program will respond to it almost instantly. Real-time systems are often used for simulation programs where the simulation continues with or without any input from the user. For example a simulated patient’s health will continue to deteriorate while the trainee doctor decides what do, but when the doctor does do something the program will respond and adjust the patients condition in line with the doctor’s actions. Industrial processes depend on real-time systems to control them. For example real-time systems are used to control nuclear power stations and to manage the operation of all modern car engines. Homework / Written Exercise 3a 1. What is a computer Operating System? 2. Why do applications depend on the Operating System? 3. What is the main characteristic of an interactive Operating System? 4. (Credit) What is meant by ‘background job capability’? 5. (Credit) Give a common example of a background job. 6. What are the main characteristics of real-time systems? 7. Why are real-time systems used to control nuclear power stations? Unit 13 – Computer Systems 29 Tasks carried out the Operating System (Credit only) Modern Operating Systems carry out several common tasks: • Provide the Human Computer Interface (HCI) • Manage the user’s files • Manage Inputs and Outputs • Manage how the memory in a computer is allocated • Manage error detection and reporting 1 Provide the Human Computer Interface (HCI) The HCI is the only part of the Operating System that the user comes directly in contact. Modern Operating Systems all use Graphical User Interfaces (GUI). The Operating System is responsible for drawing the GUI and handling all of the users interactions with it (clicking on icons and buttons, moving scroll bars, opening and closing windows or choosing items from menus). The user has some limited control in allowing the choice of colour scheme or arranging icons. The modern GUI is designed to make it easy for the user to work with the computer – if the user was given too much control then they could make it unusable! 30 Bishopbriggs Academy - Standard Grade Computing Studies 2 Manage the user’s files The File manager is the part of the Operating system that takes care of all filing tasks. These include: • locating and loading files from the backing store on request from an application or directly by the user. • saving files to backing store. • deleting files from backing store. • copying files • moving files from one location in the backing store to another or from one backing store to a different backing store. • controlling access to files (e.g. some files may be ‘readonly’) • keeping track of every file on every backing store in the computer. Modern Operating Systems use a hierarchical filing system to keep track of the files the backing stores. Any hierarchical filing system can be thought of as an upside down tree structure with the root at the top and the branches below it as shown below. Unit 13 – Computer Systems 31 On screen, different icons are used to show directories (shown as a folder icon) and files so the user can tell them apart. To help further, different types of files will also have different icons. It should be obvious that as the hierarchical structure becomes larger and larger, it is very easy to lose files in it. It is common for home computers to have hundreds of thousands of files in the backing store. The file manager must keep track of them all! It is therefore very important that the hierarchical structure is constructed in some sort of logical manner. 3 Manage Inputs and Outputs The Input/Output Manager controls the hardware devices connected to the computer. Every peripheral connected to a computer is connected through an interface. However the same interface can be connected to many different types of peripheral. It is the job of the Input/Output Manager to make sure that the correct signals are sent through the interface to the peripheral to make it work. For example: an ink jet printer works completely differently from a keyboard – but they can both be connected to the computer through the same USB interface. Every peripheral that is connected to a computer must have a device driver – that is a piece of software that the Input/Output Manager uses to send the peripheral the correct signals to operate. 32 Bishopbriggs Academy - Standard Grade Computing Studies It is the device drivers that determine how data will be accessed. For example: • Data on a magnetic tape is always accessed sequentially, that is in strict order from the first through to the last. • Data on hard disks, USB Flash Drives, CD-ROMs and DVD-ROMs can be accessed directly – that is data can be loaded from the media in a random order. When you buy a new peripheral you must load the new device driver before you can use it. 4 Manage Memory The Memory Manager controls how the main memory is used. • Before a file is loaded into the main memory, the Memory Manager will check to see if there is enough memory available to load it –if there isn’t then the file is not loaded. • When an application quits, the Memory Manager deletes it from the main memory and allows that space to be used by another application. • The Memory Manager protects the applications so that one user application will not accidentally store data in memory that is already used by the Operating System or another application. Unit 13 – Computer Systems 33 5 Manage error detection and reporting All of the time that the Operating System is running it is checking the hardware, the applications and itself for errors. When it finds a problem it first try to correct it itself or if that is not possible it will alert the user. Computer errors are described as being ‘fatal’ or ‘non-fatal’. Non-fatal errors are easily corrected by the Operating System itself or by asking the user to do something. For example: “The printer is out of paper – please add more paper.” Once a non-fatal error has been corrected then the programs can continue as normal and no unsaved data is lost. A Fatal error is one which neither the operator nor the user can correct. “Stack overflow – program quitting” This fault would require the program to be restarted and all unsaved data is lost. or “Memory fault at &H43A56F” This is due to a hardware fault and the faulty memory module must be replaced before the computer can be used again. This type of error would normally be detected when the computer is starting as a memory check is one of the first error checks carried out. Many fatal errors give no warning – the program just quits! 34 Bishopbriggs Academy - Standard Grade Computing Studies Homework / Written Exercise 3b (All Credit) 1. What does HCI stand for? 2. What does GUI stand for? 3. Give three examples of parts of a GUI. 4. Why do modern operating systems use a GUI? 5. Describe three tasks carried out by the Filing system. 6. Describe a hierarchical filing system for keeping track of files on computer backing store. 7. Why is it important to keep the hierarchical structure organised? 8. What does the Input/Output Manager in an operating system do? 9. Each peripheral connected to a computer needs a device driver. What is the purpose of a device driver? 10. Describe three tasks carried out by the memory manager. 11. What task does the operating system carried out all of the time it is running? 12. What is the difference between a non-fatal and a fatal error. 13. Give an example of non-fatal error and how it would be corrected. 14. Give an example of a fatal error and its cause. Unit 13 – Computer Systems 35 Sys 4 –Systems Software In this chapter you will learn about: • High level programming languages o Common features o Their need for translation • Portability of software • Types of translators o Interpreters o Compilers Systems software are applications which are not part of the Operating System but do something to work with or help the Operating System. A common example of systems software would be anti-virus software. However this chapter is going to concentrate on another type of software – High Level Programming Languages. High Level Programming Languages A High Level Programming Language is an application that is used to create new programs to run with a particular Operating System (or indeed a new Operating System!) You learned in Sys2 earlier that all program instructions are stored in the computer’s main memory as binary patterns. (Machine Code) When digital computers were first invented they were programmed by storing the machine code directly into the main memory, but this took a very, very long time. 36 Bishopbriggs Academy - Standard Grade Computing Studies High Level Programming Languages were invented so that it would take less time to make new programs. Examples of High Level Programming Languages are Algol, Fortran, C++, Java, Cobol, Real Basic, Visual Basic, etc. These languages share these common features • They all use ‘English’ like commands so they are much closer to our ‘natural’ language. For example: Print "Hello" This makes them much easier to follow than patterns of 1’s and 0’s so finding errors in a program is much easier than finding one wrong bit amongst thousands! • Unlike ‘English’, all high level programming languages have special ‘constructs’. For example: Conditions like If mark > 50 Then Print “Pass” Repetitions like For counter = 1 To 100 • The High Level Programming Language must translate the ‘English’ commands making up the program into the machine code that the microprocessor can use. Each processor has its own machine code. A High Level Programming Language designed for use on one type of computer will probably not produce machine code which will work on another computer as its processor will not be able to understand the machine code that the High Level Programming Language has produced. This means that machine code is not portable. However the ‘English-like” code typed in by the user (the source code) is a plain text file and can be read by software on different computers. The source code is portable. Unit 13 – Computer Systems 37 A portable program is one that can run on different hardware or Operating System. The Java High Level Programming Language has been developed to create programs that will run on almost any hardware or Operating system – even mobile phones! Types of Translators Once the program has been written in the High level Programming Language using its ‘English-like’ commands (the source code) it must be translated into binary (the machine code) before the program can be run. There are two ways of translating source code into machine code: • Interpreter • Compiler Interpreters An interpreter works like this: • Fetch one line of source code • Translate it into machine code • Is it the halt instruction? No! • execute the code • throw it away • return to the beginning Yes! • Stop. 38 Bishopbriggs Academy - Standard Grade Computing Studies Compilers A compiler works like this: • Translate all of the source code into machine code • Save the machine code as a separate file • Run the machine code. Interpreters compared to compilers Interpreters Compilers Only one line of machine code ever exists at a time. No machine code is kept permanently The entire program is converted into machine code The machine code (or object code) is saved after translation as a separate file. Translation happens all No translation is carried the time that the program is out when the machine code is running – this slows it running – so the program down. runs faster! The interpreter program The compiler is not must be present in memory needed when the program is to run the program so running so the code can be someone can only run your copied to other computers. program if they also have the same interpreter running on their machine. It is easy to find errors in the If an error occurs in the source code because the machine code it is very program will stop at the difficult to track down which source code line with the line in the source code caused error. This speeds up the error. This slows down development time development time. • Interpreters are used to develop new software. • Compilers are used to make the finished program for distribution. Unit 13 – Computer Systems 39 Homework / Written Exercise 3 1. What is a High Level Programming Language? 2. Give an example of High Level Programming Language. 3. One feature of a High Level Programming Language is that it uses ‘English’ like commands. Give an example of an ‘English’ like command. 4. Why is this easier to use than machine code? 5. Give two examples of the special ‘constructs’ that a High Level Programming Language might use. 6. What must happen to a program written in a High Level Programming Language before it can run? 7. (Credit) What is meant by a program being ‘portable’? 8. (Credit) Why is machine code not portable? 9. (Credit) Why is the High Level Programming Language source code sometimes portable? 10. (Credit) What two types of translators are there? 11. (Credit) Describe how an interpreter works. 12. (Credit) Describe how a compiler works 13. (Credit) Why do compiled programs run faster than interpreted programs? 14. (Credit) When is it best to use an interpreter and why? 15. (Credit) When is it best to use a compiler and why? 40 Bishopbriggs Academy - Standard Grade Computing Studies End of Unit Questions Look at these two adverts for two computers. Jazz Senior Jazz Junior Barion, 1.6 GHz Meson 1.6 GHz 16 bit word 32 bit word Doors XL OS Floors PL OS 128 MB RAM 256 MB RAM 2 MB ROM 4 MB ROM 20 GB HD 40 GB HD CD-ROM drive DVD-R/W drive CRT Monitor TFT Monitor Mouse TouchPad Extended Keyboard Compact Keyboard Unit 13 – Computer Systems 41 Foundation 1. How much main memory does the Jazz Senior come with? 2. What input devices does the Jazz Junior have? 3. What backing stores does the Jazz Senior have? 4. Why do computers need backing stores? 5. What is a back-up copy? 6. What must happen to a program in backing store before it can be run? 7. Jazz Junior is a laptop computer – what is the main difference between a laptop computer and a desktop computer? 8. Is the Operating System a program or a piece of hardware? General 9. The Floors PL Operating System is an interactive Operating System – What does this mean? 10. A program written to run on the Jazz Junior will might not run on the Jazz Senior. Why might this be? 11. What does CRT stand for? 12. What does TFT stand for? 13. What is the advantage of the Jazz Junior being equipped with DVD-R/W drive compared to the Jazz Senior’s CD-ROM drive? 42 Bishopbriggs Academy - Standard Grade Computing Studies 14. Programs for the Jazz Senior are written using a High Level Programming Language called Sofi. What must happen to programs written in Sofi before they can run on the Jazz Senior? 15. Why do programmers prefer High Level Programming Languages to programming in machine code? 16. How would the image of the Jazz Junior be stored in a computer’s main memory? Credit 17. If the image of the Jazz Junior is 240 pixels high by 180 pixels wide, how much memory would be needed to store the image? 18. The Barion processor contains a Control Unit, an Arithmetic Logic Unit and Registers. What is the purpose of each of these? 19. Which is the more powerful processor – The Barion or the Meson - and why? 20. Both operating systems have a GUI. What is this and how does it help the user? 21. Printers can be connected to both computers. A device driver must be added before the printers can be used. What is a device driver? 22. Both Operating Systems offer background job capability. What is this? 23. When would a programmer use (a) an interpreter and (b) a compiler? 24. How is a program described if it can run on both Jazz computers? Unit 13 – Computer Systems 43