Transcript Slide 1

Information and Communication
Technology Fundamentals
Credits Hours: 2+1
Instructor: Ayesha Bint Saleem
Computer Software
Presentation Credits
• Dr Altaf Khan, Virtual University
• Dr Junaid, EE Dept, SEECS
• “Introduction to Computers”, Peter Norton
• “Using Information Technology”, Williams &
Sawyer
At the highest level, two things are
required for computing
Hardware: The physical equipment in a
computing environment such as the
computer and its peripheral devices
(printers, speakers...)
Software: The set of instructions that operates
various parts of the hardware. Also termed
as “computer program”
Computer Software
• The HW needs SW to be useful; the SW
needs HW to be useful
• When the user needs something done by
the computer, he/she gives instructions in
the form of SW to computer HW
• These instructions need to be written in a
language that is readily understood by
computer uP (microprocessor)
Machine Language
• That language is called the machine
language
• Machine language, though readily
understood by microprocessors, is very
difficult to write in for human programmers
• Language translators were invented to
overcome this problem
Language Translators
• Human programmers write programs in a
language that is easy to understand for them
• They use language translators to convert that
program into machine language – a language
that is easy to understand for the uPs
Two Major Types of SW
• System SW
• Programs that generally perform the
background tasks in a computer. These
programs, many times, talk directly to the HW
• Application SW
• Programs that generally interact with the user
to perform work that is useful to the user.
These programs generally talk to the HW
through the assistance of system SW
Types of SW
Another way of classifying SW
• Shrink-Wrapped SW
• You can just go to a shop and buy it
• Custom-built SW
• You cannot just go to a shop and buy it; you
have to find someone who can develop it for
you
Who Owns Software?
• Generally, although a piece of SW that is being
used by millions, it is not owned by any of them!
Instead, it is owned by the maker of the SW
• The makers let us use their SW but keep the
ownership to themselves. When we buy a SW
package, we do not really buy it – we just buy a
license that allows us to use it, the ownership stays
with the maker
• However, there are variations on this theme …
3 main types of SW licensees
1. Proprietary – Most software on a
Windows PC or a Macintosh belongs to
this category
2. Freeware – Most software on a Linux PC
belongs to that category
3. Shareware – the category which lies
between the above two categories
Proprietary SW License
• The user needs to pay the maker of the SW for
buying a license that allows the user to use the
SW
• The license, generally, does not transfer the
ownership of the SW; it just allows the user to use
it
• The user is legally barred from making copies of
the licensed SW. Generally, the license is for the
personal use only
• Most SW in use in the world is of this type
• Examples: Windows, Mac OS, MS Word, Adobe
Photoshop, Norton Antivirus
Freeware SW License
• Also known as “Public Domain SW”
• Allows the user free use of the SW
• The author, however, generally retains
ownership
• Can usually be downloaded from various Web
sites
• Examples: Linux; LaTeX; Netscape Web browser –
the Navigator; MS Web browser – the Internet
Explorer
Freeware: Open-Source SW
• Some authors give away the machine code only,
which is extremely difficult to modify, if at all!
• Others even give away the high-level language
source code so that users can make changes
according to their own requirements
• The later practice is called open-source licensing
• Examples: Linux; Netscape Navigator
Shareware SW License
• Allows the user free use of the SW, but with a
request that the user pay the author a small
amount (US$10-50) if the user is satisfied with the
SW
• The author retains ownership
• Can usually be downloaded from various Web
sites
• Examples: WinZip, Download Accelerator
Trialware
• Similar to shareware, but different
• The SW is usable for a short period only
• After an initial trial period that can range from a
week to a few months, the SW self-destructs
• Can be downloaded from the Internet or
alternatively, the user can receive a copy my
snail-mail by writing to the maker of the SW
• Why trialware?
• So that the customer can have a risk-free trial for a
limited-period only
Now to System Software…
Hardware
Device Driver
Operating System
Utility
Language
Translator
Scientific
Apps.
Business
Apps.
System software
Application software
Productivity
Apps.
Entertainment
Apps.
System SW are programs that …
• Control the overall operation of the
computer
• OS
• Interact directly with HW
• Device drivers
• Perform system management &
maintenance
• Utilities
• Are used to develop or maintain other
programs
• Language translators
The Booting Process
•Booting - the process of loading an
operating system into a computer’s
main memory
The Role of An OS
• User/ programmer convenience: simple,
consistent way for applications to
interact with
the hardware.
• Greater resource utilization: manages the
hardware and software resources of the
computer system, often invisibly.
Benefit for application developers
• Don’t have to manage hardware
complexity: Application developers can
design software for an OS and it will run on
all machines that support that OS.
The OS hides and manages the hardware
complexity and provide an Application
Programmer Interface (API).
OS Components
Device
Manager
File
Manager
Loader
Kernel
Command
Interpreter
(Shell)
GUI
Kernel
• The heart of the OS
• Responsible for all the essential operations
like managing resources, task scheduling,
etc.
• Also contains low-level HW interfaces.
• Size important, as it is memory-resident
Core Tasks of an OS
1.
2.
3.
4.
5.
6.
Processor management
Memory management
Device management
File management
Application Interface
User Interface
Processor Management
• Various programs compete for the
attention of the microprocessor.
• The OS plays the role of the honest referee,
making sure that each application gets the
necessary attention required for its proper
execution.
• It tries to optimally manages the limited
processing capacity of the microprocessor
to the greatest good of all the users & apps
Memory Management
• Straight forward for a single-user, single
tasking
• The OS ensures that:
• each application has enough private
memory
• applications do not run into other
application’s private memory.
• The OS is responsible for efficient
utilization of hierarchical system memory
(e.g. RAM, cache, etc.).
File Management
• A file system is a collection of directories,
subdirectories, and files organized in a
logical order
• The OS is responsible for maintaining the file
system through indexing of filenames and
their disk location.
• The OS can find any file in a logical and
timely fashion
Device Management
• Applications talk to devices through the OS
and OS talks to and manages devices
through device drivers
Example: When we print to a laser printer,
we do not need to know its details. All we
do is to tell the printer device driver about
what needs to be printed and it takes care
of the details
Application Interface
• Application developers do not need to
know much about the hardware
• The OS provides all applications with a
straight-forward and consistent interface to
hardware
Example: An application uses the OS to
store data on the disk drive without
knowing exact physical characteristics of
the disk.
User Interface
• Users communicate with the computer using a
consistent user interface provided by the OS
• This UI can be a command-line interface in
which a user types in the commands. Example:
copy a:/file1.html c:/file1.html
• Or, it can be a graphical UI, where Windows,
Icons, Menus, and a Pointing device (such as a
mouse) is used to receive and display
information. Example:
With the help of the mouse, drag file1.html
from drive a to drive c
Graphical User Interface
Command Line Interface
Types of Operating Systems
Classification according to type of
computers and applications they support
1.
2.
3.
4.
Real-Time Operating System (RTOS)
Single-User, Single Task
Single-User, Multi-Tasking
Multi-User, Multi-Tasking
RTOS (Real Time OS)
• Used to run computers embedded in
machinery, robots, scientific instruments
and industrial systems
• An important part of an RTOS is managing
the resources of the computer so that a
particular operation executes in precisely
the same amount of time every time it
occurs
• Examples: QNX, Real-time Linux
Single user/Single tasking OS
• OS designed to manage the computer so
that one user can effectively do one thing
at a time
• MS-DOS is an example single-tasking singleuser OS with a command line interface
• Take up little space on disk
• Run on inexpensive computers
Single user/Multitasking OS
• Most popular OS, used by most of PCs and
Laptops
• Lets a single user interact with several
programs, simultaneously
• Mac OS, Linux Windows XP
• Require expensive computers
• Tend to be complex
Multi user/Multi tasking OS
• Multi user/Multitasking OS
• Many users connect to one computer
• Each user has a unique session
• UNIX, Linux, and VMS
• Maintenance can be easy
• Requires a powerful computer
Multi user/Multi tasking OS
Firmware
• OS components that are stored permanently on
chip (ROM) and not on the disk drive
• When a computer is powered-on, firmware is
the first program that it always executes
• Firmware consists of startup and a few low-level
I/O routines that assist the computer in finding
out and executing the rest of the OS
• On IBM-compatible PC’s, it is called BIOS
Utilities
Computer programs that perform a
particular function related to
computer system management and
maintenance
Examples:
1.
2.
3.
4.
Anti-virus SW
Data compression SW
Disk optimization SW
Disk backup SW
Language Translators
Programs that take code written in a HLL and
translate it into a low-level language that is easily
understood by the uP
1. Compiler translates the program written in a HLL
in one go. The translated code is then used by the
uP whenever the program needs to be run
2. Interpreter translates the HLL program one
statement at time. It reads a single statement,
translates it into machine language and passes
that machine language code to the uP and then
translates the next statement, and so on …
Device Drivers
• A computer program that facilitates the
communication between the computer
and a peripheral device (e.g. printer,
mouse, etc.)
• It takes the instructions and/or data from
the computer and converts them into a
form that is readily understood by a
peripheral device, and vice versa
Survey of common
Operating Systems
for
1. PCs
2. Embedded Systems
3. Networks
PC Operating Systems
• Microsoft Windows is the most popular
• Installed more than other OS combined
• Installed on about 95% of computers
• Apple and Linux represent the other 5%
7B-46
PC Operating Systems
• DOS
• Disk Operating System
• Single user single-tasking OS
• Command line interface
• 16-bit OS
• Powerful
• Fast
• Supports legacy applications
7B-47
DOS
DOS Application
7B-49
PC Operating Systems
• Windows 9x
• 95, 98, and Millennium Edition (Me)
• 32-bit OS
• Supported 16-bit programs well
• Very pretty not stable OS
• Still found in large corporations
• 95 introduced the Start button
• 98 introduced active desktop
• Me improved multimedia software
7B-53
PC Operating Systems
• Windows NT
• Designed for a powerful system
• 32-bit OS
• Very stable
• Windows NT Workstation
• Single user multi tasking OS
• Windows NT Server
• Multi user multi tasking OS
• Network operating system
7B-55
WINDOWS 2000
PC Operating Systems
• Windows 2000
• Look of 9x with NT stability
• Optimized for office and developers
• Application software ran very well
• Entertainment software ran very poorly
7B-57
PC Operating Systems
• Windows XP
• Different look from 2000
• Many different versions
• Digital multimedia support was enhanced
• Communications was enhanced
• Mobile computing became a priority
7B-59
PC Operating Systems
• Windows Vista
• Microsoft’s newest desktop product
• Updated GUI
• Security was enhanced
• New multimedia creation tools included
• High system requirements
7B-60
PC Operating Systems
• UNIX
• Runs on all computer types
• 32- or 64-bit
• Very stable and fast
• Command-line interface
• Can cost thousands of dollars
7B-61
PC Operating Systems
• Linux
• Free or inexpensive version of UNIX
• 32-bit OS
• Very stable and fast
• Most flavors are open source
• X Windows GUI
• Command line interface is available
7B-63
PC Operating Systems
• Macintosh operating systems
• OS X
• Based on FreeBSD Linux
• Very stable and easy to configure
• Only runs on Mac hardware
7B-66
OS X Desktop
7B-67
Network operating system Features
• Fast and stable
• Runs on servers
• Multi-user and multitasking OS
• 32- or 64-bit
• File and print sharing
• Data security
7B-68
Networking Operating Systems
• NT Server
• Same core as NT Workstation
• Security added
• Multi user capability added
• RAID support included
7B-69
Networking Operating Systems
• Windows 2000 Server
• Same technology as 2000 workstation
• Active Directory (AD)
• Central database of server resources
• Simplifies network management
• Distributed programs supported
• Server Standard Edition
• Advanced Server Edition
• Data Center Edition
7B-70
Networking Operating Systems
• Windows 2003 Server
• Designed to compete with UNIX
• XP like interface
• Better support for XP computers
• MS .NET framework supported
• Distributed programs are supported
• Server Standard Edition
• Data Center Edition
7B-71
Networking Operating Systems
• UNIX for servers
• Oldest NOS in widespread use
• Stable secure and fast
• Main OS for Internet and Web
• Large organizations depend on UNIX
7B-72
Networking Operating Systems
• Linux for servers
• Popular in small businesses
• Stable, fast and inexpensive
• Linux’s popularity is growing
7B-73
Embedded Operating
Systems
Embedded Operating Systems
• Also called real time operating system
• Devices have EOS built in
• Designed to be very compact and efficient
• Run specialized application
• Stable and fast
• Deterministic interrupt latency
• Cell phones, PDAs, medical equipment
7B-75
Embedded Operating Systems
• Windows XP embedded
• Based on Windows XP
• Customized for each device
7B-76
Embedded Operating Systems
• Windows CE
• Not based on a desktop OS
• Customized for each device
• PDA and cell phones
• Microsoft Automotive will run in cars
7B-77
Pocket PC OS
Palm OS
Symbian OS
Embedded Operating Systems
• Palm OS
• Standard on Palm PDA
• First PDA OS for consumers
• Can be found on cell phones
7B-81
Embedded Operating Systems
• Pocket PC
• Developed to compete with Palm
• Not customizable
• Interacts securely with business networks
• Can control PCs through PC
7B-82
Embedded Operating Systems
• Symbian
• Found in smart cell phones
• Games, Instant Messaging, Internet
• Full color display
7B-83
OS Survey
Summary
END of LECTURE