Download OCR GCSE Computing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Supercomputer wikipedia , lookup

Software quality wikipedia , lookup

Transcript
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