+353-1-416-8900REST OF WORLD
+44-20-3973-8888REST OF WORLD
1-917-300-0470EAST COAST U.S
1-800-526-8630U.S. (TOLL FREE)

The Architecture of Computer Hardware, Systems Software, and Networking. An Information Technology Approach. Edition No. 6

  • Book

  • 672 Pages
  • April 2021
  • John Wiley and Sons Ltd
  • ID: 5839047

The Architecture of Computer Hardware, Systems Software and Networking is designed help students majoring in information technology (IT) and information systems (IS) understand the structure and operation of computers and computer-based devices. Requiring only basic computer skills, this accessible textbook introduces the basic principles of system architecture and explores current technological practices and trends using clear, easy-to-understand language. Throughout the text, numerous relatable examples, subject-specific illustrations, and in-depth case studies reinforce key learning points and show students how important concepts are applied in the real world.

This fully-updated sixth edition features a wealth of new and revised content that reflects today’s technological landscape. Organized into five parts, the book first explains the role of the computer in information systems and provides an overview of its components. Subsequent sections discuss the representation of data in the computer, hardware architecture and operational concepts, the basics of computer networking, system software and operating systems, and various interconnected systems and components. Students are introduced to the material using ideas already familiar to them, allowing them to gradually build upon what they have learned without being overwhelmed and develop a deeper knowledge of computer architecture.

Table of Contents

Preface xxiii

About the Authors xxix

Part I An Overview of Computer Systems

1 Computers and Systems 4

1.0 Introduction 5

1.1 The Starting Point 8

1.2 Components of the Computer System 10

The Hardware Component 13

The Software Component 15

The Communication Component 17

The Computer System 17

1.3 The Concept of Virtualization 19

1.4 Protocols and Standards 20

1.5 Overview of This Book 21

1.6 A Brief Architectural History of the Computer 22

Early Work 23

Computer Hardware 24

Operating Systems 27

Communication, Networks, and the Internet 31

Summary and Review 32

For Further Reading 33

Key Concepts and Terms 33

Reading Review Questions 33

Exercises 34

2 An Introduction to System Concepts and Systems Architecture 36

2.0 Introduction 37

2.1 The General Concept of Systems 37

2.2 IT System Architectures 44

The Role of the System Architect 46

Summary and Review 48

For Further Reading 48

Key Concepts and Terms 49

Reading Review Questions 49

Exercises 49

Part II Data in the Computer

3 Number Systems 52

3.0 Introduction 53

3.1 Numbers as a Physical Representation 53

3.2 Counting in Different Bases 54

3.3 Performing Arithmetic in Different Number Bases 59

3.4 Numeric Conversion Between Number Bases 63

Alternative Conversion Methods 65

3.5 A Special Conversion Case - Number Bases That Are Related 67

3.6 Fractions 68

Fractional Conversion Methods 71

3.7 Mixed Number Conversions 73

Summary and Review 73

For Further Reading 74

Key Concepts and Terms 74

Reading Review Questions 74

Exercises 75

4 Data Formats 78

4.0 Introduction 79

4.1 General Considerations 79

4.2 Alphanumeric Character Data 82

4.3 Visual Data 88

Bitmap Images 89

Object Images 93

Representing Characters as Images 96

Video Images 96

4.4 Audio Data 97

4.5 Data Compression 100

4.6 Page Description Languages 102

4.7 Internal Computer Data Format 102

Numerical Character to Integer Conversion 104

Summary and Review 105

For Further Reading 106

Key Concepts and Terms 106

Reading Review Questions 106

Exercises 107

5 Representing Numerical Data 110

5.0 Introduction 111

5.1 Unsigned Binary and Binary-Coded Decimal Representations 111

5.2 Representations for Signed Integers 115

Sign-and-Magnitude Representation 115

Nine’s Decimal and 1’s Binary Complementary Representations 117

