Professional Documents
Culture Documents
Notes-Chapter4 Software: Computer Science 0478
Notes-Chapter4 Software: Computer Science 0478
Software
For Cambridge IGCSE 0478 (from 2023)
Notes by:
Ms. Shomaila Sohail Notes in accordance with
https://www.youtube.com/wa
tch?v=e-YI-fjI8Nc
Firmware: Firmware is software that provides basic machine instructions to allow the hardware to
function and communicate with other software running on a device.
Software: Software is a set of instructions, data or programs used to operate computers
and execute specific tasks.
System Software: A software designed to provide a platform for other software. It is designed to run
a computer's hardware and application programs. For example operating systems, utility softwares
and device drivers.
Application Software: is a computer program designed to carry out a specific task other than one
relating to the operation of the computer itself, typically to be used by end-users. Word processors,
media players, and accounting software are examples
General features of application software.
The role of the operating system, utility programs and device drivers
Utility software (utilities) A software designed to help analyze, configure, optimize or maintain a
computer. Utility programs are often initiated by the user, but virus checkers runs in background
without user input.
Examples of Utility Softwares
1. » virus checkers
2. » defragmentation software
3. » disk contents analysis and repair
4. » file compression and file management
5. » back-up software
6. » security
7. » screensavers.
8. » Compression software
Note: Files become fragmented when data is written to disk, and there is not enough contiguous
space to hold the complete file.
Benefit:
• Increasing the efficiency of data retrieval and thereby improving the overall performance of the
computer as there will be faster data access and retrieval since the HDD will now require fewer
read-write head movements to access and read files.
• cleans the storage and provides additional storage capacity.
3-disk contents analysis and repair: It performs an analysis and repairs errors on disks which are not
in use.
4- back-up utility software: Backup software are computer programs used to perform a backup of
data, programs and files. The backed up copies are later used to restore the original contents in the
event of data loss.
How back-up software work:
» 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
5-Security software
» 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 Firewalls.
» uses encryption and decryption.
» oversees the updating of software
6-Screensavers
Screensavers are programs that supply moving and still images on the monitor screen after a period
of inactivity by the computer.
» used as part of the computer’s security system. If a computer is unused for five minutes,
and not logged out, the screensaver to be loaded, user will then be automatically logged out
and computer is now locked. This gives an extra layer of security for computers used in an office
environment, for example.
»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.
Device drivers
Device drivers are software that communicate with the operating system and translate data into a
format understood by a hardware peripheral device. Without device drivers, a hardware device
would be unable to work with a computer.
How device drivers work:
» As soon as a device is plugged into a USB port,the operating system looks for the appropriate
device driver.
» All USB device drivers contain a collection of information about devices called descriptors; this
allows the USB bus to ask a newly connected device what it is.
» Descriptors include vendor id (VID), product id (PID) and unique serial numbers.
» If a device has no serial number associated with it, the operating system will treat the device as
new every time it is plugged into a USB port.
» Serial numbers must be unique for each device plugged in.
These are programs that allow the user to do specific tasks other than one relating to the operation
of the computer itself, typically to be used by end-users. Examples include:
• Word Processor
• Spreadsheet
• Database
• Control and measuring software
• Photo editing software
• Video editing software
• Graphics manipulating software
• Apps
An operating system is a collection (or suite) of programs that manages, controls and Provide an
environment in which applications can run on the computer and provides a useable interface
between humans and computer.
Types/Forms of HCI:
GUI:
Mobile UI
Further detail:
» manages the primary storage (RAM) and allows data to be moved between RAM and HDD/SSD
during the execution of programs
» If competing applications would by chance use same memory the following might happen:
– data would probably be lost
– applications could produce incorrect results (based on the wrong data being in memory locations)
– 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)
– in extreme cases, the computer could crash.
Security management
Security management ensure the integrity, confidentiality and availability of data.
» performs operating system updates.
» ensure anti-virus software is always up to date
» check all traffic to and from the computer using firewalls.
» by setting up user accounts using username/passwords to ensure privacy of data.
» maintain access rights for all users
» offers recovery of data and system restore
» prevent illegal intrusion into the computer system.
Hardware peripheral management
Hardware management involves all input and output peripheral devices.
» communicates with all input and output devices using device drivers
» uses a device driver to translate data into a format that the input/output device can understand.
» ensures priority of each hardware resource so that they can be used and released as required
» manages input/output devices by controlling queues and buffer.
How an operating system manages printing process:
o the printer driver is located and loaded in memory
o the data is sent to a printer buffer 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
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
Multitasking: Multitasking allows computers to carry out more than one task at a time. Each of the
processes will share the hardware resources under the control of the operating system software.
How an operating system constantly monitor the status of each of the processes under its control?
» 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
Benefit of Multitasking:
o Using multitasking management, main memory,
HDD/SSD and virtual memory are better managed
making the most effective use of CPU time.
o This allows computers to carry out more than one task at a time.
Management of user accounts: This refers to allowing more than one user to logon to the computer
system by storing user’s data in separate parts of memory for security reasons. Each user has a user
account protected by a separate user name and password. The administrator can create accounts,
delete user accounts and restrict user account activity.
The operating system manages user accounts by allowing each user to:
» customise their screen layout and other settings
» use separate folders and files and to manage these themselves.
Further details:
Very often an administrator oversees the management of these user accounts. The administrator can
create accounts, delete user accounts and restrict user account activity. On large university or
industrial computers, part of the operating system’s tasks will be to oversee several users’ accounts,
since a complex multi-user system may be in place. The operating system has to maintain accounts
for several users, managing data that may range from personal data and technical research work
down to the ordering of stationery. Multi-access levels permit this control to take place. For example,
a clerk in the office may have access to ordering stationery but can’t have access to any personal
data.
Interrupts
A signal sent from a device or from software to the microprocessor. This will cause the
microprocessor to temporarily stop what it is doing so that it can service the interrupt.
Causes of Interrupts/ Why interrupts are generated:
Interrupts can be caused by:
» 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 , 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).
How interrupts are handled:
Once the interrupt signal is received, operating system uses the instructions in Interrupt handler to
read instructions to service interrupt. The microprocessor either carries on with what it was doing or
stops to service the device or program that caused the interrupt. The computer needs to identify the
interrupt type and the level of interrupt priority.
Steps to service interrupt during fetch decode cycle :
• 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.
Q2
Q3
Q5
Answer 2
Answer 3
Answer 4
Answer 5
Benefits:
Easier to:
» read, understand, maintain as the uses English like statements
» write in a shorter time as the uses English like statements
»Easier to debug at the development stage as the uses English like statements
» maintain once in use.
» The program can run on different platforms because it is compiled into object code.
» They have built-in libraries/ functions, so saves tie when writing program
» Do not need to manipulate memory addresses directly therefore specialist knowledge of this is not
required.
» Less likely to make errors.
» one line of code can carry out multiple commands.
Examples: C++, Delphi, Java, Pascal, Python, Visual Basic They are used to develop desktop
applications, websites, system software’s, utility software’s and many more.
Low-level languages
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.
Machine code: A language that computer understands. It is in binary form and consists of 1’s and 0’s
It is not easy to understand program in binary. Machine code is usually shown in hexadecimal.
Assembly languages:
Assembly language needs to be translated into machine code using an assembler in order to run.
Instead of using raw binary sequence to represent an instruction set, assembly language uses
mnemonics. Examples of mnemonics are – ADD, MOV, SUB etc.
Why assembly language is used:
» 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.
Translators
Translator is a utility program that translates a program into binary (machine code) before computer
can use it.
Types of translator:
• Compiler
• Interpreter
• Assembler
Compilers
o A compiler is a computer program that translates an entire program written in a highlevel
language (HLL) into machine code all in one go so that it can be directly used by a computer to
perform a required task.
o Once a program is compiled the machine code can be used again and again to perform the same
task without re-compilation.
o If errors are detected, then an error report is produced instead of a compiled program.
Interpreters
o 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.
o If there is an error in the statement then execution ceases and an error message is output,
sometimes with a suggested correction.
o A program needs to be interpreted again each time it is run.
Assemblers
o 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.
o Once a program is assembled the machine code can be used again and again to perform the
same task without re-assembly.
IDE Features:
» code editors
» a translator
» a runtime environment with a debugger
» error diagnostics
» auto-completion
» auto-correction
.( most code editors colour code the words in the program and lay out the program in a meaningful
way – this is called prettyprinting)
Q1
Q3
Q5
Q6
Answer for Q 2
Answer for Q 3
Answer for Q 4
Answer for Q 6