KEMBAR78
Software Notes | PDF | Graphical User Interfaces | Antivirus Software
0% found this document useful (0 votes)
10 views13 pages

Software Notes

Uploaded by

Anesu
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)
10 views13 pages

Software Notes

Uploaded by

Anesu
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/ 13

/Software

- Software is a set of instructions, data or programs used to operate computers and execute
specific tasks.
- Software is a generic term used to refer to applications, scripts and programs that run on a
device.
- It can be thought of as the variable part of a computer, while hardware is the invariable
part.
- The two main categories of software are application software and system software. An
application is software that fulfills a specific need or performs tasks. System software is
designed to run a computer's hardware and provides a platform for applications to run on
top of.
-

Examples and types of software


Among the various categories of software, the most common types include the following:
Application software.
- Examples of modern applications include:
 office suites
 graphics software
 databases
 database management programs
 web browsers
 word processors
 software development tools
 image editors and communication platforms.
Read on these applications on page 149 fig 4.3
System software
-examples include:
i. Driver software.
- Also known as device drivers, this software is often considered a type of system software.
- Device drivers control the devices and peripherals connected to a computer, enabling
them to perform their specific tasks.
- Every device that is connected to a computer needs at least one device driver to function.
- Examples include software that comes with any nonstandard hardware, including special
game controllers, as well as the software that enables standard hardware, such as USB
storage devices, keyboards, headphones and printers.
ii. Utility software -The Utility Software is system software that helps to maintain the proper
and smooth functioning of a Computer System. It assists the Operating System to manage,
organize, maintain, and optimize the functioning of the computer system.
Types of Utility Software
i. Antivirus (virus checkers)
- A virus is a malicious software that enters the system along with a host program. Moreover,
it multiplies with time and makes several copies which in turn slows down and corrupts the
system.
- computing devices can be subject to virus attack , operating systems offers virus checkers
which must be kept thoroughly up to date and should run in the background to maintain
their ability to guard against being infected by such malware
Common features of antivirus software
Check software’s or files before being loaded to the computer
Carries out heuristic checking -this is checking of software types of behavior that could
indicate a possible virus (useful if the software is infected by viruses not yet on the database
Affected files are put in quarantine which:
 Allows the virus to be automatically deleted
 Allows the user to make decision about deletion
Antivirus software needs to be constantly updated to cater for new viruses
Full system scan needs to be carried once a week to get rid of viruses which lie dormant
- An antivirus is a utility software that helps to keep the computer virus-free. Moreover, it
notifies when any malicious file is detected and removes such files. In addition, it scans any
new device attached to the computer and discards any virus if there. Moreover, it also scans
the system from time to time for any threats and disposes of them.
- Examples of antivirus are McAfee Antivirus, Quickheal Antivirus, Windows Defender, etc.
2. File Management System
These utility software are used to manage files of the computer system. Since files are an important
part of the system as all the data is stored in the files. Therefore, this utility software help to browse,
search, arrange, find information, and quickly preview the files of the system.
Windows Explorer is a default file management tool present in the system. Some other examples of
file management tools are Google Desktop, Double Commander, Directory Opus, etc.
3. Compression Tools
An important part of a computer is storage space, it is very important to maintain this storage.
Therefore, we use certain utility software to compress big files and decrease their size, these are
compression tools.The format of the files changes while compressing and we cannot access or edit
them directly. In addition, we can easily decompress the file and get the original file back. Examples
of compression tools are WinZip, WinRAR, WinAce, PeaZip, 7-Zip, etc.
4. Disk Management Tools
These utility software are used to manage data on disks. Moreover, they perform functions like
partitioning devices, manage drives, etc. Examples of disk management tools are MiniTool Partition
Wizard, Paragon Partition Manager, etc.
5. Disk Cleanup Tool
This utility software helps to free up the disk space. In addition, the files which are no longer in use
are removed from the disk. Examples are Razer Cortex, Piriform CCleaner, etc.
6. Disk Defragmenter
i. Disk Defragmenter
- Disk defragmenter is a disk management utility that increases file access speeds by
rearranging fragmented files on contiguous locations.
- Large files are broken down into fragments and may be stores in non-
contiguous locations if contiguous ones are not available. When such files are accessed
by the user, access speed is slow due to fragmentation.
- Disk defragmenter utility scans the hard disk and tries to assemble file fragments so that
they may be stored in contiguous locations.
Fragmentation
- Fragmentation occurs on a hard drive, a memory module, or other media when data is not
written closely enough physically on the drive. Those fragmented, individual pieces of
data are referred to generally as fragments.
- Defragmentation,(is the opposite of fragmentation) then, is the process of un-fragmenting
or piecing together, those fragmented files so they sit closer, physically, on the drive or
other media, potentially speeding up the drive's ability to access the file.
- examples of disk defragmenters are Perfect disk, Deflaggler, etc.
Examples on page 52
7. Backup Utility
- This utility software helps to back up the files, folders, databases, or complete disks.
Moreover, backup refers to duplicating the disk information so that the data can be restored
if any data loss happens.
- For total security there should be 3 versions of a file
- The current version stored on the internal HDD or SSD
- Locally back-up version of a file on removable storage like portable SSD or external HDD
- A remote version stored well away from the computer e.g on the Cloud.
- Microsoft windows back-up utility offer the following facilities
o Restore data, files from back up
o Create a restore point – a kind of time machine where computers can be restored to
its state at this earlier point in time
o Option of where to save backup files – this can be set to be automatic to a chosen
device
Advantages of Utility Software
The advantages are as follows:
1. Enhances performance.
2. Manages space.
3. Manages files and data.
4. Helps to customize interface and desktop.
5. Helps to remove useless files.
6. Keep the system safe and secure.
7. Helps to recover files after a loss.
Security software
- Security software is designed to protect and secure servers, laptops, mobile devices, and
networks from unauthorized access, intrusions, viruses, and other threats. Security
software can help defend data, users, systems, and companies from a wide range of risks.
It is an over-arching utility that:
i. Manage access control and user access
ii. Link into other utility software like virus checkers and spywares
iii. Protect network interface
iv. Uses encryption and decryption to ensure any intercepted data is
meaningless without decryption key.
v. Oversees the updating of software (legitimacy of software sources proving
updates
ii. Operating system
- An operating system (OS) is the program that, after being initially loaded into the computer
by a boot program, manages all of the other application programs in a computer.
- An operating system is a piece of software that manages files, manages memory, manages
processes, handles input and output, and controls peripheral devices like disk drives and
printers, among other things.
Common examples of operating system include:
Ms windows , Apple mMac, google Android and Apple IOS

Functions of an operating system

1. Human computer interface


- Can be Command line (CLI)Nor graphical user interface (GUI)
i. Command line interfaces (CLI)
- Prompt the user to provide input by typing a command string with the computer keyboard
and respond by outputting text to the computer monitor.
- Used by programmers and system administrators, in engineering and scientific
environments, and by technically advanced personal computer users.

Features of CLI
i. You can only type text to give commands to the computer as in MS dos.
ii. There are no images and graphics on the screen.
iii. There was no need of a mouse as CLI. Did not support the use of pointing devices.
iv. In CLI only one task can run at a time.
v. It is also known as a single user interface.
vi. Example: DOS and Unix
Advantages of using a command-line interface are:
 It is faster than the other types of user interfaces.
 Fast data transfer in CLI.
 Memory (RAM) is used lesser than GUI.
 It is cheaper to use as a lesser resolution screen can be used.
 Lesser CPU processing time is needed.
 It does not need Windows to run.

Disadvantages of using a command line interface are:

 Without the known commands, you cannot work on the CLI


 A lot of commands have to be learned to use this interface.
 One needs to be very specific and careful when typing the commands. Even a single
spelling mistake may lead to instruction failure.
 There are no images and graphics on the screen.

Graphical User Interface

- A GUI (Graphic User Interface) is a graphical representation in which the users can
interact with software or devices through graphical icons.
- A graphical user interface is the most common type of user interface available today.
- It is a very user friendly because it makes use of pictures, graphics, and icons - hence
why it is called 'graphical'.
i. In GUI more than one task can run simultaneously
ii. It is a very user-friendly interface
iii. Most modern computer use GUI
iv. This is an interface that makes use of graphics, images, and icons etc.
v. This interface made it possible for a mouse.
vi. GUI is much easier for CUI.
vii. Example: Windows, Linux, MAC OS

- It is also known as a WIMP interface because it makes use of −

Windows − A rectangular area on the screen where the commonly used applications run.

Icons − A picture or symbol which is used to represent a software application or hardware


device.

Menus − A list of options from which the user can choose what they require.

Pointers − A symbol such as an arrow which moves around the screen as user moves the mouse.
It helps user to select objects.

Advantages of Graphical user interface are:

 This type of user interface is easy to use.


 It is easy to explore and find your way around the system using a GUI interface
 You do not have to learn complicated commands.
 It is based on a graphical representation
 Users do not need to know any programming languages.
 It is also known as a multi-user operating system.

Disadvantages of graphical user interface are:

 GUI takes up a much larger amount of hard disk space than other interfaces.
 They use more processing power than other types of interface.
 They need significantly more memory (RAM) to run than other interface
types.
 They let you exchange data between different software applications.
- Programmers, analyst or technician or any person who needs to have a direct
communication with a computer to develop new software uses CLI mostly and the end-
user who does have a general knowledge about the computer uses GUI.
2. Memory management
- The OS manages the primary storage (RAM) and allows data to be moved between RAM
and HDD/SDD during execution of programs
- It keeps track of all memory locations
- Carries out memory protections so that applications allocated their memory and no two
competing applications can use the same memory at the same time
3. Security management
- The OS ensures integrity, confidentiality and availability of data. this is achieved through:
i. Systems and software updates
ii. Communicating with e.g firewalls to check in/outgoing traffic to and from the
computers
iii. Maintaining access rights
iv. Data recovery
4. Hardware peripheral management
- the operating systems is responsible for management of all input and output peripheral
devices.
- The hardware management includes:
 communicates with all peripherals using device drivers
 uses device drive to take data from a file and translate it into a format that the
input/output device can understand
 managing input/output devices by controlling queues and buffers
5. File management
- The main task of file management include:
 File naming conversions which can be used like filename.doxc (meaning file
name and its extension )
 Performing specific tasks (like create, open, copy, delete etc)
 Maintaining directory structures
 Ensuring access control mechanism are maintained
 Ensuring memory allocation for a file by reading it from the HDD/SSD and
loading it into the RAM
6. Multitasking
- Allows computers to carry more than one task
- Each process will share available hardware resources under the control of the operating
systems
- For multitasking to be effectively done the OS should constantly monitor the status of
each process under its control and ensure that:
 Resources are allocated to process for specific time limit
 The process can be interrupted while it is running
 The process is given a priority so that resources allocated according to priority
7. Management of user accounts
- More that one user can be allowed to log on the computer system
- User data is stored into separate parts of memory for security reasons
- Each user will be given a user account protected by name and password
- The operating system is responsible for managing these accounts by allowing each user
to:
 Customize their screen layout and other settings
 Use separate folders and files and personally managed them
- The OS has to maintain accounts for several users , giving some users in any organization
multiaccess rights.

Interrupts
- An interrupt is a signal emitted by a device attached to a computer or from
a program within the computer.
- It requires the operating system (OS) to stop and figure out what to do next.
- An interrupt temporarily stops or terminates a service or a current process.
- Interrupts can be caused by:
 A timing signals
 An input/output process
 Hardware fault
 User interaction
 Software errors that cause a problem
- Once an interrupt signal is received, the microprocessor carries on with what it was doing
or stop to service a device or program that caused an interrupt
- An interrupt type should be identified by the system and then establish an interrupt
priority.
- Interrupts allows a computer system to do multitasking for example downloading a file
from the internet and typing using Ms word. This give the impression to the user that the
task are executed simultaneously.
- This is achieved through using buffers (memory area that stores data temporarily).
- For example, when printing a document, printer speed is much slower than processing
speed therefore a buffer is needed to compensate for speed differences.
What happens when an interrupt is received:
 It needs to be serviced.
 Status of current task needs to be saved
 Contents of the program counter and registers needs to be saved
 The interrupt service routine (ISR)is executed by loading the start address
into the Program counter (PC)
Running applications
- Applications 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 Loaded into
RAM(known a booting up or bootstrap loader)
- Start up of the motherboard is handled by the basic input/output system (BIOS).
- BIOS referred to as firmware which is defined as a program that provides low level
control for devices tell the computer where the storage device that holds the operating
system can be found and then loads part of the OS that is needed and executes it.
- BIOS is stored in the EEPROM (electrical erasable programmable ROM), which is a
flash memory which is non-volatile
- BIOS can be rewritten, updated and even deleted by the user
- BIOS settings are stored on the CMOS chip (Complementary Metal Oxide Semi-
conductor) which is powered all times by the battery of the mothered board.
Types of programming language, translators and integrated
development environments (IDEs)
- Computer program is a list of instructions that enable a computer to perform a specific
task
- Programs can be written in high level language and low level languages
i. High level languages

- High-level programming languages are close to natural language spoken and written by
humans.
- Commonly used high-level languages

 Python
 Java
 C++
 C#
 Visual Basic
 JavaScript

- High-level languages allow programmers to write instructions in a language that is easier


to understand than low-level languages.
- Translators are needed to translate programs written in high-level languages into the
machine code that a computer understands.
ii. Low level language
- A low-level programming language is one where its instructions have direct control over
the hardware and therefore their function depends on the physical structure of the
computers that support them.
- Low level language can refer to
i. Machine code
- formed using ones (1) and zeros (0) and, as its name suggests, it’s the code that directly
communicates instructions to the computer (CPU). Using this language is essential since
it’s the one used to literally send all the tasks it has to do.
ii. Assembly language
- also known as mnemonics. These are the first level of abstraction. These codes need a
tool such as an assembler to translate them into machine language so that the CPU can
run them. Also, these aren’t programs that are directly executable by the computer.
- Low-level language instructions in general are an abbreviation of the instruction that they
symbolise and correspond directly (one-to-one) to the same instructions that they
represent. The code that comes out of an assembly language compilation generates an
executable binary machine code.
Write notes on the difference between high level languages and low level languages on
page 167, table 4.2

Translators
- They are used to translate programs written in high-level languages into the machine
code that a computer understands.
- They are several types of translators
i. Compilers – translate the entire program written in high level languages (HLL) into
machine code all in one go. Its done once and the computer can continually use it without
re-compilation
ii. Interpreters- translate computer programs written in HLL, line by line . if there is an
error execution ceases, error message is output and sometimes with suggestion
correction. A program needs to be interpreted again each time it is run . The
programming languages that use interpreters are Perl, Ruby, Python, METLAB, etc.
iii. Assemblers – translate program written in assembly language into machine code. Once
assemble the machine code can be used again and again to perform the same task without
re-assembly.
- Write notes on Translation program summary on page 169, table 4.3.
Advantages of Compiler
There are various advantages of the compiler which are as follows −
 A compiler translates a program in a single run.
 It consumes less time.
 CPU utilization is more.
 Both syntactic and semantic errors can be checked concurrently.
 It is easily supported by many high-level languages like C, C++, JAVA, etc.
Disadvantage
 It takes a longer time to write, test and debug programs during development
Advantages of Interpreter
There are various advantages of the interpreter which are as follows −
 An interpreter translates the program line by line.
 The interpreter is smaller in size.
 It is flexible.
 Error localization is easier.
 The interpreter facilitates the implementation of computer programming language
constructs.
Disadvantage
 Programs cannot run without the interpreter
 Programs can talk longer to execute
Integrated development environment (IDE)
- Use by programmers to aid writing and development of programs
- They are many different IDEs available including:
 PyCharm (for Python)
 Visual Studio(for visual basic )
 BlueJ (for Java)
Features of IDEs(write your own notes )

You might also like