Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2 Introduction To Systems Architecture

Similar presentations


Presentation on theme: "Chapter 2 Introduction To Systems Architecture"— Presentation transcript:

1 Chapter 2 Introduction To Systems Architecture
CSCI 311 Dr. Frank Li ©2016. Cengage Learning. All rights reserved.

2 Automated Computation
An automated computation device can: Accept numeric inputs Perform computational functions Communicate results summarized as input – process – output The list of capabilities is very general and can implemented with various devices implemented with underlying technologies based on: Biology Mechanics Electronics Optics Quantum mechanics ©2016. Cengage Learning. All rights reserved.

3 Biological Computing (self-study)
Humans can perform input – process – output via the electrochemical processes of our brain and nervous system Biological “technology” occasionally finds use in computer systems, for example: Displays that use “organic” LEDs “Genetic” algorithms for applications such as scheduling ©2016. Cengage Learning. All rights reserved.

4 Mechanical Computing Mechanical computers were developed in the early 1800s and were in use as recently as the 1970s The key to performing mechanical computation is to exploit the mathematics underlying a mechanical device The physical operation of gears, levers, and other mechanical devices can be described mathematically Operating the device “performs” the mathematical function ©2016. Cengage Learning. All rights reserved.

5 Mechanical Computers Jacquard loom Joseph Jacquard design punched paper cards as a template to allow his textile loom to weave intricate patterns automatically. (1801) the use of punched cards to define woven patterns can be viewed as an early form of programmability.

6 © Science Museum/Science & Society Picture Library
Difference Engine Charles Babbage saw high error rate of the people computing the tables, thus started his life’s work in trying to calculate the tables mechanically, removing all human error. He began in 1822 with what he called the difference engine, made to compute values of polynomial functions. around 25,000 parts, fifteen tons, eight feet high. Charles did not complete it. but difference engine was built using his plans in 1991. © Science Museum/Science & Society Picture Library

7 Analytical Engine Babbage started designing a different, more complex machine called Analytical Engine would be able to perform all four arithmetical operations, plus comparisons and square roots. was to be powered by a steam engine, 30 m x 10 m The input (programs and data) was to be provided to the machine via punch cards, was to be a store capable of holding 1,000 numbers of 50 digits each. Unfortunately … Limitations of mechanical computers Complex design and construction Wear, breakdown, and maintenance of parts Low operating speed Because of financial, political, and legal issues, the analytical engine was never actually built. In its logical design the machine was essentially modern, anticipating the first completed general-purpose computers by about 100 years.

8 Mechanical Computing - Shortcomings
Complexity Implementing complex mathematical functions requires correspondingly complex machines Designing and building complex machines is difficult and expensive Reliability Mechanical devices are subject to wear, resulting in loss of precision or outright failure Maintenance requirements are high Speed The speed at which an automated device “computes” is fundamentally limited by the speed of its moving parts The mass of mechanical parts combined with wear places a relatively low upper bound on their computational speed For example, How quickly can the crank on the Babbage difference engine be turned without breaking the machine? ©2016. Cengage Learning. All rights reserved.

9 Electronic Computing The behavior of electronic devices such as resistors, capacitors, and switches can be mathematically described, thus providing a basis for electrical computation As humans gained experience with electricity, electrical devices became simpler and cheaper to design, build, and operate than mechanical devices Modern microprocessors have over a billion transistors (and many additional “parts”) Imagine a mechanical machine with a billion moving parts Electricity moves at nearly the speed of light, much faster than any mechanical part can move ©2016. Cengage Learning. All rights reserved.

10 Optical Computing (self-study)
Light moves quickly and interacts with optical devices in mathematically describable ways Optics is gradually supplanting electricity (and it’s cousin, magnetism) in various areas of systems architecture: Data storage – for example, DVDs and holographic storage) Communications – for example, fiber optic network cabling and fiber optic communication among CPUs in a supercomputer Optics may supplant electronics for processor implementation in the next few decades ©2016. Cengage Learning. All rights reserved.

