You are on page 1of 55

Software

What is a Software
• Software is a collection of computer
programs, procedures, rules and associated
documentation and data pertaining to the
operation of a computer system.
Software is traditionally divided into two
categories.

System Software and Application Software


Software Application Domains
• System Software : Designed to operate and control the
computer hardware and provide a platform for running the
application software. Operating Systems and computer
drivers.
• Application Software : Stand alone
programs that solve the specific business
need. Office package, Skype etc.
• Engineering/Scientific Software : Characterized by
number crunching algorithms such as automotive stress
analysis, space engineering.
• Embedded Software : Resides within a product or
system and is used to implement and control features and
functions for the end user and for the system itself.
Ex: Key pad control for microwave oven, Anti-lock brakes,
Auto-focus camera, Teller machines.
• Product Line Software : Focus on a limited
marketplace to address mass consumer
market.
Ex: Database management systems, Adobe
Photoshop
• Web Applications : The network-centric
software category spans a wide array of
applications.
• AI : Makes use of non-numerical algorithm to
solve complex problem.
Tesla Auto Pilot
Car

Siri, Amazon Alexa, Netflix


Facebook AI Jarvis
Sophia is an incredibly
advanced social-learning
robot. Through AI, Sophia
can efficiently communicate
with natural language and
use facial expressions to
convey human-like
emotions.
• Open Source : Free source and free tools
open to the computing community.
System Software
• System Software helps the computer carry out its basic
operating tasks
• Deal with hardware to provide a friendly interface to
application software & end users
• Handle physical complexities & technical details of hardware
with little or no user involvement
• Several Kinds
– Bootstrap Loader
– Diagnostic Routines
– BIOS
– Operating Systems
– Device Drivers
– Utilities
– Language Translators
System Software Cont..
• Bootstrap Loader
• Stored permanently on ROM
• When switched on, loads the OS from secondary storage into
RAM
• Diagnostic Routines
• Stored permanently on ROM
• When switched on, test failures or problems in RAM, CPU &
other hardware
• Basic Input-Output System (BIOS)
• Stored permanently on ROM
• Interprets keyboard characters & transmits them to Monitor or
Disk drive
System Software Cont..
• Operating Systems
Provide three basic functions
– Managing computer resources
– Providing a friendly interface to application
software & end users
– Running applications
System Software Cont..
Operating Systems
Functions of an Operating Systems
1. Starting a computer
The process of starting a computer (booting)
– Step 1: the power supply sends an electrical signal to the
component in the system unit
– Step 2: the charge of electricity causes the processor chip
to reset itself and find the ROM chip that contains the BIOS
– Step 3: the BIOS executes a series of tests to make sure
the computer hardware is connected properly and
operating correctly. (POST-Power On Self Test)
– Step 4: the POST results are compared with the data in
CMOS chip.
System Software Cont..
Operating Systems
The process of starting a computer (booting)
– Step 5: if the POST completes successfully, the BIOS searches
for specific operating system files called system files. If the ports
or drives do not contain media or if the system files are not on
media in the port or drive the BIOS looks in drive C

– Step 6: Once located the system files load into memory (RAM)
from storage (usually the hard disk) and execute. Next, the
kernel of the operating system loads into memory.

– Step 7: the operating system loads system configuration


information. The operating system executes the program in the
Startup folder
System Software Cont..
Operating Systems
Functions of an Operating System
2. Providing a user interface
– Command line interface
– Graphical user interface (GUI)
3. Managing Program
– Single user/single tasking
– Single user/ multi tasking
– Multi user/ multi tasking/multi processing
4. Managing Memory
– Purpose is to optimize the use of memory(RAM)
– Scheduling Jobs
System Software Cont..
Operating Systems
Functions of an Operating System
5. Configure Devices

6. Monitoring performance

7. Providing file management and other utilities

8. Controlling a network

