slide 1 system software software the term that we use for all the programs and data that we use with...

24
Slide 1 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 (e.g. a word processing document or a saved game)

Upload: daniel-webster

Post on 27-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Slide 1 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

Slide 1

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 (e.g. a word processing document or a saved game)

Page 2: Slide 1 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

Slide 2

Programs

There are two types of program software.

Systems Software & Application Software

Systems SoftwarePrograms used to organise the computer, handle its devices, manage memory etc. The Operating System is Systems Software.

Applications softwarePrograms designed to carry out a particular task (Word Processors, Databases, Graphics etc.)

Page 3: Slide 1 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

Slide 3

Systems Software

A collection of programs than help the computer to work properly.

Includes:

• Operating System

• Utility Programs

• Translator Programs

Page 4: Slide 1 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

Slide 4

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.

Page 5: Slide 1 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

Slide 5

Standard Functions of Standard Functions of the OS.the OS.

User interface the OS provides the means of communicating with the

computer system (Icons, commands etc. are all provided by the operating system).

Manages memory 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.

Page 6: Slide 1 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

Slide 6

More OS - Standard More OS - Standard FunctionsFunctions

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.

Page 7: Slide 1 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

Slide 7

Resource allocationResource 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.

Page 8: Slide 1 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

Slide 8

OS - Special FunctionsOS - 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.

Page 9: Slide 1 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

Slide 9

OS - Different modes of OS - Different modes of processingprocessing

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.

Page 10: Slide 1 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

Slide 10

OS - Different modes of OS - Different modes of processing (cont.)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.

Page 11: Slide 1 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

Slide 11

OS - Different modes of OS - Different modes of processing (cont.)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.

Page 12: Slide 1 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

Slide 12

The Filing SystemThe 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).

Page 13: Slide 1 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

Slide 13

Types of filing systemTypes of filing system

A hierarchical filing system is one that uses directories to organise files into a tree structure.

C:/ D:/

Computer

Drives

Folders

Files

Hierarchical filing system

A filing system in which directories have files and subdirectories beneath them.

Flat filing system All the files are organised into one large

area.

A Hierarchical Filing Structure

Page 14: Slide 1 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

Slide 14

Types of accessTypes 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.

Page 15: Slide 1 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

Slide 15

Systems SoftwareSystems 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...

Page 16: Slide 1 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

Slide 16

Low Level LanguagesLow 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...

Page 17: Slide 1 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

Slide 17

High Level LanguagesHigh 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...

Page 18: Slide 1 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

Slide 18

Common features of Common features of High Level LanguagesHigh 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.

Page 19: Slide 1 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

Slide 19

Common features of Common features of High Level LanguagesHigh 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….

Page 20: Slide 1 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

Slide 20

Types of translatorTypes 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).

Page 21: Slide 1 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

Slide 21

Types of translatorTypes 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.

Page 22: Slide 1 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

Slide 22

Assembly LanguageAssembly 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 high-level 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.

Page 23: Slide 1 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

Slide 23

Types of translatorTypes 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

PRN #76

CLE #1

JMP #8

011000011100

101001001100

100100000001

110100001000

Assembler

Page 24: Slide 1 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

Slide 24

Types of High Level Types of High Level LanguageLanguage

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.