Ten’s Complement and 2’s Complement 124

Overflow and Carry Conditions 126

Other Bases 127

Summary of Rules for Complementary Numbers 128

5.3 Real Numbers 128

A Review of Exponential Notation 128

Floating Point Format 130

Normalization and Formatting of Floating Point Numbers 133

A Programming Example 135

Floating Point Calculations 136

Floating Point in the Computer 139

Conversion between Base 10 and Base 2 141

5.4 Programming Considerations 142

Summary and Review 143

For Further Reading 144

Key Concepts and Terms 144

Reading Review Questions 144

Exercises 145

Part III Computer Architecture and Hardware Operation

6 The Little Man Computer 152

6.0 Introduction 153

6.1 Layout of the Little Man Computer 154

6.2 Operation of the LMC 154

6.3 A Simple Program 156

6.4 An Extended Instruction Set 157

6.5 The Instruction Cycle 160

6.6 A Note Regarding Computer Architectures 162

Summary and Review 163

Key Concepts and Terms 163

Reading Review Questions 164

Exercises 164

7 The CPU and Memory 166

7.0 Introduction 167

7.1 The Components of the CPU 168

7.2 The Concept of Registers 169

7.3 The Memory Unit 171

The Operation of Memory 171

Memory Capacity and Addressing Limitations 175

Primary Memory Characteristics and Implementation 176

7.4 The Fetch-Execute Instruction Cycle 178

7.5 Classification of Instructions 181

Data Movement Instructions (load, store, and Other Moves) 183

Arithmetic Instructions 183

Boolean Logic Instructions 184

Single Operand Manipulation Instructions 184

Bit Manipulation Instructions 184

Shift and Rotate Instructions 185

Program Control Instructions 186

Stack Instructions 187

Multiple Data Instructions 189

Other Instructions 190

7.6 Instruction Word Formats 190

7.7 Instruction Word Requirements and Constraints 192

Summary and Review 195

For Further Reading 195

Key Concepts and Terms 195

Reading Review Questions 196

Exercises 197

8 CPU and Memory: Design, Enhancement, and Implementation 200

8.0 Introduction 201

8.1 CPU Architectures 202

Overview 202

Traditional Modern Architectures 202

8.2 CPU Features and Enhancements 203

Introduction 203

Fetch-Execute Cycle Timing Issues 204

A Model for Improved CPU Performance 206

Scalar and Superscalar Processor Organization 210

8.3 Memory Enhancements 213

Wide Path Memory Access 214

Memory Interleaving 214

Cache Memory 215

8.4 The Compleat Modern Superscalar CPU 219

8.5 Multiprocessing 221

8.6 A Few Comments on Implementation 225

Summary and Review 225

For Further Reading 226

Key Concepts and Terms 227

Reading Review Questions 227

Exercises 228

9 Input/Output and Buses 230

9.0 Introduction 231

9.1 Characteristics of Typical I/O Devices 232

9.2 Programmed I/O 237

9.3 Interrupts 239

Servicing Interrupts 239

The Uses of Interrupts 241

Multiple Interrupts and Prioritization 245

9.4 Direct Memory Access 249

9.5 I/O Controllers 252

9.6 Buses 254

Bus Characteristics 254

Summary and Review 258

For Further Reading 259

Key Concepts and Terms 259

Reading Review Questions 259

Exercises 260

10 Computer Peripherals 262

10.0 Introduction 263

10.1 The Hierarchy of Storage 264

10.2 Solid-State Memory 266

10.3 Magnetic Disks 267

Disk Arrays 272

10.4 Optical Disk Storage 274

10.5 Magnetic Tape 276

10.6 Displays 277

Basic Display Design 277

Graphical Processing Units (GPUs) 279

Liquid Crystal Display Technology 282

OLED Display Technology 283

10.7 Printers 284

Laser Printers 285

Inkjet Printers 285

10.8 User Input Devices 286

