0% found this document useful (0 votes)
3 views28 pages

Chapter 4 - Software

The document provides an overview of software types, including system and application software, and their general features. It discusses utility software, antivirus software, backup solutions, security measures, and the role of operating systems in managing hardware and user accounts. Additionally, it covers human-computer interfaces, memory management, multitasking, and file management functionalities within operating systems.

Uploaded by

talhaashfaq.pro
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views28 pages

Chapter 4 - Software

The document provides an overview of software types, including system and application software, and their general features. It discusses utility software, antivirus software, backup solutions, security measures, and the role of operating systems in managing hardware and user accounts. Additionally, it covers human-computer interfaces, memory management, multitasking, and file management functionalities within operating systems.

Uploaded by

talhaashfaq.pro
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 4

Software
O Level
Computer Science 2210
Types of software
Two types of software:

1. System software
2. Application software

General features of system software

 set of programs to control and manage the operation of computer hardware


 provides a platform on which other software can run
 required to allow hardware and software to run without problems
 provides a human computer interface (HCI)
 controls the allocation and usage of hardware resources

General features of application software

 used to perform various applications (apps) on a computer


 allows a user to perform specific tasks using the computer’s resources
 may be a single program (for example, NotePad) or a suite of programs (for example, Microsoft Office)
 user can execute the software as and when they require
Utility software (utilities)

What is a utility software?

 It is part of an operating system which carries out certain functions such as virus checking,
defragmentation and screensaver.
 Utility programs are often initiated by the user, but some, notably virus checkers, often just run in the
background without the need for any user input.

Virus checkers (anti-virus software)


What is a malware?
It is a programs (such as viruses, worms and Trojan horses) that are installed on a user’s computer with the
aim of deleting, corrupting or manipulating data illegally.
What are the ways to prevent malware or viruses other than installing antivirus?
 such as being careful when downloading material from the internet
 not opening files or websites given in emails from unknown senders
 by not using non-original software

Define antivirus software (virus checker).


It is a software that quarantines and deletes files or programs infected by a computer virus; the software can
run in the background or be initiated by the user.

Features of anti-virus software

 they check software or files before they are run or loaded on a computer
 anti-virus software compares a possible virus against a database of known viruses
 they carry out heuristic checking – this is the checking of software for types of behaviour that could
indicate a possible virus; this is useful if software is infected by a virus not yet on the database
 any possible files or programs which are infected are put into quarantine which:
o allows the virus to be automatically deleted, or
o allows the user to make the decision about deletion (it is possible that the user knows that the file or
program is not infected by a virus – this is known as a false positive and is one of the drawbacks of anti-
virus software)
 anti-virus software needs to be kept up to date since new viruses are constantly being discovered
 full system checks need to be carried out once a week, for example, since some viruses lie dormant and
would only be picked up by this full system scan.

Define heuristic checking?


Heuristic checking is checking software for behaviour that could indicate a possible virus.

Define quarantine.
Quarantine is to isolate (in order to later delete) a file or program identified by anti-virus software as being
infected by a virus.

Defragmentation software
How fragmentation occurs in HDD?
 As a HDD becomes full, blocks used for files will become scattered all over the disk surface (in potentially
different sectors and tracks as well as different surfaces).
 This will happen because files will become deleted, partially-deleted, extended and so on over time.
 The consequence of this is slower data access time; the HDD read-write head will now require several
movements just to find and retrieve the data making up the required file.

What is meant by contiguous blocks?


Contiguous blocks means next to each other.

What is a defragmentation software?


It is a software that reorganises sectors on an HDD by rearranging blocks of data so that they are contiguous.

Back-up software
Define backup?
Backup means to make copies of files onto another storage media in case the original file becomes corrupted
or is deleted.

How many versions of a file should we have to achieve total security?

1. the current (working) version stored on the internal HDD or SSD


2. a locally backed up copy of the file (stored on a portable SSD, for example)
3. a remote back-up version stored well away from the computer (for example, using cloud storage).
How the backup utility in operating system works?

 allow a schedule for backing up files to be made


 only carry out a back-up procedure if there have been any changes made to a file

How the Microsoft Windows environment provides backup utility?

 restore data, files or the computer from the back-up (useful if there has been a problem and files have
been lost and need to be recovered)
 create a restore point (this is basically a kind of ‘time machine’ where your computer can be restored to its
state at this earlier point in time; this can be very useful if a very important file has been deleted and can’t
be recovered by any of the other utilities)
 options of where to save back-up files; this can be set up from the utility to ensure files are automatically
backed up to a chosen device.

