System Software & Computing Concepts - Computer Overview

Computer Overview

Introduction

  • This lecture provides an overview of computer systems and related concepts.

Topics Covered

  • Components of a Computer System
  • Hardware
  • Software
  • Communication
  • Computer System
  • Virtualization
  • Protocols and Standards

Learning Outcomes

  • Describe the basic building blocks of a computer system.
  • Identify the different types of computer systems.
  • Describe the different Protocols and Standards in computer systems.

Key Terms

  • application programming interface (API)
  • arithmetic/logic unit (ALU)
  • central processing unit (CPU)
  • channel (I/O)
  • communication channel
  • control unit (CU)
  • distributed computing
  • embedded computer
  • graphical user interface
  • hardware
  • input
  • input-process-output (IPO) model
  • interface unit
  • kernel
  • logical memory
  • modem
  • network interface card (NIC)
  • open computing
  • output
  • port (from one computer to another)
  • primary storage
  • protocol
  • random access memory (RAM)
  • read-only memory (ROM)
  • software
  • standards
  • stored program concept
  • submit (a job)
  • suite (protocol)
  • virtual
  • von Neumann architecture
  • word

Computer Considerations

  • Is the computer fast enough to run necessary programs?
  • Is the computer cost-effective?
  • Will it be obsolete in 6 months?

Importance of Studying Computer Architecture

  • User: Understand system capabilities and limitations, make informed decisions, improve communications with information technology professionals.
  • Programmer: Create efficient application software for specific processing needs (compiled versus scripted).
  • Systems Architect or Systems Analyst: Specify computer systems and architecture to meet application requirements; make intelligent decisions about system strategy (Cost, Quality & Time).
  • System Administrator / Manager: Install, configure, maintain, and upgrade computer systems; maximize system availability and efficiency; optimize system performance; ensure system security.
  • Web Services Designer: Optimize customer accessibility to Web services; optimize web system configurations; select appropriate data formats, page designs and scripting languages; design efficient Web pages.

The Process Model (IPO)

  • Input: keyboard, mouse, scanner, punch cards
  • Processing: CPU executes the computer program
  • Output: monitor, printer, fax machine
  • Storage: hard drive, optical media, diskettes, magnetic tape

Computer System Layout

  • IT computer systems are often laid out in a distributed manner to serve various departments and functions within an organization, including service, sales, order entry, support, web design, finance, marketing, research & planning, order fulfillment, purchasing, advertising, warehousing, and shipping.

Computer Systems

  • All computer systems, no matter how complex, consist of the following:
    • At least one CPU
    • Memory to hold programs and data
    • I/O devices
    • Long-term storage

Computer System Components

  • Hardware
    • Processes data by executing instructions
    • Provides input and output
    • Control input, output and storage components
  • Software
    • Applications and system software
    • Instructions tell hardware exactly what tasks to perform and in what order
  • Data
    • Fundamental representation of facts and observations
  • Communications
    • Sharing data and processing among different systems

Hardware Components

  • Input/Output devices
  • Storage Devices
  • CPU
    • Central Processing Unit
    • ALU: arithmetic/logic unit
    • CU: control unit
    • Interface unit
  • Memory
    • Short-term storage for CPU calculations

The Central Processing Unit (CPU)

  • ALU: arithmetic/logic unit
    • Performs arithmetic and Boolean logical calculations
  • CU: control unit
    • Controls processing of instructions
    • Controls movement of data within the CPU
  • Interface unit
    • Moves instructions and data between the CPU and other hardware components
    • Bus: bundle of wires that carry signals and power between different components

Memory

  • Also known as primary storage, working storage, and RAM (random access memory)
  • Consists of bits, each of which hold a value of either 0 or 1 (8 bits = 1 byte)
  • Holds both instructions and data of a computer program (stored program concept)

Software Components

  • Applications
  • Operating System
    • API: application program interface
    • File management
    • I/O
    • Kernel
      • Memory management
      • Resource scheduling
      • Program communication
      • Security
    • Network Module
  • The Bootstrap or Initial Program Load (IPL) is stored inside the ROM and contains instructions required to load the OS.

Communication Components

  • Hardware
    • Communication channels
      • Physical connections between computer systems
      • Examples: wire cable, phone lines, fiber optic cable, infrared light, radio waves
    • Interface hardware
      • Handles communication between the computer and the communication channel
      • Modem or network interface card (NIC)
  • Software
    • Establish connections
    • Control flow of data
    • Directs data to the proper applications for use