Keyboards 287

Pointing Devices 287

Alternative Sources of Alphanumeric Input 288

Scanners 291

Multimedia Input 291

Mobile Devices 292

10.9 Network Communication Devices 293

Summary and Review 293

For Further Reading 294

Key Concepts and Terms 294

Reading Review Questions 295

Exercises 295

11 Computer System Organization 298

11.0 Introduction 299

11.1 Putting the Pieces Together 300

11.2 System Architecture 305

Basic System Interconnection Requirements 305

Bus I/O 307

Channel Architecture 311

Blurring the Line 313

Summary and Review 313

For Further Reading 313

Key Concepts and Terms 314

Reading Review Questions 314

Exercises 314

Part IV Networks, Data Communications, and Networked Computer Systems

12 Networks and Data Communications - An Overview 318

12.0 Introduction 319

12.1 The Impact of Networking on Business Processes and User Access to Knowledge and Services 320

12.2 A Simple View of Data Communications 321

12.3 Basic Data Communication Concepts 324

Messages 324

Packets 325

General Channel Characteristics 326

12.4 Networks 330

Network Topology 330

Types of Networks 334

Network Interconnection 347

12.5 Standards 351

Summary and Review 352

For Further Reading 352

Key Concepts and Terms 352

Reading Review Questions 353

Exercises 353

13 Ethernet and T CP/IP Networking 356

13.0 Introduction 357

13.1 TCP/IP, OSI, and Other Communication Protocol Models 357

13.2 Program Applications versus Network Applications 362

13.3 The Physical and Data Link Layers 362

The Physical Layer 363

The Data Link Layer 364

Hub-Based Ethernet 366

Switched Ethernet 366

Wireless Ethernet (Wi-Fi) 367

13.4 The Network Layer 368

13.5 The Transport Layer 372

13.6 IP Addresses 376

IPv4 and DHCP 376

IPv6 379

13.7 Domain Names and DNS Services 380

13.8 Quality of Service 385

13.9 Network Security 386

Physical and Logical Access Restriction 386

Encryption 387

13.10 Alternative Protocols 387

A Comparison of TCP/IP and OSI 388

Other Protocol Suites and Components 388

SCSI Over IP 389

Cellular Technology 389

MPLS 390

Summary and Review 390

For Further Reading 391

Key Concepts and Terms 391

Reading Review Questions 392

Exercises 392

14 Communication Channel T echnology 396

14.0 Introduction 397

14.1 Communication Channel Technology 398

14.2 The Fundamentals of Signaling Technology 400

Analog Signaling 401

Digital Signaling 411

Modems 416

Two Examples of Alternative Advanced Technologies 416

14.3 Transmission Media and Signaling Methods 418

14.4 Wireless Technologies 420

Cellular Technology 421

Wi-Fi 421

Bluetooth 421

Summary and Review 422

For Further Reading 423

Key Concepts and Terms 423

Reading Review Questions 423

Exercises 424

15 Modern Networked Computer Systems 426

15.0 Introduction 427

15.1 Distributed Systems 428

15.2 Client-Server Computing 430

15.3 Web-Based Computing 433

15.4 Peer-to-Peer Computing 435

15.5 Clusters 436

Overview 436

Classification and Configuration 437

Beowulf Clusters 438

15.6 Storage Area Networks 440

15.7 Cloud Computing 441

15.8 Supercomputing 443

Grid Computing 444

15.9 Networked Computer System Architecture Examples 444

Google: A System Architecture Example 445

Another Example: Facebook’s Application Architecture 448

Summary and Review 449

For Further Reading 450

Key Concepts and Terms 450

Reading Review Questions 450

Exercises 451

Part V The Software Component

16 Operating Systems: An Overview 454

16.0 Introduction 455

16.1 The Barebones Computer System 456

16.2 The Operating Systems Concept: An Introduction 457

16.3 Services and Facilities 463