11 Data Representation Most forms of automated computing rely on clearly identifiable states of a machine “part” to represent data values – for example: Two neurons are or aren’t connected by a synapse A gear is rotated to a specific position An electrical switch is open or closed The clearly identifiable states provide the basis for representing a binary digit – zero or one – a bit Automated computers operating on single-state data inputs produce single-state outputs (for example A + B = C, C is always a single value if A and B are single values) Quantum physics turns this entire concept on its ear! ©2016. Cengage Learning. All rights reserved.

12 Quantum Computing “Strange” features of quantum physics:
Quantum particles can exist in multiple states at the same time – a qubit Quantum “digits” of a multibit data value can store many different values at once Quantum manipulation (computation) on qubit inputs produces qubit outputs – in essence, one computational “action” yields many computational results – a form of parallel processing The inherent parallelism of quantum computation is well-applied in fields such as numerical simulation and cryptography Now for the hard part, building a cheap and reliable computer that manipulates qubits!! ©2016. Cengage Learning. All rights reserved.

13 Quantum Computing - Continued
D-Wave Systems has marketed quantum computers since 2010 Very exotic and expensive Software designers are still figuring out how best to use them D-Wave 512 qubit processor © D-Wave Systems, Inc. ©2016. Cengage Learning. All rights reserved.

14 Computer Capabilities
Computers are automated computation devices But all automated computation devices aren’t computers Features that distinguish computers include: A general-purpose processor Performs computations Performs “logic” functions such as comparison and branching Large amounts of storage for instructions and data Communication flexibility – many devices for many purposes ©2016. Cengage Learning. All rights reserved.

15 Computer Processors A processor is a device that can perform the following functions: Computation (+, ‒, ×, ÷) Comparison (<, =, >, ≠, ≤, ≥) Data movement among memory, mass storage, and I/O devices An instruction is a command to a processor to perform a specific function (e.g., addition) on specific data input(s) Each instruction is relatively simple When a computer “follows an instruction” it is said to be executing the instruction Complex tasks are accomplished by combining many instructions into a program and executing the program ©2016. Cengage Learning. All rights reserved.

16 General- and Special-Purpose Processors
A general-purpose processor: Reads its program instructions from a storage device The content of the storage device can be changed, thus changing the program and the function performed by the processor A special-purpose processor either: Uses program storage that can’t be altered (e.g., read-only memory) Has a single program “wired” into the processor ©2016. Cengage Learning. All rights reserved.

17 Formulas versus Algorithms
A formula is a complex mathematical relationship that can be “solved” with a specific sequence of instructions The same instruction sequence works regardless of the data input values An algorithm is more complex than a formula Instruction sequence varies depending on data input characteristics Varying the instruction sequence requires the ability to: Evaluate a condition – e.g., is a data input greater than some threshold value Alter instruction sequence – i.e., branching ©2016. Cengage Learning. All rights reserved.

18 Algorithm Example 10 INPUT INCOME 20 IF INCOME > 9075 THEN GOTO 50
30 TAX = INCOME * 0.10 40 GOTO 180 50 IF INCOME > THEN GOTO 80 60 TAX = (INCOME − 9075) * 0.15) 70 GOTO 180 80 IF INCOME > THEN GOTO 110 90 TAX = (INCOME − 36900) * 0.25) 100 GOTO 180 110 IF INCOME > THEN GOTO 140 120 TAX = (INCOME − 89350) * 0.28) 130 GOTO 180 140 IF INCOME > THEN GOTO 170 150 TAX = (INCOME − ) * 0.33) 160 GOTO 180 170 IF INCOME > THEN GOTO 200 180 TAX = (INCOME − ) * 0.35) 190 GOTO 210 200 TAX = (INCOME − ) * 0.396) OUTPUT TAX 220 END Burd, Systems Architecture, seventh edition, Figures 2-4 and 2-5, Copyright © 2015 Course Technology ©2016. Cengage Learning. All rights reserved.