Virtualization

  • Virtual (American Heritage Dictionary – Existing or result in essence or effect though not in actual fact, form or name – Created, simulated, or carried on by means of a computer or computer network
  • Examples
    • Virtual memory
    • Virtual networks
    • Java Virtual Machine

Protocols

  • Common ground rules of communication between computers, I/O devices, and many software programs
  • Examples
    • HTTP: between Web servers and Web browsers
    • TCP/IP: between computers on the Internet and local area networks
    • SATA: between storage devices and computers
    • XML,RSS, SIP: new protocols

Standards

  • Created to ensure universal compatibility of data formats and protocols
  • May be created by committee or may become a de facto standard through popular use
  • Examples:
    • Computer languages: Java, SQL, C, JavaScript
    • Display standards: Postscript, MPEG-2, JPEG, GIF
    • Character set standards: ASCII, Unicode, EBCDIC
    • Multimedia standards: MPEG-2, MPEG-4, DivX, MP3
  • A Standard is basically a document containing the details of an agreed upon method.

History

  • 1642: Blaise Pascal invents a calculating machine
  • 1801: Joseph Marie Jacquard invents a loom that uses punch cards
  • 1800’s:
    • Charles Babbage attempts to build an analytical engine (mechanical computer)
    • Augusta Ada Byron develops many of the fundamental concepts of programming
    • George Boole invents Boolean logic

History of Modern Computers

  • 1937: Mark I is built (Aiken, Harvard University, IBM).
    • First electronic computer using relays.
  • 1939: ABC is built
    • First fully electronic digital computer. Used vacuum tubes.
  • 1943-46: ENIAC (Mauchly, Eckert, University of Pennsylvania).
    • First general purpose digital computer.
  • 1945: Von Neumann architecture proposed.
    • Still the standard for present day computers.
  • 1947: Creation of transistor – (Bardeen, Shockley, Brattain, Bell Labs).
  • 1951-2: EDVAC and IAS

Von Neumann Architecture

  • The Von Neumann or Stored Program architecture

System Software History

  • Early computers had no operating systems and were single user systems
    • Programs were entered using switches for each bit or by plugging wires into a panel
  • 1953-54: First operating system was built by General Motors Research Laboratories for their IBM 701 computer
  • Other early systems
    • FORTRAN Monitor System (FMS)
    • IBSYS
    • Share Operating System (SOS)

Operating Systems Development

  • 1963: Master Control Program (MCP) by Burroughs. Included many modern OS features.
  • 1964: OS/360 by IBM. Included batch processing of programs.
  • 1962: MIT Project MAC created a time-sharing OS called CTSS. Shortly afterwards, MIT, Bell Labs, and GE developed Multics (Multiplexed Information and Computing Services).

UNIX

  • After Bell Labs withdrew from the Multics project, Ken Thompson developed a personal operating system called UNIX using assembly language.
  • Dennis Ritchie developed the programming language C which was used to rewrite much of UNIX in a high-level language.
  • UNIX introduced
    • A hierarchical file system
    • The shell concept
    • Document production and formatting
    • Tools for networked and distributed processing

Graphical User Interface

  • 1960s: Doug Englebart (Stanford Research Institute)
    • Invented windows and a mouse interface
  • 1970s: Xerox PARC
    • Creates a practical windowing system for the Dynabook project
  • 1980s: Steve Jobs (Apple)
    • Developed the Apple Lisa and MacIntosh

IBM PC

  • 1982: Stand-alone, single user computer
  • PC-DOS, MS-DOS (disk operating system)
  • Later versions of DOS added
    • Hierarchical directory file storage
    • File redirection
    • Better memory management
  • Windowing systems
    • Windows 2.0, Windows 3.1, Windows 95
    • Windows NT, Windows XP, Windows Vista
    • Windows 7

Summary

  • This chapter has presented a brief review of the basics of computing.
  • We began by recalling the input-process-output model for computing.
  • Next we demonstrated the connection between that model and the components of the computer system.
  • We noted that implementation of the model requires four components: hardware, software, communication, and data.
  • The architecture of the computer system is made up of the hardware and system software.
  • In addition, a communication component exists to enable interconnecting systems.
  • We discussed the general architecture of a computer and noted that the same description applies to CPUs both modern and ancient, both large and small.
  • We introduced the important concepts of virtualization, standards and protocols, noting that these ideas will appear throughout the book.
  • The chapter concluded with a brief history of the computer from an architectural perspective.