Computer Studies Form 5 Syllabus 2013 Form 5 Computer Studies Notes TABLE OF CONTENTS 2.4 TRANSLATION OF HIGH-LEVEL LANGUAGES ............................... 6 2.4.1 Higher Level Languages, Translators, Source and Executable Code .........6 4.6 LANGUAGE TRANSLATORS.................................................................. 9 4.6.1 The difference between compilers, interpreters and assemblers – the relative advantages (and disadvantages) of each. ..........................................................9 Assembler .............................................................................................................................................9 Compiler ..............................................................................................................................................10 Interpreter .........................................................................................................................................11 Which to use – Compiler or Interpreter? .........................................................................11 4.6.2 Source code and Executable Code ...............................................................................12 4.6.4 4GL ..................................................................................................................................................13 4.6.5. Software Portability ............................................................................................................15 2.3 THE CPU ................................................................................................... 16 2.3.14 Typical machine code instructions - load, store and process (e.g. Add, sub etc.) instructions. ......................................................................................................................16 Moving of Data.................................................................................................................................17 Computing ..........................................................................................................................................18 Affecting the Program Flow .....................................................................................................19 2.3.15 Using mnemonics to represent machine instructions. ..................................19 2.3.16 Symbolic addressing. ........................................................................................................21 2.3.17 Conditional and unconditional branches ...............................................................23 Unconditional Jump ......................................................................................................................24 Conditional Branching .................................................................................................................24 2.5 THE OPERATING SYSTEM .................................................................. 27 2.5.1 System software; Resource management functions of OS ...........................27 Process Management ...................................................................................................................27 Memory Management ..................................................................................................................28 Disk Management (File Systems) .........................................................................................29 Networking ........................................................................................................................................29 Security ................................................................................................................................................30 GUI (Graphical User Interface) .............................................................................................31 Device Drivers ..................................................................................................................................33 Mr.A.Gatt Page 2 of 88 Form 5 Computer Studies Notes 3.5 TYPES OF OPERATING SYSTEMS .................................................... 34 3.5.1 Real time OS..............................................................................................................................34 3.5.2 Batch OS ......................................................................................................................................36 3.5.3 Time sharing OS ......................................................................................................................37 3.5.4 The necessity of different OS's to support different modes and configurations. .....................................................................................................................................38 Real-Time Operating System ..................................................................................................39 Batch Operating System ............................................................................................................39 Time Sharing Operating System ...........................................................................................40 3.5.5 Common types of operating systems – single-user, multiuser, networked, single programming, multi programming. ................................................40 2.8 DEDICATED COMPUTER SYSTEMS.................................................. 42 2.8.1 Difference between a general-purpose and a dedicated computer. ........42 2.8.2 Embedded and process control systems. .................................................................42 2.8.3 Computerised appliances as an example of dedicated systems – VCR, auto pilot, mobile phones, GPS, etc. .......................................................................................43 2.8.4 Specialised I/O devices (sensors, buttons, LCD). ..............................................44 2.8.5 Software for dedicated computer systems .............................................................47 3.4 NETWORKS ............................................................................................. 48 3.4.1 Networking LAN and WAN ................................................................................................48 3.4.2 Advantages of a LAN ............................................................................................................49 3.4.3 Use of modems ........................................................................................................................50 3.4.4 Use of WANS for email, WWW, Video Conferencing .........................................52 E-Mail (Electronic Mail) ..............................................................................................................53 WWW (World Wide Web) ..........................................................................................................55 Video Conferencing .......................................................................................................................57 3.4.5 Server and client machines; the problem of bandwidth at a general level. ...........................................................................................................................................................57 Network Topology .........................................................................................................................59 Bus Network .................................................................................................................................59 Ring Network ...............................................................................................................................60 Star Network ................................................................................................................................61 5.3 DATA SECURITY AND PRIVACY ...................................................... 62 Mr.A.Gatt Page 3 of 88 Form 5 Computer Studies Notes 5.3.1 Need of data security and integrity of data. ..........................................................62 5.3.2 Backups (the generations of files: grandfather, father, son files), .........62 5.3.3 Physical security and software safeguards. ..........................................................64 Physical Security ............................................................................................................................64 Software Security ..........................................................................................................................65 IDS (Intrusion Detection System) ..................................................................................65 User ID (User Identification) .............................................................................................65 Biometric ........................................................................................................................................66 Encryption .....................................................................................................................................66 Digital Signature ........................................................................................................................67 Digital Certificate ......................................................................................................................67 5.3.4 Software piracy and copyright. .....................................................................................68 Copyright ............................................................................................................................................69 5.3.5 Ethical and legal issues. .....................................................................................................70 Ethical Issues ...................................................................................................................................70 Legal Issues ......................................................................................................................................72 5.3.6 Hardware and software procedures which deter piracy - serial numbers and activation keys, hardware keys (dongles). ..........................................73 5.3.7 Software registration. .........................................................................................................74 5.3.8 Access rights. Privacy on multi-user/network systems. ................................74 5.2 EFFECTS OF COMPUTER-BASED SYSTEMS ON INDIVIDUALS, ORGANISATIONS AND SOCIETY ............................................................ 76 5.2.1 Positive and negative effects of computerisation ..............................................76 Computers and Work ...................................................................................................................76 Computers and the Workplace ...............................................................................................77 Computers and Society (involving the Internet) ........................................................77 Computers and the Individual ................................................................................................78 5.4 MULTIMEDIA .......................................................................................... 79 5.4.1 Brief overview of capabilities and trends................................................................79 Interactive Video ...........................................................................................................................79 Browse .................................................................................................................................................80 Video Clip ............................................................................................................................................80 Video Data Compression ............................................................................................................80 5.4.2 Future perspectives (home office, access to public and institutional databases, libraries, high-quality sound and pictorial data representation). 81 5.4.3 Basic hardware and software requirements and costs. ..................................83 3.2 ROLES RELATED TO AN I.T. ENVIRONMENT .............................. 84 Mr.A.Gatt Page 4 of 88 Form 5 Computer Studies Notes 3.2.1 Information Systems Manager.......................................................................................84 3.2.2 Systems Analyst/Designer ...............................................................................................84 3.2.3 Systems Administrator .......................................................................................................85 3.2.4 Programmer ..............................................................................................................................86 3.2.5 I.T. Trainer .................................................................................................................................86 3.2.6 Operator ......................................................................................................................................87 3.2.7 Data Clerk ...................................................................................................................................87 3.2.8 Web Master ................................................................................................................................87 3.2.9 Lab technician ..........................................................................................................................88 3.2.10 Maintenance engineer ......................................................................................................88 Mr.A.Gatt Page 5 of 88 Form 5 Computer Studies Notes 2.4 Translation of High-Level Languages 2.4.1 Higher Level Languages, Translators, Source and Executable Code Machine code is the closest language to the computer system. When coding in machine code, only binary can be used; therefore everything has to be coded in 1s and 0s. So, a programming statement in machine code could be something similar to this: 0 0 0 Op-code 1 0 0 0 0 1 0 0 0 Operand or Address In this case the first four bits of the statement are op-codes (which determine the function that must be worked out), and the second part – the operand reflects the data which is passed on to the function; or in certain cases an operand might be replaced by a memory location (address). The combination of bits in the op-code section refers to a special function; for example: the combination 0001 represents ADD, 0002 represents MUL, etc… In the above example, since there are four bits assigned to the op-code section, there can be a total of 24=16 different functions. When assembly language is used, mnemonics are used instead of the actual machine code. So instead of coding 0001|00001000 we can use Mr.A.Gatt Page 6 of 88 Form 5 Computer Studies Notes ADD 8. However, since this is not machine code, we have to convert it using a special application called an assembler. An assembler converts the mnemonics and the relative operands and/or addresses to machine code. This is the case also for all other high-level languages; when a program is not coded in machine code, the highlevel coding has to be converted into machine code. In the case of high-level languages compilers and interpreters are used. High-level languages were developed with the primary aim of ease of use for the user. Whilst a machine code program is executed very fast on a computer, its coding can be a very difficult process for the programmer because everything has to be coded in binary. Also, a simple task (such as adding two numbers) that might require various lines in a low-level language (such as Assembly) can be worked out in fewer lines using a high-level language (such as Pascal); this is shown in the following example: The task is to add two numbers (6 and 9) and display their total. Assembly Language Pascal MOV AX, #6 MOV BX, #9 ADD AX, BX PUSH AX CALL WRITE WRITE(6+9); Figure 1 : Assembly vs. Pascal Mr.A.Gatt Page 7 of 88 Form 5 Computer Studies Notes 4.6 Language Translators 4.6.1 The difference between compilers, interpreters and assemblers – the relative advantages (and disadvantages) of each. Computers can only understand machine code (1GL), so in order to convert all other generation of languages, a translator is required. This translator is required to change the source code (code created by the user) into executable code (code that the computer is able to understand). Source Code Translator Executable Figure 2: Source Code into Executable However, there is the need for more than one type of translator: Assembler: This is used to convert assembly language into machine code. Compiler & Interpreter: These are both used to convert higher generation languages into machine code. Assembler The assembler is used to convert Assembly code into machine code. Assemblers are usually very fast to convert the source code into executable code because assembly is very close to the computer language. Mr.A.Gatt Page 9 of 88 Form 5 Computer Studies Notes The main duties of the assembler are to: Translate each source code instruction into machine code Place program instructions into memory locations Assign the required address Hand over the execution of the program to the Control Unit The above duties are a general outline of the duties of an assembler, because these might vary between different assemblers and different CPUs. Compiler A compiler is used to convert a high-level language program into an executable file. A compiler is dedicated only to one programming language; i.e. a compiler that works for Pascal will not work for C. Also, compilers vary from architecture to another, i.e. a compiler of C++ for a PC will not be the same as a compiler of C++ for Macintosh. The compiler‟s task is to translate the source code into executable code. This is done by translating the existing code at one go. During this translation process the compiler checks the syntax of the program to make sure that the program is well-coded (no errors) and that the program makes use of existing reserved words. After the program is thoroughly checked, all libraries used (such as the CRT library in Pascal) are linked, and the program is converted into machine code, which in turn is passed on to the control unit so that the program is executed. Mr.A.Gatt Page 10 of 88 Form 5 Computer Studies Notes Interpreter Interpreter has the same functions of a compiler, but the difference is that Interpreter checks each statement as it is being typed in. When using a compiler like Pascal‟s, first the whole program is coded, and then the program is compiled all lines at one go, and in the case of any errors, the programmer will be informed. When using Basic (which uses an interpreter), as soon as a statement is coded, and the Enter button is pressed, the interpreter will inform the programmer of any errors found in that line. So, an interpreter changes the source code into machine go, as it is being typed. Which to use – Compiler or Interpreter? The choice between a compiler and interpreter depends on the scenario. If a program is being developed and requires testing, interpreter is ideal, because it highlights the mistakes as the programmer goes along. However, once the program has been fully coded and tested, it is more feasible to use a compiler because it is faster than an interpreter. Summary of Differences between Assembler, Compiler and Interpreter Assembler Compiler Interpreter Can only be used for 2GL Must be used for higher Must be used for higher code. generation languages. generation languages. Assemble the source code Compiles the source code Interprets the source code all at once. all at once. one line at a time. Errors are very difficult to Errors are more difficult to Errors are easy to find and find. find. correct. Very fast execution. Very fast execution. Slow execution. Example: Assembly Example: Pascal Example: Basic Figure 3: Language Translators Choice Mr.A.Gatt Page 11 of 88 Form 5 Computer Studies Notes 4.6.2 Source code and Executable Code Source code is the code as typed in by the programmer. The structure and syntax of the source code depends on the programming language used. The following code illustrates a function which adds up two numbers. The first example is in PASCAL and the second in C++. PASCAL Function AddNums(n1 : integer, n2: integer):integer; Begin AddNums:=n1+n2; End; C++ int AddNums (int n1, int n2) { return n1+n2; } As you can see from the above code statements, in order to carry out the same thing, different structures are used for different languages. A computer does not understand any of these languages unless it uses a translator (interpreter or compiler). So, all these English-like statements must be converted into machine code (1s and 0s) so that it can be understood by the computer. Once these have been compiled, these applications can run without the need for these translators, so in turn we have the executable file, which under the Windows operating system has an EXE extension. Mr.A.Gatt Page 12 of 88 Form 5 Computer Studies Notes If one tries to open the EXE files using the same programming language‟s editor, one will find that the program is not the same (and it is unreadable). This happens because after the source code has been compiled into an executable, the executable file is in the computer‟s language (machine code). 4.6.4 4GL A Fourth generation language (4GL) is a computer language that is more advanced than traditional high-level programming languages. For example, in dBASE (a 4GL created for databases), the command List displays all the records in a data file. In second- and thirdgeneration languages, in order to read all records in a data file a number of steps must be carried out, such as: Read a record Test if it is the end of the file If it is not the end of the file display the record on screen, and go back to the start If it is the end of the file, stop program. First-generation languages are machine languages; second-generation are machine-dependent assembly languages; third-generation languages are high-level programming languages, such as FORTRAN, COBOL, BASIC, Pascal, and C. Although many languages are called fourth-generation languages, they are actually a mix of third and fourth. For example, the List command in dBASE is a fourth-generation command, but applications programmed in dBASE are third-generation. Mr.A.Gatt Page 13 of 88 Form 5 Computer Studies Notes The following command examples show the difference between third and fourth-generation syntax to open a customer file and display all names and addresses on screen. dBASE 3GL dBASE 4GL use customer use customer do while .not. eof() list name, address ? name, address skip enddo Figure 4: 3GL vs 4GL Query language (SQL) and report writers are also fourth-generation languages. Any computer language with English-like commands that does not require traditional input-process-output logic falls into this category. Many fourth-generation language functions are also built into graphical interfaces and activated by clicking and dragging. The commands are embedded into menus and buttons that are selected in an appropriate sequence.1 1 Source: http://www.answers.com/topic/fourth-generation-programming-language Mr.A.Gatt Page 14 of 88 Form 5 Computer Studies Notes 4.6.5. Software Portability When using low-level languages, it is very difficult to make a program that was created on a computer to work on another type of computer that has a different CPU and/or hardware devices. So, clearly the biggest benefit of high-level languages is that it can run on various machines provided that there is the required translator. When using assembly language, the coding required to perform a particular task may vary from one computer to another. Hence, a program coded on a Pentium 3 processor will probably not work on an Athlon processor (and the other way round). But, by using a high-level language the program can be translated to the computer‟s language and therefore can run on different machines. This is known as Software Portability. The best example of software portability is JAVA. After a program has been coded in JAVA, it is not compiled immediately, but it is compiled only when it is needed. This makes it possible that a JAVA program runs on different platforms (different operating systems and/or CPUs) without any problems, since the program is compiled accordingly. Mr.A.Gatt Page 15 of 88 Form 5 Computer Studies Notes 2.3 The CPU 2.3.14 Typical machine code instructions - load, store and process (e.g. Add, sub etc.) instructions. The Assembly language is made up of op-codes (mnemonics) and operands. These op-codes can be compared to reserved words in a higher-level programming language - like the reserved words Readln, Writeln, Repeat…Until in Pascal. 2 Instructions in assembly language are generally very simple, unlike in a high-level language. Any instruction that references memory (either for to store or retrieve data, or as a jump target) will also have an addressing mode to determine how to calculate the required memory address. More complex operations are then built on the concept of these simple operations. 2 Source: http://en.wikipedia.org/wiki/Assembly_language#Machine_instructions Mr.A.Gatt Page 16 of 88 Form 5 Computer Studies Notes Some operations available in most instruction sets include: Moving of Data Set temporary STO 10 This will store a result (found in location in the CPU itself) to a the accumulator) to a memory fixed constant value. location, which in this case is 10. Move a register data (a from a memory mov ah, 09 location to a register, or vice This will move the constant versa. This is done to obtain the number 9 to the register ah. data to perform a computation on it later, or to store the result of a computation. Read and write hardware devices data from INP ah, 145 Receives input from the input device with the code 145 and stores it into register ah. Mr.A.Gatt Page 17 of 88 Form 5 Computer Studies Notes Computing Add, subtract, multiply, or divide ADD AX, BX Add the contents found in the the values of two registers, register AX with the contents in placing the result in a register register BX and store the result in register AX. Perform bitwise operations, taking OR AX, BX Executes an bit-wise OR between the conjunction / disjunction the two registers and stores the (and/or) of corresponding bits in a result in BX. pair of registers, or the negation (not) of each bit in a register Compare two values in registers CMP AX, BX Compares the values by (for example, to see if one is less, subtracting the BX from AX, the or if they are equal) result is not stored. Mr.A.Gatt Page 18 of 88 Form 5 Computer Studies Notes Affecting the Program Flow Jump to another location in the JMP dest This will force the flow of the program and execute instructions program to jump to the there destination specified as an argument. Jump to another location if a JNZ dest This will jump to the destination if certain condition holds the accumulator is not Zero. For more info: http://en.wikibooks.org/wiki/X86_Assembly/X86_Instructions 2.3.15 Using mnemonics to represent machine instructions. As already mentioned in previous sections, coding in binary is a very difficult and time-consuming process, hence assembly was created. So, instead of coding in binary numbers, mnemonics are used. Mnemonics are short words (usually made up of 3 characters) which when invoked, perform a function. These mnemonics are much easier to remember by programmers, since their make-up usually refers to what they will perform, for example: Mr.A.Gatt Page 19 of 88 Form 5 Computer Studies Notes Op.code (binary) Mnemonic Function LoaD Accumulator with contents of specified 0000 LDA address. 0001 STA STore Accumulator contents in specified address. ADD contents of the specified address to the 0010 ADD accumulator. SUBtract contents of specified address from the 0010 SUB accumulator. 0110 JPU JumP Unconditionally to the specified address Jumps to the specified address if Accumulator is 0111 JAZ Zero. 1001 JAL Jumps to specified address if Accumulator < zero. Jumps to the specified address if the Accumulator 1010 JAG > zero. 1111 HLT Stop the program As you can see from the above mnemonics it is much easier to remember their function rather than to remember a numeric (binary) code. For more information on the Assembly Language: http://www.osdata.com/topic/language/asm/asmintro.htm Mr.A.Gatt Page 20 of 88 Form 5 Computer Studies Notes 2.3.16 Symbolic addressing. In Assembly language, there are two ways in which the computer can find locations from memory; these are Absolute Addressing and Relative Addressing. Absolute Addressing: During the execution of an assembly program various memory locations must be used to manage data. In certain cases, the memory location to be used can be specified by giving the actual memory location. For example, the assembly command LDA 10 is specifying that the accumulator should be filled with the contents found in memory location (in the address) 10. Hence, in this case we are referring to the exact location in memory. 9 10 11 12 13 LDA 10 Figure 5: Example of Absolute Addressing Mr.A.Gatt Page 21 of 88 Form 5 Computer Studies Notes Relative Addressing: This is indicated by specifying the distance from another address which in this case is called the base address. So, in this case the exact memory location is not given. For example, the assembly command MOV CX, [BX+4] is specifying that the contents of Register C must be moved in the location which is found 4 locations off register B. Bx Bx+ 1 MOV CX,[BX+4] Bx+ 2 Bx+ 3 Bx+ 4 Note: BX is the base address Figure 6: Example of Relative Addressing Symbolic Addressing: In assembly programming a label can be given to a memory location. So, instead of referring to the memory location by the location itself (i.e. the location number) a label is used. So, if for example the memory location 106 can be assigned a label Num1, and from then on, whenever location 106 is required, instead of calling memory location 106, Num1 is called – LDA Num1. Mr.A.Gatt Page 22 of 88 Form 5 Computer Studies Notes 103 104 105 106 107 NUM1 LDA NUM1 Figure 7: Symbolic Addressing 2.3.17 Conditional and unconditional branches The program counter (PC) found in the CPU always points to the next instruction which must be fetched. By changing the program counter, instructions can be executed in a different order rather than in a sequential manner. 3 In order to jump instructions, labels must be used; labels are essential for branching. Labels can be created by simply specifying a label name and adding a colon at the end of the label. For example: label1: mov ax,5 mov bx,3 3 Adapted from: http://www.geocities.com/SiliconValley/Park/3230/x86asm/asml1006.html Mr.A.Gatt Page 23 of 88 Form 5 Computer Studies Notes Unconditional Jump This type of branching instructs the processor to jump to a label without any conditions. The command for this type of jump is JMP. The following illustrates an example of an unconditional jump. When the JMP command is encountered, the flow of the program will resume from the specified label; in this case lab1. mov ax, 5 jmp lab1 add ax, 4 lda 10 lab1: sub ax, 3 In the above program, as soon as the command jmp lab1 is encountered, the program will jump to and continue from the label. Hence, the commands add ax,4 and lda 10 will be skipped, and sub ax,3 will be worked next. As already mentioned, an unconditional branch does not have any conditions, so when the jump command is encountered it will simply skip to the label. Conditional Branching Conditional branching allows the program to skip to another location (through the use of labels) but only if it satisfies a condition. In order to use this type of branching however, a comparison must be done first. So, first we carry out the comparison, and then we jump to a label if the comparison satisfies the jump‟s criteria. The following example illustrates a conditional jump, and the equivalent in Pascal is listed as well. Mr.A.Gatt Page 24 of 88 Form 5 Computer Studies Notes Assembly PASCAL cmp ax, bx if ax > bx then jg isgreater begin : ; block 1 (else part) … {block 2} jmp after end else isgreater: begin : ; block 2 (then part) … {block 1} after: end : {after if} ; after if So by looking at the above assembly program, the registers ax and bx are compared with each other using the command CMP. Then the command jg (jump if greater) is used to jump to the label isgreater if ax is greater than bx, otherwise it will jump to label after. The actual comparison is carried out using the CMP command, and then different jump statements can be used. The following table illustrates different types of jumps: Instruction Meaning jg Jump if greater jge Jump if greater or equal jl Jump if less jle Jump if less or equal je Jump if equal jne Jump if not equal jc Jump if carry flag is set Figure 8: Different types of Jumps Mr.A.Gatt Page 25 of 88 Form 5 Computer Studies Notes The following flowcharts illustrate the three different types of executions which are Sequential, Unconditional and Conditional execution. Sequential Unconditional i=0 i=0 Conditional i=0 A A Print i Print i Print i i=i+1 i=i+1 i=i+1 Print “Done” Goto A y Print “Done” i< 10 n Print “Done” Figure 9: Different types of Executions For more information: http://homepages.ius.edu/jfdoyle/c335/Html/Chapter4.htm#Execution %20Control Mr.A.Gatt Page 26 of 88 Form 5 Computer Studies Notes 2.5 The Operating System 2.5.1 System software; Resource management functions of OS The operating system (also known as system software) is essential for any computer to work; every computer system must have an operating system (OS) in order for other application software and/or hardware to work. There are various tasks which are carried out by the OS as depicted in the diagram below: Process Management GUI (Graphical User Interface) Memory Management Operating System Disk Management (File Systems) Device Drivers Security Networking Figure 10: Tasks of an O/S Process Management Mr.A.Gatt Page 27 of 88 Form 5 Computer Studies Notes Every application that runs on the computer system is run inside a process which is executed by the CPU. Due to the current architecture of the CPU, only one process at a time can be executed. However, many modern operating systems allow many processes to “run at the same time”; this is achieved by switching from one process to another very quickly – this is called Multitasking. Multitasking allows the CPU to run more than one process at the same time by giving each process attention for a very brief period of time (timeshare), before moving on to the next process. However, if there are many concurrent processes problems may arise because since the CPU has to cater for many processes, some processes might not get the attention they require, and the application will not work correctly. So, process management involves the computation and distribution of "timeshares". Memory Management The computer has different type of memories which it can use, and these are arranged in a hierarchical manner, starting from the fastest being the memory registers, cache, RAM and ending in disk storage. The purpose of the OS's memory management is to track which memory is free, which memory is to be allocated and deallocated, and how to swap between the main memory and secondary memory. Swapping data between memories is called virtual memory management – this allows some dedicated hard-disk space to act as RAM if the actual RAM is not sufficient. However, this virtual RAM is Mr.A.Gatt Page 28 of 88 Form 5 Computer Studies Notes not as fast as RAM and excessive use may result in computer thrashing. Disk Management (File Systems) Operating systems have a variety of native file systems. Linux has a greater range of native file systems, the most common being: ext2, ext3, ReiserFS. Windows on the other hand has a file system support which includes: FAT16, FAT32, and NTFS. The NTFS file system is the most efficient and reliable of the three Windows systems. All the FAT systems are older than NTFS and have limitations on the partition and file size. For most of the above file systems there are two ways it can be allocated. Each system can be journaled or non-journaled. Journaled is the safer alternative under the circumstances of a system recovery, if a system comes to an abrupt stop (a system crash), the non-journaled system will need to undergo an examination from the system check utilities where as the journaled file systems recovery is automatic. Microsoft's NTFS is journaled along with most Linux file systems, except ext2, but including ext3, ReiserFS. Every file system is made up of similar directories and subdirectories. Along with the operating systems file system similarities there are the subtle differences. Microsoft separates its directories with a back-slash „\‟ and its file names aren't case sensitive whereas Unix-derived operating systems (including Linux) use the forward-slash „/‟ and their file names generally are case sensitive.4 Networking 4 Adapted from http://en.wikipedia.org/wiki/Operating_system#Disk_and_file_systems Mr.A.Gatt Page 29 of 88 Form 5 Computer Studies Notes Most of the operating systems nowadays are capable of using the now universal TCP/IP (Transmission Control Protocol/Internet Protocol) protocol. This allows computers to communicate with each other and be able to share resources such as files and hardware devices.5 Security The basic type of security pertaining to an operating system is the ability to authenticate users before using the operating system; this is performed by the use of a username and password. Generally, only permitted users are allowed to log in the system, but level access is also implemented. Level access limits the things a particular user can perform on the operating system; these levels are usually implemented by the system administrator and are called system policies. Another type of security of an operating system is network related. The task of protecting the computer from network breaches is carried out using a firewall. Basically, when using the TCP/IP protocol, the operating system assigns various ports to different services (such as web-browsing, e-mailing, file sharing, etc). The firewall closes unused or dangerous ports, and limits the traffic to and fro the computer. 5 Adapted from http://en.wikipedia.org/wiki/Operating_systems#Networking Mr.A.Gatt Page 30 of 88 Form 5 Computer Studies Notes GUI (Graphical User Interface) Nowadays, most operating systems use a GUI, which is more userfriendly since it uses graphical representations which the user can simply manipulate using the mouse. Some of the GUI's components include icons, menus, windows, toolbars and buttons amongst others. Each operating system uses different GUIs, for example Windows uses a different GUI than MacOS or Linux. Figure 11: MacOSX Mr.A.Gatt Page 31 of 88 Form 5 Computer Studies Notes Figure 12: Linux OS Figure 13: Windows XP OS Mr.A.Gatt Page 32 of 88 Form 5 Computer Studies Notes Device Drivers A device driver is a specific type of computer software developed to allow interaction with hardware devices. Typically a device driver creates an interface for communicating with the device, through the specific computer bus or communications subsystem that the hardware is connected to, providing commands to and/or receiving data from the device, and on the other end, the requisite interfaces to the operating system and software applications. Every model of hardware (even within the same class of device) is different. Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently. Computers and their operating systems cannot be expected to know how to control every device, both now and in the future. To solve this problem, OSes essentially dictate how every type of device should be controlled. The function of the device driver is to translate these OS created function calls into device specific calls. In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available. This new driver will ensure that the device appears to operate as usual from the operating systems' point of view.6 6 Adapted from http://en.wikipedia.org/wiki/Operating_systems#Device_drivers Mr.A.Gatt Page 33 of 88 Form 5 Computer Studies Notes 3.5 Types of Operating Systems Operating systems have been developed to cater for different computing scenarios. The same type of operating system is not capable of handling all the different requirements that will arise in different cases. 3.5.1 Real time OS A real-time operating system (RTOS) is designed to immediately deliver the results for an activity or an event that is happening in realtime. This means that once the inputs have been submitted, the output must be immediate. An example for the need of a real-time operating system is on a Fighter Jet. On modern aircrafts computers play a vital role in keeping the aircraft flying. Due to the very delicate and critical moments in flying such a high-velocity aircraft, every command issued by the pilot must be acted upon immediately, and not left waiting because that might lead to catastrophic results. Mr.A.Gatt Page 34 of 88 Form 5 Computer Studies Notes There are two main types of real-time operating system: “Hard” Real-Time: In this case, if the operating system fails to finish off a calculation by the time it was required, the whole process will fail. This happens because then the next calculations will not be able to be worked out since they were dependent on the unfinished calculation. “Soft” Real-Time: The main difference from “Hard” real-time is that consecutive calculations will still be able to be worked out, but usually at a less efficient pace since the previous calculations were not finished off by their designated time. An operating-system can be considered to be real-time if it is or has: Multitasking: it can perform more than one task at a time. Priority of Process: some processes can be deemed to be more important than others and hence worked out before less important processes. Sufficient number of Interrupts: whenever a device or a process requires attention, the real-time operating system must be capable of noticing the need of the device or process. Some real-time operating systems are considered to be embedded, this means that they are packaged as part of a micro-devices. Mr.A.Gatt Page 35 of 88 Form 5 Computer Studies Notes 3.5.2 Batch OS Batch operating systems where very common in the early days of operating systems; however one must not think that these are not used anymore. In a batch operating system, a number of tasks are assigned to the computer, and these tasks are executed one after the other. So before a task is executed its previous task must be first carried out. If there are six different tasks which need to be done, the sixth task is only done after the first five have been carried out one after the other. An important aspect is that these tasks are carried out without human intervention. So, once the tasks have been assigned to the computer, no interaction with the machine is needed for the tasks to be executed. To this day, elements of a batch operating system are still used. When printing on a computer system batch processing is used especially when more than a file is printed. If for example seven requests to print are passed on to the printer, these requests are not processed simultaneously, but they are batch processed. This means, that these seven requests are placed after each other, and only when a task is finished (in this case the prinout is ready), the consecutive task is carried out. Mr.A.Gatt Page 36 of 88 Form 5 Computer Studies Notes Another common example of batch processing is BAT files on Microsoft Windows. By creating a file with a list of commands after each other, the file can be submitted to the DOS shell, and each step is executed after the previous step has been worked out. The following code extract illustrates the contents of a batch file (CFB.BAT) and it copies all the contents of Drive A to the current directory. @ECHO OFF ECHO. IF "%1" == "" XCOPY B:\*.* IF NOT "%1" == "" XCOPY B:\%1 ECHO. C:\BATCH\DR 3.5.3 Time sharing OS In time-sharing operating system, multiple applications will seem to be using the CPU at the same time. This happens because the CPU is able to allot a time bracket (called time-slice) to each application. A timeslice is a small period of time when the CPU is available to execute any tasks required from it. If a CPU is given only one application to execute, the application would be executed immediately leaving the CPU with idle time (time when it is doing nothing). This idle time can be used to run other applications at the same time; hence more than one application can run at the same time. Mr.A.Gatt Page 37 of 88 Form 5 Computer Studies Notes This concept is applied both to multi-user (when more than one user uses the same computer) or single-user (when only one user uses the computer). Multi-user: In this case, since more than one user will be using the same CPU, the CPU will allot a time-slice to each user. Hence, it will go around all the users, one after each other servicing their computing needs before going on to the next user. Usually the time-slice is very small and it is measured in milliseconds. If there are many users, each having a fair amount of work being carried out, the CPU response time might be degraded due to the high load of work. Single-user: When a CPU is being used by a single user, the idle time of the CPU is used to run multiple applications at the same time. So, each application is assigned a time-slice, and the CPU will go round the applications executing their requirements in their alloted time-slice. Also, in this case if there are many applications running, each with its requirements, the response time for each application will degrade, resulting in overall sluggishness. 3.5.4 The necessity of different OS's to support different modes and configurations. Depending on various scenarios, a different operating system can be more suited than others. No operating system can be used to cater for all scenarios. The following will illustrate different cases where a type of operating system might be more suitable to use than others. Mr.A.Gatt Page 38 of 88 Form 5 Computer Studies Notes Real-Time Operating System As already mentioned before, real-time systems are very critical because their response must be immediate. Due to this very short response time, batch processing and time-sharing are definetely out of question because these can have a somewhat long response time. In the case of very delicate situations such as jetfighting, space shuttles or time-dependent situations such as a production line, a real-time operating system is the prime choice. Batch Operating System Although a batch operating system might be considered to be the oldest type of operating system, its nature can be used for very large quantities of data that needs to be processed. In the case of a financial bank, where millions of cheques are processed each day, it would be a cumbersome process to input the details of each cheque, so what is usually done is that all the cheques are collected and handed to the operating system at the end of the day. Since, a batch operating system does not require human intervention, all the cheques are processed automatically and by morning (hopefully!) all cheque processing will be done. Mr.A.Gatt Page 39 of 88 Form 5 Computer Studies Notes Time Sharing Operating System The main aim of a time-sharing operating system is to utilise the idle time of a CPU. So, in the case of having a large mainframe system with a very powerful CPU, many other terminals can be connected to it, so that multiple users can use it, hence utilising the idle time of the CPU. 3.5.5 Common types of operating systems – single-user, multiuser, networked, single programming, multi programming. Single-User: This allows one user at a time to use the computer. This means that the computer will be exclusively used by one user at a given point in time; therefore no other user can use the computer at that time. Once the first user is finished with the computer, another user can then use it. Multi-User: This setup allows more than one user to use a computer at a time. Usually, a mainframe (or minicomputer) is used for this setup, and various input (and output) devices are connected to the mainframe so that more than one user can use the system. Each user would then have his/her own terminal along with his/her directories. Usually, a password is required to access one‟s account. Mr.A.Gatt Page 40 of 88 Form 5 Computer Studies Notes Networked: This type of operating system is specifically designed to keep a network to run at its optimal performance. In a network there are a number (more than 2) computers connected to each other, and the main aims of a network operating system is to: Control a network and its traffic, Control access of users to different resources such as hardware and/or files, Provide administration features such as security. Single-Programming: In this kind of operating system, a task must be fully executed before a new task could be run. This operating system is capable of running one task at a time, so no multitasking is available. Multi-Programming: In multi-programming operating systems, the OS is capable of running more than one task at a time. This can be carried out by using time-slicing, where each application is allocated a small amount of time, where the CPU tends for the application. Since a time-slice is usually very small (it can be around 1/60 second), the user has the illusion that multiple applications are being run at the same time. Mr.A.Gatt Page 41 of 88 Form 5 Computer Studies Notes 2.8 Dedicated Computer Systems 2.8.1 Difference between a general-purpose and a dedicated computer. A general-purpose computer is created with the main aim of performing a variety of tasks. When using a PC one can perform a multitude of tasks such as spreadsheets, word-processing, browsing the Internet, playing games, creating music, editing videos, etc… So, a general-purpose computer is not limited to a single task. On the other hand, a dedicated computer is clearly designed to do a single task. It does not have to be a simple task, it can be somewhat complex, but a dedicated computer can only do what it was manufactured for. Common examples are Sony Playstation, ATM (Automatic Teller Machines), Mobile Phones, GPS (Global Positioning System). 2.8.2 Embedded and process control systems. An embedded system is a special-purpose system totally encapsulated in the device it controls. Since it is not a general-purpose system, its functions (the functions that this system does) are known beforehand, and so engineers can reduce its size, and simplify it as much as possible in order to be more easily embedded and cheaper to produce. Typical examples of an embedded system are VCR (Video Cassette Recorders), Washing Machines, Microwave Ovens, Alarm Systems… Mr.A.Gatt Page 42 of 88 Form 5 Computer Studies Notes For more information visit: http://en.wikipedia.org/wiki/Embedded_computer A process control system is the automatic monitoring and control of an industrial activity by a computer that is programmed to respond to the feedback signals from sensors. The operation controlled may be as small as a single machine packing boxes or as extensive as the control of an automated bakery, where the mixing, cooking and packaging are controlled within a single integrated manufacturing process.7 2.8.3 Computerised appliances as an example of dedicated systems – VCR, auto pilot, mobile phones, GPS, etc. As previously mentioned, a special purpose (embedded) system is capable of perfoming only a limited number of tasks. This can be clearly seen in computerised appliances such as: VCR: (Video Cassette Recorder) has a number of options which are related to its task. For instance on a VCR one can find the option to play, rewind, fast-forward a cassette. In modern VCR one can also program the VCR to record what‟s on TV at a specified time, and also one can program it to stop recording at a specified time. Other computerised features might be automatic tracking, where the picture is made sharper and nicer through constant monitoring of the tape by the VCR and adjusting accordingly. Auto-Pilot: Modern aircrafts especially passenger jets are equipped with auto-pilots. This special-purpose machine helps 7 Source: A Glossary of Computer Terms 10th Edition Pg59 Mr.A.Gatt Page 43 of 88 Form 5 Computer Studies Notes the pilot to travel from one place to another with little intervention. The auto-pilot automatically (or controlled by the pilot) plots the route the aircraft needs to take and then the speed and altitude and many other variables are controlled by this dedicated machine. Mobile Phones: The technology advancements in computing made it possible to integrate very small dedicated machines into mobile phones. These machines apart from handling normal mobile phone functions such as making or receiving a call, can also handle more features such as sound management, messageing management, WAP connectivity, JAVA programs and more! GPS: (Global Positioning System) make travelling easier and safer too. This dedicated machines, help the user to keep track of their location hence making it more difficult to get lost especially when used on ships which have to cross large stretches of oceans. 2.8.4 Specialised I/O devices (sensors, buttons, LCD). One must also keep in mind that there are various forms of Input and Output devices, not just the general ones such as keyboards, mice, monitors, printers, etc… Some input/output devices are in the form that suits the machine they were created for. Mr.A.Gatt Page 44 of 88 Form 5 Computer Studies Notes Sensors A sensor is an electronic component which converts one form of energy into another; for example: a thermistor converts a temperature into electrical energy with varying voltages. The sensor responds to some physical property such as pressure, rate of flow, humidity amongst others. Some examples: Alarm Systems: When an alarm system is installed, every door or window will have a sensor. This sensor detects whether the door or window is open. If the door or window is closed, the sensor will not do anything, but if the sensor detects that the window has been opened the alarm system will go off. Climate Control: Air-conditions have sensors to detect the temperature in a room. So, when a temperature is set, the airconditioner will constantly monitor the temperature of the area through the sensor and react accordingly. Buttons Another common form of input is the button. Buttons are included in almost all computerised appliances and these act as the main source of input from the user to the machine. Mr.A.Gatt Page 45 of 88 Form 5 Computer Studies Notes LCD Liquid Crystal Display allows the computer to deliver back the output. This is especially used for example in GPS systems, where the current location on the map is displayed on the LCD screen. With the advances in this technology and reduction in prices, the LCD screen is more likely to be included in more special-purpose machines. LED Light emitting diodes have been used for quite a long time, and are still very common. LEDs are very small diodes that can generate a small amount of light (requiring very little electricity) usually in the colour of green, red or blue. This type of output indicates various states of the dedicated-machine. Almost all appliances when turned on have a small LED which indicated that the machine has been turned on. Mr.A.Gatt Page 46 of 88 Form 5 Computer Studies Notes 2.8.5 Software for dedicated computer systems Dedicated computer systems have specially made software which is solely aimed to perform the required tasks and thus cannot handle out-of-the-routine functions. This software usually resides in the ROM of the dedicated computer because it never needs to be changed. (Although in certain cases where the software needs to be changed, the ROM is flashed and the new software is put into it.) Dedicated computer systems usually have a limited amount of RAM as well which will aid the computer system to store temporary results. Mr.A.Gatt Page 47 of 88 Form 5 Computer Studies Notes 3.4 Networks 3.4.1 Networking LAN and WAN A network is a linked set of computer systems capable of sharing computer power and resources such as printers, large disk-drives, CDROM and other databases There are two main types of networks being: LAN (Local Area Network): This is a network in which the computer systems are all situated relatively close to each other, for example in the same building or cluster of buildings, such as a school. Since the distances involved are small, direct physical connection is possible. The network connections are normally wire cables, such as coaxial cable, but fibre optic cable is being increasingly used. WAN (Wide Area Network): This is a network in which the computers are geographically remote. Wide area networks make use of a range of connection methods including communication satellites. 8 8 Source: A Glossary of Computing Terms 10th Edition Pg67 Mr.A.Gatt Page 48 of 88 Form 5 Computer Studies Notes 3.4.2 Advantages of a LAN Clearly the communication between various computers has its benefits, these mainly being: Easier Communication: The networked computers can communicate with each other. This can be done through text (instant messaging) or video (using a web-cam). Device Sharing: Peripheral devices can be shared with the networked computers. So, a single printer can be purchased, and all computer connected to the network can print to that printer. This clearly saves a lot of expenses, since less hardware needs to be purchased. Since modems can also be shared, Internet connection can be shared as well. A single Internet connection can be subscribed to (usually Business connection) and the all the networked computers would have access to Internet. File Sharing: File server allows the sharing of data resources. So, users from different machines can update the same data source, this will keep the data updated throughout the whole network ensuring consistency of data. Easier Administration: Network administrator can manage hardware resources and update any software from the main server. Expandable: Network is easily expandable since only a network card and a network point are required to connect a new terminal to the networked system. Mr.A.Gatt Page 49 of 88 Form 5 Computer Studies Notes However, there are also some drawbacks of having a network: Start-up Cost: The cost to start and implement (initial-cost) of a network is quite expensive. Break-downs: If the file server breaks down, the other computers will not be able to access the files stored on the file server. Viruses: Viruses can spread very quickly, since the computers are all connected together. Security: Data security becomes very important, because since many users use the network, there has to be the proper data security to control hacking and unauthorised access. 3.4.3 Use of modems The term modem derives from two words Modulate and Demodulate which basically refer to what the task of a modem is. The modem allows the computer to be connected to a telephone line so that data can be transmitted and received. Mr.A.Gatt Page 50 of 88 Form 5 Computer Studies Notes There are various different modems available: External PSTN9 Modem: This modem is simply plugged into the computer via the serial port, and it has its own power supply. The telephone cable is plugged into the modem. Internal PSTN Modem: This is the same as the external PSTN modem, but it is directly connected to the motherboard (hence it is found inside the tower) and it does not need external power. ADSL10 Modem: The ADSL modem is generally external, and it plugs to the PC using either USB or using the network interface. It still uses the PSTN line but a special filter is used so that data can be passed both ways and making the service much faster than normal dial-up. Cable Modem: The cable modem does not use a telephone line, but instead it uses cable (the same cable used for TV) to connect to the ISP. The main task of the modem is to convert sound signals into electronic signals. The telephone-lines used by modems, use analogue technology which is not compatible with computers. The modem is therefore used to convert those analogue signals into digital signals. When information is being sent, the digital data sent by the computer is delivered to the modem, which converts it to analogue data which in turn is transferred to the telephone line. When information is being received by the PC, information from the telephone line is converted from analogue to digital by the modem, which in turn delivers it to the computer. 9 PSTN: Public Switched Telephone Network – the network used for normal telephony ADSL: Asymmetric Digital Subscriber Line – based on PSTN but uses different technologies which allow two-way communication 10 Mr.A.Gatt Page 51 of 88 Form 5 Computer Studies Notes Digital data is passed to the modem. Modem receives analogue data. 1010101 1110101 0000…. 1010101 1110101 0000…. The modem converts it into analogue, since the telephone line is analogue. Data is converted back into digital format. Figure 14: Modulation / Demodulation The baud rate of modem determines how fast information is sent or received by the modem. Most dial-up modems have a speed of 56Kilobits (56kbps/sec), but most modern modems such as ADSL can reach speeds of 4096Kbps/sec. For more information visit: http://en.wikipedia.org/wiki/Modem 3.4.4 Use of WANS for email, WWW, Video Conferencing WANS allow computers which are located in different geographic locations to communicate with each other. This communication allows for a number of services which enhance this type of communication. Mr.A.Gatt Page 52 of 88 Form 5 Computer Studies Notes E-Mail (Electronic Mail) E-Mail is one of Internet‟s services. The main aim of the Internet is to allow computers send „instant‟ messages from one computer to another. According to Darwin Magazine, the first e-mail was sent in 1971, prior to this date, messages could only be sent to users on a single machine. Ray Tomlinson‟s breakthrough was the ability to send e-mails to anyone connected to the Internet by using the now common e-mail address with the „@‟ symbol. An e-mail message is basically a short text file, although from its early days it has evolved, and so users can attach files, and even include HTML in their messages. Each e-mail address is made up of the username (which is chosen by the user) and the domain the part after the „@‟ symbol which carries the name of the host of the e-mail service, for example: james@hotmail.com There are two main types of e-Mail: e-Mail services which are accessed by a standalone applications such as Outlook, Thunderbird and Free e-Mail services which are accessed through a web-site. Such free services are Yahoo!, Google, and Hotmail. Mr.A.Gatt Page 53 of 88 Form 5 Computer Studies Notes An e-mail server is required to send e-mails from one computer to another. This e-mail server needs to have two services: SMTP (simple mail transfer protocol) which is used to send e-mails. POP3 (post office protocol 3) is used to receive e-mails. If for example anne@yahoo.com sends an e-mail to john@hotmail.com the e-mail message will follow this path. Yahoo! Mail Server Hotmail Mail Server SMT P SMT P POP 3 john@hotmail.com anne@yahoo.com Figure 15: E-Mails The main advantages of e-mails are: Speed: Very fast, the moment an e-mail is sent in just a few seconds it will be delivered to the recipient. Asynchronous: E-Mail messaging is asynchronous which means that communication does not occur at the same time. Therefore after the sender sends the e-mail, the recipient can reply at his/her convenience unlike real-time chatting. Mr.A.Gatt Page 54 of 88 Form 5 Computer Studies Notes Cheap: E-Mail is inexpensive, many companies such as Yahoo!, GMail, Hotmail offer free e-mail services. Also, each e-mail send is free unlike conventional post (or snail-mail) where an envelope and a stamp have to be purchased. Also, the same message can be sent to a large group of recipients. Environmental Friendly: E-Mail is environment-friendly, because no paper is used. Disadvantages of e-mail are: Not Everyone Has It: Not everyone has an e-mail address whereas by using normal post, everyone can be reached. Privacy: A threat to privacy and security. If the password is known there will be total access to the e-mail service. SPAM: SPAM mail is very common and very difficult to get rid of. Many messages advertising products or scams are sent to email addresses without the user‟s permission. Only Virtual Messages: No tangible products can be sent. For more information on how e-mail works visit: http://computer.howstuffworks.com/email.htm WWW (World Wide Web) WWW is a collection of information held in multimedia form on the Internet. This information is stored at locations called Web Sites in the form of Web Pages. A web page is a single document. It may be too large to be displayed as a screen without scrolling. Mr.A.Gatt Page 55 of 88 Form 5 Computer Studies Notes Web pages are permanently available to any user of the Internet. Each organisation (and many individuals) providing information, organise their information as a web-site, often consisting of many pages. Web sites are an effective way of distributing information such as advertisements, technical information, comments and ideas. Any web page can be accessed directly if its full address is knows, but to make locating information easier each web site has a home page (welcome page) which provides a starting point for a user to search the site. Any web site can provide links to other related web sites. Since browsers and search engines can quickly find pages of interest, users are provided with the tools to surf the Internet. Surfing means to search for useful information, following whatever routes may seem interesting. Web pages are usually prepared using HTML (hyper-text mark-up language)11, although nowadays PHP or ASP are used in order to connect a website to a database and CSS is used for a much neater design. For more information visit: http://en.wikipedia.org/wiki/Www 11 Source: A Glossary of Computing Terms 10th Edition Pg42 Mr.A.Gatt Page 56 of 88 Form 5 Computer Studies Notes Video Conferencing Video conferencing is used to allow two or more people situated in different geographic locations to transmit both video data and audio data simultaneously in order to be able to communicate with each other. A videoconference allows participants to communicate and collaborate as if they were in the same room. In order to participate in video-conferencing, the necessary software is required (such as MSN Messenger, Skype or iVisit), along with a microphone to deliver sound, speakers to receive sound and a digital video camera connected to the computer to transmit the video feed. A video conference can also be conducted on the Internet using a web browser and a web server, and in which case it is called a web conference. 3.4.5 Server and client machines; the problem of bandwidth at a general level. Client-server relationship is a method of network organization in which stations make use of resources available at one or more servers. This is the kind of organization seen in a star network (explained below); in which one computer has the role of central resource manager for the Mr.A.Gatt Page 57 of 88 Form 5 Computer Studies Notes network. Other forms of network can also operate with a client-server relationship.12 The server is a computer offering a service (files, printers, database, CD-ROM) and handles the requests by a client which asks to make use of these resources. Some types of servers are: File Server: provides central disk storage for any users of the network. The file server software identifies each user‟s files separately so that other users cannot use them. Users can access their own files from any client station on the network. Printer Server: allows all the clients stations to use a printer controlled by it and usually provided and usually provides the facilities of a print spooler. CD-ROM Server: allows all the clients stations to obtain data from a CD-ROM disk currently being used by the CD-ROM server computer. Often a CD-ROM server will have access to many CDROM disks, either from a collection of several CD-ROM players, or from a CD-ROM jukebox. Database Server: manages a large database. Client stations can access data in the database and, if authorized, can maintain the database. The database processing is usually carried out by the server, with the query being sent by a client station of the server and the results assembled by the server and returned to the client station.13 One of the main problems with client-server technologies is bandwidth. Bandwidth determines the amount of data that can travel through the network at any given moment. So, if for example in a LAN setup the 12 13 Source: A Glossary of Computing Terms 10th Edition Pg72 Source: A Glossary of Computing Terms 10th Edition Pg73 Mr.A.Gatt Page 58 of 88 Form 5 Computer Studies Notes bandwidth‟s capacity is 100Mbits/sec, that means that at any second the maximum amount of data that can pass through the network is 100Mbits. This may lead to some problems if the data that needs to be passed through the number is greater than this limit. In that case the communication between the computers will be degraded. Network Topology This refers to the layout of the network; i.e. how the computers are connected to the network. This usually depends on the need of the network and is heavily determined by the building that will host the network. The following will illustrate the main types of setups. Bus Network A bus network, allows the computers to be connected to the network line, one after each other, as can be seen from the diagrams. COMPUTER COMPUTER COMPUTER COMPUTER Each computer has the network cable going into its network interface and another cable going out from the network interface to another computer. COMPUTER COMPUTER COMPUTER COMPUTER COMPUTER Each computer is connected to the bus network cable via a spur. Mr.A.Gatt Page 59 of 88 Form 5 Computer Studies Notes Ring Network A ring network has each of its computers connected to a network ring along which signals are sent. COMPUTER COMPUTER COMPUTER COMPUTER COMPUTER COMPUTER Each computer has the network cable going into its network interface and another cable going out from the network interface to another computer. COMPUTER COMPUTER COMPUTER COMPUTER COMPUTER COMPUTER Each computer is connected to the ring network cable via a spur. In both bus and ring network setups, it is usually preferable to connect the computers to the network using spurs. This is preferred because if a computer malfunctions, the rest of the network will not be affected. In the case of the network setups without the spurs, precautions must Mr.A.Gatt Page 60 of 88 Form 5 Computer Studies Notes be taken to prevent a malfunction of the whole network, if a computer malfunctions. Star Network In a star network all devices are connected to one central computer (such as a file server). The central node (called hub) is a computer which has separate connections to each computer. COMPUTER COMPUTER COMPUTER SERVER COMPUTER (HUB) COMPUTER COMPUTER COMPUTER COMPUTER Each computer is connected to the central computer. Mr.A.Gatt Page 61 of 88 Form 5 Computer Studies Notes 5.3 Data Security and Privacy 5.3.1 Need of data security and integrity of data. Data is one of the most important and essential asset of businesses. Data must be safeguarded all the time, and every effort is required to keep data reliable and updated. Data integrity describes the correctness of data both during and after processing. Data may be changed by the processing but will still have integrity. Safeguards are needed to make sure that the data has integrity by detecting any accidental or malicious change to the data. Data security involves the user of various methods to make sure that data is correct, is kept confidential and is safe. Data security includes ensuring the integrity and the privacy of data, as well as preventing the loss or destruction of data.14 5.3.2 Backups (the generations of files: grandfather, father, son files), A master file is used to store the data found on the database. Usually it stores data which is mostly static and does not change frequently. However, data can be changed or added as necessary through updating during processing. The transaction file is used to keep track of all the changes made to the database throughout the day. These changes are not immediately entered into the master file; instead they are stored in the transaction 14 Source: A Glossary of Computing Terms 10th Edition Pg111 Mr.A.Gatt Page 62 of 88 Form 5 Computer Studies Notes file. At the end of the day, all the contents stored in the transaction file are transferred (merged) to the master file to obtain a new and updated master file. The following is a simple example of a master/transaction file process. Master File Transaction File Grandfather Transaction File Father Update Master File Update Son Master File Figure 16: GFS Backup System As you can see from the above diagram, in the Grandfather section we started with a master file and a transaction file which when combined together created a new Master File (Father). This in turn was combined with another Transaction File to obtain the last Master File (Son). This Grandfather, Father, Son hierarchy is used for safety. Suppose the last Master File (Son) got corrupted by accidental deletion or corruption of data, the same Master File can be re-created by Mr.A.Gatt Page 63 of 88 Form 5 Computer Studies Notes combining the father Master File with the respective Transaction File to obtain the son file once again. 5.3.3 Physical security and software safeguards. Physical Security The most obvious choice of protecting data is to place it in a safe secure place. Data can be stored in a limited-access room; such a room would prevent unauthorised access. This room can be protected either by a normal lock-and-key approach, or by more sophisticated methods such as ID card scanning and biometrics (using human features for security such as retina-scan, fingerprint-scanning). Another physical approach would be to store data in a safe where only very few persons know the combination to it. Another basic security system physical is the write-protect option found on certain devices. Some devices, such as the floppy or tape have mechanisms that read-only prevent the user from accidentally overwriting data. These can be simply activated by positioning the read-only lock in the desired position. Mr.A.Gatt Page 64 of 88 Form 5 Computer Studies Notes Software Security There are many software measures which can protect data. The following highlights some of the most common approaches. IDS (Intrusion Detection System) IDS monitors the operation of the network to detect and warn when illegal operations are being carried out. The system may be serverbased, detecting attacks on the operation of the file-server, or they may be a network based, watching the pattern of traffic across the network. User ID (User Identification) A user ID is a unique name or code used to identify a user to a computer system when gaining access (logging in). The systems manager or systems management software allocates user IDs to new users. Checks must be made to verify that the person logging on is the correct „owner‟ of the user ID. Methods of checking include: Passwords: are words or codes known only to the user. A password is linked to a specific user ID. Although a user ID may be generally known to others, access can only be gained with the correct combination of user ID and password. Personal Identification Devices: is usually a plastic card which identifies the user and acts as an electronic key. Most cards have a magnetic stripe which stores information. This Mr.A.Gatt Page 65 of 88 Form 5 Computer Studies Notes information can be read by a computer and used as a user ID. Unauthorised access is made difficult because an unauthorised user must have the personal identification device. Additional protection can be provided by the use of a personal identification number. Key-card is another name for this device. Personal Identification Numbers (PIN): is a number used as a password, particularly with bank cards and credit cards. Biometric This is a unique physical characteristic of an individual which can be checked automatically by a computer. The individual‟s biometric is measured by a special scanner and used with the user ID in a similar way to a password. Finding physical characteristics which cannot be copied has been difficult but viable systems include fingerprints and retina scans (the pattern of veins at the back of the eye). Face recognition and voice samples have proved to be unreliable for use as a biometric. Encryption Encryption makes data in a computer system unintelligible. The encrypted data appears to be meaningless and is sometimes described as scrambled data. Encryption provides security for the data (by preventing it being understood), both when stored electronically and when transmitted between computer systems. Decryption converting the unreadable data back into understandable form. Mr.A.Gatt Page 66 of 88 is Form 5 Computer Studies Notes An encryption key is a word or code selected by the user to govern the encryption process. A decryption key is needed before the data can be understood. In conventional systems both encryption and decryption keys are the same and therefore all users must have a copy of the key. If the number of users is mall and the concern is for the security of stored data, a single encryption key is usually sufficient. If transmission, rather than storage, requires extra protections then different encryption and decryption keys may be used. Digital Signature This is the special encryption of data, used to indicate that the data is genuine. If the recipient of the data can correctly decipher the digital signature then the data should be correct (and forged data is unlikely to have been substituted). Digital Certificate This is an encrypted message provided by a certification authority which confirms that the individual is who they claim to be in an on-line communication. It includes a digital signature, which can be confirmed by sending a secure message to the certification authority. The certification authority, also known as a trusted service provider or a trusted third party, is a business that provides online certification facilities. These organisations are trusted to check the identity of the Mr.A.Gatt Page 67 of 88 Form 5 Computer Studies Notes online users and provide them with encrypted messages (the certificates) which can be confirmed by checking the certificate with the certification authority.15 5.3.4 Software piracy and copyright. Software Piracy is the unauthorized duplication, distribution or use of computer software; for example, making more copies of software than the license licensed for allows, one or installing computer onto software multiple computers or a server. Copying software is an act of copyright infringement, and is subject to civil and criminal penalties. It's illegal whether you use pirated software yourself, give it away, or sell it. And aiding piracy by providing unauthorized access to software or to serial numbers used to register software can also be illegal. These are four of the most common types of software piracy: Soft-lifting: This happens when a persons buys software with a single license and installs it on more than one PC or installs it on other people‟s machines. The exception is that one can make a single copy of the software but only as a backup purpose. Hard Disk Loading: Many computer vendors install software on a new PC without selling the software itself. This is done, to sell a fully loaded machine at very low prices because the user is not charged for the software. 15 Source: A Glossary of Computing Terms 10th Edition Pg113-117 Mr.A.Gatt Page 68 of 88 Form 5 Computer Studies Notes Downloading: (broadband With many connectivity) advances downloading in communications software from the Internet is much quicker and easier. Many P2P (peer-to-peer) applications exist (such as Torrents) which facilitate the download of illegal software. Software Counterfeiting: Software is copied illegally and resold. Some counterfeited software can be very obvious because only the CD „sophisticated‟ (or storage counterfeited media) is software; sold, but everything in more will be reproduced including the box, the manuals, etc… Copyright Copyright is a protection that covers published and unpublished literary, works, scientific whatever and the artistic form of expression, provided such works are fixed in a tangible or material form. This means that if you can see it, hear it and/or touch it - it may be protected. If it is an essay, if it is a play, if it is a song, if it is a funky original dance move, if it is a photograph, HTML coding or a computer graphic that can be set on paper, recorded on tape or saved to a hard drive, it may be protected. Mr.A.Gatt Page 69 of 88 Form 5 Computer Studies Notes Copyright laws grant the creator the exclusive right to reproduce, prepare derivative works, distribute, perform and display the work publicly. Exclusive means only the creator of such work, not anybody who has access to it and decides to grab it.16 When software is purchased there will be a software licence (also known as the licence agreement) which sets conditions for the use of the software. These conditions vary considerably between products. Any use of the software not allowed by its licence is illegal. In practice, this means that copying software bought by someone else is likely to be an offence. Special licenses are needed for some cases, for example multiple use on a network.17 5.3.5 Ethical and legal issues. Ethical Issues Software development involves a team effort that blends the creative ideas and talents of programmers, writers and graphic artists. And like most creative works, such as books, music and films, computer software is protected by U.S. copyright laws. When you purchase software, you do not become the owner of the copyright. Rather, you are purchasing the right to use the software under certain restrictions imposed by the copyright owner, typically the software publisher. The precise rules are described in the documentation accompanying the software -- the license. Most often, they state that you have the right to load the software onto a single 16 17 Source: http://www.whatiscopyright.org/ Source: A Glossary of Computing Terms 10th Edition Pg120 Mr.A.Gatt Page 70 of 88 Form 5 Computer Studies Notes computer and make one backup copy. If you copy, distribute or install the software in ways that the license prohibits, whether you are swapping disks with friends and co-workers or participating in widespread duplication, you are violating federal copyright law. Using copied or counterfeit software also means: Greater exposure to software viruses, corrupt disks, or otherwise defective software Inadequate or no documentation No warranties Lack of technical product support available to properly licensed users Ineligibility for software upgrades offered to properly licensed users. Software piracy is not a victimless crime. Piracy denies the software developer its rightful revenue and harms consumers and the industry as a whole. All software developers, both big and small, spend years creating software. A portion of every dollar spent in purchasing original software is funnelled back into research and development, so that newer, more advanced software can be produced. When you purchase illegal or counterfeit copies, your money goes straight into the pockets of software pirates.18 18 Source: www.bsa.org Mr.A.Gatt Page 71 of 88 Form 5 Computer Studies Notes Legal Issues Apart from a degraded software experience, and any ethical issues that may arise from software piracy, there are also some serious legal issues. In the USA, software theft is a serious matter. If you or your company would be caught copying software, you may be held liable under both civil and criminal law. If the copyright owner brings a civil action against you, the owner can seek to stop you from using its software immediately and can also request monetary damages. The copyright owner may then choose between actual damages, which include the amount it has lost because of your infringement as well as any profits attributable to the infringement, and statutory damages, which can be as much as $150,000 for each program copied. In addition, the government can criminally prosecute you for copyright infringement. If convicted, you can be fined up to $250,000, or sentenced to jail for up to five years, or both.19 19 Source: www.bsa.org Mr.A.Gatt Page 72 of 88 Form 5 Computer Studies Notes 5.3.6 Hardware and software procedures which deter piracy - serial numbers and activation keys, hardware keys (dongles). Software developers try to protect their software by implementing various methods to deter piracy. These are: Serial Numbers: Certain software will ask the user to input a serial number when installing the software. If the number is not inputted or entered incorrectly, the software will not install, making the pirated copy useless. If the serial number is entered correctly, the software will install and be fully functional. In some cases the serial number is checked with the company using an Internet connection to make sure that it has not been previously used by another user, making it more difficult to duplicate serial numbers. Activation Keys: After the software is installed, the user is required to enter some text (the activation key) so that the application will work. This activation key is usually obtained from the vendor of the application – the user will send an e-mail with the product ID of the application, and after the vendor will confirm that the software is indeed original; it will send the activation key which will unlock the software. CD (or DVD) Copy Protection: Most companies will create a special program when burning their application to the storage medium which will prevent users from copying the software by normal means. Hardware Keys: In this case a hardware device (such as a USB pen) is given with the software and for the software to be functional the dongle must be connected to the machine. Mr.A.Gatt Page 73 of 88 Form 5 Computer Studies Notes 5.3.7 Software registration. Most software can be registered with the company that supplies the software. The user fills in some personal details such as name, address and e-mail. This will allow the company to serve better its customers: Updates: The software company can inform its registered members with news about the product. This may include news about new program releases, new updates or new patches to the program. Sometimes, when a surface address is supplied, updates and patches are sent by post on a CD. Bonus Features: Certain companies create bonus features to the program (also called extensions, add-ons or expansion packs) which might be free to registered users. Discounts: Registered members usually benefit from discounts on applications released by the same company. Technical Support: Some companies offer technical support (such as forums or live chatting) about their program only to registered members. 5.3.8 Access rights. Privacy on multi-user/network systems. Access rights control whether or not a particular user can use or edit a program or a data file. Each user is assigned rights which determine the files that can be accessed. A user may be allowed complete access to a file (including altering the data), may be restricted only to read the data (or part of the data) or have no access at all. Technical personnel may have more substantial rights. Access rights can also restrict the use of a file to a particular workstation or user. Mr.A.Gatt Page 74 of 88 Form 5 Computer Studies Notes With the simpler operating systems used on stand-alone computers the actual user is normally not identified. The access rights can easily be changed but provide a way of preventing some mistakes (for example deleting important files). The more complex network operating system provides a way of identifying individuals (for example by a user ID and password). Each individual can only access resources the user is given privileges for by the network manager. The user may have ownership of some files and can then set the access rights to restrict who else can use the files. Some files have additional access restrictions provided by password protection. When a user attempts to gain access to one of these files an additional password will be requested before access is allowed. This provides extra security since knowing a user‟s system password is not enough to gain access to the data. The password is often used as the encryption key to encrypt the data, making the data meaningless even if unauthorized access to the system is achieved.20 20 Source: A Glossary of Computing Terms 10th Edition Pg116 Mr.A.Gatt Page 75 of 88 Form 5 Computer Studies Notes 5.2 Effects of Computer-Based systems on Individuals, Organisations and Society 5.2.1 Positive and negative effects of computerisation In these last years, computer use amongst people has increased greatly. This computerization can have both positive and negative effects on the individual, an organization or the society. The following will highlight some of the positive and negative aspects in several different areas. Computers and Work Negative Jobs are decreased, since computers are replacing humans in such cases as ATM (automatic teller machine), telephone operators, meter readers, film processors. Positive New jobs are created in the computing industry such as the hardware industry, software industry and web-design industry. Computers increase productivity and overall quality leading to cheaper and better products. Mr.A.Gatt Page 76 of 88 Form 5 Computer Studies Notes Computers and the Workplace Negative Possible less face-to-face communication. Very fast technology advances might lead to job disruption in order to adopt (or adapt) to new technologies. Employees might feel that constant monitoring can affect their privacy and dignity. Constant use of computers can lead to RSI (repetitive strain injury) if the proper precautions are not adopted. Positive Employee has more information available which allows the employee more decision-making freedom. Various tools available on the computer can enhance the work experience and reduce the overall work-load. Computers and Society (involving the Internet) Negative Reduced human contact, since people prefer chatting rather than socialising. Community groups‟ attendance decreases, once again due to lack of involvement. Erodes family life and community values. Positive Facilitated communication with relatives, friends and other close persons. Mr.A.Gatt Page 77 of 88 Form 5 Computer Studies Notes Routine tasks can be done quickly, hence leaving more free time to spend with close relatives. Computers and the Individual Negative Addiction to the Internet. Addiction to games; especially in youngsters which deter a healthy lifestyle since they do not participate in outdoor games Less socializing. Being lazier; since Internet can be used as a source for readymade material. Positive More work can be done in less time with the adequate tools on the PC. Facilitates access to services by using websites for buying products or paying bills. More information at the user‟s fingertips with interactive encyclopaedias and the constantly updated Internet. Mr.A.Gatt Page 78 of 88 Form 5 Computer Studies Notes 5.4 Multimedia 5.4.1 Brief overview of capabilities and trends. Multimedia is the presentation of information by a computer system using graphics, animation, sound and text. The data may be stored in a variety of ways using conventional computer storage devices, together with a picture database on CD-ROM (or DVD-ROM). Output might be through VDUs, sound-generators and laser projectors. Integrating a tutor program could allow the system to be used as a training resource. The performance of the user could then be monitored by recording the choices made in response to questions and evaluating this response using an expert system. This performance output might then be sent to a remote trainer who would assess the trainee‟s progress. Interactive Video This involves the user of a computer linked to a large capacity data store such as DVD to provide random access retrieval of images (including stills and continuous video) and sound. Data, once recorded, is not easily changed or added to and access times can sometimes appear long. However, any disadvantage arising is generally outweighed by the amount, variety and quality of data which can be retrieved from one active device. Mr.A.Gatt Page 79 of 88 Form 5 Computer Studies Notes Browse This is a feature of hypertext systems which allow users to build their own route through an application rather than following a predetermined one. The route so chosen may be remembered by the system so that it can be re-traced back to the starting point of that route. This kind of browsing is particularly useful in such applications as computerised manuals; computer aided learning packages and large databases. Video Clip A video clip is a short section of film or video stored in digital form (both sound and pictures). It is easily incorporated in computer displays. The video clip would normally be stored in compressed form; otherwise the storage cost would be prohibitive. Video Data Compression This is the use of electronic methods to reduce the amount of data that has to be included when video data, either for still or moving pictures, is stored or transmitted. For moving pictures (video), the principles involve identifying those parts of the picture which change from one scan to the next, and sending data only about changes, which is known as delta compression. This alone will save a significant amount of transmission and storage capacity. The Joint Photographic Expert Group (JPEG) had defined standards for still picture compression, and this format for storage or transmission is called JPEG. These standards Mr.A.Gatt Page 80 of 88 Form 5 Computer Studies Notes have been extended by the Motion Picture Expert Group (MPEG) to cover moving images. These proposals are currently being used for video compression on CD-ROM and DVD. Sound is also compressed using MP3 encoding and decoding mechanisms.21 5.4.2 Future perspectives (home office, access to public and institutional databases, libraries, high-quality sound and pictorial data representation). With advances in technology (faster CPUs, cheaper storage, very fast Internet connectivity), multimedia possibilities are endless. Public databases can be made accessible on the Internet, allowing a large number of users to access its contents. Nowadays, various websites offer free books (which do not have a copyright) to be read from home by accessing their database. Universities can also publish their work and research on Internet, which makes communication and research with other universities much easier; this is also further helped by video-conferencing which can encourage distant team-work. By using video and sound compression, virtual tours can be created. By using a standard interface a user can go on a virtual tour of a historic or public landmark. This can be done by taking pictures (or a video) of the place, edit it, and finally compile it, so that the user can choose where to go by simply clicking the mouse. This can also be enhanced by offering further details on visible items. So, if for example, an art gallery is made virtual, various paintings can be 21 Source: A Glossary of Computing Terms 10th Edition Pg85,86 Mr.A.Gatt Page 81 of 88 Form 5 Computer Studies Notes clicked and a high-resolution photo will be displayed along with information about the painting and painter. By using many elements of multimedia, virtual reality can also be achieved. Virtual reality is a computer generated environment which provides the user with the illusion of being present in that situation. Virtual reality is produced by providing feedback to our various senses: vision, hearing, movement, and sometimes smell. As the user moves or acts, the image seen will change along with appropriate sound and movement. It usually requires high-powered computers. There are two main types of virtual reality: Immersive VR: these systems provide feedback to as many senses as possible by using specialised equipment. They attempt to provide the user with a very realistic situation and are used for training in critical and stressful situations. Examples include the training of aircraft crew and training maintenance engineers to work in nuclear reactors. Non-immersive VR: The systems use limited feedback to provide the user with the perception of a particular situation without attempting to convince the user that it is real. This can be done relatively cheaply using common equipment. The environment is displayed on a standard monitor using 3D graphics and can be controlled using a simple pointing device such as a special scalpel that a sculptor may use to carve a sculpture. Other examples include vehicle driver training and the ergonomic evaluation of a shop layout.22 22 Source: A Glossary of Computing Terms 10th Edition Pg86 Mr.A.Gatt Page 82 of 88 Form 5 Computer Studies Notes 5.4.3 Basic hardware and software requirements and costs. The basic requirement for multimedia is a PC which has a: Video Card which is able to process images (and or moving images) fast enough, especially if 3D image generation is required. Monitor (CRT or LCD) in order to be able to display most of the multimedia components, such as pictures or videos. Sound Card which is required to process sounds and generate the required sounds through the speakers. Speakers which are able to playback sounds. CD or DVD drives which is generally required to store large amounts of multimedia data. Colour printer used to print images or text on paper. Scanner which is used to transfer paper images to the computer in order to manipulate them. Input devices that are used to interact such as mouse, hand glove (in case of VR), and any other kind of special device. The above items illustrate the basic requirements which must be used for a multimedia experience. However, the better the quality and intensity of multimedia such as immersive virtual reality, the better the machine must be. For instance in VR, a video-card must be very powerful in its 3D image processing since almost everything is shown in 3D. In case of sound, if sound is to be delivered using Dolby SurroundTM sound, a Dolby-capable sound card and speakers are required. The type of multimedia dictates the hardware requirements, and the better the hardware the steeper the costs will be. Mr.A.Gatt Page 83 of 88 Form 5 Computer Studies Notes 3.2 Roles related to an I.T. Environment23 The EDP (electronic data processing) department is in charge of various aspects related to I.T.; these can range from project management to the quality control, when the product is finally finished. The EDP has various roles, and each role can be assigned to a number of employees, depending on the complexity and size of the project. The EDP department needs to work together as a team, each role with specific duties. 3.2.1 Information Systems Manager The I.S. manager has the overall responsibility of the I.T. department and sees that everything goes well and to plan. The I.S. manager needs to monitor and encourage communication between different roles to ensure project consistency. Some of the roles are: Engage or disengage employees Ensure that the department is satisfying the customer‟s needs Create new opportunities for the company which can result in company profits; such as taking on new projects. 3.2.2 Systems Analyst/Designer The system analyst plays a vital role in the system analysis lifecycle. The main task of a system analyst is to determine the input and output requirements of a new project, and conduct feasibility studies, to determine whether a project should be done or not. 23 Adapted from: A Complete Computer Course by Ivan Buttigieg Pg344-348 Mr.A.Gatt Page 84 of 88 Form 5 Computer Studies Notes In the case that the feasibility studies show that the project is not feasible, the system analyst must propose whether to abandon it, or to modify some of its aspects to make it feasible. If the project is feasible, the main roles of the system analyst are: Write down project details, including documentation manuals, etc… Prepare test data in collaboration with the database administrator Provide instructions manuals (user and technical) Supervising and maintaining the new system. 3.2.3 Systems Administrator The role of the systems administrator is to ensure that all the software required by the EDP is available and fully functional. This role is very powerful because the systems administrator has got the rights to view and/or modify all the files in the organisation. The main roles are: Setting up the design of the database used by the organisation Continuously maintaining the design of the database to reflect changes and suit needs Have extensive knowledge of the business rules Testing database data integrity Maintaining access rights of employees Making sure to perform regular backups Catalogue and index save files for future needs. Mr.A.Gatt Page 85 of 88 Form 5 Computer Studies Notes 3.2.4 Programmer Once the project has been given to go-ahead by the systems analyst, the work is passed on to the programmers. But before handing the programming task to the programmers, the system analyst splits the project into various modules. The programmers will then start the planning, writing and testing of these modules so that they meet the systems designer‟s requirements. Programmers can be classified under two groups: Senior programmers. There roles are to: o Develop detailed plans (such as flowcharts) to be followed by programming staff o Schedule and co-ordinate junior programmers‟ work o Set up the technical and the user help. Junior programmers. There roles are to: o Write the program o Test the program by using supplied test data o Correct any mistakes o Prepare inline documentation (comments). 3.2.5 I.T. Trainer The main role of the I.T. trainer is to guide computer users in the use of organisation‟s software products. The trainer: Lectures new employees on how to use the current EDP system (logging, downloading or uploading, accessing files) Teaches non-I.T. oriented people how to operate the hardware and software applications Co-ordinates training courses. Mr.A.Gatt Page 86 of 88 Form 5 Computer Studies Notes 3.2.6 Operator The computer operator needs to make sure that the department‟s system is working effectively. The operator has to: Ensure that input and output media are ready for use Power up machines to be used Record computer errors into logbook Monitor system‟s directory for suspicious or unwanted files Keep computers clean Regulate computer‟s environment. 3.2.7 Data Clerk Data clerks enter information into the computer system. These employees also check if the input and output information makes sense. Examples include verifying all the data is present in a file, as well as validating the source of the documents and eventually correcting any errors found. 3.2.8 Web Master The web master creates and maintains a web page and all the web site links for the organisation. Usually the website will contain the products / improvements of the company, company vision and mission, support information. Mr.A.Gatt Page 87 of 88 Form 5 Computer Studies Notes 3.2.9 Lab technician The role of the lab technician is to ensure that all computers (the hardware) are in correct working order. This person needs to: Replace or repair faulty equipment Install new hardware Maintain „older‟ hardware in working condition. 3.2.10 Maintenance engineer The maintenance engineer knows the hardware of the EDP department‟s computer system thoroughly, and is present when the company purchases new hardware. This person is required to: Initially set up the system Solve hardware problems which the technician might now have enough knowledge about Upgrade the computer system to make sure that everything will work after the upgrade. The End Good Luck! Mr.A.Gatt Page 88 of 88