19 Algorithms and “Intelligent” Behavior
Evaluating conditions and altering behavior are the cornerstone of what we perceive as logic or intelligence For example, evaluating whether the characteristics of a street, oncoming traffic, and your own physiology enable you to cross the street without being run over For this reason, the instructions that implement comparison and branching are sometimes called logic instructions A computer’s logic instructions are more limited than a human’s, but a computer can execute a large number of them quickly and reliably (e.g., anti-lock brakes) ©2016. Cengage Learning. All rights reserved.

20 Storage Computers needs to store:
Intermediate processing results (for example, when solving a complex formula) Data (output of past program executions and input to future program executions) Programs Each storage category has different characteristics including importance, quantity, and access time-frame Those characteristics may also vary within each category Different mixes of data characteristics drive the need for a variety of storage devices and technologies, each tailored to cost-effectively match the data characteristics with appropriate device characteristics such as: Speed Volatility Cost per bit ©2016. Cengage Learning. All rights reserved.

21 Communication Capabilities
Computers must be able to communicate with: Humans Vision (e.g., video displays and printers for output, scanners and cameras for input) Sound (e.g., music and beeps for output, speech for input) Mechanics and touch (e.g., mouse, keyboard, and touch screen) Other Computers Wired communication (e.g., via Cat6 or fiber-optic cable) Wireless communication (e.g., via infrared or radio frequency transmission and reception) ©2016. Cengage Learning. All rights reserved.

22 Computer Hardware Figure 2.6 The major functions of computer hardware
Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

23 Hardware Components Figure 2.7 The hardware components of a computer system Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

24 Central Processing Unit
A central processing unit (CPU) is a general-purpose processor that executes instructions CPUs are implemented on microprocessor “chips” Modern chips can have multiple CPUs in a single chip (e.g., Intel Core i7) The CPU is the computer’s “brain” Like a human brain, a CPU is internally divided into regions that perform specialized functions ©2016. Cengage Learning. All rights reserved.

25 CPU Components Arithmetic-logic unit (ALU) Registers Control unit
Performs computation and logic instructions Registers Internal storage locations – each holds one data item Hold inputs to and outputs from the ALU Control unit Moves data among registers and other computer system storage locations Accesses program instructions and either executes them (data movement) or directs the ALU to execute them (computation and logic instructions) Figure 2.8 Components of the CPU Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

26 Primary Storage Primary storage, also called, main memory or just memory, is an area of high-speed storage that: Holds programs currently being executed Holds data inputs needed (or expected to be needed) immediately by executing programs Is implemented outside the CPU Is implemented “close” to the CPU to improve access speed Is implemented using “fast” devices to improve access speed Is volatile (loses its content when power is lost) In modern computers, primary storage: Is implemented with electronic random-access memory (RAM) Contents can be moved to/from the CPU in a few nanoseconds Capacity is normally a few gigabytes (billion data items) per CPU ©2016. Cengage Learning. All rights reserved.

27 Secondary Storage Secondary storage is one or more storage areas that:
Hold large quantities of data and programs (typically hundreds of billions to a few quadrillions of data items) Is non-volatile (holds content indefinitely) Is much cheaper per bit than primary storage Is much slower than primary storage Secondary storage devices include: Magnetic disk Optical disk Flash RAM (and solid-state drives) Magnetic tape ©2016. Cengage Learning. All rights reserved.

28 Storage Comparison Summary
Type Implementation Content Typical quantity CPU Registers High-speed electrical devices implemented within the CPU Currently executing instruction(s) and associated data inputs and outputs Several dozen to a few hundred per CPU Primary storage High-speed electrical devices (RAM) implemented outside but close to the CPU Current programs and immediately needed data to the extent it will fit 1-8 billion data items per CPU Secondary Storage Low-speed electromagnetic and optical devices Programs not currently being executed and data not currently being accessed by programs Billions (gigabytes), trillions (terabytes), or quadrillions (exabytes) of data items Table 2.1 Comparison of storage types Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

