0% found this document useful (0 votes)
9 views73 pages

Module 2 - Computer Software

sdfsdgdfhdfh

Uploaded by

hosoyiy767
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)
9 views73 pages

Module 2 - Computer Software

sdfsdgdfhdfh

Uploaded by

hosoyiy767
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/ 73

CSE013

Introduction
To
Information
Technology
University Requirements
Compulsory Course
2 Cr
MODULE 2
COMPUTER SOFTWARE
Ahmed A. Soliman
Module agenda

Operating Systems Computer Applications

• Evolution of operating systems • Defining applications


• Main components of an operating • Installation
system • Execution and Termination
• BIOS and Booting • Uninstallation
• User management • Layered architecture
• License types • Licensing, subscription and payment
• Virtualization technology
What is an operating
system ?

An operating system (OS) is system software that manages computer hardware and software resources and
provides common services for computer programs.

For hardware functions such as input and output and memory allocation, the operating system acts as an
intermediary between programs and the computer hardware, although the application code is usually
executed directly by the hardware and frequently makes system calls to an OS function or is interrupted by
it. Operating systems are found on many devices that contain a computer – from cellular phones and video
game consoles to web servers and supercomputers.
Operating system
function

▪ An Operating System acts as a


communication bridge (interface)
between the user and computer
hardware.

▪ The purpose of an operating system is to


provide a platform on which a user can
execute programs conveniently and
efficiently.
History and
development of
Operating systems
• Example of some popular
operating systems
• IBM OS/360
• DOS (Disk Operating
System)
• Microsoft Windows
• Apple IOS
• Linux
• Unix
History and development of Operating systems

GM-NAA I/O
First-ever UNIVAC I Operating System
computer OS Fortran Monitor System (FMS)
list IBM 650 Tape System
Batch Processing Monitor (BPM)
Dartmouth Time Sharing System (DTSS)
CTSS (Compatible Time-Sharing System)
IBM OS/360

Apple macOS
Names of
modern Google's Android OS

Operating Microsoft Windows


Systems
From Popular Apple iOS

Companies Linux Operating System


History and development of Operating systems
History and
• Operating system has evolved over the years, it
development of wasn’t an overnight development
Operating systems
File Process
Management Management

Main
components of I/O Device Network
an operating Management Management.
system

Memory Security
management Management
Main components of
an operating system

• An operating system is a large and complex


system that can only be created by
partitioning into small pieces. These pieces
should be a well-defined portion of the
system, which carefully defined inputs,
outputs, and functions.
• Although Mac, Unix, Linux, Windows, and
other OS do not have the same structure,
most of the operating systems share similar
OS system components like File, Process,
Memory, I/O device management.
Main File Management
components
of an
operating • File and directory creation and
deletion.
system • For manipulating files and
directories.
• Disk structure operations
(Formatting, Partitioning)
How data is stored
on the storage media

• When the physical disk is first


formatted, the operating system divides
it into logical tracks and sectors to build
the logical structure for it so it can store
the files and allocates the files
efficiently.
• The operating system creates a file
allocation table that contains a list of
each file, its physical location on the
storage media and its properties like
size and attributes.
• When the user accesses a file, the
operating system reads its exact
location from the file allocation table,
then instructs the media controllers to
fetch the data from this location
File system hierarchy
• DISK
Is the physical hard drive or storage media

• PARTITION
A logical part of the hard drive that contains data, the
operating system interacts with each partition as a
stand-alone disk

• FOLDER/DIRECTORY
Logical grouping of files that the user creates to
organize files into relevant groups

• FILE
The main data container that contains the actual bytes
the composes data
Paths

C:\Documents\AIU\Building.jpg

• File or folder path is the exact


hierarchy logical location • Partition
where the file or folder
resides in the file system • Folders

• File

• Extension

• Path separator
Modern file systems
• Some file systems are accessible on any device and
operating system, while some others are dedicated
and can be only accessed on specific operating
system but can be accessed on other systems with
limited abilities
• The main purpose of a file system is to store each
file’s exact place on the physical media and its
calculated size, attributes and physical location on the
storage device
• Common file systems
• FAT32
• ExFAT
• Proprietary File systems
• Apple IOS: Uses HFS+ file system
• Microsoft Windows: Uses NTFS file system
• Google Android: uses EXT4 file system
Main Process Management
components
of an
operating
• Process creation and termination.
system • Suspension and resumption.
• Synchronization process
• Communication process
Process
management

When you execute or launch an application, the application creates a Process,