How Windows file history works?


 Windows uses File History, which takes snapshots of files and stores them on an external HDD at regular
intervals.
 Over a period of time, File History builds up a vast library of past versions of files – this allows a user to
choose which version of the file they want to use.
 File History defaults to backing up every hour and retains past versions of files for ever unless the user
changes the settings.

How Time Machine utility works in Mac OS?

 This erases the contents of a selected drive and replaces them with the contents from the back-up.

 To use this facility, it is necessary to have an external HDD or SSD (connected via USB port) and ensure
that the Time Machine utility is installed and activated on the selected computer.

 Time machine will automatically:

o back-up every hour


o do daily back-ups for the past month, and
o weekly back-ups for all the previous months.
Security software
Give the tasks performed by security software utility.
 manages access control and user accounts (using user IDs and passwords)
 links into other utility software, such as virus checkers and spyware checkers
 protects network interfaces (for example, through the use of firewalls)
 uses encryption and decryption to ensure any intercepted data is meaningless without a decryption key
 oversees the updating of software (does the update request come from a legitimate source, for example).

Screensavers
Define screensaver utility program.
It is a software that supplies a still or moving image on a monitor if a computer has been inactive for a period
of time

Why were screensavers developed for older computers?


 They were originally developed to protect older CRT (cathode ray tube) monitors which would suffer from
‘phosphor burn’ if the same screen image remained for any length of time.
 With modern LCD and OLED screens, this problem no longer exists; consequently, screensavers are now
mostly just a way of customising a device.

How screensavers are used for security of a computer?


 If a computer is unused for five minutes, for example, and hasn’t been logged out, this will trigger the
screensaver to be loaded.
 The computer user will then be automatically logged out and a screensaver will indicate that the
computer is now locked.
 This gives an extra layer of security for computers used in an office environment, for example.

What background tasks can be performed while screensaver is on?

Some screensavers are often used to activate useful background tasks that can only go on when the computer is in
an ‘idle’ state. For example:

 virus scans
 distributed computing applications – these allow apps to use the computer’s resources only when it is
idle (for example, an online gaming app).

Device drivers
Define device driver.
Device driver is a system software that communicates with the operating system and translates data into a
format understood by the device.

What happens when a device driver for any device is not installed?
 Without device drivers, a hardware device would be unable to work with a computer – a message such as
‘device not recognised’ would appear on the screen.
 As soon as a device is plugged into a USB port (for example, a memory stick, printer or camera), the
operating system looks for the appropriate device driver.

Define descriptor.
descriptor is a collection of information about a device plugged into a USB port; this can be vendor ID (VID),
product ID (PID) or serial number.
Operating systems
What is an operating system?
 It is a system software that provides an environment in which applications can run and also provides an
interface between computer and human operator.
 An operating system also disguises the complexity of computer software and hardware.
 Common examples of operating systems include: Microsoft Windows, Apple Mac OS, Google Android and Apple
IOS (the latter two being used primarily on tablets and smartphones).

What are the common features/functions or tasks of an operating system?


 Human Computer Interface (HCI)
 Multitasking
 Platform for running of application software
 Management of user accounts
 Managing files
 Hardware peripheral management
 Memory management
 Interrupt handing
 Security management

Human computer interface (HCI)


What is human computer interface (HCI)?
 It is an interface supplied by the operating system to ‘hide’ the complexities of the software and
hardware from the human user
 Two forms of HCI
 Command Line Interface (CLI)
 Graphical User Interface (GUI)

What is CLI?
It is an interface which allows communication with the computer by typing in commands using a keyboard

Advantages of CLI:
 the user is in direct communication with the computer
 the user is not restricted to a number of pre-determined options
 it is possible to alter computer configuration settings
 uses a small amount of computer memory

Disadvantages of CLI:
 the user needs to learn a number of commands to carry out basic operations
 all commands need to be typed in which takes time and can be error prone
 each command must be typed in using the correct format, spelling, and so on

What is GUI?
It is an interface that uses icons to represent apps and tasks which the user can select/launch by clicking on a
mouse or using a touch screen.

Advantages of GUI:
 the user doesn’t need to learn any commands
 it is more user-friendly; icons are used to represent applications
 a pointing device (such as a mouse) is used to click on an icon to launch the application – this is simpler
than typing in commands or a
 touch screen can be used where applications are chosen by simply touching the icon on the screen

Disadvantages of GUI:
 this type of interface uses up considerably more computer memory than a CLI interface
 the user is limited to the icons provided on the screen
 needs an operating system, such as Windows, to operate, which uses up considerable memory