29 Systems Bus The system bus is the communication channel that connects all devices in the computer system Bus speed is a critical factor in determining the overall speed of the computer system Modern computers use additional buses improve performance – for example, Storage bus – to connect multiple magnetic disk drives to a single connection point on the system bus CPU-memory bus – for direct transfer of data between the CPU and primary storage Video bus – for direct transfer of data between memory and the video/graphics controller ©2016. Cengage Learning. All rights reserved.

30 Input/Output Devices For example: Video display units Touch screen
Keyboard and mouse Joystick Microphone Speaker Webcam Printer Bar code scanner Network interface card USB or Firewire port ©2016. Cengage Learning. All rights reserved.

31 Personal Computing Devices (2014)
Type Typical product Typical specifications Cost Smart phone Samsung Galaxy S5 5.1 inch touchscreen 16 megapixel camera 1 CPU, 3 GB RAM 32 GB flash RAM $600 Tablet computer Apple iPad mini 3 7.9 inch touchscreen 5 megapixel camera 1 CPUs, 1 GB RAM 64 GB flash RAM $500 Laptop computer Lenovo Flex2 15.6 inch touchscreen 2 CPU with integrated graphics 4 GB RAM 500 GB hybrid disk drive Desktop computer HP Pavillion 23t All-in-One PC 23 inch touchscreen 2 CPUs with integrated graphics 8 GB RAM 1 TB hybrid disk drive Rewritable Blu-ray DVD drive $950 Workstation Dell Precision T5810 Dual 23 inch touchscreens 4 high-speed CPUs 16 GB RAM High-performance video card Tower case with expansion bays  $3300 Table 2.2 Typical personal computing products Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

32 Microcomputers and Workstations
Personal computing devices Meets the needs of one user at a time Subclasses Workstations Laptops Tablets Smart phones Workstation Desktop computer―Ordinary or “high-end” High-end Has greater CPU power, more memory, better graphics, and/or faster secondary storage Customized for very demanding single-user tasks such as video editing, animation, and computer-aided design ©2016. Cengage Learning. All rights reserved.

33 Smart Devices Small computers can be embedded in a wide variety of smart devices, including: Appliances Phones Power tools Televisions Vehicles ©2016. Cengage Learning. All rights reserved.

34 Midrange Computer Midrange computer
Supports up to several dozen simultaneous users in one or more modes: Sharing a resource via a network such as messages/folders, a database, or a Web site) Multiple directly-attached video display terminals (e.g., Citrix) Virtual computing – hosting multiple “virtual” microcomputers Typical subsystem capabilities: 1-16 CPUs 1-8 GB memory per CPU Large, fast, fault-tolerant secondary storage subsystem Embedded or directly-connected secondary storage backup Multiple high-speed network connections Redundant power supplies Typical cost is $5,000-$50,000 Can also be used as a building block for larger computers ©2016. Cengage Learning. All rights reserved.

35 Mainframe Computer A mainframe computer scales up the ability to support simultaneous users and programs: Dozens of CPUs Memory to match Sustained data transfer rates among primary and secondary storage measured in hundreds of megabytes or gigabytes per second Sustained data transfer to/from networks measured in tens of gigabits per second Ability to manage and utilize terabytes of data Cost ranging up to $1,000,000 ©2016. Cengage Learning. All rights reserved.

36 Supercomputer A supercomputer has one primary purpose:
Perform as many calculations as possible in as short a time as possible This implies other high-end capabilities (e.g., memory size and speed) but they are secondary to computational performance See Typical specs: Hundreds to hundreds of thousands of CPUs performing trillions to quadrilliions of calculations per second Modular architecture: All CPUs working on one big problem, or CPU subsets assigned to separate problems Cost - $1,000,000 to start, the sky is the limit! ©2016. Cengage Learning. All rights reserved.