which is a dedicated workload the the operating systems allocates the resources
for it (Processor time and Memory size) for it to work properly.

The operating system manages the resources of the computer device to satisfy
the demands of the application as long as it is running

When the application is closes, the system deallocates the resources that were
used by it to make it available for other running applications of mark it as free for
the use of new processes that the user might launch later.
Process resources allocation life cycle
Process created
Application launch Memory allocated
Processor workload dedicated

Resources maintained
Application running Dynamic reallocation of resources to meet
application demands during runtime

Process terminated
Application close Memory deallocated
Processor workload freed
Task manager
(Practical)

• Microsoft windows task


manager can preview the
current running processes and
displays the resources that the
operating system allocated for
them.
Main
components I/O Device Management
of an
operating
system • It provides general device driver code
• It provides drivers for hardware devices.
• I/O helps you to knows the individualities of a
specific device.
• Let's take a flash back while we were talking about
Central Processing Unit in the Hardware Module.
I/O Device • Remember the control unit (CU) ?
Management • Good ☺
I/O Device
Management
• The main use of the control unit in the central
processing unit is to control the computer input/output
devices and other hardware and peripherals your
computer might has.
• In this section, you will see how the operating system
uses the CU to operate the input/output operations for
the computer
• The computer consists of lots and lots of smaller electronic
hardware units that works all together in harmony to make your
I/O Device device fulfill its purpose.

management • The control unit in the processor handles the hardware and
reports each unit status to the system so it can then Manage it
properly.
I/O Device Management

• Operating System has a certain


portion of code that is dedicated to
managing Input/Output in order to
improve the reliability and the
performance of the system. A
computer system contains CPUs and
more than one device controller
connected to a common bus channel,
generally referred to as the device
driver. These device drivers provide
an interface to I/O devices for
communicating with the system
hardware promoting ease of
communication and providing access
to shared memory.
I/O Device
Management

• Operating system I/O management


subsystem allocates the devices, control
units, and communication channels.
However, under a heavy load of I/O
requests, Scheduler must decide what
request should be served first.
• In case of insufficient memory resources,
the system halts some operation to allow
the most basic and vital tasks to work
first to ensure system stability
File Management
•File and directory creation and deletion.
• For manipulating files and directories.
• Mapping files onto secondary storage.
• Backup files on stable storage media.

Process Management

Main • Process creation and deletion.


• Suspension and resumption.
• Synchronization process

components • Communication process

I/O Device Management

of an
• It offers buffer caching system
• It provides general device driver code
• It provides drivers for particular hardware devices.

operating
• I/O helps you to knows the individualities of a specific device.

Network Management

system
• Distributed systems help you to various computing resources in size and function. They may involve
microprocessors, minicomputers, and many general-purpose computer systems.
• A distributed system also offers the user access to the various resources the network shares.
• It helps to access shared resources that help computation to speed-up or offers data availability and reliability.

Memory management
• It helps you to keep track of primary memory.
• Determine what part of it are in use by whom, what part is not in use.
• In a multiprogramming system, the OS takes a decision about which process will get Memory and how much.
• Allocates the memory when a process requests
• It also de-allocates the Memory when a process no longer requires or has been terminated.

Security Management
•The various processes in an operating system need to be secured from each other’s activities. For that purpose,
various mechanisms can be used to ensure that those processes which want to operate files, memory CPU, and
other hardware resources should have proper authorization from the operating system.
Main Network Management
components
of an
operating • Networks helps connecting computers to various
system network resources available, in addition to
connecting computers to each others.
• Usually, computers need other network devices
to help connect them to network resources like
(Network switches, routers and access points)
What is a network

• A network consists of two or more


computers that are linked in order
to share resources (such as
printers and CDs), exchange files,
or allow electronic
communications. The computers
on a network may be linked
through cables, telephone lines,
radio waves, satellites, or infrared
light beams.
Types of networks

Local Area Network Wide Area Network


A Local Area Network (LAN) is a network Wide Area Networks (WANs) connect
that is confined to a relatively small area. It networks in larger geographic areas, such
is generally limited to a geographic area as Cairo, Africa or the world. Dedicated
such as a writing lab, school, or building. transoceanic cabling or satellite uplinks
may be used to connect this type of global
network.
• Depending on the network type you are using,
network needs a hardware infra structure to enable it
Network devices to establish communication between connected
devices
Identifying
network
devices
Memory • In a modern computing, the Operating System
resides partially in a part of memory, and the