What is WIMP?
 Windows, Icons, Menus and Pointer.

 Here a mouse is used to control a cursor and

 icons are selected to open/run windows.

 Each window contains an application

 Menus are the set of options provided to the user

Who would prefer to use CLI interface?


a programmer, analyst or technician; basically somebody who needs to have a direct communication with a computer to
develop new software, locate errors and remove them, initiate memory dumps (contents of the computer memory at
some moment in time), and so on

Who would prefer to use GUI interface?


the end-user who doesn’t have or doesn’t need to have any great knowledge of how the computer works; a person who
uses the computer to run software or play games or stores/manipulates photographs, for example.

Memory management
What is memory management by operating system?
It is the part of an operating system that controls main memory

Memory management carries out the following functions:

 manages the primary storage (RAM) and allows data to be moved between RAM and HDD/SSD during
the execution of programs
 keeps track of all the memory locations
 carries out memory protection to ensure that two competing applications cannot use the same memory
locations at the same time. If this wasn’t done the following might happen:
o data would probably be lost
o applications could produce incorrect results (based on the wrong data being in memory locations)
o potential security issues (if data is placed in the wrong location, it might make it accessible to
other software, which would be a major security issue)
o in extreme cases, the computer could crash.

Security management
What is security management by operating system?
Security management is another part of a typical operating system; the function of security management is to
ensure the integrity, confidentiality and availability of data.

This can be achieved as follows:

 by carrying out operating system updates as and when they become available
 ensuring that anti virus software (and other security software) is always up to date, preserving the
integrity, security and privacy of data
 by communicating with, for example, a firewall to check all traffic to and from the computer
 by making use of privileges to prevent users entering ‘private areas’ on a computer that permits multi-
user activity (this is done by setting up user accounts and making use of passwords and user IDs); this
helps to ensure the privacy of data
 by maintaining access rights for all users
 by offering the ability for the recovery of data (and system restore) when it has been lost or corrupted
 by helping to prevent illegal intrusion into the computer system (also ensuring the privacy of data).

Hardware peripheral management


What is hardware management by operating system?
It is the part of an operating system that controls all input and output devices; it is made up of sub-systems
such as printer management
The following tasks are carried out:

 communicates with all input and output devices using device drivers
 uses a device driver to take data from a file (defined by the operating system) and translates it into a
format that the input/output device can understand
 ensures each hardware resource has a priority so that they can be used and released as required

How printer management is carried out by operating system?


Operating system manages input/output devices by controlling queues and buffers; consider the role of the printer
management when printing out a document:
o first of all, the printer driver is located and loaded into memory
o then the data is sent to a printer buffer ready for printing
o if the printer is busy (or the printing job has a low priority) then the data is sent to a printer
queue before it can be sent to the printer buffer
o it will send various control commands to the printer throughout the printing process
o it receives and handles error messages and interrupts from the printer

File management
Why is file management by operating system?
File management is a part of an operating system that manages files in a computer (for example, the ability to
create, delete, copy, open, close and rename files)

The main tasks of file management include:


 file naming conventions which can be used i.e. [Link] (where the extension can be
.bat, .htm, .dbf, .txt, .xls, etc.)
 performing specific tasks (for example, create, open, close, delete, rename, copy, and move)
 maintaining the directory structures
 ensuring access control mechanisms are maintained (for example, access rights to files, password
protection, or making files available for editing or locking them)
 ensuring memory allocation for a file by reading it from the HDD/SSD and loading it into memory.

Multitasking
Define multitasking.
It is a function that allows a computer to process more than one task/process at a time.
How multitasking is managed by operating system?
 resources are allocated to a process for a specific time limit
 the process can be interrupted while it is running
 the process is given a priority so it can have resources according to its priority (the risk here is that
a low priority process could be starved of resources).

Management of user accounts


What is a user account?
User account is an agreement that allows an individual to use a computer; the user needs a user name and
password to enter the user’s area.
How a user account is protected?
Each person logging onto the computer will be given a user account protected by a user name and password.
What each user is allowed to do when logged in?

 customise their screen layout and other settings


 use separate folders and files and to manage these themselves
Who is an administrator?
Administrator is a person responsible for the upkeep and maintenance of a computer system that involves
multi-user function
What are the main tasks performed by an administrator?
The administrator can create accounts, delete user accounts and restrict user account activity.
Running of applications
What is booting up or bootstrap loader?
It is a small program that is used to load other programs to correctly ‘start-up’ a computer system.
What happens when we start a computer?
 When a computer starts up, part of the operating system needs to be loaded into RAM – this is known as
