System Software AS ICT 1.2.5. Software There are 2 broad types of software: Application software –...

44
System System Software Software AS ICT 1.2.5

Transcript of System Software AS ICT 1.2.5. Software There are 2 broad types of software: Application software –...

System SoftwareSystem Software

AS ICT 1.2.5

Software Software There are 2 broad types of software:• Application software– word processing and DTP packages– spreadsheet and database packages– sound/video/animation editors– web design packages– graphics packages

• System software– controls and monitors the running of

application programs– allows users to communicate with

the computer’s hardware

SoftwareSoftware

System softwareSystem software• System software manages the resources of the

computer• . . . at a low level/at hardware level, e.g. internal

and external memory• It includes the operating system• . . . and utility programs• . . . such as compilers, loaders, linkers and

debuggers• It provides the user interface• Programs would be too complex to create if we had

to micro-manage all of the memory ourselves

Utility programs Utility programs • File compressors – to reduce storage space requirements• Device drivers – Operating systems rely on these for

controlling hardware• File management utilities – attempt to repair corrupted files,

reorganise files to ‘defragment’ the memory• Virus checkers – check disks and memory for viruses and

delete them if detected.• Security and accounting software – checks user IDs and

passwords, counts and reports the number of attempts made to log on under each user ID, the amount of processor time used at each session, total login time etc.

• Programming tools – compilers, loaders, linkers and debuggers

Utility programs: DriversUtility programs: Drivers• Printer drivers are used to control the printer’s

functioning• Each type of printer requires its own driver• Printers work at speeds much slower than the

processor and the two must work as a coherent unit so that data may be transferred from the computer to the printer

Operating systemsOperating systems• DOS• Windows 95, NT, XP, 7• Macintosh (Mac OS)• UNIX• Linux

• Specially-built operating systems that are only used by 1 company or 1 device also exist

Operating system functionsOperating system functions• To overcome the speed mismatch between

computers and humans • To control hardware (input and output devices)• To share external resources between users such as

peripherals• To control/share software, e.g. multitasking,

multiuser• To allocate internal resources such as

memory/processor time• To prioritise system requests/interrupts• To provide an interface between the human and the

computer (HCI = human-computer interface)

Operating system functionsOperating system functions• A computer operates at electronic speeds which a

human cannot match, so it is up to the operating system to compensate for the speed mismatch

• A computer consists of a large number of components (hardware/software) which must be coordinated

• Management of internal/external memory:– by sharing it between programs and data– by restricting access

Operating system functionsOperating system functions• Supervision of the running of programs:– by loading them into internal memory when

required– by sharing resources between them (allocating

and scheduling)• To provide a user interface which enables them to

communicate with the system. This could be:– A command-line interface (eg MS-DOS)– A menu-driven interface (eg Nokia 3310 phone)– A GUI/graphical user interface (eg Apple OS X)

Operating system kernelsOperating system kernels• The kernel is a central component of the OS

• What does it control? Make a list now.

• It must be loaded into the IAS and kept there during the running of the computer

• The other parts of the OS do not always have to be held in the IAS

Memory managementMemory management• The operating system allocates blocks of IAS memory

to each program that runs• A block of memory can be used to hold data or the

program’s instructions• The data is held in separate locations to instructions• If 2 or more programs attempt to write to the same

memory location, or they send output to the same device simultaneously, a clash would occur and result in the corruption of data

Virtual MemoryVirtual Memory• Memory may be insufficient to cope with demand• Paging is a technique where large, identically-sized

blocks of memory are assigned to every program• When a page is in use, it is in RAM, but if it is not

needed, it is stored in the hard disk and reloaded when needed

• Too many swaps between RAM and the hard disk cause thrashing, which can halt all operations

OS modes of operationOS modes of operationSingle-userMulti-user

Multi-taskingMulti-programming

OS modes of operationOS modes of operationSingle-user• Designed to be used by 1 user at a time (palmtops).• The OS is responsible for interacting with one user

and only load one program into memory at any point in time.

• Eg a gas heating system has an LCD screen and a keypad to control the timings

OS modes of operationOS modes of operationMulti-tasking• Numerous user applications can run simultaneously• An interactive user can control a number of different

tasks/programs “simultaneously” with one task/program running in the foreground (active screen) and the others in the background

• The foreground task is given a greater proportion of processor time and so appears to be running while the others appear to be inactive

• The user can switch from one application to another without having to close one and open the other

OS modes of operationOS modes of operationMulti-tasking• Typical in WIMP (windows icons menus pointers)

