Transcript Software
CSCI-100
Introduction to Computing
Software
Gross Anatomy
Hardware
Equipment associated with the computer
• Input devices, processor, output devices, storage
Software
Instructions that tell the hardware what to do
Two categories of software:
• System software
• Application software
System Software
System software includes all of the programs
needed to keep a computer and its peripheral
devices running smoothly
Two major categories of system software are:
Operating systems
System utilities
© Prentice-Hall, Inc
The Operating System
The operating system (OS) is a set of programs
that perform certain basic functions with a
specific type of hardware
The functions of the OS are:
Starting the computer
Managing programs
Managing memory
Handling messages from input and output devices
Enabling user interaction with the computer
© Prentice-Hall, Inc
The Operating System
OS stays behind the scenes
All software depends on the OS
Sales
Summary
Income
Statement
Office
Inventory
CAD
GUI
Operating
System
Tax
Planning
Human
Resource
Mgt.
Loan
Computer
Evaluation
Games
System Investment
System
© Prentice-Hall, Inc
Operating Systems for Large
Computers
Resource
Assigning computer resources to certain
programs and processes for their use
Main
allocation
issues related to resource allocation
Sharing the Central Processing Unit (CPU)
Sharing memory
Sharing storage resources
Sharing printing resources
© Prentice-Hall, Inc
Multiprocessing
The
use of a powerful computer with
multiple CPUs
Multiple
programs run simultaneously
Each runs on its own processor
© Prentice-Hall, Inc
Multiprogramming
Two
or more programs executed
concurrently
Programs take turns using the CPU
Event-driven
• An interrupt suspends processing to allow another
program to run
• After the second program runs, the OS returns the
CPU to another program
© Prentice-Hall, Inc
Time-Sharing
Programs take turns using the CPU
Time-driven
Each user is given a slice of time (fraction of a second)
CPU works only on that user’s tasks during his/her time
slice
Typically used in applications with many users
© Prentice-Hall, Inc
Starting the Computer
– The process of loading or
reloading the OS into the computer’s
memory
Booting
© Prentice-Hall, Inc
Starting the Computer
The
computer copies the kernel from the
hard drive into the computer’s memory
The kernel
•
•
•
•
•
Is the central part of the OS
Starts all applications
Manages devices and memory
Resides in memory at all times
Performs other essential functions
© Prentice-Hall, Inc
Managing Programs
Single-tasking systems run one application
program at a time
Multitasking OSs have the ability to run more
than one application program at a time
Multitasking is accomplished by
A foreground application
• The active program or program in use
One or more background applications
• Inactive program(s) or program(s) not in use
© Prentice-Hall, Inc
Example of Multitasking
Background
application
Foreground
application
© Prentice-Hall, Inc
Storage Structure
Programs must be in main memory (RAM) to execute
Von-Neumann architecture
Load instruction from memory into instruction register (IR)
Operands fetched from memory to internal registers
START
Fetch next instruction from
Memory to IR
Increment Program Counter
Decode and Execute
Instruction in IR
NO
STOP ?
YES
Storage Structure
Ideally, we want programs and data to reside in main
memory permanently
Main memory is usually too small
Main memory is volatile – loses contents on power loss
Secondary storage holds large quantities of data,
permanently
Magnetic disk is the most common secondary-storage
device
Actually, a hierarchy of storage varying by speed, cost,
size and volatility
© Prentice-Hall, Inc
Storage-Device
Hierarchy
FAST AND
EXPENSIVE
SLOW AND
CHEAP
Managing Memory
The
operating system allocates memory
areas for each running program; it keeps
programs from interfering with each other
The
operating system uses virtual memory
as an extension of random access
memory (RAM)
© Prentice-Hall, Inc
Managing Virtual Memory
hard disk
data
swapped
in
most recently
transferred data or
program instructions
memory
Virtual memory
management
swap
file
© Prentice-Hall, Inc
data
swapped
out
least recently
used data or
program instructions
Cache: Analogy
You are going to do some research on a particular
topic. Thus, you go to the library and look for the a
shelve that contains books on that particular topic
You pick up a book from the shelve, find a chair, seat
and start reading
© Prentice-Hall, Inc
Cache: Analogy
You find a reference to another book on the same topic
that you are also interested in reading. Thus, you stand
up, go to the same shelve, leave the first book and pick
up the other book
Then, you go back to the chair and start reading the
second book
Later on you realize that you want to read the first book
once again (or another related book). Thus, you repeat
the same process (i.e., go to the shelve to find it)
© Prentice-Hall, Inc
Cache: Analogy
Suppose that instead of taking just one book from the
shelve, you take 10 books on the same topic. Then,
you find a table with a chair, put the 10 books on the
table, sit there and start reading one of the books
If you need another related book, there is a good
chance that it is on your table so you don’t have to go
to the shelve to get it. Also, you can leave the first
book on the table and there is a good chance that you
will be needing it again later
© Prentice-Hall, Inc
Handling Input and Output
Input
and output devices generate
interrupts, or signals, that tell the operating
system that something has happened
The
OS provides interrupt handlers or miniprograms that begin when an interrupt
occurs
© Prentice-Hall, Inc
Providing the User Interface
The user interface is that part of the OS
with which the user interacts with a
computer
© Prentice-Hall, Inc
Types of User Interfaces
Graphical user interface (GUI)
Menu-driven
Uses graphics to create a desktop environment
Icons (small pictures) represent computer resources
Programs run within on-screen windows
Text-based menus are used to show all of the
options available to the user
Command-line
The user is required to type keywords or commands
in order to enter data or give instructions
© Prentice-Hall, Inc
Graphical User Interface (GUI)
© Prentice-Hall, Inc
Menu-driven User Interface
© Prentice-Hall, Inc
Command-Line Interface
© Prentice-Hall, Inc
Popular Operating Systems
MAC OS
WINDOWS XP
UNIX
MS-DOS
© Prentice-Hall, Inc
LINUX
Microsoft Windows
Click to view each Windows version (1985-2001)
Windows
Windows
Windows
Windows
Windows
Windows
3.x2000
ME
NT
XP
2.0
95
98
(1990-1992)
1.0(1998)
(1995)
(2001)
(1993)
(1987)
(2000)
(1985)
(2000)
© Prentice-Hall, Inc
MAC OS
Created in 1984
First OS to use
graphical user
interface
Easiest operating
system for
beginners
A new version,
Mac OS X, was
released in 2000
© Prentice-Hall, Inc
MS-DOS
Developed for IBM PCs in
1981
Uses command-line
interface
Use is diminishing
© Prentice-Hall, Inc
UNIX
Developed
by AT&T
in 1970s
Developed
concepts
of file management
and path names
Widely
used by
corporations
© Prentice-Hall, Inc
Developed
in
1991 by UNIX
Open-source
code –Available
for all to see and
use
More
stable than
Windows
Powerful
and free
Growing
acceptance
© Prentice-Hall, Inc
Linux
Applications Software
Word
Processing
Software for creating standard text documents,
such as reports, books, etc.
examples are Microsoft Word, WordPerfect,
and Write.
Applications Software
Word
processors are distinguished from
the simpler text editors, by
the inclusion of more advanced features
(word wrap, headers & footers, etc.), and
more complex proprietary data formats. Text
editors have limited functionally.
Application Software
Desktop
publishing software:
more sophisticated programs for creating
large documents (e.g. books), or documents
with a lot of graphic (newsletters, brochures,
etc.)
examples are Pagemaker and Ventura.
Application Software
Spreadsheets
Software for working with numeric data,
calculations and graphing/charting.
examples:
• Microsoft Excel;
• Lotus 1-2-3, and
• Quattro Pro.
Application Software
Databases
allows the creation of highly structured
containers for storing information about things.
examples: Microsoft Access, Paradox, and
Oracle.
examples of types of database systems would
be inventory systems, or bank accounts.
Application Software
Databases
describe
the characteristics of things (e.g. name,
address and phone number for a mailing list),
and
allow the user to input values for storage, and
retrieve them at a later date.
Application Software
Communications
allows one computer to communicate with
another.
Examples are Procomm and Kermit.
Communications
software often uses a
modem to provide the communications link
with another computer system.
Application Software
Graphics
allows the user to create or edit images, such
as
• line art;
• photographs, or
• drawings.
examples are Corel Draw, Morph and Adobe
Photoshop.
Application Software
Presentation/Multimedia
allows the user to combine various data
formats (text, images, audio, video) to create
products like business presentations,
educational programs, games, etc.
examples are Microsoft Powerpoint and
Macromedia Director.
Application Software
Programming
used to create other software programs.
examples are QBasic and Borland C++.
Why
do we have programming software???
Application Software
Utilities
performs a variety of functions for maintaining
and administering other software programs,
data files, and hardware.
examples are PCtools and Norton Utilities.
Application Software
Games
& Edutainment - Games are, well,
games.
Edutainment
software
a new term used to describe software that
uses a game-like environment to teach about
specific topics.
Application Software
Viruses
special software programs that can "infect"
other software, and
cause it to malfunction, or
do things its' creators did not intend to do.
viruses can be very damaging, and
anti-virus software protects computer systems
from becoming infected.
Application Software
Industrial
- Specialized software
programs used to control machines or devices
such as:
•
•
•
•
•
photocopiers;
robotics;
cars;
space shuttles;
etc.
Application Software
Consumer
- Specialized software
programs used in commercial/personal
devices such as microwaves and other
household appliances.
some modern homes are being designed with
built-in computer systems that can be used to
control heat, lights, etc.
Summary
Software
concept
Types of software
Operating system
Application software