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.