User Interface and Command Execution Services 464

File Management 465

Input/Output Services 466

Process Control Management 467

Memory Management 468

Scheduling and Dispatch 468

Secondary Storage Management 471

Network and Communications Support Services 471

Security and Protection Services 472

System Administration Support 473

16.4 Organization 476

16.5 Types of Computer Systems 479

Summary and Review 483

For Further Reading 483

Key Concepts and Terms 483

Reading Review Questions 484

Exercises 484

17 The User View of Operating Systems 486

17.0 Introduction 487

17.1 Purpose of the User Interface 488

17.2 User Functions and Program Services 490

Program Execution 490

File Commands 491

Disk and Other I/O Device Commands 492

Security and Data Integrity Protection 492

Interuser Communication and Data Sharing Operations 493

System Status Information and User Administration 494

Program Services 495

17.3 Types of User Interface 495

The Command Line Interface 496

Batch System Commands 498

Graphical User Interfaces 499

Touchless Gesture- and Voice-Based Interfaces 504

Trade-Offs in the User Interface 505

Software Considerations 506

17.4 X Window and Other Graphics Display Methodologies 507

17.5 Command and Scripting Languages 510

The Elements of a Command Language 512

The Command Language Start-Up Sequence Files 512

17.6 Services to Programs 513

Summary and Review 515

For Further Reading 515

Key Concepts and Terms 515

Reading Review Questions 516

Exercises 516

18 File Management 518

18.0 Introduction 519

18.1 The Logical and Physical View of Files 519

18.2 The Role of the File Management System 524

18.3 Logical File Access Methods 528

Sequential File Access 529

Random Access 529

Indexed Access 530

18.4 Physical File Storage 531

Contiguous Storage Allocation 531

Noncontiguous Storage Allocation 532

Indexed Allocation 534

Free Space Management 537

Tape Allocation 539

Optical and Flash Drive Allocation 539

18.5 File Systems, Volumes, Disks, Partitions, and Storage Pools 539

18.6 The Directory Structure 542

Tree-Structured Directories 543

Acyclic-Graph Directories 545

18.7 Network File Access 548

18.8 File Protection 550

18.9 Journaling File Systems 551

Summary and Review 552

For Further Reading 552

Key Concepts and Terms 553

Reading Review Questions 553

Exercises 554

19 The Internal Operating System 556

19.0 Introduction 557

19.1 Fundamental OS Requirements 558

Example: A Simple Multitasking Operating System 559

19.2 Starting the Computer System: The Bootstrap 562

19.3 Processes and Threads 564

Process Creation 567

Process States 568

Threads 569

19.4 Basic Loading and Execution Operations 570

19.5 CPU Scheduling and Dispatching 572

Long-Term Scheduler 572

Short-Term Scheduler and Dispatcher 572

Nonpreemptive Scheduling Algorithms 575

Preemptive Short-Term Scheduling Algorithms 576

19.6 Memory Management 577

Memory Partitioning 578

19.7 Virtual Storage 579

Overview 579

Pages and Frames 580

The Concept of Virtual Storage 585

Page Faults 586

Working Sets and the Concept of Locality 588

Page Sharing 588

Page Replacement Algorithms 589

Thrashing 592

Page Table Implementation 592

Segmentation 595

Process Separation 596

19.8 Disk Scheduling 596

First-Come, First-Served Scheduling 597

Shortest Distance First Scheduling 597

Scan Scheduling 597

n-Step c-Scan Scheduling 598

19.9 Network Operating System Services 598

OS Protocol Support and Other Services 598

19.10 Other Operating System Issues 601

Deadlock 601

Other Issues 602

19.11 Virtual Machines 603

Summary and Review 605

For Further Reading 606

Key Concepts and Terms 606

Reading Review Questions 607

Exercises 608

Bibliography B-1

Index I-1

Authors

Irv Englander Bentley College. Wilson Wong