management rest is used by multiple processes. The task of


subdividing the memory among different
processes is called Memory Management.
Memory management is a method in the
operating system to manage operations
between main memory and disk during
process execution. The main aim of memory
management is to achieve efficient utilization
of memory.
Allocate and de-allocate memory before and after
process execution.

To keep track of used memory space by


processes.

Why Memory
Management To minimize fragmentation issues.

is Required?
To proper utilization of main memory.

To maintain data integrity while executing of


process.
Security
management
• OS security refers to specified steps or measures used to
protect the OS from threats, viruses, worms, malware or
remote hacker intrusions. OS security encompasses all
preventive-control techniques, which safeguard any
computer assets capable of being stolen, edited or
deleted if OS security is compromised.
Active attacks: attempts to alter system
resources or affect their operations.

Passive attacks: attempts to learn or make


use of information from the system but

Types of OS does not affect system resources.

attacks
Malware

Phishing
Types of OS Attacks

Active attacks: Attempts to alter system resources or affect their


operations. Active attack involve some modification of
the data stream or creation of false statement. Types of
active attacks are as following:
Masquerade attack takes place when one entity pretends to be a different entity
1. Masquerade

It means that some portion of a message is altered or that message is delayed or reordered
2. Modification of messages to produce an unauthorized effect. For example, a message meaning. Allow JOHN to read
confidential file X is modified as Allow Smith to read confidential file X.

It involves the passive capture of a message and its subsequent transmission to produce an
3. Replay authorized effect.

It prevents normal use of communication facilities. This attack may have a specific target.
4. Denial of Service For example, an entity may suppress all messages directed to a particular destination.
Types of OS Attacks
Passive Attacks:
A Passive attack attempts to learn or make use of information from the system but does not affect
system resources. Passive Attacks are eavesdropping on or monitoring of transmission. The goal of the
opponent is to obtain information is being transmitted.
• 1. The release of message content
• An electronic mail message or a transferred file or even entering a text in an
electronic form field may contain sensitive or confidential information. We
would like to prevent an opponent from learning the contents of these
transmissions.
• 2. Traffic analysis
• Suppose that we had a way of masking (encryption) of information, so that
the attacker even if captured the message could not extract any information
from the message.
• The opponent could determine the location and identity of the
communicating host and could observe the frequency and length of
messages being exchanged. This information might be useful in guessing the
nature of the communication that was taking place.
Types of OS Attacks
Malware
Malware is malicious software used to breach information systems by exploiting
network vulnerabilities. This usually happens when users click links and attachments
that install harmful software. There are different types of malware including spyware,
ransomware, viruses, and worms. Malware can have a variety of malicious capabilities:
• It can block access to the network or parts of the network
• It can install other malware
• It can secretly copy data from the hard drive and transmit it
• It can disrupt the system and make it inoperable
Types of OS Attacks

• Ransomware
Ransom malware, or ransomware, is a
type of malware that prevents users from
accessing their system or personal files
and demands ransom payment in order
to regain access. While some people
might think “a virus locked my
computer,” ransomware would typically
be classified as a different form of
malware than a virus.
Types of OS Attacks

Phishing
Phishing is a social engineering attack entailing fraudulent
communications appearing to come from a trusted source.
Attempts to steal sensitive information or trick people into
installing malware often come via email. Phishing is the
leading cause of cyber-attacks worldwide.
Security management

• OS security encompasses many different


techniques and methods which ensure safety
from threats and attacks. OS security allows
different applications and programs to perform
required tasks and stop unauthorized
interference.
• OS security may be approached in many ways,
including adherence to the following:
• Performing regular OS patch updates
• Installing updated antivirus engines and software
• Scrutinizing all incoming and outgoing network
traffic through a firewall
• Creating secure accounts with required privileges
only (i.e., user management)
BIOS and Booting
• Whenever you turn on your computer and before the main operating
system loads, the first thing you see is the BIOS software doing its thing.
On many machines, the BIOS displays text describing things like the
amount of memory installed in your computer, the type of hard disk and
so on. It turns out that, during this boot sequence, the BIOS is doing a
remarkable amount of work to get your computer ready to run. This
section briefly describes some of those activities for a typical PC.
• BIOS identifies, configures, tests and connects computer hardware to
the OS immediately after a computer is turned on. The combination of
these steps is called the boot process. These tasks are each carried out
by BIOS' four main functions: Power-on self-test (POST).
BIOS and Booting
User management

• A user's account allows a user to authenticate to a system and