9. Administering Security
System Software Cont..
Device Drivers
• Specialized piece of software associated with
every hardware device
• Provided by the manufacturer of the device
• Work with OS to establish a communication link
between hardware device & the rest of the
computer
• When computer is turned on, OS loads device
drivers into the memory
• Whenever a new device is added, its device driver
must be installed before use it
• Built-into the OS to provide Plug & Play support
System Software Cont..
Utilities
• Make computing easier by providing
tools to correct & avoid problems
• Usually come with OS, but also
available as suites
• Important Utilities
– Troubleshooting programs
• Recognize & correct problems before
become serious
– Antivirus programs
• Protect the system from malicious
software
– Uninstall programs
• Remove unwanted software completely
System Software Cont..
Utilities
Important Utilities (Cont.,)
• Backup programs
– Make copies of files to be used in case the originals
are lost or damaged
• File compression programs
– Reduce the size of files to save the storage space
• Disk Cleanup programs
– Identify & remove unwanted files to free the storage
space
• Disk Defragmenter
– Locate & eliminate file fragments by rearranging them
& free space
Operating Systems
Different Types Operating Systems
1. Desktop Operating Systems
• Intended for use in SOHO environment.
• Supports a single user.
• Shares files and folders on a small network with limited security.
• Microsoft Windows, Apple Mac OS, and Linux are a few examples.
Examples for Desktop Operating Systems

DOS
• Standard OS for IBM compatible microcomputers
• Introduced by Microsoft in 1981
• Developed for run on Intel Microprocessors
• Advantages
– Number of applications written for DOS
– Runs on inexpensive hardware
• Disadvantages
– Character based interface
– Single tasking
– Limited memory support
Examples for Desktop Operating Systems

Windows
• Not an OS, but an operating environment that
runs on DOS & extends its capabilities
• Introduced by Microsoft in 1985 for IBM
compatible PCs running on Intel
Microprocessors
• Supports for 16-bit microprocessors
• Became popular with version 3 & exploded with
the release of version 3.1 in 1992
Windows Contd.,
• Advantages compared to DOS
– GUI support
– Multitasking
– More memory access
– Virtual Memory support
• Disadvantages compared to DOS
– Higher system configuration
– Unrecoverable errors
Evolution of Windows
Windows 1.0 29
30
Windows 2.0
31
Windows 3.0
32
Windows 95
33
Windows 98
34
Windows ME
35
Windows XP
3-36
Windows Vista
Windows 7 3-37
Windows 8
Windows 10
Examples for Desktop Operating Systems

Mac OS
• Standard OS for Apple Macintosh microcomputers
• Introduced by Apple in 1983 for Apple Macintosh
computers running on Motorola microprocessors
• Most recent versions are based on Unix but it has a
good graphical interface so it is both stable (does not
crash often or have as many software problems as
other systems may have) and easy to learn.
• One drawback to this system is that it can only be run
on Apple produced hardware.
2. Network operating system
One that runs on a server and enables the server to
manage data, users, groups, security, applications, and
other networking functions
– Designed specifically to support a network
– Client computers on the network rely on the server for resources
– Support all sizes of networks
• Examples:
– Windows NT Workstation / Server
– Windows 2000 Professional / Server / Advanced Server / Data
Center Server
– Windows 2003 Server/2008 etc.,
Unix
• A system that has been around for many years and it is
very stable.
• Originally developed by AT&T in early 1970’s to run on
minicomputers in network environments
• It is primary used to be a server rather than a workstation
and should not be used by anyone who does not
understand the system.
• It can be difficult to learn.
• Unix must normally run in a computer made by the same
company that produces the software.

3-43
• Advantages
– Multitasking
– Multiprocessing
– Multi-user
– Networking support
– Advanced security
• Disadvantages
– Limited business applications
– More difficult to learn & use
– Number of different versions
Linux
• Linux is similar to Unix in operation but it is free.
• Developed by Linus Torvalds, a graduate
student at University of Helsinki in 1991
• Mainly used for web & e-mail servers
• Not compatible with Microsoft products
• Popular Linux distributions include Debian, Fedora, and
Ubuntu. Commercial distributions include Red Hat
Enterprise Linux and SUSE Linux Enterprise Server.

• Linux was originally developed for personal computers


but has since been ported to more platforms than any
other operating system.

• Linux is the leading operating system on servers and


