Upload
kellie-jordan
View
222
Download
1
Embed Size (px)
Citation preview
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
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-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
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: 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