systems so that the user can toggle between windows; each task may have its own window

• The CPU switches from one program/task to another very rapidly so it appears to be executing all current programs at the same time, but only one task is executed at a time

• The OS must keep track of where the user is in these tasks and enable them to go from one to the other without losing data (the OS allocates storage and other resources accordingly)

OS modes of operationOS modes of operationMulti-tasking• In pre-emptive multi-tasking• . . . slices of CPU’s time• . . . are shared between the current programs• In cooperative multi-tasking• . . . each program controls the CPU for as long as it

needs• . . . but can release it for another program• . . . if it does not need it• Interrupts are used to change the order when

appropriate

OS modes of operationOS modes of operationMulti-tasking• Each task can be totally independent of the others

OR• The tasks may be dependent e.g. they may share

data

OS modes of operationOS modes of operationMulti-programming• A number of non-interactive programs are executed

“simultaneously”• The programs occupy main memory simultaneously• Each program receives a memory space allocation• Processor time is switched between the programs• A priority will be allocated to each program• Used in a batch processing system where different

batch jobs can be executed without user intervention

OS modes of operationOS modes of operationMulti-user• Numerous users (a few users up to thousands of

users) can use the system simultaneously• Resources (processor time/peripherals) are shared

among the users using time slicing• The users are generally unaware of the other users• The OS must make sure that the resources allocated

to the current users are balanced so that each user has sufficient and resources while the overall performance of the system is satisfactory

• Games consoles with multi-player games are multi-user OS

Multi-user

Transaction Processing Transaction Processing ModesModes

Batch ProcessingReal-time Processing

TransactionsTransactions• Transactions are events which need to be recorded, such as

with the production, sale and distribution of goods and services. Specific examples include:– Buying an item in a store– Paying a gas bill– Taking out a library book– Applying for a driving licence– Enrolling on a college course– Applying for a University place– Notifying a new employer of your full name, address and

bank account details– Clocking in and out from work

Master and Transaction filesMaster and Transaction filesMaster file• Collection of records holding information about an entity such

as a person or good. Transaction file• Holds information about events occurring in the organisation.• For employee payroll file, basically two kinds of transactions:– Weekly / fortnightly transaction file with information of

hours worked – used to calculate employees wages or salary.

– Occasional other transactions to process – additions, changes and deletions to the file.• When new employee is hired, new record must be

added• When employee leaves, their record is deleted• Employee may change address, bank account, etc.

Batch processingBatch processing• Jobs are gathered and stored/held until a suitable

quantity is available OR• Jobs are stored/held for a specific time period

• All the orders in a batch are processed (usually in a large volume) at the same time

• … at a convenient time/off peak period• … in a similar way• … usually without the need for human supervision• … and validation by control/batch total is used• A script/command line language may be used

Batch processing: StagesBatch processing: Stages• The paper documents are collected into batches of

say 50, checked, control totals and hash totals calculated and written on a batch header document.

• The data is keyed in off-line and validated by a computer program.

• It is stored on a transaction file.• The data is verified by being entered a second time

by a different operator. Any discrepancies are corrected.

• The transaction file is transferred to the main computer. This may be physically or electronically between computers.

Batch processing: StagesBatch processing: Stages• Processing begins at a scheduled time – maybe

overnight when the network is not busy dealing with on-line users. All the processing steps (beginning with the next) can take place without operator intervention.

• Transaction file may be sorted into same sequence as master file to speed up the processing of the data

• The master file is updated• Any required reports are produced

Batch processing: Hash totalsBatch processing: Hash totals• A hash total is a meaningless total• All the values of a chosen field (an ID field, a date

field, an ISBN etc.) in a single batch of results will be added together to give the (meaningless) hash total

• The total gets included into the batch file• When the batch is processed the batch total will be

recalculated (automatically/by the computer) and compared with the original

• This can detect (some) errors in batch processing

Batch processing: Control totalsBatch processing: Control totals

• All the values of an attribute (field) are added together

• This becomes part of the data and is recalculated and checked to detect errors after the batch has gone through processing

• A control total can be useful in its own right – it could be the total price of a number of orders

• Unlike a hash total, a control total’s value will have a discernable meaning

Batch processingBatch processing• Suitable if data does not need to reflect the real-time

situation• Typically, large-scale batch system use data collected

on paper documents, or regular bulky weekly or monthly processes:– Payroll processing– Renewal of TV or driver’s licences– Old banking systems used them for cheques

Batch processingBatch processingQUESTION: When money is withdrawn from an