potentially to receive authorization to access resources provided
by or connected to that system; however, authentication does
not imply authorization. To log into an account, a user is typically
required to authenticate oneself with a password or
other credentials for the purposes of accounting, security,
logging, and resource management.
• There are more than one type of users, most of operating
system support at least
• Administrator: The system Admin that has all the required
privileges to add/edit/delete all the other users
• Standard: a normal user that can’t manage any other user
account but his own account.
User management

• Recently, most of the Operating systems


began moving the local user information,
to the cloud by linking your user
information to your email account
• This enables the user to share his
desktop, documents and system settings
across multiple devices without the need
to apply the same configuration over and
over again.
Multi-User
environment
(Practical)
• Building a stable computer operating systems is a very
complicated and long process that requires years of
continues planning and development by multi-national
corporations, so operating systems are not sold for free,
although you can install and run operating systems without
purchasing it, it will run with limited functionality.
• Licensing operating systems requires you to purchase a
license to keep using the system without restrictions,
Operating speaking of Microsoft windows 11 as an example, Windows
11 supports 3 types of license

system • Retail: that is a single user copy


• OEM (Original Equipment Manufacturer) : that is sold

licensing to a computer hardware system manufacturer (e.g.


Dell, Lenovo, Acer, …) to embed the system
preinstalled with their computers.
• Volume: that is sold for large business corporations,
where the company purchases more than one copy of
the operating system to be used by its employees

• Windows 11 Home edition license portal


Operating
system
Virtualization
Operating Virtualization is the process of running a virtual
instance of a computer system in a layer abstracted

system from the actual hardware. Most commonly, it refers to


running multiple operating systems on a computer

Virtualization system simultaneously. To the applications running on


top of the virtualized machine, it can appear as if they
are on their own dedicated machine, where the
operating system, libraries, and other programs are
unique to the guest virtualized system and
unconnected to the host operating system which sits
below it.
• There are many reasons why people utilize
virtualization in computing. To desktop users, the
most common use is to be able to run applications
meant for a different operating system without
having to switch computers or reboot into a different
Why system. For administrators of servers, virtualization
also offers the ability to run different operating
virtualization is systems, but perhaps, more importantly, it offers a
way to segment a large system into many smaller
needed parts, allowing the server to be used more efficiently
by a number of different users or applications with
different needs. It also allows for isolation, keeping
programs running inside of a virtual machine safe
from the processes taking place in another virtual
machine on the same host.
Components of a
virtual environment
• Any virtual environment must contain all the following
components
• Guest: that is the system being hosted inside your original
physical system.
• Virtualization layer: that is the application or solution that
is responsible for creating the environment that simulates
a physical computer and makes it available to the
underlying Guest operating system.
• Host: that is the actual physical system and resources that
hosts the virtual guest
Operating system
virtualization

• Virtualization has offered a very


futuristic and safe method to allow lots
of operations, most recently this
technology has proven itself in multiple
situations
Run Old or
Incompatible
Software
Develop
Most Software for
important Most
Other
Platforms
important
usages of usages of
virtualization
virtualization technology Handle
Potential
technology Malware
Safely

Tear Apart
Your System
Operating system
virtualization products
• Microsoft Hyper-V: Developed by Microsoft, Hyper-V comes
pre-shipped with Microsoft Windows starting Windows 8 and
above, however, the feature needs to be enabled first to be
able to use it
• Oracle VirtualBox: developed by the well know Oracle
corporation, it is a freeware application that enables you to
install multiple systems all isolated from each others and it is
lightweighted when compared to other similar solutions.
• VMWare Workstation: is a paid application that offers a vast
variety of features to enable you to install different operating
systems and run them side by side, even create a network
between them.
Using Oracle VirtualBox
virtualization platform
(Practical)
Computer
Applications

• Defining applications
• Installation
• Execution and Termination
• Uninstallation
• Layered architecture
• Licensing and payment
models
• Practical: Microsoft Word
Computer applications
definition

• Application software, also called application


