Grade 11 Chapter 4 Computer Science
Grade 11 Chapter 4 Computer Science
SCIENCE
DEFINITION OF A SOFTWARE
A software is a set of instruction and data written in a programming language that performs
one or more task to tell the computer what to do.
Installed on your computer, depending on whether you have chosen a MAC or PC,
will be an OPERATING SYSTEM, maybe IOS or WINDOWS.
The operating System also includes utility programs and hardware drivers.
CLASSIFICATION OF SOFTWARE
The software can be characterized into two types of software mainly:
SOFTWARE
1
System software
Definition
A system software is a type of computer program designed to manage and control a
computer's hardware while providing basic services to higher-level application software.
It serves as a bridge between the hardware and the application programs, allowing them to
communicate effectively.
Device Driver( Part of the OS or installed manually)- a software that enables hardware
to communicate with the operating system( Plug and play).
Compilers-translate high-level programming language into machine code.
Utilities software- built into the operating system to carry out a specific task.
2
Examples of utility software( system software)
Antivirus is a kind of software designed, prevent and remove malicious software, commonly
known as malware, and other devices. This include viruses, worms, Trojan horses, spyware
and more.
Antivirus programs work by scanning your device for known threats and suspicious
behaviors, blocking and eliminating them to protect your data and system integrity. They
often provide real-time protection, meaning they continuously monitor your device for
potential threats.
They are able to check software of files they are run or loaded on a computer. They
compares a possible virus against a database of known viruses.
3
Defragmentation software- when HDD becomes full, block used for files will be scattered all
over the disk surface. Data accessing will be faster if files could be stored in contiguous
sectors to reduce HDD head movements.
Defragmentation reduces the amount of fragmented files on a hard disk.
It recognizes related files and puts them in the same physical location.
OS
- windows-file history
- Mac-OS- Time-machine
Screensavers
4
Screensavers are programs that supply moving and still images on the monitor
screen after a period of inactivity by the computer. 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.
Application software
Definition
Application Software or known as apps( in other terms) ,refers to programs
designed to perform specific tasks for users. It interacts directly with the end user to
execute commands and manage specific functions on a computer or a devise.
Examples
Word processor
Word processing software is used to manipulate a text document, such as an essay
or a report. Text is entering using a keyboard and the software provides tools for
copying, deleting and various of formatting. Some of the functions of word
processing software include:
- creating, editing, saving and manipulating text
- copy and paste functions
- spell checkers and thesaurus
- import photos/images into a structured format
-Translation into a foreign language
Spreadsheet
Spreadsheet software is used to organise and manipulate numerical data( in the
form of integer, real, date, and so on). numbers are
organise on a grid of lettered columns and numbered
5
rows. The grid itself is made up of cells, and each cell is identified using a unique
combinations of columns and rows the grid itself is made up of cells, and each is
identified using a unique combinations of columns and rows, for example, B6.
Some of the functions of spreadsheets include
a) Uses of formulas to carry out calculations
b) Ability to produce graphs
c) Ability to do modelling and’’ what if’’ calculations.
Database
Data base is used to organise, manipulate and analyse data. A typical database is
made up of one or more tables. Tables consists of rows and columns. Each row is
called a ‘’record’’ and each column is called a ‘’filed’’. this provides the basic
structure for the organisation of the data within the database.
Apps
Apps is short of applications- type of software
They normally refer to software which run on mobile phones or tablets. They are
normally downloaded from an ’’App Store’’ and range from games to sophisticated
software such as phone banking.
Common examples of apps include:
Video and music streaming
Gps( global positioning systems-help you find you way to a chosen location)
Camera facility ( taking photos and storing/manipulating the images taken)
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-a
6
message such as ‘device not recognised’ would appear on the scree. 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.
All USB 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
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 since this could
prove rather interesting if two different devices with the same serial number were
plugged into a computer at the same time.
Operating system( part of the system software)
7
The human computer interface( HCI) is the form of a command line interface( CLI)
or graphical user interface( GUI)
WIMP was developed for use on personal computers( PC). Here a mouse is used to
control a cursor and icons are selected to open/ run windows. Each window contains
an applications and modern computer systems allow several windows to be open at
the same time.
Difference between GUI and CLI interfaces
8
Interface Advantages Disadvantages
Command line The user is in direct communication with The user needs to learn a number of
interface( CLI) the computer commands to carry out basic operations. All
commands need to be types in which takes
The user is not restricted to a number of time and can be error-prone each
pre-determined options. command must be types in using the
correct format, spelling, and so on.
It is possible to alter computer
configuration settings.
9
Manages the primary storage( RAM) and allows data to be move between RAM
and HDD/SSD during the execution of programs
Keep track of all the memory locations.
Carries out memory protection to ensure that two competing applications
cannot use them same memory locations at the same. If this wasn’t done the
following might happen:
a) Data would probably be lost
b) Applications could produce incorrect results( based on the wrong data being in
memory locations)
c) 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)
d) In extreme cases, the computer could crash.
Security managements( operating system) part of the system software
Security management, is another job of the operating system; its function is to
ensure the integrity, confidentiality and availability of data.
Tasks include:
Carrying out updates as and when they become available
Ensuring that anti-virus software is always up to date
Communicating with a firewall to check all traffic to and and from the computer.
Using ‘’privileges’’ to prevent users entering ‘’private areas’’ on a computer that
permits multi-user activity; this helps to ensure the privacy of data
Maintaining access rights for all users.
Offering the ability for the recovery of data when it has been lost or corrupted
Helping to prevent illegal intrusion into the computer system.
Hardware peripheral management( operating system) part of the system software
This involves the management of all input and output peripheral devices
Tasks include:
Communicates with all input and output devices using device drivers
Ensures each hardware resource has a priority so that they can be used and
released as required.
Manages input/output devices by controlling queues and buffers; for example
the role of the printer management when printing out a document:
a) First the printer driver is located and loaded into memory
b) The data is then sent to a printer buffer ready for printing
c) If the printer is busy then the data is sent to a printer queue before it can be
sent to the printer buffet.
d) It receives and handles error messages and interrupts from the printer.
File management( operating system) part of the system sofware
File management tasks include;
File naming conventions which can be used I.e filename.docx
Performing specific task, such as; create, open, delete, rename, copy and move
files.
Maintain the directory structures
Ensuring access control mechanisms are maintained( for example, access rights
to files, passwords protection, or making files available for editing or locking
them
10
Ensuring memory allocation for a file by reading it from the HDD/ SSD and
loading it into memory.
Multitasking( operating system) part of the system software
Multitasking means computers can carry out more than one task at a time
Each of these tasks will share the CPU and memory under the control of the
operating system software.
To make sure that multitasking operates correctly, the operating system need to
continuously monitor each of the processes.
a) Resources are allocated to a task for a specific time limit
b) The task is given be interrupted while it Is running
c) The task is given a priority so it can have resources according to its priority.
Running of applications
When a computer starts up, a part of the operating system is loaded into RAM this is
known as booting up the RAM computer.
The BIOS tells the computer where the operating system can be found on the hard
drive; it then loads the part of the operating system that is needed and executes it.
Firmware is defined as a program that provides low level control for devices. It is
permanents software programmed into a read-only memory.
11
Firmware is software that’s embedded in a piece of hardware. You can think of it
simply as ‘’software for hardware’’. However, software is different from firmware, so
the two are not interchangeable terms.
Devices that you might think of as strictly hardware such as an optical drive, network
card, TV remote, media player, camera, or scanner all have software that’s
programmed into a special memory contained in the hardware itself.
Interrupts
An interrupt is a signal sent by hardware or software to the operating system
indicating that a process or event needs immediate attention. It allows the system to
temporarily halt its current operations to address the issues that prompted the interrupt.
Interrupts allow computers to carry many tasks or to have several programs open at
the same time. An example would be downloading a file from the internet at the
same time as listening to some music in itunes.
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
function to be serviced. This can all be achieved by using an area in memory known
as a buffer.
Buffers
12
A buffer is a memory area that stores data
temporarily.
13
Types of programming language, translators and integrated
development environments( IDEs)
People use many different language to communicate
with each other. In order for two people understand
each other they need to speak the same language or
another person, an interpreter, is needed to translate
from one language to the other language.
What is a program
A program is the way of telling a computer what to do, how to do it and when to do
it.
A computer can be used to stream videos, write reports, provide weather forecasts
and many more, many other jobs.
14
High level languages
LOW LEVEL
LANGUAGES
Low-level languages programming
language is one the provides minimal
abstraction from a computer’s hardware
architecture, allowing programmers to
directly manipulate the machine’s registers
and memory. These languages are closely
aligned with a computer’s instruction set
15
and are often use system programming, such as writing operating systems or
embedded systems.
Difference between high-level languages and low level languages
Language Advantages Disadvantages
High-level Independent of the type of computer Programs can be longer
being used Programs can take longer to execute
Easier to read, write and understand Programs may not be able to make use of
programs special hardware
Programs are easier and quicker to
debug
Easier to maintains programs in use
Low-level Can make use of special hardware It takes longer time to write and debug
Include special machine dependant programs
instructions Programs are more difficult to understand.
Can write code that doesn’t take up
much space in primary memory
Can write code that performs a task
very quickly
Translators
Translators are needed to translate programs written in high level languages into the
machine code that a computer understand and execute.
A compiler is an example of a translator that takes a High-level Programming
Language( e.g.,, C++ ) and translates it into Machine Language or Assembly Language
which the computer can understand.
It converts the High-level language into Machine Code all in one go so that it can be
directly used by a computer to perform a required task. Once converted, the code
can be run unassisted at any time. This process is called compilation.
16
If there is an error in the statement then execution ceases and an error message is
output, sometimes with a suggested correction.
Assemblers are a third type of translator. The purpose of an assembler is to translate
assembly language into machine code.
Whereas compilers and interpreters generate many machine code instruction for
each high level instruction, assemblers create one machine code instruction for each
assembly instruction.
17
An integrated development
environments( IDE) is used by
programmers to aid the writing and
development of code. They are
designed to bring together all
programming tasks in one
application; one of the main
benefits on an IDE is that they offer
a central interface with all the tools
a developer needs.
18
Code editors are designed for writing and editing source code, these editors are
distinguished from text editors because work to either simplify or enhance the
process of writing and editing of code for developers.
Debuggers are used during testing and can help developers debug their
application programs.
Translator transform source code that is written in human readable/writable
language in a form that computers can execute.
19