1 Introduction and Overview 1
What Is an Operating System? 2
The Components of a Modern Operating System 3
A Look Ahead 4
Summary 5
Key Words 5
Exercises 5
PART 1:SYSTEM RESOURCES 7
2 Hardware 9
Memory 10
Physical Memory Devices 10
Bytes and Words 10
Addressing Memory 10
The Processor 11
Program Instructions 11
Cache Memory 11
The Processor s Components 12
Machine Cycles 13
Microcode 19
Input and Output Devices 19
Secondary Storage 20
Diskette 21
Hard Disk 22
Backup 24
Other Secondary Media 25
The Directory 25
Linking the Components 25
Summary 29
Key Words 30
Exercises 30
3 Software and Data 33
Software 34
Hardware,Software,and Data 34
Absolute and Relative Addressing 35
Programming Languages 36
Traditional Structured Software 38
Object-Oriented Software 38
Libraries 40
Reentrant Code 42
Data 43
Data Elements 43
Data Structures 43
Data Files 45
The Relative Record Concept 46
Access Techniques 48
Database Management 49
Summary 50
Exercises 52
Key Words 52
4 Linking the Components 55
Linking Internal Components 56
The Bus 56
Word Size 56
Machine Cycles 57
Architectures 57
Single-Bus Architecture 61
Interfaces 63
Channels and Control Units 63
Multiple-Bus Architecture 64
Logical and Physical I/O 65
Primitives 66
Open 67
Accessing Data 67
Messages and Signals 70
Networks 70
Network Types 71
Network Topology 71
Network Management 74
Summary 75
Key Words 76
Exercises 77
PART 2:BASIC OPERATING SYSTEM CONCEPTS 79
5 The Shell,the IOCS,and the File System 81
An Operating System s Basic Functions 82
The User Interface 82
The Command Processor or Shell 83
The Command Language 85
Batch Commands 87
The Input/Output Control System 88
Device Management 88
Logical and Physical I/O 89
Interrupts and Device Synchronization 91
The File System 92
Loading a Program 92
Opening and Closing Data Files 93
Disk Space Management 94
The Boot 94
Utilities 96
Summary 97
Key Words 98
Exercises 98
6 Memory Management and Processor Management 99
Memory Management 100
Resident and Transient Routines 100
Concurrency 100
Partitions and Regions 102
Segmentation 103
Paging 106
Segmentation and Paging 106
Memory Protection 106
Overlay Structures 106
Virtual Memory 109
Implementing Virtual Memory 109
Addressing Virtual Memory 111
Page Faults 113
Thrashing 113
Multiprogramming 113
The Dispatcher 114
Control Blocks 114
Interrupts 115
Time-Sharing 119
Polling 120
Roll-In/Roll-Out 120
Time-Slicing 120
Scheduling and Queuing 121
Spooling 123
Deadlock 123
Summary 124
Key Words 126
Exercises 126
PART 3:COMMUNICATING WITH THE OPERATING SYSTEM 127
7 The User Interface 129
User Interface Functions 130
Types of User Interfaces 131
A Human Perspective 132
Learning a User Interface 132
Summary 133
Exercises 134
Key Words 134
8 MS-DOS Commands 135
MS-DOS 136
MS-DOS Commands 136
The Chapter Tutorial 136
Getting Started 137
Selecting the Default Drive 137
Formatting a Diskette 139
The File System 140
File Names 141
Directories 141
Subdirectories 142
Path Names 143
Viewing a Directory 145
Creating Directories 148
Creating Files 150
Changing Directories 152
Manipulating Files 154
Batch Files 156
Program Files 156
Pipes,Filters,and Redirection 157
Returning to Windows 160
Summary 160
Key Words 162
Exercises 162
9 Windows 2000 165
Windows 2000 166
The User Interface 166
Getting Help 167
Executing a Program 167
The Menu Bar 169
Maximizing and Minimizing a Window 169
Switching Between Programs 169
Quitting a Program 170
Shutting Down 170
Working With the Windows File System 171
Formatting a Disk 171
File Names 171
Directories(or Folders) 173
The Windows Explorer 173
My Computer 177
Creating Directories 177
Creating Files 179
Copying and Renaming Files 180
Copying to a Different Folder 180
Copying Entire Subfolders 182
Manipulating Files 182
Copying Multiple Files 182
Searching for Files 183
Sorting Files 185
Shortcuts to Files 185
Deleting Files or Folders 187
Command Line Interface 188
Windows Scripting Host 188
Summary 188
Exercises 190
Key Words 190
10 UNIX/Linux Commands and Utilities 193
UNIX 194
Linux 194
The UNIX Shell 194
The Chapter Tutorial 196
Logging On 196
Directories 198
File Names 198
The File System 198
Path Names 199
Viewing a Directory 200
Creating Directories 203
Changing Working Directories 204
Creating Files 205
Manipulating Files 206
Pipes,Filters,and Redirection 209
Shell Scripts 212
Other Useful Commands 212
Graphic User Interface 213
Summary 213
Key Words 215
Exercises 215
11 IBM OS/JCL:JOB and EXEC Statements 217
Jobs and Job Steps 218
Batch Job Control Languages 218
OS/JCL 218
Catalogued Procedures 220
JCL Statement Format 221
JOB Statements 222
Accounting Information 223
The Programmer Name 223
The CLASS Parameter 224
The TIME Parameter 224
The REGION Parameter 225
The MSGLEVEL Parameter 225
Defaults 226
Other JOB Parameters 227
Continuing a JCL Statement 227
EXEC Statements 227
The COND Parameter 229
Other EXEC Parameters 231
Summary 232
Key Words 232
Exercises 233
12 IBM/OS JCL:DD Statements 235
External Device Linkage 236
Data Control Blocks 236
DD Statements 236
Unit Record Hardware 239
The UNIT Parameter 239
The DCB Parameter 240
Magnetic Disk 241
UNIT and DCB 241
The DISP Parameter 242
The DSNAME Parameter 243
The VOLUME Parameter 243
The SPACE Parameter 244
Some Examples 246
Magnetic Tape 246
System Input and Output 247
Job Step Qualification 248
Libraries 248
A Complete Job 249
Summary 252
Key Words 253
Exercises 253
PART 4:OPERATING SYSTEM INTERNALS 255
13 The Intel Architecture 257
Introduction 258
Architecture Overview 258
Intel Execution Environment 259
Execution Mode 259
Memory Addressing 260
Paging 261
Address Translation 261
Task Management 263
Memory Protection 265
Limit Checking 265
Type Checking 265
Privilege Levels 265
Interrupt Handling 265
Improving the Performance of the Intel Architecture 266
Pipelining,Superpipelining,and Superscalar Processors 267
Out-of-Order Execution and Branch Prediction 268
MMX Technology 268
Data and Instruction Caches 269
Summary 269
Key Words 271
Exercises 271
14 MS-DOS 273
Evaluating an Operating System 274
Measures of Effectiveness 274
System Objectives 275
Microcomputer Operating Systems 276
MS-DOS Internals 277
The Shell 278
Accessing Peripherals 279
The File System 280
Interrupt Processing 285
Booting MS-DOS 288
Running MS-DOS 288
Summary 290
Key Words 291
Exercises 292
15 Windows 2000 Internals 293
Windows 2000 Architecture 294
Client/Server Mode 294
Windows 2000 294
Modules,Processes,and Threads 294
User Mode 295
Kernel Mode 297
Process Management 299
Multithreading 299
Multitasking 300
Multiprocessing 301
Memory Management 301
Paging 301
Address Translation 303
Disk Management 304
File Management 305
NTFS 305
File System Recovery 307
Caching 308
Input Output Manager 308
The Registry 310
Summary 311
Key Words 314
Exercises 314
16 UNIX and Linux 317
The UNIX System 318
Images and Processes 319
Process Creation 321
Initialization 324
Process Management 325
The Shell 327
Time-Slicing and Interrupts 327
Memory Management 328
Swapping(or Paging) 328
Memory Space and Reentrant Code 329
The File System 330
Accessing Disk Files 331
Managing Disk Space 334
Buffering 334
UNIX Internals 335
Linux 335
The Linux Kernel 336
Linux Processes 337
The Linux File System 337
Summary 337
Key Words 340
Exercises 340
17 Traditional IBM Mainframe Operating Principles 343
Addressing Memory 344
The Hardware Environment 344
The Program Status Word 345
Executing Instructions 345
Instruction Length 349
The Condition Code 350
Memory Protection 350
Controlling Physical I/O 350
Privileged Instructions 354
Interrupts 356
Interrupt Types 359
Permanent Storage Assignments 362
Masking Interrupts 363
Interrupt Priority 367
Program States 368
An Example 369
Summary 374
Exercises 375
Key Words 375
18 IBM MVS 377
Traditional IBM Mainframe Operating Systems 378
Virtual Memory Contents 378
Job and Task Management 379
The Master Scheduler 380
The Job Entry Subsystem 382
The Initiator/Terminator 383
Task Management 384
Control Blocks 384
Dispatching 386
Allocating Peripheral Devices 410
The Unit Control Block 411
The Task Input/Output Table 412
The DCB and the DEB 412
Open 412
Linking I/O Control Blocks 413
Data Management 414
System Generation 415
Summary 415
Key Words 416
Exercises 416
19 Virtual Machines 419
Operating System Development 420
The Virtual Machine Concept 421
VM/SP 422
VM′s Structure 425
CMS 426
The Control Program(CP) 427
Processor Management 427
Memory Management 427
Managing Peripheral Devices 429
Principles of Operation 429
Advantages and Disadvantages 431
Summary 432
Key Words 433
Exercises 434
PART 5:NETWORKS 435
20 The Client/Server Operating System 437
Introduction 438
Communications Architecture 440
The OSI Model 440
The TCP/IP Model 441
Client/Server Systems 442
Network Operating Systems 443
Middleware 444
Traditional Services 446
File Services 446
Print Services 448
E-Mail Services 449
Emerging Network Operating System Services 450
Directory Services(DS) 450
Application Services 450
Database Services 451
Internet/Intranet Services 451
Management Services 451
Summary 452
Key Words 454
Exercises 454
21 Novell NetWare 455
NetWare 456
NetWare Kernel 456
Networking Protocols 457
NetWare Loadable Modules 458
Memory Architecture 458
The Traditional NetWare File System 460
File Systems 460
Novell Storage Services 461
Disk Management 461
Fault Tolerant Features 462
Storage Management Services 463
Printing Services 463
Queue-Based Services 463
Novell Distributed Print Services(NDPS) 463
Novell Directory Services 464
Network Management 465
Using NetWare 466
The Client/Server Structure 466
Logging In 468
Accessing Network Resources Using My Network Places 468
Mapping a Network Drive 471
Mapping with Explorer 473
Volume Information 473
Disconnecting a Mapped Drive 476
Logging Out 476
Summary 478
Key Words 480
Exercises 480
22 Windows 2000 Server 483
Introduction 484
Peer-Peer Networks 484
Domains 484
Network Protocols 486
Active Directory Service 488
File Services 489
Shared Folders 490
Distributed File System 490
Print Services 490
Managing Windows 2000 Server 491
Using Windows 2000 Server and Client 492
Logging Onto the Network 492
Browsing Network Resources 492
Accessing Network Resources Using My Network Places 492
Mapping a Folder 497
Windows Explorer and Mapped Shared Folders 497
Using the Mapped Drive 499
Printing with a Network Printer 499
Disconnecting a Mapped Drive 500
Viewing Directory Information 500
Creating a Shared Folder 505
Logging Off a Client 507
Summary 507
Key Words 509
Exercises 509
23 The Internet 511
Internet Protocols 512
Network Internet Layer 512
Transport Layer 513
Application Protocols 513
Mail 513
File Transfer Protocol 513
Telnet 514
Hypertext Transfer Protocol 515
News 517
Domain Name System 517
IP Addresses 517
IPV6 518
Domain Names 518
The Domain Name System 518
Dynamic Host Configuration Protocol 520
Simple Network Management Protocol 521
Network Management 521
Web Services 522
Web File Systems 523
Internet Crime 525
Hackers and Crackers 525
Passwords 526
Viruses and Other Destructive Software 526
Security 527
Firewalls 527
Encryption 528
Authentication 528
Digital Signatures 530
Digital Certificates 530
Access Control 531
Summary 531
Exercises 533
Key Words 533
A APPENDIX A:Number Systems,Data Types,and Codes 535
Number Systems 535
Binary Numbers 536
Octal and Hexadecimal 536
Data Types 537
Numeric Data 537
String Data 538
General 541
B APPENDIX B:Summary of MS-DOS Commands 541
Selected Commands 544
Selected Filters 550
C APPENDIX C:Summary of UNIX Commands 553
General 553
Commands and Utilities 556
Glossary 565
Index 593