program, software designed to handle specific
tasks for users. Such software directs the
computer to execute commands given by the user
and may be said to include any program that
processes data for a user. Application software
thus includes word processors, spreadsheets,
database management, inventory and payroll
programs, and many other “applications.”
Application software is distinguished from system
software, which controls a computer’s internal
functioning
• Applications are written by professional
developers using programming languages like
(C++, Java, Visual Basic, Python, PHP, C#,...etc)
No matter what is the source for your application, most application ships in
installation packages.

An installation package is mainly a compressed file that contains all the files,
resources and instructions needed to successfully prepare the application to be
installed and launched later.

Application Once an installation package decompresses the resources needed for the
application, it immediately launches an embedded application called the

installation Installer, which helps the user during the installation process.

The installer also saves each change it makes during the installation process, so
it can revert it when the user decides to Uninstall the application

The user only needs to install the application once, then he may use the
installed application as many times as he wants without the need to reinstall
Running an application and
force-ending not responding
ones
• Usually and for most modern applications, running
an app after installation requires nothing than double
clicking its icon that the installer creates it.
• Under some circumstances, an application might
become unresponsive for multiple possible reasons
like :-
• Insufficient system resources
• Missing file or directory
• Invalid permissions
• Application internal error
• In such cases, most modern operating systems offers
a Task manager that is dedicated to forcefully end
unresponsive applications
Running an application and force-ending not
responding ones

In such cases, most modern


operating systems offers a Task
manager that is dedicated to
forcefully end unresponsive
applications

This Photo by Unknown Author is licensed under CC BY-SA


Uninstalling
applications

• Computer applications differs from other files


or documents that you create, if not needed
any more, you must uninstall it properly to
keep your operating system functioning
properly
• Modern system offer an interface for
application management, in Windows 11 there
is a dedicated tool in the system settings that
handle this task.
• Once an application is uninstalled, all of its
resources, processes, memory usages,
background services and any space it was
claiming gets freed and restored to the
operating system to reassign it to other
applications
Modern application
design

• Most of the moder applications uses a


specific design pattern to logically
divide its purpose to separate layers.
• The most common design pattern is
the Layer Architecture pattern.
Application layered
architecture

• Any computer application fulfills its


purpose by interacting with the user by
receiving his input, storing it if needed,
processing it using several logics and
algorithms then informing the user with
the outcome of the processing.
• Thus, most of modern computer
applications now supports 4 layers that
depends on each others.
Application layered architecture
the presentation layer is anything the user sees when the
Presentation layer application is launched

The logic and reasoning layer, that where the calculations


Business layer and data processing happens

That’s where the data goes when it gets loaded from the
Persistent data layer underlying database to the memory so the application can
process it safely in isolation of the actual database

This is the application storage, where all the input and


Database processed output is saved on the device’s permanent storage,
the user is never allowed to access this layer directly
Application license

• Contrary to popular opinions, not all


computer applications sold for free, some
common applications took years
developing and enhancing.
• If you may have noticed yourself, some
applications you use might asked you at
least once to purchase it to keep using it or
to unlock its full features.
• Most popular application are developed
by multi-national corporations that hire
hundreds and maybe thousands of
employees
Modern application
license types
• Freeware: Freeware is a type of software that comes with
permission to be redistributed but not modified
• Shareware: Shareware is proprietary software that is distributed
free on a trial basis with a further payment for continued support
and updates
• Commercial: Commercial software is computer software that
serves commercial purposes. It is created to make profit
Worth mentioning that all these license types are for using the
application as it is, not attempting to modify it in any way, that’s
why the application Source Code (That is the programmatical code
used to make the application) is never distributed to the end user.
Windows Apps for Security - CNET Download
Finding the license type when downloading
apps from the internet
So how do
developers get paid
for investing their
valuable time and
effort making an
application ?
One-Time Purchase:
The application is bought once Like: Microsoft windows
and provides a life-time license
for the user.

Subscriptions: Like: Google Drive,


Microsoft Office 365,

Popular
The application requires a
Spotify, YouTube
periodic payment (usually Premium, Netflix and
monthly) to keep using the Anghami

payment application’s full capabilities.

business In-App Purchases:

models The application allows you to Like: Minecraft, PUBG, and


most of modern video
buy additional features on- games
demand from within the
application

Pay-As-You-Go:
Like: Microsoft Azure,
The application tailors a Amazon Web Services,
dedicated payment amount and other online cloud
services
based on the features you
select
Module 2: Summary
Operating System Applications

• Management Components • Installation


• File • Execution and Termination
• Process • Uninstallation
• I/O Device • Modern applications design
• Network • Licensing types
• Memory • Freeware
• Security • Shareware
• BIOS and Booting • Commercial
• User Management • Payment Models
• OS Licensing • One-time
• Virtualization • Subscription
• In-app purchases
• Pay-as-you-go
That’s all for Module 2:
Computer Software
Questions ?
Coming next
Computer Computer
Databases Programming
hardware software

You might also like