PART ONE
AN OVERVIEW OF COMPUTER SYSTEMS 2
CHAPTER 1 Computers and Systems 4
1.0 Introduction 5
1.1 The Starting Point 9
1.2 Components of the Computer System 12
The Hardware Component 13
The Software Component 16
The Communication Component 18
The Computer System 18
1.3 The Concept of Virtualization 20
1.4 Protocols and Standards 20
1.5 Overview of This Book 22
1.6 A Brief Architectural History of the Computer 23
Early Work 24
Computer Hardware 25
Operating Systems 28
Communication, Networks, and the Internet 33
Summary and Review 34 For Further Reading 34
Key Concepts and Terms 35 Reading Review Questions 35
Exercises 36
CHAPTER 2 An Introduction to System Concepts and Systems Architecture 38
2.0 Introduction 39
2.1 The General Concept of Systems 40
2.2 IT System Architectures 48
Distributed Processing Systems 49
The Role of the System Architect 57
Google: A System Architecture Example 58
Summary and Review 62 For Further Reading 63
Key Concepts and Terms 63 Reading Review Questions 63
Exercises 64
PART TWO
DATA IN THE COMPUTER 66
CHAPTER 3 Number Systems 68
3.0 Introduction 69
3.1 Numbers as a Physical Representation 70
3.2 Counting in Different Bases 70
3.3 Performing Arithmetic in Different Number Bases 74
3.4 Numeric Conversion between Number Bases 77
An Alternative Conversion Method 79
3.5 Hexadecimal Numbers and Arithmetic 81
3.6 A Special Conversion Case—Number Bases that are Related 81
3.7 Fractions 83
Fractional Conversion Methods 86
3.8 Mixed Number Conversions 89
Summary and Review 89 For Further Reading 90
Key Concepts and Terms 90 Reading Review Questions 90
Exercises 91
CHAPTER 4 Data Formats 96
4.0 Introduction 97
4.1 General Considerations 97
4.2 Alphanumeric Character Data 100
Keyboard Input 106
Alternative Sources of Alphanumeric Input 107
4.3 Image Data 109
Bitmap Images 110
Object Images 114
Representing Characters as Images 117
Video Images 117
Image and Video Input 118
4.4 Audio Data 119
4.5 Data Compression 123
4.6 Page Description Languages 124
4.7 Internal Computer Data Format 125
Numerical Character to Integer Conversion 127
Summary and Review 128 For Further Reading 129
Key Concepts and Terms 130 Reading Review Questions 130
Exercises 131
CHAPTER 5 Representing Numerical Data 136
5.0 Introduction 137
5.1 Unsigned Binary and Binary-Coded Decimal Representations 138
5.2 Representations for Signed Integers 141
Sign-and-magnitude Representation 142
Nine’s Decimal and 1’s Binary Complementary Representations 143
Ten’s Complement and 2’s Complement 150
Overflow and Carry Conditions 153
Other Bases 153
Summary of Rules for Complementary Numbers 154
5.3 Real Numbers 155
A Review of Exponential Notation 155
Floating Point Format 157
Normalization and Formatting of Floating Point Numbers 159
A Programming Example 162
Floating Point Calculations 163
Floating Point in the Computer 165
Conversion between Base 10 and Base 2 167
5.4 Programming Considerations 168
Summary and Review 169 For Further Reading 170
Key Concepts and Terms 171 Reading Review Questions 171
Exercises 172
PART THREE
COMPUTER ARCHITECTURE AND HARDWARE OPERATION 178
CHAPTER 6 The Little Man Computer 180
6.0 Introduction 181
6.1 Layout of the Little Man Computer 181
6.2 Operation of the LMC 183
6.3 A Simple Program 185
6.4 An Extended Instruction Set 186
6.5 The Instruction Cycle 189
6.6 A Note Regarding Computer Architectures 192
Summary and Review 192 Key Concepts and Terms 193
Reading Review Questions 193 Exercises 194
CHAPTER 7 The CPU and Memory 198
7.0 Introduction 199
7.1 The Components of the CPU 200
7.2 The Concept of Registers 201
7.3 The Memory Unit 204
The Operation of Memory 204
Memory Capacity 208
Primary Memory Characteristics and Implementation 209
7.4 The Fetch-Execute Instruction Cycle 211
7.5 Buses 214
Bus Characteristics 214
7.6 Classification of Instructions 218
Data Movement Instructions (LOAD, STORE, and Other Moves) 219
Arithmetic Instructions 221
Boolean Logic Instructions 222
Single Operand Manipulation Instructions 222
Bit Manipulation Instructions 222
Shift and Rotate Instructions 223
Program Control Instructions 224
Stack Instructions 225
Multiple Data Instructions 228
Other Instructions 229
7.7 Instruction Word Formats 229
7.8 Instruction Word Requirements and Constraints 230
Summary and Review 234 For Further Reading 234
Key Concepts and Terms 235 Reading Review Questions 235
Exercises 237
CHAPTER 8 CPU and Memory: Design, Enhancement,
and Implementation 240
8.0 Introduction 241
8.1 CPU Architectures 242
Overview 242
Traditional Modern Architectures 243
VLIW and EPIC Architectures 244
8.2 CPU Features and Enhancements 246
Introduction 246
Fetch-Execute Cycle Timing Issues 247
A Model for Improved CPU Performance 249
Scalar and Superscalar Processor Organization 253
8.3 Memory Enhancements 256
Wide Path Memory Access 257
Memory Interleaving 258
Cache Memory 259
8.4 The Compleat Modern Superscalar CPU 263
8.5 Multiprocessing 265
8.6 A Few Comments on Implementation 269
Summary and Review 269 For Further Reading 270
Key Concepts and Terms 271 Reading Review Questions 271
Exercises 272
CHAPTER 9 Input/Output 276
9.0 Introduction 277
9.1 Characteristics of Typical I/O Devices 278
9.2 Programmed I/O 284
9.3 Interrupts 285
Servicing Interrupts 286
The Uses of Interrupts 288
Multiple Interrupts and Prioritization 293
9.4 Direct Memory Access 297
9.5 I/O Modules 300
Summary and Review 302 For Further Reading 303
Key Concepts and Terms 303 Reading Review Questions 304
Exercises 304
CHAPTER 10 Computer Peripherals 306
10.0 Introduction 307
10.1 The Hierarchy of Storage 308
10.2 Solid State Memory 310
10.3 Magnetic Disks 311
Disk Arrays 317
10.4 Optical Disk Storage 318
10.5 Magnetic Tape 321
10.6 Displays 322
Liquid Crystal Display Technology 328
CRT Display Technology 329
OLED Display Technology 330
10.7 Printers 330
Laser Printers 331
Inkjet Printers 332
Thermal Wax Transfer and Dye Sublimation Printers 333
10.8 User Input Devices 333
Keyboards and Pointing Devices 333
Scanners 335
Multimedia Devices 335
10.9 Network Communication Devices 335
Summary and Review 336 For Further Reading 337
Key Concepts and Terms 337 Reading Review Questions 338
Exercises 339
CHAPTER 11 Modern Computer Systems 342
11.0 Introduction 343
11.1 Putting All the Pieces Together 345
11.2 Input/Output System Architectures 353
I/O Bus Architecture 354
Channel Architecture 357
Blurring the Line 358
11.3 Computer Interconnection: A Brief Overview 359
11.4 Clusters 360
Overview 360
Classification and Configuration 360
Beowulf Clusters 362
11.5 High-Performance Computing 363
Grid Computing 364
Summary and Review 364 For Further Reading 365
Key Concepts and Terms 365 Reading Review Questions 366
Exercises 366
PART FOUR
NETWORKS AND DATA COMMUNICATIONS 368
CHAPTER 12 Networks and Data Communications 370
12.0 Introduction 371
12.1 The Impact of Networking on Business Processes and User
Access to Knowledge and Services 372
12.2 A Simple View of Data Communications 373
12.3 Basic Data Communication Concepts 376
Messages 377
Packets 377
General Channel Characteristics 378
Packet Routing 382
12.4 TCP/IP, OSI, and Other Communication Models 386
Overview 386
The TCP/IP Network Model 387
The OSI Network Model 395
Addressing 396
12.5 Types of Networks 398
Network Topology 399
Local Area Networks 402
Backbone Networks 407
Metropolitan Area Networks 409
Wide Area Networks (WAN) 411
Internet Backbones and the Internet 412
Piconets 414
12.6 Standards 415
Summary and Review 416 For Further Reading 417
Key Concepts and Terms 417 Reading Review Questions 418
Exercises 419
CHAPTER13 Ethernet and TCP/IP Networking 422
13.0 Introduction 423
13.1 Introducing The Process—The Application Layer 423
13.2 Domain Names and DNS Services 424
Domain Name System Directory Services 424
13.3 Next Steps—TCP and the Transport Layer 429
13.4 The Network Layer, IP Addresses, and ARP 430
IP Addresses 431
Dynamic Host Configuration Protocol (DHCP) 433
The Operation of IP 434
13.5 The Data Link Layer 435
Hub-Based Ethernet 436
Switched Ethernet 437
13.6 Quality of Service 437
13.7 Network Security 438
Physical and Logical Access Restriction 439
Encryption 440
13.8 Alternative Protocols 440
MPLS 440
ATM 441
SONET/SDH 441
Frame Relay 441
Summary and Review 442 For Further Reading 442
Key Concepts and Terms 443 Reading Review Questions 443
Exercises 443
CHAPTER 14 Communication Channel Technology 446
14.0 Introduction 447
14.1 Communication Channel Technology 447
14.2 The Fundamentals of Signaling Technology 450
Analog Signaling 451
Digital Signaling 460
Modems and Codecs 465
14.3 Transmission Media and Signaling Methods 466
14.4 Wireless Networking 468
Wi-Fi 469
Summary and Review 471 For Further Reading 471
Key Concepts and Terms 471 Reading Review Questions 472
Exercises 473
PART FIVE
THE SOFTWARE COMPONENT 476
CHAPTER 15 Operating Systems: An Overview 478
15.0 Introduction 479
15.1 The Barebones Computer System 480
15.2 The Operating Systems Concept: An Introduction 481
15.3 Services and Facilities 488
User Interface and Command Execution Services 489
File Management 490
Input/Output Services 491
Process Control Management 492
Memory Management 493
Scheduling and Dispatch 493
Secondary Storage Management 496
Network and Communications Support Services 496
Security and Protection Services 497
System Administration Support 498
15.4 Organization 502
15.5 Types of Computer Systems 505
Summary and Review 509 For Further Reading 510
Key Concepts and Terms 510 Reading Review Questions 510
Exercises 511
CHAPTER 16 The User View of Operating Systems 514
16.0 Introduction 515
16.1 Purpose of the User Interface 516
16.2 User Functions and Program Services 518
Program Execution 518
File Commands 519
Disk and Other I/O Device Commands 520
Security and Data Integrity Protection 521
Interuser Communication and Data Sharing Operations 521
System Status Information 522
Program Services 523
16.3 Types of User Interface 524
The Command Line Interface 525
Batch System Commands 527
Graphical User Interfaces 528
Trade-offs in the User Interface 533
Software Considerations 535
16.4 X Window and Other Graphics Display Methodologies 536
16.5 Command and Scripting Languages 539
The Elements of a Command Language 541
The Command Language Start-up Sequence Files 542
16.6 Services to Programs 542
Summary and Review 544 For Further Reading 544
Key Concepts and Terms 544 Reading Review Questions 545
Exercises 545
CHAPTER 17 File Management 548
17.0 Introduction 549
17.1 The Logical and Physical View of Files 549
17.2 The Role of the File Management System 554
17.3 Logical File Access Methods 560
Sequential File Access 560
Random Access 560
Indexed Access 561
17.4 Physical File Storage 562
Contiguous Storage Allocation 562
Noncontiguous Storage Allocation 564
Indexed Allocation 566
Free Space Management 568
Tape Allocation 569
CD, DVD, and Flash Drive Allocation 570
17.5 File Systems, Volumes, Disks, Partitions, and Storage Pools 570
17.6 The Directory Structure 573
Tree-Structured Directories 575
Acyclic-Graph Directories 577
17.7 Network File Access 581
17.8 Storage Area Networks 582
17.9 File Protection 584
17.10 Journaling File Systems 585
Summary and Review 586 For Further Reading 586
Key Concepts and Terms 587 Reading Review Questions 587
Exercises 588
CHAPTER 18 The Internal Operating System 592
18.0 Introduction 593
18.1 Fundamental OS Requirements 594
Example: A Simple Multitasking Operating System 596
18.2 Starting the Computer System: The Bootstrap 599
18.3 Processes and Threads 601
Process Creation 604
Process States 605
Threads 606
18.4 Basic Loading and Execution Operations 607
18.5 CPU Scheduling and Dispatching 608
High-Level Scheduler 608
Dispatching 610
Nonpreemptive Dispatch Algorithms 612
Preemptive Dispatch Algorithms 613
18.6 Memory Management 615
Memory Partitioning 615
18.7 Virtual Storage 617
Overview 617
Pages and Frames 618
The Concept of Virtual Storage 623
Page Faults 624
Working Sets and the Concept of Locality 626
Page Sharing 627
Page Replacement Algorithms 627
Thrashing 629
Page Table Implementation 630
Segmentation 632
Process Separation 633
18.8 Secondary Storage Scheduling 633
First-Come, First-Served Scheduling 633
Shortest Distance First Scheduling 634
Scan Scheduling 634
N-STEP C-SCAN Scheduling 635
18.9 Network Operating System Services 635
OS Protocol Support and Other Services 635
18.10 Other Operating System Issues 638
Deadlock 638
Other Issues 640
18.11 Virtual Machines 641
Summary and Review 643 For Further Reading 644
Key Concepts and Terms 644 Reading Review Questions 645
Exercises 647
Bibliography 653
Index 665
Consults, E. (2023). THE ARCHITECTURE OF COMPUTER HARDWARE, SYSTEM SOFTWARE, AND NETWORKING AN INFORMATION TECHNOLOGY APPROACH By Irv Englander. Afribary. Retrieved from https://afribary.com/books/the-architecture-of-computer-hardware-system-software-and-networking-an-information-technology-approach-by-irv-englander
Consults, Education "THE ARCHITECTURE OF COMPUTER HARDWARE, SYSTEM SOFTWARE, AND NETWORKING AN INFORMATION TECHNOLOGY APPROACH By Irv Englander" Afribary. Afribary, 20 Jun. 2023, https://afribary.com/books/the-architecture-of-computer-hardware-system-software-and-networking-an-information-technology-approach-by-irv-englander. Accessed 21 Nov. 2024.
Consults, Education . "THE ARCHITECTURE OF COMPUTER HARDWARE, SYSTEM SOFTWARE, AND NETWORKING AN INFORMATION TECHNOLOGY APPROACH By Irv Englander". Afribary, Afribary, 20 Jun. 2023. Web. 21 Nov. 2024. < https://afribary.com/books/the-architecture-of-computer-hardware-system-software-and-networking-an-information-technology-approach-by-irv-englander >.
Consults, Education . "THE ARCHITECTURE OF COMPUTER HARDWARE, SYSTEM SOFTWARE, AND NETWORKING AN INFORMATION TECHNOLOGY APPROACH By Irv Englander" Afribary (2023). Accessed November 21, 2024. https://afribary.com/books/the-architecture-of-computer-hardware-system-software-and-networking-an-information-technology-approach-by-irv-englander