Chapter 1: Introduction

Download Report

Transcript Chapter 1: Introduction

Chapter 1
Introduction
1
History of Computers
Development of computers began with
many early inventions:
The abacus helped early societies
perform computations (c. 3000 B.C.)
The Pascaline used moveable dials to add
numbers with up to eight digits (1642).
1
Nineteenth-Century Inventions
The nineteenth century brought further
inventions:
Charles Babbage’s Difference Engine and
later his Analytical Engine defined many
basic components of today’s computers.
The arithometer (1820) performed four
basic mathematical functions: + - * /.
Herman Hollerith developed a system to
aid in tabulating data from the 1890 U.S.
Census using punch cards.
1
First-Generation Computers
During World War II, the first generation of
modern computers was introduced:
Colossus was developed in England to decode
encrypted German messages.
ENIAC was developed in the U.S. to calculate
ballistic missile trajectories.
EDVAC was designed by John Von Neumann and
it featured a central processing unit.
UNIVAC was the first commercially available
computing device.
1
Second-Generation Computers
The second generation of computers
(c. 1956) was marked by:
A shift from bulky vacuum tubes to
transistors.
A shift in programming from physically
rerouting cables to “software” stored on
punch cards and tape storage.
The emergence of machine and assembly
languages.
1
Third-Generation Computers
With the invention of integrated
circuits (ICs), computers became
smaller and more powerful. ICs:
Are smaller than transistors
Produce less heat
Allow multiple components to fit on a
smaller chip
1
Fourth-Generation Computers
Computers became smaller and more
affordable, and available to small
businesses and individuals.
MITS Altair 8800 (1974)
Apple I, II
Commodore PET
IBM PC (1981)
Macintosh (1984)
1
What is computer hardware?
Computer hardware are the physical
components of the computer.
1
Input/Output Devices
Input/Output devices provide communication
between user and hardware.
Input Devices
Keyboard
Mouse
Scanner
Output Devices
Monitor
Speakers
Printer
1
Processors and Memory
Central Processing Unit (CPU)
Performs basic functions, millions and
billions of times per second (brains of the
computer)
Random-Access Memory
Stores data used by the CPU (before and
after processing)
1
Data Storage
Data storage uses a variety of
media. Capacity is measured in
bits and bytes:
A bit represents the on or off state of a
transistor (symbolized by a 1 or a 0).
A byte is eight bits.
A kilobyte is 210 or 1,024 bytes.
A megabyte is 1,048,576 bytes.
1
Hard Drives
The hard drive is the primary storage
device in a computer. Hard drives are:
Long term, rewritable storage
Large capacity
Inexpensive
Fixed media (relatively difficult to move
from one computer to another)
1
Removable Media
Some storage devices are more
portable:
CD/DVD
Medium capacity
Inexpensive
Easy to transport from one computer to another
Flash, Zip, USB drives
Differing capacities
Differing price per MB
1
Computer Software
Software can be divided into two
categories:
Systems software includes operating
systems, compilers, and utilities.
Application software runs on top of an
operating system.
1
What is an operating system?
An operating system (OS) manages
the hardware and software on a
computer system. An OS:
Manages memory and hardware
resources
Allocates resources to applications
Provides a consistent interface for
applications
1
Operating Systems
UNIX/Linux
Multiuser OS
Multitasking
Runs on many types of hardware
Modular tools
Mac OS
First mainstream graphical user interface
Icons (pictures) and mouse replaced command line
interface
DOS/Windows
DOS gained popularity with first PCs
Windows provided graphical interface to DOS
Windows later separated itself from DOS underpinnings
1
Applications
Desktop Software
Installed on single computer
Most common type of application in use today
Web-Based Software
Runs on a Web server, accessed through a browser
Accessible anywhere one has access to the Internet
Web Services
Allow applications to communicate with each other without
user intervention
1
Low-Level Languages
Low-level programming languages use
simple commands to communicate
with the CPU:
Machine language (most basic language
of the CPU)
Assembly language (human readable, but
close to machine language)
1
High-Level Languages
High-level languages can be
procedural or object-oriented:
Procedural languages use a step-by-step
process to solve a problem.
Basic, Pascal, C
Object-oriented languages model problems
using objects that correspond to real-world
counterparts.
Smalltalk, C++, Java
1
Software Development Process
Software development usually follows
these basic steps:
Analysis
Design
Implementation
Testing
Deployment
Maintenance