37 Typical Computers in 2009 Class Typical product Typical specifications
Approximate cost CPUs Portable Dell Latitude E6400 4 billion main memory cells 250 billion disk storage cells Rewritable DVD drive 14-inch display $1150 2 Microcomputer Dell Optiplex 760 500 billion disk storage cells $1000 Workstation Dell Precision T7500 12 billion main memory cells 1.5 trillion disk storage cells Rewritable high-capacity DVD drive Dual high-speed 3D graphics processors $8350 8 Midrange Dell PowerEdge T610 16 billion main memory cells 4 trillion high-speed disk storage cells High-speed fault-tolerant storage subsystem Tape backup $15,050 Mainframe IBM Z10 E64 512 billion main memory cells 100 trillion high-speed disk storage cells High-capacity tape archive system Four high-speed network interfaces $500,000 64 Supercomputer IBM Blue Gene/P 2 trillion main memory cells No internal disk storage $1,300,000 4096 ©2016. Cengage Learning. All rights reserved.

38 Typical Server Computers in Late 2014
Class Product Specifications Cost Midrange Dell PowerEdge R420 4 CPUs 32 GB RAM Eight 300 GB removable solid state disks Fault-tolerant storage subsystem DVD drive Dual gigabit network interfaces Dual power supplies $7,765 Mainframe HP Integrity Superdome 2 256 CPUs 8 TB RAM 128 gigabit network interfaces 64 power supplies No secondary storage (purchased separately) $500,000 Supercomputer Stampede 522,080 CPUs 260 GB 15.6 petabytes $51,500,000 ©2016. Cengage Learning. All rights reserved.

39 Server A server is a computer system that manages one or more shared resources (e.g., file systems, databases, web sites) and makes them available to users on other computers via a network Server is a mode of use, not a hardware class The hardware class required to implement a server varies with the resource(s) and the number of simultaneous users, for example: Small static web site – any old PC 1 terabyte database with users – midrange computer Best Buy E-Commerce site – mainframe or cluster of midrange computers Weather forecasting and climate prediction – supercomputer for computations with data storage managed by mainframes and/or midrange computers ©2016. Cengage Learning. All rights reserved.

40 Vague Computer Class Boundaries
A computer near the “edge” of one class can often be “pushed” into the next class by adding some key hardware. For example, Starting with a high-end desktop, add a high-end graphics card, more memory, and a second microprocessor (or upgrade the original one) to create a workstation Starting with a workstation, delete the high-end graphics card, add a SAS RAID controller, 7 more hard disks, and a second network card to produce a low-end midrange computer Cluster 4-8 high-end midrange computers together with a high-speed private network to mimic a mainframe Bottom line – flexible hardware platforms and multicomputer configurations blur the distinctions among computer classes ©2016. Cengage Learning. All rights reserved.

41 Multicomputer Configurations
Cluster Similar or identical computers connected by a high-speed network in a dedicated configuration Cooperate to simulate a larger-capacity computer either by redundancy/parallelism, specialization, or both Blade Server Essentially a cluster housed within one cabinet Blades are circuit boards that contain most of a computer system (limited secondary storage and I/O) ©2016. Cengage Learning. All rights reserved.

42 Multicomputer Configurations - Continued
Grid Member computer systems are dissimilar and aren’t always working together Tends to use “ordinary” network connections not dedicated to the grid since computers may be widely dispersed Cloud An extension of the grid concept Users interact with a front-end system which in turn musters whatever grid resources are needed Clouds typically employ some form of virtualization, which enables “cloned” machines to be quickly brought on-line Clouds maintain resources such as storage and web sites on behalf of users – the resources are permanently located “outside” the using organization ©2016. Cengage Learning. All rights reserved.

43 A grid approach to modeling the folding behavior of complex proteins Grid members interact with servers to download work units and upload results after execution Severs manage workflow and assemble solution “parts” Takes advantage of idle CPU capacity ©2016. Cengage Learning. All rights reserved.

44 Is Bigger Always Better?
Communication among components within the same “box” is more efficient that communication among boxes For applications that require lots of parallel processing and communication, a “box” that matches the application demands is most efficient from a performance perspective Examples, many types of numerical simulation, data mining, database servers But !!! Cost per CPU cycle increases with computer class Advances in grid and networking technology have reduced the “multi-box penalty” in communication performance There are many applications that are too big for any one box Thus, for most applications, cost-effective performance is achieved with the smallest possible box, or a set of small boxes in a grid or cluster In other words, Grosch was right in the 1950s but is wrong today ©2016. Cengage Learning. All rights reserved.

