MS1 Module 2
Major hardware components of a
computer
Types of computers
Storage Technology
Input/Output Technology
Multimedia
Software
– Types
– Development
Processing & Memory Devices
Central Processing Unit (CPU)
Control Unit - controls and coordinates
other components of a computer.
Arithmetic-Logic Unit (ALU) - performs
the arithmetic and logical operations on
data.
Figure 3.1: Computer System
Components
Primary storage
Primary storage is used to store
program instructions and data, for
example, RAM and ROM.
RAM is volatile while ROM is not.
Program instructions and data stored
in RAM will be lost when the
computer’s power is switched off.
Figure 3.5: Basic Types of Memory
Chips
Primary storage
A bit (binary digit) is the smallest unit
of storage.
A byte (made up of eight bits) is
used to represent a single character.
Machine cycle simulation
Types of Computers
Mainframe - large computers with a
large amount of RAM in order to handle
massive amounts of data and processes
Minicomputer - usually have more RAM
and faster CPUs than microcomputers in
order to serve several users
simultaneously
Types of computers
Microcomputers:
– most of them use Intel’s x86 family of
microprocessors
Microcomputers
8088 XT
80286
80386
80486
Pentium
Pentium II
MMX (multi media extensions)
Pentium III & IV
A Typical Microcomputer
(motherboard)
RAM - Random Access Memory slots
ROM - Read Only Memory
Expansion Slots
CPU socket
Onboard Sound/LAN
Onboard Video
Memory Characteristics and
Functions: Storage Capacity
Processor Technology Trends
Client/server Computing - Processing is
performed partly at the workstation
(client) and partly at the main computer
(server).
Processor Technology Trends
Parallel processing - With the advance
in technology, microprocessors,
processing of more than one instruction
at a time by using multiple processors
at the same time
Figure 3.7: Massively Parallel
Processing
Types of computers
Supercomputers:
– Very powerful computers for extremely
complex computations
– Faster than the fastest mainframes
– Make use of parallel processing
Secondary Storage
Magnetic Tape
Magnetic Disk
– Hard Disk
– Mirroring
– RAID
– Zip Drive
Secondary Storage
Floppy Disks
– 3 1/2”
Optical Disks
– CD-ROM
– WORM
Fig 3.11
Input and Output devices
Data
Data can be human or machine readable
Data entry converts human readable data
into machine-readable form
Data input transfers machine-readable data
into the system
Source data automation
Input Batch & Online
Batch - Data are captured in source
documents, then input and stored on
transaction files. Processing of data
occurs some time later.
– Key to tape/disk
Input Batch & Online
Online - Data are input and stored into
the computer when they are available.
No source documents are used
– Touch Screen
– Light Pens
– Bar Code Readers
– Mouse
Track Ball
Source Data
Automation (SDA)
Magnetic Ink Character Recognition
(MICR)
Optical Character Recognition (OCR)
– Bar Coding
Voice Input
Multimedia Computers
Fig 3.16
Output
Impact Printers
– Character
– Dot Matrix
Non Impact Printers
– Thermal
– Laser
– Ink Jet
Multimedia
The integration of two or more types of
media technologies such as text,
graphics, sound, video, or animation
into a computer application
Mostly used in training and
entertainment
Kiosks (drivers license, internet)
Software: Systems and
Application Software
Software
System Software
– Operating Systems
Dos, UNIX or LINUX, Windows 95, 98, NT, ME,
XP, Mac OS X
Application Software
Table 4.1: Classifying
Software by Type and Sphere
of Influence
Figure 4.2:
Operating system as interface
between application software and
hardware
Table 4.3: Popular Operating
Systems Cross All Three
Spheres of Influence
Table 4.5: A Comparison of
Proprietary and Off-the-Shelf
Software
Table 4.5: A Comparison of
Proprietary and Off-the-Shelf
Software (continued)
Personal Application Software
Table 4.6: Examples of
Personal Productivity Software
Table 4.6: Examples of Personal
Productivity Software
(continued)
Table 4.9: Examples of
Enterprise Application
Software
Enterprise Resource Planning
(ERP)
ERP software: a set of integrated
programs that manage a company’s
critical business operations
ERP software can support global
operations – so it must support many
languages, legal entities, and currencies
Table 4.8
Benefits of ERP Systems
Eliminate inefficient systems
Improved data access for decision
making
Facilitate the adoption of improved
work processes
Supply chain management
The Downside of of ERP
Systems
Costly
Changed business processes
Employee resistance
Programming Languages
Commands and statements combined
according to a particular syntax
Different languages have different
characteristics
Second-Generation Languages
Assembly languages
Assemblers
Symbolic language
Third-Generation Languages
Greater use of symbolic code
Statements are more English-like
Easier to learn
Resulting program slower & don’t use
RAM as efficiently
Examples: BASIC, COBOL, C, C++,
FORTRAN
Language Translators
Fig 4.20 – interpreter
Figure 4.18: How a Compiler
Works
Fourth-Generation Languages
4GLs
Programs tell the CPU the desired
results, not how to get them
GUI (Graphical User Interface)
Examples: PowerBuilder, SQL, CSS
.NET Example
Java Example
Scratch
OOP
Object-oriented programming
combines data and procedures into
units called objects. Objects work
together within an application (as
opposed to an organization of tasks
or procedures).
– Examples: Java, .NET
Object-Oriented Programming
Languages
Objects include data & actions. Objects
interact by passing messages
Encapsulation: group items into an object
Polymorphism: One procedure can work with
multiple objects.
Inheritance: an object in a particular class
gets attributes of that class.
Fig 4.19
Selecting a Programming
Language
Trade-offs of language characteristics, cost,
control & complexity
Assembly language programs are fast &
efficient & offer the programmer fine-grained
control over the hardware
Third and fourth-generation languages are
easier to learn & use
Development Issues & Trends
Open source software/programming
languages: freely available and modifiable
– Linux, Perl, PHP, Python, Ruby, MySQL, PostreSQL
Outsourcing of software development
Agile Software Development
Older methodologies: (SDLC, RUP-Rational Unified
Process, Test-driven development)
Questions (?)