0% found this document useful (0 votes)
17 views13 pages

Cs Notes CH 4

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

Cs Notes CH 4

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

All computer systems are made up of hardware, system software and application software.

General features of system software

● Controls and manages the operation of the computer hardware.

● provides a platform on which all software can run properly.

● provides a human computer interface (HCI).

● Controls the allocation and usage of resources (software and hardware)

General features of application software

● Used to perform various tasks on a computer.

● allows the user to perform specific tasks on a computer.

● meets the requirements of the user

Application software allows various tasks to be performed on a computer using applications (apps).
The software can be a single program or suite of programs

Application Software these are programs that allow the user to do specific tasks

Examples

1 SPREADSHEET: Spreadsheet software is used to organise and manipulate numerical data (in the
form of integer, real, date and so on).

Some of the functions of spreadsheets include:

• Use of formulas to carry out calculations

• Ability to produce graphs

• Ability to do modelling and 'what if' calculations.

2 DATABASE: Database software is used to organise, manipulate and analyse data. A typical database
is made up of one or more tables.

Some of the functions include:

• Ability to carry out queries on database data and produce a report

• add, delete and modify data in a table.


3 APPS: Apps is short for applications – a type of software.

Common examples of app include:

• Video and music streaming•

GPS global positioning systems

• Camera facility

4 .CONTROL AND MEASURINGS: Control and measuring software is designed to allow a computer or
microprocessor to interface with sensors so that it is possible to:

• Measure physical quantities in the real world (such as temperatures)

• control applications (such as a chemical process)

5VIDEO EDITING SOFTWARE: Video editing software is the ability to manipulate videos to produce a
new video. It includes:

• Rearranging, adding and/or removing sections of video clips and/or audio clips

• applying colour correction, filters and other video enhancements

• creating transitions between clips in the video footage.

6 GRAPHICS MANIPULATION SOFTWARE: Graphics manipulation software allows bitmap and vector
images to be changed

7 PHOTO EDITING SOFTWARE: Photo editing software allows a user to manipulate digital
photographs stored on a computer, for example, change brightness, change contrast, and alter
colour saturation or remove 'red eye'.

8 WORD PROCESSOR: Word processing software is used to manipulate a text document, such as an
essay or a report.

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 page format

• Translation into a foreign language.


System Software

These are programs that allow the hardware to run properly and allow the user to

Communicate with the computer

1 COMPILERS: A compiler is a computer program that translates a program written in a high-level


language (HLL) into machine code (code which is understood by the computer) so that it can be
directly used by a computer to perform required task.

Examples of high-level languages include:

Java, Python, Visual Basic, FORTRAN, C++ and Algal.

2 LINKERS: A linker (or link editor) is a computer program that takes one or more object files
produced by a compiler and combines them into a single program which can be run on a computer.

For example, many programming languages allow programmers to write different pieces of code,
called modules, separately. This simplifies the programming task since it allows the program to be
broken up into small, more manageable sub-tasks.

3 DEVICE DRIVERS: A device driver is the name given to software that enables one or more hardware
devices to communicate with the computer's operating system.

Examples of drivers include:

Printers, memory sticks, mouse, CD drivers and so on.

4 UTILITIES: Utility programs are software that are designed to carry out specific tasks on a
computer.

Examples include:

• Antivirus (virus checkers)

• Anti-spyware

• Back-up of files

• Disk repair and analysis

• file management and compression

• Security

• Screensavers
• Disk defragmenter/defragmentation software.

5 OPERATING SYSTEMS (OSs): The operating system (OS) is essentially software running in the
background of a computer system. It manages many of the basic functions.

For example, operating systems allow:

• Input/output operations

• Users to communicate with the computer (e.g. Windows)

• Error handling to take place

• The loading and running of programs to occur

• managing of security (e.g. user accounts, login passwords).

Utility programs

Software tools that allow the user and computer to do specific tasks to maintain the computer

1 Virus checker a small program that replicates itself and can delete or modify important files.
Antivirus software looks formal ware ‘clues’ or recognises it from a database of known viruses. Virus
checkers run in the background and need to be regularly updated. They make use of heuristic
checking (this looks for software behaviour that could indicate a possible virus).Once an infected
files is discovered it is quarantined and then deleted.

2 Security The security system manages access control to a computer. It links into other software
such as virus checkers and firewalls, and uses a firewall to protect the computer when automatic
software updates are requested. It makes use of encryption to safeguard data.

3 Screensavers

Screensavers are moving or still images on a computer screen that are initiated after a period of
inactivity. They are part of the security system since screen savers automatically log out a user if
they have left the computer unlocked and there has been no activity for, for example, 5 minutes; the
user then needs to log back in.They are often used to activate background tasks, such as virus scans,
when initiated.

