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