Chapter 2 Introduction to Systems Architecture
Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer Describe computer system components and their functions List computer system classes and their distinguishing characteristics Define the role and function of application and system software Describe the economic role of system and application development software
Why invent a computer? What kinds of problems were people trying to solve?
Primary characteristics of a computer General-purpose processor capable of performing computation, data movement, comparison, and branching functions Storage capacity sufficient to hold large numbers of program instructions and data Flexible communication capability through the use of multiple media and devices
Computer hardware
CPU Architecture
Storage Categories
Input/output capacity PC is a varied collection of devices connected through internal communication (system bus) Readings from White on evolution of the system bus
System bus How does capacity of system bus compare to CPU? Why is “backwards compatibility” an important issue for the bus?
Computer System Classes Microcomputer/Network Computer (PC) Minicomputer (up to 100 simultaneous users) Mainframe (1000s of simultaneous users) Supercomputer (computationally intense applications – weather forecasting, computer animation)
Computer System Classes
Multicomputer Configurations Any organization of multiple computers to support a specific set of services or applications Common configurations Cluster Blade Grid
Cluster Group of similar or identical computers that cooperate to provide services or execute a common application Connected by high-speed network Typically located close to one another Advantages: scalability and fault tolerance Disadvantages: complex configuration and administration
Blade Circuit board that contains most of a server computer; a specialized cluster Same advantages and disadvantages as a cluster, but also: Concentrate more computing power in less space Are simpler to modify
Grid Group of dissimilar computer systems, connected by high-speed network, that cooperate to provide services or execute a common application Computers may be in separate rooms, buildings, or continents Computers work cooperatively at some times, independently at others
Bigger Isn’t Always Better Grosch’s Law (1952) has been rewritten due to: Multiple classes of computers Expanded abilities to configure computers for specific purposes Increased software costs relative to hardware costs Large computer databases Widespread adoption of graphical user interfaces Multicomputer configurations
The Role of Software
Complexity of software creation Software performs a complex translation: Identified need or task Human language description of how to complete the task (algorithm, recipe, construction plan, blueprint) Algorithm to programming language (code) Programming language to machine language Machine language to CPU instructions (all binary, 0s and 1s)
Software types Application software System software
Systems software Invisible to user (ideal) IS professional – needs to understand/configure/install/maintain/ update systems software
Software layers
Software/hardware layers
System software layers System management – utilities called by user/system administrator System services – functions common to many applications carried out by system software (print) Resource allocation – manage multiple requests for same resource Hardware interface – carries out instructions that operate directly on devices (device drivers)
Machine independence Layers “hide” specific details about hardware Standard service requests (print) are translated at lowest possible level to specific hardware instructions Example: adding a new printer changes your OS, not every application installed on your machine
Machine independence (cont.) Placing all hardware interface functions within a single system software layer Concept of virtual machine (used by Java,.NET) Same applet is downloaded Each individual machine (unix, mac, windows) has own systems level to carry out instructions from applet
Operating systems functions Program storage, loading and execution File manipulation and access Secondary storage management Network and interactive user interfaces
Application development Toolkit or suite to assist in development of software Referred to as Integrated Development Environment (IDE) Programs that helps create other programs
Application development (cont.) IDE consists of Program translator (compiler) Program editors Debugging tools System development & modeling tools (CASE computer aided software engineering)
Computer networks Set of hardware and software components that allows information, software and hardware resources to be shared among multiple users and computer systems
Network components External Resources Network Software Network Communication and the Physical Network
Chapter summary This chapter introduces the primary topics of the text: Hardware Processor Software Operating systems Networks