booting up the computer (or a bootstrap loader).
 The start-up of the computer’s motherboard is handled by the basic input/output system (BIOS).

 The BIOS tells the computer where the storage device that holds the operating system can be found; it
then loads the part of the operating system that is needed and executes it.

Define BIOS?
BIOS (Basic Input Output System) is a program a computer’s microprocessor uses to start the computers system after it is
powered on. It also manages data flow between the computer’s operating system and attached devices.

Where BIOS program is stored?


 The BIOS program is stored in a special type of ROM, called an EEPROM (Electrically Erasable Programmable
ROM).
 EEPROM is a flash memory chip, which means its contents remain even when the computer is powered down.
 However, it also means the BIOS can be rewritten, updated or even deleted by a user.

Where BIOS settings are stored?


 The BIOS settings are stored on a CMOS chip (Complementary Metal Oxide Semi-conductor).
 The CMOS is powered up at all times via a rechargeable battery on the motherboard.

What happens when CMOS is removed or disconnected?


 The BIOS settings would be reset if the battery was removed or disconnected for some reason.
 Once the CMOS is re-started, it will access the same BIOS program from EEPROM, but the settings will
now be the default factory settings.

What happens when a user changes the BIOS settings?


If a user has changed the BIOS settings (for example, the clock speed), the settings will revert to those settings
made at the factory once power is restored to the CMOS.

What is a firmware?

 Firmware is defined as a program that provides low level control for devices.
 The BIOS is often referred to as firmware.

Interrupts
What is an interrupt?

 Interrupt is a signal generated by a hardware or a software that requires processor’s attention.

 This will cause the microprocessor to temporarily stop what it is doing so that it can service the interrupt.

What can cause an interrupt?


 a timing signal
 an input/output process (for example, a disk drive or printer requiring more data)
 a hardware fault (for example, a paper jam in the printer)
 user interaction (for example, the user presses a key (or keys) on a keyboard, such as
<CTRL><ALT><BREAK>, which causes the system to be interrupted)
 software errors that cause a problem (for example, an .exe file that cannot be found to initiate the
execution of a program, two processes trying to access the same memory location, or an attempt to
divide by zero).

What happens when an interrupt is received by a microprocessor?

 The computer needs to identify the interrupt type and also establish the level of interrupt priority.

 If the priority is higher than the tasks processor is currently executing, it will stop and will service
the interrupt.

 Otherwise, it will carry on with what it was doing.

How multitasking is possible in an operating system?

 Interrupts allow computers to carry out many tasks or to have several windows open at the same time.

 An example would be downloading a file from the internet at the same time as listening to some music
from a library.
 Interrupts allow these two functions to co-exist and the user has the impression that both functions are
being carried out simultaneously.

 In reality, data is being passed in and out of memory very rapidly allowing both functions to be serviced.

 This can all be achieved by using an area in memory known as a buffer.

What is a buffer?

Buffer is a temporary storage area that is used to store data to compensate the speed difference
between two devices.

How buffer is used while downloading/watching a movie from the internet?

 Buffers are used when downloading a movie from the internet to compensate for the difference between
download speeds and the data requirements of the receiving device.

 The data transmission rate of the movie file from the web server to the buffer must be greater than the rate
at which data is transmitted from buffer to media player.

 Without buffers, the movie would frequently ‘freeze’.

How an interrupt is serviced by the operating system?


 Whenever an interrupt is received it needs to be serviced.
 The status of the current task being run first needs to be saved.
 The contents of the Program Counter (PC) and other registers are saved.
 Then the interrupt service routine (ISR) is executed by loading the start address into the Program
Counter (PC).
 Once the interrupt has been fully serviced, the status of the interrupted task is reinstated (the contents of
all the saved registers are then retrieved) and the process continues.

How buffers and interrupts are used in printing a document from a printer?
 The time taken to print out a document is much longer than the time it takes for the microprocessor to
send data to the printer.
 Without buffers and interrupts, the microprocessor would remain idle waiting for a document to be
printed.
 This would be an incredible waste of microprocessor time; the buffers and interrupts allow the
microprocessor to carry on with other tasks while the document is being printed thus maximising its
processing power and speed.
Types of programming languages
Define high level and low level language:

High level language: a programming language that is independent of computer hardware, a program written in
a HLL needs to be translated into machine code before it is executed.

Low level language:


High Level Language: a programming language that is dependent on computer hardware, both machine code
and assembly language are LLLs
 High-level languages enable a programmer to focus on the problem to be solved
 require no knowledge of the hardware and instruction set of the computer that will use the program.
 Many high-level programming languages are portable and can be used on different types of computer.
 Programming statements are easier to understand than those written in a low-level language.
