MODULE 3 Software
MODULE 3 Software
Types of Software
Systems software
Applications software
Application Software
Software that directs the computer to perform a specific task.
Types
a) Spreadsheets - manipulate rows and columns of number e.g. Lotus 123, Ms Excel.
b) Word processing - creates documents e.g. Word star, Ms Word.
c) Database - stores, organizes and retrieves data e.g. MS Access
d) Electronic mail - transmit electronic messages e.g. Ms Outlook
e) Desktop publishing - layout and create documents containing text and graphics e.g. PageMaker.
f) Graphics - pictorial representation of data e.g. Harvard graphics, Ms Power point.
System Software
These are the programs that monitor and control the operations of a computer.
They run the computer system by performing a variety of fundamental operating such as:-
Booting the computer and making sure all the aspects are operational,
Performing a variety of system utility functions.
Process Management: - The operating system must keep track of all processes. It must schedule
programs when needed, and monitor them incase of any error.
Resource management: - The operating system allocates system resources such as CPU, main
memory and the input and output devices such as disk and tape drives and printers.
Data management: - Also called Input and output management. The operating system handles all
movements of data between the main components of the computer. Any time an input or output of
data occurs, a data management routine in the OS controls the transfer. For example, any time a
number input devices try to send data to a computer, it is the operating system to manage all these I/0
processes. Because I/0 devices are very slow, the process of spooling prevents the data from being
stored in the main storage. With spooling, a report is first written (saved) to the disk before being
printed. The disk or tape acts as a buffer area between main storage which is extremely fast and I/0
devices which are relatively slow.
Monitoring system activities such as system performance and system security.
Error Correction
The term operating system is used to mean a suit/collection of related computer programs that help
manage the computer resources. It is an interface between the computer hardware and application
programs.
Multiprocessing
Computers that have more than one CPU are called multiprocessors. A multiprocessing operating
system co-ordinates the operating of multiprocessor computer. They have an advantage that if one CPU
fails, work can be shifted to the remaining CPUs. The ability to continue processing when a major
component fails is called fault tolerance.
Translators
These are the software that converts the source code/programs to their object code/program equivalence.
Types of translators
1) Assembler - A program that translates assembly language programs into machine code.
2) Compiler - A program that translates a high-level language program into machine oriented language
program, often machine code.
3) Interpreter - A program which translates and executes each source statement in logical sequence as
the program is executed. It looks at the program on a line to line basis.
Databases
Is a single organized collection of structured data stored within a minimum duplication of data items.
They are designed to efficiently store, manage, and retrieve data, providing structured and organized ways
to handle information.
A database is a structured collection of data that is organized and stored in a way that facilitates efficient
retrieval, management, and manipulation of that data.
Databases can store a wide range of information, from simple lists to complex, interconnected data. They
serve as repositories for data that can be accessed, modified, and queried by authorized users or
applications.
Types of Databases:
There are several types of databases, each designed for different purposes and use cases:
Relational Databases: These databases use tables to store data, with each table representing a
specific entity (e.g., customers, orders) and relationships between entities. Examples include MySQL,
PostgreSQL, and Oracle Database.
NoSQL Databases: NoSQL databases are designed for handling unstructured or semi-structured data
and are suitable for large-scale, distributed applications. They include document-oriented databases
(e.g., MongoDB), key-value stores (e.g., Redis), and graph databases (e.g., Neo4j).
In-Memory Databases: These databases store data primarily in RAM (random-access memory) for
extremely fast data access and processing. Examples include Redis and Apache Ignite.
Columnar Databases: Columnar databases store data in columns rather than rows, which is
optimized for analytics and reporting. Vertica and Google BigQuery are examples.
Time-Series Databases: These databases are specialized for handling time-stamped data, making
them ideal for IoT (Internet of Things) applications and monitoring systems. InfluxDB and
Prometheus are examples.
Benefits of Databases:
Data Integrity: Databases enforce data consistency and integrity through constraints, ensuring that
data is accurate and reliable.
Data Security: Databases provide access control mechanisms to restrict unauthorized access to
sensitive data.
Data Scalability: Databases can handle large volumes of data and can scale horizontally (adding
more servers) or vertically (upgrading hardware) to accommodate growth.
Data Redundancy: By centralizing data, databases reduce data redundancy, making data
management more efficient and reducing the risk of inconsistencies.
Data Retrieval: Databases provide efficient methods for retrieving and querying data, making it easy
to extract valuable insights.
INTRODUCTION TO VIRTUALIZATION AND CLOUD COMPUTING
Benefits of Virtualization:
Server Consolidation: Multiple VMs can run on a single physical server, reducing hardware
costs and energy consumption.
Resource Optimization: Resources can be allocated dynamically, optimizing CPU and
memory usage.
Improved Disaster Recovery: VM snapshots and backups simplify disaster recovery
procedures.
Testing and Development: Virtual environments are ideal for testing and development,
allowing for rapid provisioning of new instances.
Legacy Application Support: Legacy applications can run in VMs, extending their lifespan.
Cloud Computing
Cloud computing is a paradigm that delivers on-demand computing resources and services over
the internet. It encompasses various service models, including Infrastructure as a Service (IaaS),
Platform as a Service (PaaS), and Software as a Service (SaaS).
Deployment Models:
Public Cloud: Services are provided by third-party cloud providers and accessible to the public.
Private Cloud: Cloud infrastructure is dedicated to a single organization, providing greater
control and security.
Hybrid Cloud: Combines public and private cloud resources, allowing data and applications to
be shared between them.
Scalability: Cloud services can scale up or down to accommodate changing workloads, ensuring
cost-effectiveness.
1. Regular Backups:
Implement a regular backup schedule that suits your data's criticality and rate of change. Common
frequencies include daily, weekly, and monthly backups.
Ensure that all critical data, including databases, documents, configurations, and settings, are included in
your backup plan.
2. Redundancy:
Use redundant storage systems to create backup copies. Redundancy can be on-site or off-site.
On-site redundancy might include RAID configurations for local servers, while off-site redundancy can
involve storing backups in remote data centers or the cloud.
3. Data Encryption:
Encrypt your backups to protect sensitive data during storage and transit. Use strong encryption
algorithms and manage encryption keys securely.
5. Versioning:
Implement versioning to maintain multiple versions of files or data. This helps recover from accidental
data corruption or deletion.
Many backup solutions offer versioning as a feature, allowing you to restore to a specific point in time.
6. Automated Backup Solutions:
Use automated backup solutions to ensure consistency and reliability in your backup process.
Popular backup software includes Veeam, Acronis, and Backup Exec.
7. Off-Site Backups:
Store backups off-site to protect against physical disasters like fires, floods, or theft.
Cloud storage solutions like Amazon S3, Google Cloud Storage, and Microsoft Azure are excellent
choices for off-site backups.
8. Regular Testing:
Regularly test your backup and recovery process to ensure it works as expected. Verify that you can
restore data from backups successfully.
Document recovery procedures and provide training to IT staff.
A well-planned data backup and recovery strategy can minimize downtime, protect against data loss, and
ensure business continuity in the face of unforeseen events. Regularly reviewing and updating your
strategy as your business evolves is essential to maintaining its effectiveness.
DATA RECOVERY
Data recovery is the process of retrieving lost or deleted data from storage devices. Data loss
can occur due to various reasons, including accidental deletion, hardware failure, software
issues, or even physical damage to the storage media.
Here are some common data recovery options and techniques: