System software - Bangor Grammar School

advertisement
System Software
AS ICT 1.2.5
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
Software
System 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
• 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: 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 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 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 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 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 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 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 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 operation
Single-user
Multi-user
Multi-tasking
Multi-programming
OS modes of operation
Single-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 operation
Multi-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 operation
Multi-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 operation
Multi-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 operation
Multi-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 operation
Multi-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 operation
Multi-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 multiuser OS
Multi-user
Transaction Processing
Modes
Batch Processing
Real-time Processing
Transactions
• 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 files
Master 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 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: 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: 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 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 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 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 processing
QUESTION: 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 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 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 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 processing
Real-time processing
• Computer responds instantly and files are updated
immediately
• Example - changes indicated by sensors and probes
in life-support systems or aircraft control systems
Pseudo 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 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 Questions
CCEA AS ICT
1.2.5 System Software
Past 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 Q5
5 (a) Data is gathered/stored as a group
... perhaps off-line
... and processed when convenient
... usually during an off peak period/overnight
All the data undergoes the same processing/similar data
... with minimum/no human involvement
There is usually a large volume of data
(b) There is absolutely no delay in processing/immediate processing
Data is processed fast enough for an input
... to influence the next input
... or transaction
... or the state of the system
The output will influence the next input
(c) Example Payroll
This a regular monthly process [1] + [1] [2]
(d) Example ATM transactions
A cash withdrawal must be applied to the balance before another
withdrawal can be made [1] + [1]
Past Paper: Jan 2011 Q2c
An 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 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 Q3d
A lecturer uses a multi-tasking operating system.
Identify four main features of a multi-tasking
operating system.
Past 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
Download