Programs written in high level language are easier to :
 read and understand as the language used is closer to English
 write in a shorter time
 debug at the development stage
 maintain once in use
Examples of high level language:
C++, Delphi, Java, Pascal, Python, Visual Basic and many more
Example of a statement written in high level language:

Advantages of high level language:


 independent of the type of computer being used
 easier to read, write and understand programs
 quicker to write programs
 programs are easier and quicker to debug
 easier to maintain programs in use

Disadvantages of high level language:


 programs can be larger
 programs can take longer to execute
 programs may not be able make use of special hardware

Low-level languages
 Low-level languages relate to the specific architecture and hardware of a particular type of computer.
 Low-level languages can refer to machine code, the binary instructions that a computer understands,
or assembly language that needs to be translated into machine code.

Advantages of low level language:


 can make use of special hardware in primary memory
 includes special machine-dependent instructions
 can write code that doesn’t take up much space
 can write code that performs a task very quickly

Disadvantages of low level language:


 it takes a longer time to write and debug programs
 programs are more difficult to understand

Machine code:
What is machine code?
A binary programming language, a program written in machine code can be loaded and executed without
translation
 Programmers do not usually write in machine code as it is difficult to understand, and it can be
complicated to manage data manipulation and storage.
 Example of machine code:

Assembly languages:
Define Assembly language.
a programming language that is dependent on computer hardware, a program written in an assembly
language program needs to be translated into machine code before it is executed
Why some programmers use Assembly language:
 to make use of special hardware
 to make use of special machine-dependent instructions
 to write code that doesn’t take up much space in primary memory
 to write code that performs a task very quickly.
Example of an Assembly language program:

Language translators
What are language translators?
A computer program that converts a program written in a high-level language program into machine code

Types of language translators:


Compiler:
 A compiler is a computer program that translates an entire program written in a high level language
(HLL) into machine code all in one go so that it can be directly used by a computer to perform a
required task.
 Once a program is compiled the machine code can be used again and again to perform the same task
without re-compilation.
 If errors are detected, then an error report is produced instead of a compiled program.

Advantages of complier:
 a compiled program can be stored ready for use
 a compiled program can be executed without the compiler
 a compiled program takes up less space in memory when it is executed
 a compiled program is executed in a shorter time

Disadvantages of compiler:
it takes a longer time to write, test and debug programs during development
Interpreter:
 An interpreter is a computer program that reads a statement from a program written in a high-level
language, translates it, performs the action specified and then does the same with the next statement
and so on.
 If there is an error in the statement then execution ceases and an error message is output, sometimes
with a suggested correction.
 A program needs to be interpreted again each time it is run.

Advantages of interpreter:
 easier and quicker to debug and test programs during development
 easier to edit programs during development

Disadvantages of interpreter:
 programs cannot be run without the interpreter
 programs can take longer to execute

Assemblers
 An assembler is a computer program that translates a program written in an assembly language into
machine code so that it can be directly used by a computer to perform a required task.
 Once a program is assembled the machine code can be used again and again to perform the same task
without re-assembly.

Differences / comparison between compiler, interpreter and assembler:


Integrated Development Environment (IDE)
 An Integrated Development Environment (IDE) is used by programmers to aid the writing and
development of programs.
 There are many different IDEs available; some just support one programming language, others can be
used for several different programming languages.

Features of IDE
 code editors : A code editor allows a program to be written and edited without the need to use a
separate text editor. This speeds up the program development process, as editing can be done without
changing to a different piece of software each time the program needs correcting or adding to.
 a translator: Most IDEs usually provide a translator, this can be a compiler and/or an interpreter, to
enable the program to be executed. The interpreter is often used for developing the program and the
compiler to produce the final version of the program to be used.
 a runtime environment with a debugger: A debugger is a program that runs the program under
development
o allows the programmer to step through the program a line at a time (single stepping)
o to set a breakpoint to stop the execution of the program at a certain point in the source code.
o A report window then shows the contents of the variables and expressions evaluated at that
point in the program. This allows the programmer to see if there are any logic errors in the
program and check that the program works as intended.
 error diagnostics : Dynamic error checking finds possible errors as the program code is being typed,
alerts the programmer at the time and provides a suggested correction.
 auto-completion: Code editors can offer context-sensitive prompts with text completion for variable
names and reserved words.
 auto-correction
 an auto-documenter : explain the function and purpose of programming code.
 prettyprinting: Most code editors colour code the words in the program and lay out the program in a
meaningful way

Past paper questions

You might also like