Software Computer Systems Standard Grade Computing Studies

Download Report

Transcript Software Computer Systems Standard Grade Computing Studies

System Software
Software
The term that we use for all the programs
and data that we use with a computer
system.
Two types of software:
Program – set of instructions that the
computer follows (e.g. a word processor
or a game).
Data - what the programs process
Slide 1
(e.g. a word processing document or
a
Programs
There are two types of program software.
Systems Software & Application Software
Systems Software
Programs used to organise the
computer, handle its devices, manage
memory etc. The Operating System is
Systems Software.
Applications software
Programs designed to carry out a
particular task (Word Processors,
Databases, Graphics etc.)
Slide 2
Systems Software
A collection of programs than help the
computer to work properly.
Includes:
• Operating System
• Utility Programs
• Translator Programs
Slide 3
Operating System
Program that runs in a computer from the
moment it is switched on.
After being initially loaded into the computer
by a boot program, manages all the other
programs in a computer.
Slide 4
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 5
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 6
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 7
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 8
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 9
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 10
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 11
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 12
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 13
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 14
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 15
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 16
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 17
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 18
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 19
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 20
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 21
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 22
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 23
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 24