Software Computer Systems Standard Grade Computing Studies
Download
Report
Transcript Software Computer Systems Standard Grade Computing Studies
Software
Computer Systems
Standard Grade Computing Studies
Clydebank HIGH
SCHOOL
Computing Department
What is software
Software
is
the term that we use for all the programs
and data that we use with a computer
system.
Two types of software
• Program - the instructions that the computer
follows (e.g. a word processor or a game).
• Data - what the programs process (e.g. a word
processing document or a saved game)
Slide 2
More on software
Programs
there
are two types of program software.
Systems Software
• programs used to organise the computer,
handle its devices, manage memory etc. The
Operating System is Systems Software (see
later).
Applications software
• programs designed to carry out a manual task
(Word Processors, Databases, Graphics etc.)
Slide 3
The Operating System
The operating system (OS) is the most
important program used by the
computer.
The OS in most modern computers is stored on hard disc
and is loaded into RAM when the computer starts up.
Some computers store their OS in ROM so that it cannot
be erased by accident. ROM operating systems load
very quickly.
The operating system controls and monitors the
operation of the computer system.
The filing system is part of the OS and it controls the
loading and saving of programs and data from backing
storage.
Slide 4
Modern Operating
Systems
Examples of operating systems which are disc
based
Windows 98 for the PC
System 8 for Apple Macintosh
Unix for large fileservers and networks.
Examples of operating systems which are ROM
based
JavaOS for Network Computers (NCs)
RiscOS for ACORN Computers
Windows CE2 for palm top and handheld
computers.
Slide 5
Standard Functions
of the OS.
User interface
Manages memory
the OS provides the means of communicating with the
computer system (Icons, commands etc. are all provided
by the operating system).
The way that memory is allocated to programs is
controlled by the OS.
Controls input/output
The access to all devices attached to the computer is
controlled by the OS. For example, the OS can stop two
programs trying to use the same device at the same time.
Slide 6
More OS - Standard
Functions
The filing system manages backing
storage
The access to all types of backing storage
devices is controlled by a special part of the
operating system called the filing system.
The filing system will prevent two programs trying
to access the same files at the same time.
Slide 7
Resource allocation
When a computer is running the demands on the systems
resources (i.e. memory, input/output devices, backing storage
etc.) may be greater than the resources available. To deal with
this a resource allocation system is built into the OS.
Various techniques are used to prevent two programs
demanding the same resource at the same time (e.g. two
programs can't both send files to the printer at the same time).
The resource allocation system also
ensures that all programs running on the
system receive as much processing time as
possible.
Slide 8
OS - Special Functions
Multi-programming
Also know as multi-tasking. Some operating systems allow
more than one program to run on the system at the same
time. This is possible because the resource allocation
system shares the processors time between the different
programs.
Multi-a
ccess
Some operating systems allow many users to use the
same computer system at the same time. Any computer
system used in this way will have a multi-access operating
system.
The resource allocation system shares the
resources of the computer system (discs, memory,
processor etc.) between the different users.
Slide 9
OS - Different modes
of processing
There are several different modes of processing.
Interactive
Accepting input from a human. Interactive computer systems are
programs that allow users to enter data or commands. Most popular
programs, such as word processors and spreadsheet applications,
are interactive. In interactive processing, the application responds to
commands as quickly as it can once they have been entered.
Sometimes there is a delay while the processor finishes another task.
Real Time
Real-time operating systems are systems that respond to input
immediately. Automatic teller machines for banks are an example of
real time processing. Real time systems are used for tasks such as
navigation, in which the computer must react to a steady flow of new
information without interruption.
Slide 10
OS - Different modes
of processing (cont.)
BATCH
Executing a series of jobs (programs + data) all at one time. The term
originated in the days when users entered programs on punch cards.
They would give a batch of these programmed cards to the system
operator, who would feed them into the computer.
Usually, batch jobs are stored up during working hours and then
executed during the evening or whenever the computer is idle. Batch
processing is particularly useful for operations that require the
computer or a peripheral device for an extended period of time. Once
a batch job begins, it continues until it is done or until an error occurs.
Note that batch processing implies that there is no interaction with the
user while the program is being executed.
Slide 11
OS - Different modes
of processing (cont.)
Interactive systems with
background job capability
Some operating systems allow a background process to occur at the
same time as a foreground interactive process.
The foreground process is the one that accepts input from the
keyboard, mouse, or other input device. Background processes
cannot accept interactive input from a user, but they can access data
stored on a disk and write data to the video display unit.
For example, some word processors print files in
the background, enabling you to continue editing
while files are being printed.
Slide 12
The Filing System
The system that an operating system uses to organise and keep track
of files.
Catalogue/Directory
The filing system can access the contents of floppy and hard discs.
The contents of these discs is held in the directory(also called
catalogue). The filing system reads this information so that it can find
any file on the disc straight away.
Types of File
Software can be stored on backing storage as files. There are two
types of files.
Program files (such as the operating system, word processors
etc).
Data files (such as graphics images, documents etc).
Slide 13
Types of filing system
Flat filing system
All the files are organised into one
Computer
large area.
Hierarchical
filing system
A filing system in which
directories have files and
subdirectories beneath
them.
A hierarchical filing
system is one that
uses directories to
organise files into
a tree structure.
C:/
D:/
Drives
Folders
Files
A Hierarchical Filing Structure
Slide 14
Types of access
Sequential Access
To go from file A to file Z in a
sequential-access system, you
must pass through all intervening
files.
Sequential access is sometimes
called serial access.
Random Access
Refers to the ability to access data at
random. In a random-access system,
you can jump directly to file Z. Disks
are random access media, whereas
tapes are sequential access media.
Slide 15
Systems Software
The operating system is just one example of
systems software.
Other examples of systems software are:
Anti-virus tools
Disk utilities
Programming tools
Printer manager utilities
All these are examples of programs. Programs can
be written in a number of different ways...
Slide 16
Low Level Languages
Computers only understand binary!!!
All programs have to end up in binary language in
order work.
The binary language that the computer
understands is called MACHINE CODE
Machine code looks like this…
00100111,01110100,10010001
NOT very easy to understand.
That’s why High Level Languages and Assembly
Language have been produced...
Slide 17
High Level Languages
We use high level languages (HLLs) because
programming in low level languages like machine
code is VERY difficult.
High level languages make it easier for us to write
programs because we can use commands that
mean something (PRINT, END, IF, THEN).
High level language programs still have to be
converted into machine code to work. This is done
by a translator.
There are lots of different HLLs but they all still have
several things in common...
Slide 18
Common features of
High Level Languages
English like words and phrases as instructions eg.
PRINT, IF, THEN, END, STOP, ELSE, OPEN etc.
Arithmetic operations such as multiply, divide, add
subtract etc.
High level languages are
problem orientated. This means
that the programmer can forget
about the internal workings and
set-up of the computer system
and can concentrate on solving
the problem.
Slide 19
Common features of
High Level Languages
Words and symbols are combined to conform to a
predefined SYNTAX to produce program
instructions (also called statements). Syntax are the
rules which govern how the program commands are
used (similar to the rules of grammar that govern
how we use the English language).
Must be translated into machine code. A
special program (a type of systems software)
called a translator does this….
Slide 20
Types of translator
There are two types of translator for high level languages.
Compiler
A program that translates source code into machine code. The
compiler gets its name from the way it works, looking at all of the
source code and collecting, reorganising and converting the
instructions into machine code.
Compilers require some time to create an executable program.
However, programs produced by compilers run much faster than the
same programs executed by an interpreter.
The program produced by the compiler is executable. It does not
need the compiler or the source code.
Many compilers are available for the same language. For example,
there is a FORTRAN compiler for PCs and another for Apple
Macintosh computers. This makes the program source code
PORTABLE (able to run on a number of different computer
processors).
Slide 21
Types of translator
Interpreter
An interpreter translates high-level instructions into a machine code
line by line. Each HLL statement is converted, in turn, into machine
code and then executed.
An interpreter can immediately execute high-level programs (unlike a
compiler). For this reason, interpreters are sometimes used during the
development of a program, when a programmer wants to add small
sections at a time and test them quickly. Also interpreters are often
used in education because they allow students to program
interactively.
The advantage of an interpreter over a compiler is that it does not
need to go through the compilation stage during which machine code
instructions are generated.
Many interpreters are available for the same language. For example,
there is a BASIC interpreter for PCs and another for Apple Macintosh
computers. This makes the program source code PORTABLE.
Slide 22
Assembly Language
Machine code consists entirely of numbers and is almost
impossible for humans to read and write. Assembly language
has the same structure and set of commands as machine
code, but it allows a programmer to use names instead of
numbers.
Each type of processor has its own machine code, so an
assembly language program written for one type of processor
won't run on another.
In the early days of programming, all programs were written in
assembly language. Now, most programs are written in a highlevel language such as FORTRAN or C. Programmers still use
assembly language when speed is essential or when they
need to perform an operation that isn't possible in a high-level
language.
Slide 23
Types of translator
There is one type of translator for assembly language
programs.
Assembler
A program that translates programs from assembly
language to machine language.
LDA #28
011000011100
PRN #76
101001001100
CLE #1
JMP #8
Assembler
100100000001
110100001000
Slide 24
Types of High Level
Language
General purpose
General purpose high level languages are written for a wide
variety of tasks. They can be used for any type of application
however they may lack certain commands that make particular
tasks easy to do.
Special Purpose
Special purpose high level languages are written for particular
types of task. For example Delphi is written for windows
database programming and has special commands that make
this type of task easier to carry out.
Slide 25