4 Back-up software

Back-up files are essential in case files/data become corrupted or lost and are needed to recover the
data. They are either done automatically or initiated by the user. Maniocs offer the ability to restore
a computer status to a point in the past using backed up data.
5 Defragmenter

Defragmentation software tidies up the hard disk drive as it begins to reach its maximum capacity.
Disk defragmenter works by rearranging blocks of data so that they can now become contiguous this
frees up disk space and also makes location of data a faster process.

6 Disk repair

Disk repair software verifies if an error has been found in the disk directory; it will then attempt to
correct the error if possible. There pair process will remove or bypass damaged/corrupted data/ disk
sectors and then link blocks of data together to allow files to be read.

7 File compression

File compression can either be loss or lossless. With loss file compression, the original file cannot be
reconstructed following the compression process. With lossless file compression, the original file can
once again be reconstructed. Loss file sizes are much smaller than lossless files.

To enable a computer system to function correctly and allow users to communicate with the
computer, system software known as an operating system is used.

1 Human computer interface

A.Command line interface

The user is in direct communication with the computer.

The user is not restricted to pre-determined actions/options.

It is possible to alter computer settings directly. Needs very little memory requirement.

The user needs to learn commands and must type them in using the correct format.

It is time-consuming and error-prone.

The user needs to have some understanding of how computers work.

Graphical user interface

The user is limited to icons shown onscreen.

There is no need for the user to learn specific commands to carry out actions.

The user simply needs a pointing device or a finger

It is an excellent interface for a novice or a user with little knowledge of how computers work.

A GUI interface has considerable memory requirements.


2 Memory management

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.

3 Security management

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

4 Hardware peripheral management

Hardware management involves all input and output peripheral devices Hardware management:

‣> 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 manages input/output devices by controlling queues and buffers

5 File management

The main tasks of file management include:

File naming conventions which can be used i.e. filename.docx

Performing specific tasks

Maintaining the directory structures ensuring access control mechanisms are maintained

Ensuring memory allocation for a file by reading it from the HDD/SSD and loading it into memory

6 Multitasking

Multitasking allows computers to carry out more than one task (i.e. a process) at a time. Each of the
processes will share the hardware resources under the control of the operating system software. To
make sure that multitasking operates correctly
7 Running of applications

Application software requires the operating system to provide a platform on which the software can
run successfully. When a computer starts up, part of the operating system needs to be loaded into
RAM - this is known as booting up the computer. 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. The BIOS is often referred to as firmware. Firmware is defined as a
program that provides low level control for devices.

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.

8 Interrupts

An interrupt is 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. Interrupts
can be caused by:

A timing signal an input/output process

A hardware fault

User interaction

Software errors that cause a problem

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.

A buffer is a memory area that stores data temporarily

For example, 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',

Languages

1 high-level languages
High-level Languages enable a programmer to focus on the problem to be solved and require no
knowledge of the hardware and instruction set of the computer that will use the program. They are
portable and can be used on different types of computer. They are designed with programmers in
mind; programming statements are easier to understand than those written in a low-level language.
This means that programs written in a 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.

2 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. Machine code
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. The following snippet of program to add two
numbers together is written in typical machine code, shown in both hexadecimal and binary, and
consists of three statements

Advantages and disadvantages

High level

.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

.programs can be larger

.programs can take longer to execute

.programs may not be able make use of special hardware

Low level

.can make use of special hardware

.includes special machine-dependent instructions

.can write code that doesn't take up much space in primary memory
.can write code that performs a task very quickly

.it takes a longer time to write and debug programs

.programs are more difficult to understand

Assembly languages

Fewer programmers write programs in an assembly language. Those programmers who do, do so for
the following reasons:

. 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.

Compiler

Translates a high-level language program into machine code.

An executable file of machine code is produced.

One high-level language statement can be translated into several machine code instructions.

Compiled programs are run without the compiler.

A compiled program is usually distributed for general use.

Interpreter

Executes a high-level language program one statement at a time.

No executable file of machine code is produced

One high-level language program statement may require several machine code instructions to be
executed. Interpreted programs cannot be run without the interpreter.

An interpreter is often used when a program is being developed.

Assembler

Translates a low level assembly language program into machine code.

An executable file of machine code is produced

One low-level language statement is usually translated into one machine code instruction.

Assembled programs are used without the assembler.

An assembled program is usually distributed for general use.


Advantages and disadvantages of compilers and interpreters

Interpreter

Takes longer to write, test and debugprograms during development.

Easier and quicker to debug, test and edit programsduring development.

Compiler Programs:

● cannot be run without the interpreter

