Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
OCR GCSE Computing Chapter 3: Software OCR GCSE Computing © Hodder Education 2013 Slide 1 Index to topics • • • • Types of software System software Development software Applications software OCR GCSE Computing © Hodder Education 2013 Slide 2 Chapter 3: Software • An algorithm that is coded for a computer to use to perform tasks is a program. • Programs are generally known as software, to distinguish them from the hardware on which they run. • The term software also includes the associated data that a program needs. • Software is written using programming languages, a type of software. OCR GCSE Computing © Hodder Education 2013 Slide 3 Chapter 3: Software There are many types of software but they generally fall into three main categories: – Systems software – Development software (programming languages and utilities) – Applications OCR GCSE Computing © Hodder Education 2013 Slide 4 Chapter 3: System software Systems software includes: – – – – – – Operating systems Device drivers Firmware Servers Utilities Interfaces OCR GCSE Computing © Hodder Education 2013 Slide 5 Chapter 3: System software An operating system, sometimes called a platform, is a collection of programs that control the hardware in a computer or device. At the heart of the operating system is the kernel which looks after the most low-level hardware operations. Applications Kernel CPU OCR GCSE Computing Memory © Hodder Education 2013 Devices Slide 6 Chapter 3: System software • Multi-tasking allows the computer to make best use of the CPU. • The CPU works much faster than RAM and the other components of the computer. • While the CPU waits for other actions to complete, e.g. loading data to RAM, it works on other tasks. – Users often have several tasks running at the same time, for example word processor, email program, music player, spreadsheet and web-browser. OCR GCSE Computing © Hodder Education 2013 Slide 7 Chapter 3: System software A multi-tasking operating system allows several processes to be in RAM at the same time: – Running: The CPU is currently dealing with this process and others must wait. – Runnable: These are ready to go and just need the running program to finish or be interrupted to get the CPU’s attention so they can run. – Waiting: these processes are waiting to get into the queue and become runnable. OCR GCSE Computing © Hodder Education 2013 Slide 8 Chapter 3: System software • The role of the multi-tasking operating system is to ensure all the processes get attended to by the CPU in the most efficient way. • There are many ways this can be done, but the operating system usually switches very quickly between processes and the user rarely notices that this has happened. The system appears to be doing lots of jobs at once. OCR GCSE Computing © Hodder Education 2013 Slide 9 Chapter 3: System software • The job is created, and loaded from secondary storage into main memory. • The job then waits for the scheduler to allocate processing time until it is running. • If it needs resources that are not available, it is blocked and stops running. • It then waits until these resources are available and the scheduler allocates processing time. • When the job is complete, it is terminated. OCR GCSE Computing Created Terminated Running Blocked Waiting © Hodder Education 2013 Slide 10 Chapter 3: System software User Interface The user interface is how the user interacts with the system. This can be provided as part of the operating system or can be a separate program running on top of the operating system. • Windows® uses a graphical user interface (GUI) supplied as part of the operating system. • A GUI uses icons (small pictures) to represent the resources and actions, reducing the need to learn commands. • GUIs use mouse pointers or touch screens to select objects. OCR GCSE Computing © Hodder Education 2013 Slide 11 Chapter 3: System software – For specialist users, e.g. network technicians, a GUI is less efficient. A GUI requires several stages to issue a command and has large processor overheads. – All operating systems have a command line interface that allows the user to type in direct commands to access the operating system functions. OCR GCSE Computing © Hodder Education 2013 Slide 12 Chapter 3: System software Examples of operating systems: – Windows®: A powerful multi-tasking operating system from Microsoft. It provides a graphical user interface (GUI) that enables all applications running under Windows® to look similar. – UNIX: a robust and stable operating system used on servers and on workstations. Traditionally a command line interface, but there are many user interfaces developed to run on top of UNIX for the non specialist user, for example: – MacOS: Apple Computers’ own proprietary operating system based on UNIX and iOS used on the iPhone and iPad. OCR GCSE Computing © Hodder Education 2013 Slide 13 Chapter 3: System software – LINUX is designed to behave like UNIX but was developed separately and is the basis for many other operating systems. – The kernel has been adapted to run devices from supercomputers to mobile phones. – Some LINUX based systems include: • • • • Red Hat Debian Ubuntu Google’s Android smart phone operating system OCR GCSE Computing © Hodder Education 2013 Slide 14 Chapter 3: System software The operating system also provides facilities to deal with peripheral devices. – When a peripheral is required, a signal, called an interrupt, is generated to signal to the operating system that it needs to deal with something. – This tells the CPU to stop the running process as soon as it can and to deal with another process linked to the peripheral device. These programs are called device drivers. – When the job is finished, the CPU returns to the point where it was interrupted and carries on. OCR GCSE Computing © Hodder Education 2013 Slide 15 Chapter 3: System software Most operating systems allow the user to make adjustments to the settings, for example: • • • • Screen resolution Keyboard layout Sound settings Start up options OCR GCSE Computing © Hodder Education 2013 Slide 16 Chapter 3: System software • The operating system is loaded from disk into RAM on the typical desktop or laptop computer. • For devices running embedded systems the operating system is stored on ROM or in flash memory. • Software stored in this way is called firmware. • Firmware is typically the set of small programs used to control an electronic device. • Larger computers also have firmware in ROM to take care of boot up. OCR GCSE Computing © Hodder Education 2013 Slide 17 Chapter 3: System software Operating systems also have supporting software to manage various aspects of the system: • Utility software – is often loaded with the operating system – comes as small-scale programs used to carry out simple maintenance tasks. • Security – Anti-virus software to detect and remove viruses that could damage the data on the computer; – Anti-spyware to detect and remove spyware such as a Trojan that logs key strokes to steal passwords and other sensitive data; – Firewalls that restrict incoming and outgoing access to certain network addresses. OCR GCSE Computing © Hodder Education 2013 Slide 18 Chapter 3: System software Maintenance: Disk organisation tools allow formatting and management of files on disks, for example: – Disk defragmenters: As files are deleted and added, the data gets spread around the disk, leaving gaps. The defragmenter moves the files to put all the free space together to improve access speeds. – Other utilities include: – – – – – Archive Backup Data compression Disk cleaners Network utilities OCR GCSE Computing © Hodder Education 2013 Slide 19 Chapter 3: Development software Development software: Editors • Editors are used to write programs. These are basically cut-down versions of word processors that do not save any formatting, e.g. Notepad for windows. • Editors will often have features to help organise the code by detecting program constructs and indenting loops, using different colours for key words and automatic line numbering. Editor window from BBC BASIC for Windows® OCR GCSE Computing © Hodder Education 2013 Slide 20 Chapter 3: Development software • Compilers translate the high-level code used by the programmer into the machine instructions required by the computer. – The high level code produced by the programmer is called source code, and the machine instructions created by the compiler, object code. • Interpreters also translate the high level code into machine instructions (code) but they translate the code one line at a time and execute it, instead of translating the whole program to create the object code. OCR GCSE Computing © Hodder Education 2013 Slide 21 Chapter 3: Development software Interpreter Compiler Source code Source code Translate line of code Translate code Execute line Create object code Execute object code OCR GCSE Computing © Hodder Education 2013 Slide 22 Chapter 3: Development software – Assemblers are used to translate assembly language programs into machine instructions. Instead of using binary machine codes assemblers use mnemonics to represent these, making them much easier to read for the programmer. – Assembly language is not machine code but each assembly language instruction translates to just one machine instruction. Memory address OCR GCSE Computing Instruction in Hex © Hodder Education 2013 Mnemonic Slide 23 Chapter 3: Development software Linkers are used to connect together sub programs to create larger programs. – Often programs are made up from sub programs written using different tools and languages. – The linker is used to combine all of these separate modules of code to ensure they will work together. OCR GCSE Computing © Hodder Education 2013 Slide 24 Chapter 3: Development software Producing a program: Editor Source code 1 Source code 2 Source code 3 Compiler Compiler Compiler Object code 1 Object code 2 Object code 3 Linker Complete application OCR GCSE Computing © Hodder Education 2013 Slide 25 Chapter 3: Applications software Applications are programs that do real world jobs. There is a huge range of applications (or apps) to do all sorts of jobs and for a wide range of devices. – Office software often includes: – – – – – Word processor Spreadsheet Presentation software Drawing package Database management software – Enterprise software (line of business software) may include standard office applications alongside specialist items, for example: – – – – Stock control Payroll Electronic Point of Sale Customer management OCR GCSE Computing © Hodder Education 2013 Slide 26 Chapter 3: Applications software • With so many choices it is important the correct software is selected for the role it is to perform. – Procurement of software is a very important role in any business. • The choices are: – Off the shelf software • software that already exists and is immediately available. – Custom written software • software that needs to be written to meet the business’s specific requirements. OCR GCSE Computing © Hodder Education 2013 Slide 27 Chapter 3: Applications software Off the shelf software • Advantages: – – – – immediately available; thoroughly tested and relatively bug free; wide community of users and support; development costs already met, so relatively inexpensive. • Disadvantage: – may not meet the exact requirements of the organisation. OCR GCSE Computing © Hodder Education 2013 Slide 28 Chapter 3: Applications software Custom written software • Advantages: – will be specifically written to meet the customer needs; – can work with developers to design software and get direct support to modify it or fix bugs. • Disadvantages: – the cost is borne by one customer so relatively expensive; – time needed to develop product so will not be immediately available; – no community of users to rely on for identifying bugs or support; – likely to be more faults; – developer may not remain in business, so no ongoing support. OCR GCSE Computing © Hodder Education 2013 Slide 29 Chapter 3: Applications software Proprietary software is software developed by a commercial undertaking that owns the copyright and licenses the product to the customer. – Advantages: • Someone owns the product and takes responsibility for the quality; • There will be updates to fix issues and, for custom written software, maintenance contracts available. – Disadvantages: • The cost of support and updates will make the software quite expensive; • The software may not be modified by the end user to meet their needs. OCR GCSE Computing © Hodder Education 2013 Slide 30 Chapter 3: Applications software Open source software is developed by a community. The source code is publicly available so that anyone can adapt it and recompile it. – Advantages: • the software can be adapted to meet individual needs • bugs are often spotted and fixed promptly – Disadvantages: • nobody owns the software, so there are no guarantees or support contracts • while rarely an issue, code may be modified by anyone, introducing quality issues. OCR GCSE Computing © Hodder Education 2013 Slide 31