45 The Role of Software A computer system does “work” by executing instructions contained within programs Where do the programs and instructions come from? What do they do? What do they “look” like? The origin of any program is a user need – a task for the computer system to accomplish or help the user to accomplish – for example: Generate my company’s income statement Spell-check my term paper Find messages in my inbox from specific senders Play a video from YouTube Tell me what my “friends” are doing and saying ©2016. Cengage Learning. All rights reserved.

46 The Role of Software - Continued
The role of software is to convert a user request or statement of need into a set of instructions that will satisfy the request/need when executed Software translates user requests into machine actions Figure 2.15 The role of software as a translator between user requests and CPU instructions ©2016. Cengage Learning. All rights reserved.

47 Software as a Translator
Human requests are initially stated or formulated in a human language such as English: The language may be general and imprecise The concepts embodied in the request are abstract The request or command originally embodied in language/thought may be translated into user action (e.g., a mouse click or a typed command) The CPU can only execute machine instructions which are: Short strings of zeros and ones Are very precise Are very low-level and detailed (e.g., add the numbers in registers 1 and 2 and store the result in register 3). Software bridges the gaps between human and machine languages: General/imprecise to specific/precise High-level abstraction to low-level details The greater these two “gaps”: The more work the software has to do to perform the translation The more complex is the software The more hardware resources are consumed by the software ©2016. Cengage Learning. All rights reserved.

48 Software Types Software can be roughly classified as application or system Application software – satisfies a specific user need or a specific (narrowly defined) class of needs, for example: Word processing program MP3 player/burner Video editing software Payroll program System software Satisfies a very general class of user needs May rarely or never interact with end users Tends to “hide” in the background Manages or controls hardware resources Examples: Operating system Database management system Firewall/Antivirus ©2016. Cengage Learning. All rights reserved.

49 Courtesy of Course Technology/Cengage Learning
Software Layers One of system software’s most important roles is to manage hardware resources and access them on behalf of users and their application software This is another form of translation that enables application software to make general requests such as “Store this file in my MGMT 337 folder” and leave it to system software to carry out the details of the task A key benefit for application software is machine independence (a.k.a. hardware independence) Application software doesn’t manage or directly interact with computer hardware Thus, application software can more easily be “moved” to different hardware without rewriting it Figure 2.13 The interaction between the user, application software, system software, and computer hardware Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

50 Web-Based Applications
A Web-based application has the following characteristics: Uses a Web browser as the primary user interface Users access the application via a URL Server-side software components execute or a called from a Web server Web standards used for browser-server communication Figure 2.17 Amazon.com main shopping application Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

51 Web-Based Applications Hardware and software Components
Figure 2.18 Hardware and software components of the Amazon.com shopping application Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

52 Web Services A web service is a software component accessed over the Internet using Web protocols A Web service is software function, subroutine, method, or program that: Is “called” from one application via a URL or other web protocol Accepts input data embedded within the URL or via another protocol Executes on the web service owner’s servers Returns processing results encoded within a Web page or document Web services enable software functions developed by organization to be embedded within the information system of another organization ©2016. Cengage Learning. All rights reserved.

53 Web Service Example How does an e-commerce site like Amazon tell you how much a shipment will cost? Shippers such as FedEx and UPS provide cost estimators as Web services E-commerce sites pass shipping data to those services as input and receive cost and delivery date as output Payment approval and processing is another web service example Figure Shipping options for an Amazon.com purchase Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

54 Embedded Software End user and server computing devices run a rich set of embedded software For an end-user device, embedded software components include: Operating system (e.g., Microsoft Windows and Android) Preinstalled apps (e.g., Maps on an Android phone) Web browser (e.g., Safari on a Mac laptop) Toolbars and plug-ins (e.g., Adobe flash or a PDF reader) Embedded software provides benefits and challenges to application software developers: When developing application software, a developer can rely on embedded software to do some of the work Embedded software can provide consistent “look and feel” to apps written by different developers Differences among embedded software across devices mean that developers must often write software for multiple “targets” – for example, iPhone Android phone Windows phone ©2016. Cengage Learning. All rights reserved.