● can take longer to execute. A compiled program:

● can be stored ready for use

● can be executed without the compiler

● takes up less space in memory when it is executed

● is executed in a shorter time

Integrated Development Environment (IDE)

Is used by programmers to aid the writing and development of programs.

IDEs usually have these features:

‣‣ Code editors

‣> a translator

A runtime environment with a debugger

Error diagnostics

Auto-completion

> Auto-correction

>> An auto-documenter and pretty printing.

Code editor a code editor allows a program to be written and edited without the need to separate
text editor. This speeds up the program development process,

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 program that runs the program under development and allows the programmer to step through
the program a line at a time or to set a breakpoint to stop the execution of the program at a certain
point in the source code.

Error diagnostics and auto-correction

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-documenter and pretty printing

IDEs can provide an auto-documenter to explain the function and purpose of programming code.

Key terms

1 utility programs - part of an operating system which carries out certain functions such as virus
checking, defragmentation and screensaver

2 malware-programs that are installed on user's computer with the aim of deleting. Corrupting or
manipulating data illegally

3 anti-virus software - 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

4 heuristic checking - checking software for behaviour that could indicate a possible virus

5 quarantine - to isolate in order to later delete a file or program identified by anti-virus software as
being infected by a virus

6 defragmentation - a process that reorganises sectors on an HDD by rearranging blocks of data so


that they are 7 contiguous contiguous - next to each other back-up -make copies of files onto
another storage media in case the original file becomes corrupted or is deleted

8 screensaver - software that supplies a still or moving image on a monitor if a computer has been
inactive for a period of time

9 device driver - software that communicates with the operating system and translates data into a
format understood by the device

10 descriptor - a collection of information about a device plugged into a USB port; this can be vendor
ID (VID), product ID (PID) or serial number
11 operating system - software that provides an environment in which applications can run and also
provides an interface between computer and human operator

12 boot up/bootstrap loader-a small program that is used to load other programs to correctly 'start-
up' a computer system

13 EEPROM- stands for electronically erasable programmable ROM

14 human computer interface (HCI) - an interface supplied by the operating system to hide' the
complexities of the software and hardware from the human user

15 command line interface (CLI] - an interface which allows communication with the computer by
typing in commands using a keyboard

16 graphical user interface (GU1) - 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

17 windows icons menu and pointing device (WIMP) - an interface that uses a pointing device such
as a mouse to select options from screen icons or a menu

18 post-WIMP - a modern touch screen interface system that allows actions such as pinching and
rotating 19 memory management - the part of an operating system that controls main memory

20 security management - the part of an operating system that ensures the integrity, confidentiality
and availability of data

21 hardware management - the part of an operating system that controls all input and output
devices; it is made up of sub-systems such as printer management

22 buffer - a memory area used to store data temporarily

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

24 interrupt - a signal sent from a device or software to a microprocessor requesting its attention;
the microprocessor suspends all operations until the interrupt has been serviced

25 multitasking - a function that allows a computer to process more than one task/process at a time

26 administrator - a person responsible for the upkeep and maintenance of a computer system that
involves multi-user function

27 user account - an agreement that allows an individual to use a computer; the user needs a user
name and password to enter the user's area

28 error handling routine - a routine in a program or operating system that recognises and recovers
a system from abnormal inputs or hardware faults

29 firmware - a program that provides low level control for devices

30 interrupt priority - the priority assigned to an interrupt are given a priority so that the
microprocessor knows which one needs to be serviced first and which interrupts are to be dealt with
quickly
31 service (an interrupt) - when an interrupt is received some action needs to be taken by the
processor depending on what caused the interrupt; until this is resolved the interrupt cannot be
removed to-allow the processor to continue

32 interrupt service routine (lSR) - software that handles interrupt requests and sends a request to
the CPU for processing

33 machine code - a binary programming language, a program written in machine code can be
loaded and executed without translation

34 high-level language (HLL)- 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.

35 low-level language - a programming language that is dependent on computer hardware, both


machine code and assembly language are LLLs

36 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

37 assembler - a computer program that translates programming code written in assembly language
into machine code

38 compiler - a computer program that translates a source program written in a high-level language
to machine code

39 translator - converts a program written in a high-level language program into machine code

40 interpreter - a computer program that analyses and executes a program written in a high-level
language line by Line

41 Integrated Development Environment (IDE) - a suite of programs used to write and test a
computer program written in a high-level language

42 debugging - finding errors in a computer program by running or tracing the program

43 pretty printing - displaying source code using different colours and formatting, which make the
code easier to read and understand

44 report window - a separate window in the runtime environment of an IDE that shows the
contents of variables during the execution of a program

You might also like