automatic teller machine (ATM), why is batch processing not suitable?

• If batch processing was used, data about transactions would be collected over a period of time and processed some time later

• Once cash has been withdrawn from an account at the ATM this must be reflected in the state/record of the account in the bank’s database

• Batch processing would be too slow to enable this to happen

Real-time ProcessingReal-time Processing• Transactions are processed directly/immediately

they occur• ... using an on-line computer system• Each transaction influences the next transaction• Each transaction must be completed in full before

the next transaction is processed• For example, at an ATM, the amount is withdrawn

from the account before any other transaction is permitted on that account

Real-time processingReal-time processing• This involves the processing of daily, routine business

transactions such as sales order processing/reservations

• Each transaction (events such as sales, purchases, payments received, payments made) is processed ‘straight away’ so that the system is updated fast enough before the next transaction is processed, in order to influence the next input

• ATM transactions use real-time processing because a cash withdrawal must be applied to the balance before another withdrawal can be made

Real-time processingReal-time processing• Transactions will involve changing master files• …eg inserting/modifying/deleting records• …eg bank withdrawls, goods returned, money sent• Transactions are processed as soon as they are

received by the computer system, without delay• Data files are updated immediately so that the

transaction can influence any further transactions• The state of the system/data is always up-to-date• The output can influence the next input (feedback)

Pseudo real-time processingPseudo real-time processingReal-time processing• Computer responds instantly and files are updated

immediately• Example - changes indicated by sensors and probes

in life-support systems or aircraft control systemsPseudo real-time processing• Computer records a transaction and more or less

immediately updates the master file (not instantly)• A delay of a few seconds is quite acceptable for

selling tomatoes in Sainsbury’s or borrowing a library book, unlike genuine real-time processing

• Example - British Airways Booking System

Choice of processing modeChoice of processing mode• Many applications use a combination of batch and interactive

processing. Choosing between modes depends on:– Does information obtained from the system need to be

up-to-date at all times?– The scale of the operation - Batch systems well suited to

very high volumes of data, when economical to have an off-line key-to-disk system for data entry.

– Cost - Real-time system is generally more expensive because of more complex backup and recovery procedures required to cope with power failures or breakdowns.

– Computer usage - Batch system can make use of spare computer capacity overnight or when computer would otherwise be idle. Common on mainframe computers.

Past Paper QuestionsPast Paper QuestionsCCEA AS ICT

1.2.5 System Software

Past Paper: Jan 2009 P2 Q5Past Paper: Jan 2009 P2 Q5(a) Describe the main features of batch processing. [4]

(b) Describe the main features of real-time processing. [4]

(c) Identify and justify a common application where batch processing is suitable. [2]

(d) Identify and justify a common application where real-time processing is suitable. [2]

Past Paper: Jan 2009 P2 Q5Past Paper: Jan 2009 P2 Q55 (a) Data is gathered/stored as a group... perhaps off-line... and processed when convenient... usually during an off peak period/overnightAll the data undergoes the same processing/similar data... with minimum/no human involvementThere is usually a large volume of data

(b) There is absolutely no delay in processing/immediate processingData is processed fast enough for an input... to influence the next input... or transaction... or the state of the systemThe output will influence the next input

(c) Example PayrollThis a regular monthly process [1] + [1] [2]

(d) Example ATM transactionsA cash withdrawal must be applied to the balance before anotherwithdrawal can be made [1] + [1]

Past Paper: Jan 2011 Q2cPast Paper: Jan 2011 Q2cAn automated heating system has been installed in a

home. The system uses real time processing.

Explain what is meant by real time processing in this case.

Past Paper: Jan 2011 Q2cPast Paper: Jan 2011 Q2c• The processing of data about the heating system as it

is received/generated• . . . and producing results without delay/immediate

feedback• . . . so the result is reflected/effective for the next

processing activity• Example – the system always has up-to-date data

about temperatures in the home

Past Paper: Jun 2011 Q3dPast Paper: Jun 2011 Q3dA lecturer uses a multi-tasking operating system.

Identify four main features of a multi-tasking operating system.

Past Paper: Jun 2011 Q3dPast Paper: Jun 2011 Q3d• Enables the user to perform more than one

task/program at a time • Each task may have its own window• Each task can be totally independent of the others• The tasks may be dependent e.g. they may share

data• The OS allocates storage and other resources

accordingly• In pre emptive multitasking, the OS allocates CPU

time slices to each program/task• In cooperative multitasking, each program has use of

the CPU for as long as it needs