other big iron systems such as mainframe computers,
and the only OS used on TOP500 supercomputers.
Linux also runs on embedded systems.
3-47
Mobile Operating Systems
Android Vs. iOS
• Open Source Vs. Closed Source
• Open Source: the source code is provided with the compiled program.
• Closed Source: the source code is not provided with the compiled
program.
• Android is open source while iOS is not.
• Mobile Application Development
• Mobile operating systems became software platforms.
• Apps are designed and developed to run on mobile OSs.
• Apple and Google provide development tools to app developers.
• Application and Content Sources
• Apps are essentially programs designed for mobile devices.
• Mobile OS manufacturers usually maintain an online store where users
can locate, download and install apps.
• Android users can also sideload apps.
• Users of stock iOS must use the official App Store to install apps.
Mobile Operating Systems
Android Touch Interface
• Home Screen Items
• Android mobile devices organize icons and widgets on multiple
screens.
• Android’s home screen elements include: Navigation Icons, Google
Search, Special Enhancements and Notification and System Icons.
• The format of the home screen is defined by the launcher.
• Managing Apps, Widgets and Folders
• Apps are represented by icons and arranged in a grid.
• In Android, home screen apps are simply a link; removing an app
from the home screen does not uninstall it.
• The user can customize the position of the apps.
• Folders can also be created to group apps.
• Widgets display information right on the home screen.
Mobile Operating Systems
iOS Touch Interface
• Home Screen Items
• iOS mobile devices organize icons on multiple screens.
• iOS home screen has no navigation icons and no widgets.
• iOS relies on a few UI elements, including: Home Button, Notification
Center and Spotlight (search tool).
• The format of the home screen in stock iOS is defined by Apple and
cannot be changed by the user.
• Managing Apps and Folders
• Apps are represented by icons and arranged in a grid.
• In iOS, home screen apps are the actual app; removing an app from
the home screen also uninstalls it.
• The user can customize the position of the apps.
• Folders can also be created to group apps.
• There are no widgets on iOS.
Mobile Operating Systems
Windows Mobile Touch Interface
• Home Screen Items
• Also referred to as Start.
• Based on Tiles
• Tiles are apps and can display information or allow interaction
right on the home screen
• No icons
• Navigation icons include: Back, Windows Button and Search
• Managing Apps and Folders
• Apps are represented by Tiles
• Apps can be pinned to or unpinned from Start
• Unpinning an app does not uninstall it
• The user can customize the position of the apps
• Tiles can also be resized
• Folders can also be created to group apps
Mobile Operating Systems
Common Mobile Device Features
• Screen Orientation and Calibration
• Mobile devices can operate in portrait or landscape.
• Sensors such as the accelerometer, allow the OS to detect
movement and automatically adjust screen orientation.
• The user can also adjust brightness to match ambient conditions.
• GPS
• Modern mobile devices include a GPS receiver.
• Uses include: navigation, geocaching, geotagging, tailored search
results and device tracking.
• Convenience Features
• These features are designed to make life easier.
• These features include: Wi-Fi Calling, Mobile Payments and VPNs.
• Information Features
• These features are designed to make access to information easier;
they include: Virtual Assistant, Google Now and Emergency
Notifications.
Methods for Securing Mobile Devices
Passcode Locks
• Overview of Passcode Locks
• Helps protecting sensitive data.
• The device cannot be accessed without the passcode.
• Types of Passcodes include: None, Swipe, Pattern, PIN,
Password, Trusted Devices, Trusted Places, Trusted
Face, Trusted Voice, On-body Detection and Touch ID.
• Restrictions on Failed Login Attempts
• Prevents Passcode brute-force attacks.
• Usually, the device is temporarily disabled after a certain
number of failed unlocking attempts.
• Different devices implement different restriction policies.
Methods for Securing Mobile Devices
Cloud-Enabled Services for Mobile
• Remote Backup
• Mobile devices can automatically back up user data to the
cloud.
• Different cloud backup options are available.
• Locator Applications
• Extremely useful if the device is lost or stolen.
• Locator apps allows the user to locate the device on a map.
• Remote Lock and Remote Wipe
• Other options include: remotely lock the device, send alerts
to the device, or remotely erase it.
Methods for Securing Mobile Devices
Software Security
• Antivirus
• Mobile devices are also vulnerable to malicious software.
• The sandbox limits the damage in mobile devices.
• User data can still be stolen and PCs can be infected.
• Mobile antivirus apps are available for iOS and Android.
• There are techniques to grant full access to a mobile
device’s file system. The process is called Rooting on
Android and Jailbreaking on iOS.
• A Rooted/Jailbroken device will lose most (if not all) of the
protection provided by sandboxing.
• Patching and Updating Operating Systems
• Updates add functionality or increase performance.
• Patches can fix security problems or issues with hardware
and software.
• Both Android and iOS use an automated process for
delivery.

You might also like