55 Operating Systems An operating system is a collection of utility programs that: Supports users and application programs Allocates computer resources among multiple users and application programs Controls access to computer hardware Operating systems are the most important type of system software Examples of operating systems include: Microsoft Windows iOS (Macs and iPhones) Unix/Linux (in dozens of flavors!) Android MS-DOS ©2016. Cengage Learning. All rights reserved.

56 Operating Systems - Continued
Operating system functions include: Program storage, loading, and execution File manipulation and access Secondary storage management Network and interactive user interfaces Operating systems tend to be large complex pieces of software due to the myriad functions they perform Some operating systems (e.g., Windows) try to be “all things to all people” thus increasing their size and complexity Others (e.g., UNIX) implement a smaller set of core functions and leave it to users or others to write programs that extend the operating system’s capabilities ©2016. Cengage Learning. All rights reserved.

57 Courtesy of Course Technology/Cengage Learning
Computer Networks A computer network: Is a collection of hardware and software components Enables multiple users and computer systems to share information, software, and hardware resources Enables various forms of interpersonal communication such as , Facebook, Wikis, … Figure 2.13 Computer network functions and their relationship to computer hardware and software Courtesy of Course Technology/Cengage Learning ©2016. Cengage Learning. All rights reserved.

58 Internet and World Wide Web
The terms Internet and World Wide Web are often used interchangeably (and incorrectly) Definitions: Internet―A globally interconnected network of networks that uses standard Internet protocols The Internet is analogous to a highway system, the rules for using it, and a map of the system World Wide Web (a.k.a., the Web)―An interconnected set of resources (e.g., files, web sites, social media sites, and application software) accessed via the Internet The Web is the set of things contained in all of the locations connected to the highway system. Those things can be transported overt the highway from place to place. ©2016. Cengage Learning. All rights reserved.

59 Uniform Resource Locator
Any geographic information system needs a way to uniquely identify locations, for example: Latitude and longitude A street or mailing address Similarly, the Internet and Web need a way to identify: Devices attached to the Internet Resources managed by those devices A Uniform Resource Locator (URL) fills both needs with three pieces of information: Protocol header―The language used to access a resources Server name (or server address)―Identifies the device that manages the resources Resource name―Identifies a specific resource managed by the device Burd, Systems Architecture, seventh edition, Figure 2.14, Copyright © 2015 Course Technology ©2016. Cengage Learning. All rights reserved.

60 External Resources At a basic level, the role of a network is to enable users to access resources beyond those directly contained within or attached to their own computer systems, for example: Files and databases I/O devices such as printers and scanners Application software Web-accessible resources Maturing network technology has increased the Number and variety of accessible resources Variety of forms in which resources can be accessed ©2016. Cengage Learning. All rights reserved.

61 Networks and System Software
Recall that one role of system software is to manage hardware resources and access them on behalf of users Those resources include things “contained” within local hardware devices like files, messages, and application programs Networking extends this aspect of system software to encompass externally-located resources, thus creating two additional system software roles: Client Find the requested resources on the network Negotiate resource access with distant resource allocation software Receive and deliver the resources to the requesting user or program Server Listen for resource requests Validate resource requests Deliver resources via the network ©2016. Cengage Learning. All rights reserved.

62 Network Communication and the Physical Network
System software performs additional translation roles when requesting or providing external resources: Interacting with the physical network via attached network hardware Communicating via well-defined network protocols such as TCP/IP, LDAP, and HTTP Much more on networks in Chapters 8 and 9! ©2016. Cengage Learning. All rights reserved.

63 Summary Basic elements of computer system architecture
Hardware Software Networks Computer system consist of a CPU, primary storage, secondary storage, and I/O devices Software translates user requests into machine instructions Operating system is most important system software component ©2016. Cengage Learning. All rights reserved.


Download ppt "Chapter 2 Introduction To Systems Architecture"

Similar presentations


Ads by Google