310 likes | 555 Views
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
E N D
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
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)
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
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
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