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

Chapter # 4

The document outlines the types and features of system and application software, emphasizing the roles of operating systems, memory management, and security management. It also discusses the importance of virus checkers, defragmentation, multitasking, and interrupts in computer operation. Additionally, it covers programming languages, translators, and integrated development environments (IDEs) that facilitate software development.

Uploaded by

ismailhydra4x
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)
6 views28 pages

Chapter # 4

The document outlines the types and features of system and application software, emphasizing the roles of operating systems, memory management, and security management. It also discusses the importance of virus checkers, defragmentation, multitasking, and interrupts in computer operation. Additionally, it covers programming languages, translators, and integrated development environments (IDEs) that facilitate software development.

Uploaded by

ismailhydra4x
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
You are on page 1/ 28

Types of Softwares

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.
Names of Typical system software

Device
Compilers Linkers
drivers

Operarting
Utitlities
systems
Names of typical application softwares
• Word processor
• Spreadsheet
• Database
• Control and measuring software
• Apps
• Photo editing software
• Video editing software
• Graphics manipulation software
Virus Checkers
Def: A virus checker, correctly called an antivirus, is a software program that
automatically search a computer file for known viruses.
Features of Virus Checkers:
• 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
• any possible files or programs which are infected are put into quarantine which:
• – allows the virus to be automatically deleted, or
• – allows the user to make the decision about deletion
Defragmentation, often referred to
as “defrag,” is the process of
reorganizing data on your hard drive.

It brings together scattered pieces of


Defragmentation data, aligning them in a continuous
and efficient manner.

Defragmentation increases
computer performance.
Operating system

• An operating system is the most important


software that runs on a computer.
• It manages the
computer's memory and processes, as well
as all of its software and hardware.
• It also allows you to communicate with the
computer without knowing how to speak the
computer's language.
• Without an operating system, a computer is
useless.
Features of
operating
systems
Types of
user
interface
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.
If this wasn’t done the following might happen:
• – data would probably be lost
• – applications could produce incorrect results
• – potential security issues
• – in extreme cases, the computer could crash.
Security management
The function of security management is to ensure the integrity, confidentiality and
availability of data.

This can be achieved as follows


1. by carrying out operating system updates as and when they become
available
2. ensuring that anti virus software is always up to date, preserving the integrity,
security and privacy of data
3. by communicating with, for example, a firewall to check all traffic to and from
the computer
4. by maintaining access rights for all users
5. by offering the ability for the recovery of data when it has been lost or
corrupted
6. by helping to prevent illegal intrusion into the computer system.
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)
• 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;
File Management
The main tasks of file management include:
• file naming conventions which can be used i.e.
filename.docx
• performing specific tasks (for example, create, open,
close, delete, rename, copy, and move)
• 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.
Multitasking
• Multitasking allows computers to carry out more than
one task at a time.
• Using multitasking management, main memory,
HDD/SSD and virtual memory are better managed
making the most effective use of CPU time.
Interrupts
Definition: 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 (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).
Process of handling
interrupts

1. Whenever an interrupt is received it needs


to be serviced. The status of the current
task being run first needs to be saved.
2. The contents of the Program Counter
(PC) and other registers are saved.
3. Then the interrupt service routine (ISR) is
executed by loading the start address into
the Program Counter (PC).
4. Once the interrupt has been fully serviced,
the status of the interrupted task is
reinstated
5. and the process continues.
Types of programming language,
translators and integrated development
environments (IDEs)
High Level Language
• A high-level language (HLL) is a type of programming
language designed to simplify computer programming and
make it more accessible to humans.
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.
Low level language
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.
Differences between high-level and low-level languages
Translators

A program must be translated into binary before a computer can use it; this is done
by a utility program called a translator.
• There are several types of translator program in use; each one performs a different
task.
1. Compiler
2. Interpreter
3. Assembler
Compiler

• A compiler is a program that translates source code into machine code all at once.
• A compiler can be used to translate source code written in many different
programming languages, including C, C++, and Java.
• The main purpose of a compiler is to ensure that the source code is well-formed
and that the program is easy to understand.
• A compiler also helps to ensure that the generated machine code is correct and
optimized for the hardware being used.
• A compiler can be used for many different purposes, including error detection and
optimization.
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.
Assembler
• 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
Advantages and disadvantages of compilers and interpreters
Integrated development
environment
An integrated development environment (IDE) is a software
application that helps programmers develop software code efficiently.
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 prettyprinting.

You might also like