Modern operating systems / (Record no. 15644)

MARC details
000 -LEADER
fixed length control field 23938cam a22002534a 4500
001 - CONTROL NUMBER
control field 15356873
003 - CONTROL NUMBER IDENTIFIER
control field OSt
005 - DATE AND TIME OF LATEST TRANSACTION
control field 20230906183216.0
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 080707s2008 njua b 001 0 eng
010 ## - LIBRARY OF CONGRESS CONTROL NUMBER
LC control number 2008273363
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 0130926418
040 ## - CATALOGING SOURCE
Original cataloging agency BUL
Transcribing agency BUL
Modifying agency BUL
Language of cataloging eng
Description conventions rda
050 00 - LIBRARY OF CONGRESS CALL NUMBER
Classification number QA76.76.O63
Item number T359 2008
082 00 - DEWEY DECIMAL CLASSIFICATION NUMBER
Classification number 005.4/3
Edition number 22
Item number TAN
100 1# - MAIN ENTRY--PERSONAL NAME
Personal name Tanenbaum, Andrew S.,
Dates associated with a name 2001
245 10 - TITLE STATEMENT
Title Modern operating systems /
Statement of responsibility, etc. Andrew S. Tanenbaum.
250 ## - EDITION STATEMENT
Edition statement 2nd ed
260 ## - PUBLICATION, DISTRIBUTION, ETC.
Place of publication, distribution, etc. Upper Saddle River, N.J. :
Name of publisher, distributor, etc. Pearson/Prentice Hall,
Date of publication, distribution, etc. c2001.
300 ## - PHYSICAL DESCRIPTION
Extent xxvii, 1076 p. :
Other physical details ill. ;
Dimensions 25 cm.
500 ## - GENERAL NOTE
General note Table of Contents<br/>CHAPTER 1 INTRODUCTION 1<br/><br/> 1.1. WHAT IS AN OPERATING SYSTEM? 3<br/> 1.1.1. The Operating System as an Extended Machine 3<br/> 1.1.2. The Operating System as a Resource Manager 5<br/><br/> 1.2. HISTORY OF OPERATING SYSTEMS 6<br/> 1.2.1. The First Generation (1945-55) 6<br/> 1.2.2. The Second Generation (1955-65) 7<br/> 1.2.3. The Third Generation (1965-1980) 9<br/> 1.2.4. The Fourth Generation (1980-Present) 13<br/> 1.2.5. Ontogeny Recapitulates Phylogeny 16<br/><br/> 1.3. THE OPERATING SYSTEM ZOO 18<br/> 1.3.1. Mainframe Operating Systems 18<br/> 1.3.2. Server Operating Systems 19<br/> 1.3.3. Multiprocessor Operating Systems 19<br/> 1.3.4. Personal Computer Operating Systems 19<br/> 1.3.5. Real-Time Operating Systems 19<br/> 1.3.6. Embedded Operating Systems 20<br/> 1.3.7. Smart Card Operating Systems 20<br/><br/> 1.4. COMPUTER HARDWARE REVIEW 20<br/> 1.4.1. Processors 21<br/> 1.4.2. Memory 23<br/> 1.4.3. I/O Devices 28<br/> 1.4.4. Buses 31<br/><br/> 1.5. OPERATING SYSTEM CONCEPTS 34<br/> 1.5.1. Processes 34<br/> 1.5.2. Deadlocks 36<br/> 1.5.3. Memory Management 37<br/> 1.5.4. Input/Output 38<br/> 1.5.5. Files 38<br/> 1.5.6. Security 41<br/> 1.5.7. The Shell 41<br/> 1.5.8. Recycling of Concepts 43<br/><br/> 1.6. SYSTEM CALLS 44<br/> 1.6.1. System Calls for Process Management 48<br/> 1.6.2. System Calls for File Management 50<br/> 1.6.3. System Calls for Directory Management 51<br/> 1.6.4. Miscellaneous System Calls 53<br/> 1.6.5. The Windows Win32 API 53<br/><br/> 1.7. OPERATING SYSTEM STRUCTURE 56<br/> 1.7.1. Monolithic Systems 56<br/> 1.7.2. Layered Systems 57<br/> 1.7.3. Virtual Machines 59<br/> 1.7.4. Exokernels 61<br/> 1.7.5. Client-Server Model 61<br/><br/> 1.8. RESEARCH ON OPERATING SYSTEMS 63<br/><br/> 1.9. OUTLINE OF THE REST OF THIS BOOK 65<br/><br/> 1.10. METRIC UNITS 66<br/><br/> 1.11. SUMMARY 67<br/><br/>CHAPTER 2 PROCESSES AND THREADS 71<br/><br/> 2.1. PROCESSES 71<br/> 2.1.1. The Process Model 72<br/> 2.1.2. Process Creation 73<br/> 2.1.3. Process Termination 75<br/> 2.1.4. Process Hierarchies 76<br/> 2.1.5. Process States 77<br/> 2.1.6. Implementation of Processes 79<br/><br/> 2.2. THREADS 81<br/> 2.2.1. The Thread Model 81<br/> 2.2.2. Thread Usage 85<br/> 2.2.3. Implementing Threads in User Space 90<br/> 2.2.4. Implementing Threads in the Kernel 93<br/> 2.2.5. Hybrid Implementations 94<br/> 2.2.6. Scheduler Activations 94<br/> 2.2.7. Pop-Up Threads 96<br/> 2.2.8. Making Single-Threaded Code Multithreaded 97<br/><br/> 2.3. INTERPROCESS COMMUNICATION 100<br/> 2.3.1. Race Conditions 100<br/> 2.3.2. Critical Regions 102<br/> 2.3.3. Mutual Exclusion with Busy Waiting 103<br/> 2.3.4. Sleep and Wakeup 108<br/> 2.3.5. Semaphores 110<br/> 2.3.6. Mutexes 113<br/> 2.3.7. Monitors 115<br/> 2.3.8. Message Passing 119<br/> 2.3.9. Barriers 123<br/><br/> 2.4. CLASSICAL IPC PROBLEMS 124<br/> 2.4.1. The Dining Philosophers Problem 125<br/> 2.4.2. The Readers and Writers Problem 128<br/> 2.4.3. The Sleeping Barber Problem 129<br/><br/> 2.5. SCHEDULING 132<br/> 2.5.1. Introduction to Scheduling 132<br/> 2.5.2. Scheduling in Batch Systems 138<br/> 2.5.3. Scheduling in Interactive Systems 142<br/> 2.5.4. Scheduling in Real-Time Systems 148<br/> 2.5.5. Policy versus Mechanism 149<br/> 2.5.6. Thread Scheduling 150<br/><br/> 2.6. RESEARCH ON PROCESSES AND THREADS 151<br/><br/> 2.7. SUMMARY 152<br/><br/>CHAPTER 3 DEADLOCKS 159<br/><br/> 3.1. RESOURCES 160<br/> 3.1.1. Preemptable and Nonpreemptable Resources 160<br/> 3.1.2. Resource Acquisition 161<br/><br/> 3.2. INTRODUCTION TO DEADLOCKS 163<br/> 3.2.1. Conditions for Deadlock 164<br/> 3.2.2. Deadlock Modeling 164<br/><br/> 3.3. THE OSTRICH ALGORITHM 167<br/><br/> 3.4. DEADLOCK DETECTION AND RECOVERY 168<br/> 3.4.1. Deadlock Detection with One Resource of Each Type 168<br/> 3.4.2. Deadlock Detection with Multiple Resource of Each Type 171<br/> 3.4.3. Recovery from Deadlock 173<br/><br/> 3.5. DEADLOCK AVOIDANCE 175<br/> 3.5.1. Resource Trajectories 175<br/> 3.5.2. Safe and Unsafe States 176<br/> 3.5.3. The Banker's Algorithm for a Single Resource 178<br/> 3.5.4. The Banker's Algorithm for Multiple Resources 179<br/><br/> 3.6. DEADLOCK PREVENTION 180<br/> 3.6.1. Attacking the Mutual Exclusion Condition 180<br/> 3.6.2. Attacking the Hold and Wait Condition 181<br/> 3.6.3. Attacking the No Preemption Condition 182<br/> 3.6.4. Attacking the Circular Wait Condition 182<br/><br/> 3.7. OTHER ISSUES 183<br/> 3.7.1. Two-Phase Locking 183<br/> 3.7.2. Nonresource Deadlocks 184<br/> 3.7.3. Starvation 184<br/><br/> 3.8. RESEARCH ON DEADLOCKS 185<br/><br/> 3.9. SUMMARY 185<br/><br/>CHAPTER 4 MEMORY MANAGEMENT 189<br/><br/> 4.1. BASIC MEMORY MANAGEMENT 190<br/> 4.1.1. Monoprogramming without Swapping or Paging 190<br/> 4.1.2. Multiprogramming with Fixed Partitions 191<br/> 4.1.3. Modeling Multiprogramming 192<br/> 4.1.4. Analysis of Multiprogramming System Performance 194<br/> 4.1.5. Relocation and Protection 194<br/><br/> 4.2. SWAPPING 196<br/> 4.2.1. Memory Management with Bitmaps 199<br/> 4.2.2. Memory Management with Linked Lists 200<br/><br/> 4.3. VIRTUAL MEMORY 202<br/> 4.3.1. Paging 202<br/> 4.3.2. Page Tables 205<br/> 4.3.3. TLBs\(emTranslation Lookaside Buffers 211<br/> 4.3.4. Inverted Page Tables 213<br/><br/> 4.4. PAGE REPLACEMENT ALGORITHMS 214<br/> 4.4.1. The Optimal Page Replacement Algorithm 215<br/> 4.4.2. The Not Recently Used Page Replacement Algorithm 216<br/> 4.4.3. The First-In, First-Out 217<br/> 4.4.4. The Second Chance Page Replacement Algorithm 217<br/> 4.4.5. The Clock Page Replacement Algorithm 218<br/> 4.4.6. The Least Recently Used 218<br/> 4.4.7. Simulating LRU in Software 220<br/> 4.4.8. The Working Set Page Replacement Algorithm 222<br/> 4.4.9. The WSClock Page Replacement Algorithm 225<br/> 4.4.:. Summary of Page Replacement Algorithms 227<br/><br/> 4.5. MODELING PAGE REPLACEMENT ALGORITHMS 228<br/> 4.5.1. Belady's Anomaly 229<br/> 4.5.2. Stack Algorithms 229<br/> 4.5.3. The Distance String 232<br/> 4.5.4. Predicting Page Fault Rates 233<br/><br/> 4.6. DESIGN ISSUES FOR PAGING SYSTEMS 234<br/> 4.6.1. Local versus Global Allocation Policies 234<br/> 4.6.2. Load Control 236<br/> 4.6.3. Page Size 237<br/> 4.6.4. Separate Instruction and Data Spaces 239<br/> 4.6.5. Shared Pages 239<br/> 4.6.6. Cleaning Policy 241<br/> 4.6.7. Virtual Memory Interface 241<br/><br/> 4.7. IMPLEMENTATION ISSUES 242<br/> 4.7.1. Operating System Involvement with Paging 242<br/> 4.7.2. Page Fault Handling 243<br/> 4.7.3. Instruction Backup 244<br/> 4.7.4. Locking Pages in Memory 246<br/> 4.7.5. Backing Store 246<br/> 4.7.6. Separation of Policy and Mechanism 247<br/><br/> 4.8. SEGMENTATION 249<br/> 4.8.1. Implementation of Pure Segmentation 253<br/> 4.8.2. Segmentation with Paging: MULTICS 254<br/> 4.8.3. Segmentation with Paging: The Intel Pentium 257<br/><br/> 4.9. RESEARCH ON MEMORY MANAGEMENT 262<br/><br/> 4.10. SUMMARY 262<br/><br/>CHAPTER 5 INPUT/OUTPUT 269<br/><br/> 5.1. PRINCIPLES OF I/O HARDWARE 269<br/> 5.1.1. I/O Devices 270<br/> 5.1.2. Device Controllers 271<br/> 5.1.3. Memory-Mapped I/O 272<br/> 5.1.4. Direct Memory Access 276<br/> 5.1.5. Interrupts Revisited 279<br/><br/> 5.2. PRINCIPLES OF I/O SOFTWARE 282<br/> 5.2.1. Goals of the I/O Software 283<br/> 5.2.2. Programmed I/O 284<br/> 5.2.3. Interrupt-Driven I/O 286<br/> 5.2.4. I/O Using DMA 287<br/><br/> 5.3. I/O SOFTWARE LAYERS 287<br/> 5.3.1. Interrupt Handlers 287<br/> 5.3.2. Device Drivers 289<br/> 5.3.3. Device-Independent I/O Software 292<br/> 5.3.4. User-Space I/O Software 298<br/><br/> 5.4. DISKS 300<br/> 5.4.1. Disk Hardware 300<br/> 5.4.2. Disk Formatting 315<br/> 5.4.3. Disk Arm Scheduling Algorithms 318<br/> 5.4.4. Error Handling 322<br/> 5.4.5. Stable Storage 324<br/><br/> 5.5. CLOCKS 327<br/> 5.5.1. Clock Hardware 328<br/> 5.5.2. Clock Software 329<br/> 5.5.3. Soft Timers 332<br/><br/> 5.6. CHARACTER-ORIENTED TERMINALS 333<br/> 5.6.1. RS-232 Terminal Hardware 334<br/> 5.6.2. Input Software 336<br/> 5.6.3. Output Software 341<br/><br/> 5.7. GRAPHICAL USER INTERFACES 342<br/> 5.7.1. Personal Computer Keyboard, Mouse, and Display Hardware 343<br/> 5.7.2. Input Software 347<br/> 5.7.3. Output Software for Windows 347<br/><br/> 5.8. NETWORK TERMINALS 355<br/> 5.8.1. The X Window System 356<br/> 5.8.2. The SLIM Network Terminal 360<br/><br/> 5.9. POWER MANAGEMENT 363<br/> 5.9.1. Hardware Issues 364<br/> 5.9.2. Operating System Issues 365<br/> 5.9.3. Degraded Operation 370<br/><br/> 5.10. RESEARCH ON INPUT/OUTPUT 371<br/><br/> 5.11. SUMMARY 372<br/><br/>CHAPTER 6 FILE SYSTEMS 379<br/><br/> 6.1. FILES 380<br/> 6.1.1. File Naming 380<br/> 6.1.2. File Structure 382<br/> 6.1.3. File Types 383<br/> 6.1.4. File Access 385<br/> 6.1.5. File Attributes 386<br/> 6.1.6. File Operations 387<br/> 6.1.7. An Example Program Using File System Calls 389<br/> 6.1.8. Memory-Mapped Files 391<br/><br/> 6.2. DIRECTORIES 393<br/> 6.2.1. Single-Level Directory Systems 393<br/> 6.2.2. Two-level Directory Systems 394<br/> 6.2.3. Hierarchical Directory Systems 395<br/> 6.2.4. Path Names 395<br/> 6.2.5. Directory Operations 398<br/><br/> 6.3. FILE SYSTEM IMPLEMENTATION 399<br/> 6.3.1. File System Layout 399<br/> 6.3.2. Implementing Files 400<br/> 6.3.3. Implementing Directories 405<br/> 6.3.4. Shared Files 408<br/> 6.3.5. Disk Space Management 410<br/> 6.3.6. File System Reliability 416<br/> 6.3.7. File System Performance 424<br/> 6.3.8. Log-Structured File Systems 428<br/><br/> 6.4. EXAMPLE FILE SYSTEMS 430<br/> 6.4.1. CD-ROM File Systems 430<br/> 6.4.2. The CP/M File System 435<br/> 6.4.3. The MS-DOS File System 438<br/> 6.4.4. The Windows 98 File System 442<br/> 6.4.5. The UNIX V7 File System 445<br/><br/> 6.5. RESEARCH ON FILE SYSTEMS 448<br/><br/> 6.6. SUMMARY 448<br/><br/>CHAPTER 7 MULTIMEDIA OPERATING SYSTEMS 453<br/><br/> 7.1. INTRODUCTION TO MULTIMEDIA 454<br/><br/> 7.2. MULTIMEDIA FILES 458<br/> 7.2.1. Audio Encoding 459<br/> 7.2.2. Video Encoding 461<br/><br/> 7.3. VIDEO COMPRESSION 463<br/> 7.3.1. The JPEG Standard 464<br/> 7.3.2. The MPEG Standard 467<br/><br/> 7.4. MULTIMEDIA PROCESS SCHEDULING 469<br/> 7.4.1. Scheduling Homogeneous Processes 469<br/> 7.4.2. General Real-Time Scheduling 470<br/> 7.4.3. Rate Monotonic Scheduling 472<br/> 7.4.4. Earliest Deadline First Scheduling 473<br/><br/> 7.5. MULTIMEDIA FILE SYSTEM PARADIGMS 475<br/> 7.5.1. VCR Control Functions 476<br/> 7.5.2. Near Video on Demand 478<br/> 7.5.3. Near Video on Demand with VCR Functions 479<br/><br/> 7.6. FILE PLACEMENT 481<br/> 7.6.1. Placing a File on a Single Disk 481<br/> 7.6.2. Two Alternative File Organization Strategies 482<br/> 7.6.3. Placing Files for Near Video on Demand 486<br/> 7.6.4. Placing Multiple Files on a Single Disk 487<br/> 7.6.5. Placing Files on Multiple Disks 490<br/><br/> 7.7. CACHING 492<br/> 7.7.1. Block Caching 492<br/> 7.7.2. File Caching 494<br/><br/> 7.8. DISK SCHEDULING FOR MULTIMEDIA 494<br/> 7.8.1. Static Disk Scheduling 495<br/> 7.8.2. Dynamic Disk Scheduling 496<br/><br/> 7.9. RESEARCH ON MULTIMEDIA 498<br/><br/> 7.10. SUMMARY 499<br/><br/>CHAPTER 8 MULTIPLE PROCESSOR SYSTEMS 503<br/><br/> 8.1. MULTIPROCESSORS 506<br/> 8.1.1. Multiprocessor Hardware 506<br/> 8.1.2. Multiprocessor Operating System Types 513<br/> 8.1.3. Multiprocessor Synchronization 516<br/> 8.1.4. Multiprocessor Scheduling 521<br/><br/> 8.2. MULTICOMPUTERS 526<br/> 8.2.1. Multicomputer Hardware 527<br/> 8.2.2. Low-Level Communication Software 531<br/> 8.2.3. User-Level Communication Software 534<br/> 8.2.4. Remote Procedure Call 537<br/> 8.2.5. Distributed Shared Memory 540<br/> 8.2.6. Multicomputer Scheduling 544<br/> 8.2.7. Load Balancing 545<br/><br/> 8.3. DISTRIBUTED SYSTEMS 549<br/> 8.3.1. Network Hardware 551<br/> 8.3.2. Network Services and Protocols 553<br/> 8.3.3. Document-Based Middleware 558<br/> 8.3.4. File System-Based Middleware 559<br/> 8.3.5. Shared Object-Based Middleware 565<br/> 8.3.6. Coordination-Based Middleware 572<br/><br/> 8.4. RESEARCH ON MULTIPLE PROCESSOR SYSTEMS 577<br/><br/> 8.5. SUMMARY 577<br/><br/>CHAPTER 9 SECURITY 583<br/><br/> 9.1. THE SECURITY ENVIRONMENT 584<br/> 9.1.1. Threats 584<br/> 9.1.2. Intruders 585<br/> 9.1.3. Accidental Data Loss 586<br/><br/> 9.2. BASICS OF CRYPTOGRAPHY 587<br/> 9.2.1. Secret-Key Cryptography 588<br/> 9.2.2. Public-Key Cryptography 588<br/> 9.2.3. One-Way Functions 589<br/> 9.2.4. Digital Signatures 590<br/><br/> 9.3. USER AUTHENTICATION 591<br/> 9.3.1. Authentication Using Passwords 592<br/> 9.3.2. Authentication Using a Physical Object 601<br/> 9.3.3. Authentication Using Biometrics 603<br/> 9.3.4. Countermeasures 606<br/><br/> 9.4. ATTACKS FROM INSIDE THE SYSTEM 606<br/> 9.4.1. Trojan Horses 607<br/> 9.4.2. Login Spoofing 608<br/> 9.4.3. Logic Bombs 609<br/> 9.4.4. Trap Doors 610<br/> 9.4.5. Buffer Overflow 610<br/> 9.4.6. Generic Security Attacks 613<br/> 9.4.7. Famous Security Flaws 614<br/> 9.4.8. Design Principles for Security 616<br/><br/> 9.5. ATTACKS FROM OUTSIDE THE SYSTEM 617<br/> 9.5.1. Virus Damage Scenarios 618<br/> 9.5.2. How Viruses Work 619<br/> 9.5.3. How Viruses Spread 626<br/> 9.5.4. Antivirus and Anti-Antivirus Techniques 628<br/> 9.5.5. The Internet Worm 635<br/> 9.5.6. Mobile Code 637<br/> 9.5.7. Java Security 642<br/><br/> 9.6. PROTECTION MECHANISMS 645<br/> 9.6.1. Protection Domains 645<br/> 9.6.2. Access Control Lists 647<br/> 9.6.3. Capabilities 650<br/><br/> 9.7. TRUSTED SYSTEMS 653<br/> 9.7.1. Trusted Computing Base 654<br/> 9.7.2. Formal Models of Secure Systems 655<br/> 9.7.3. Multilevel Security 657<br/> 9.7.4. Orange Book Security 659<br/> 9.7.5. Covert Channels 661<br/><br/> 9.8. RESEARCH ON SECURITY 665<br/><br/> 9.9. SUMMARY 666<br/><br/>CHAPTER 10 CASE STUDY 1: UNIX AND LINUX 671<br/><br/> 10.1. HISTORY OF UNIX 672<br/> 10.1.1. UNICS 672<br/> 10.1.2. PDP-11 UNIX 673<br/> 10.1.3. Portable UNIX 674<br/> 10.1.4. Berkeley UNIX 675<br/> 10.1.5. Standard UNIX 676<br/> 10.1.6. MINIX 677<br/> 10.1.7. Linux 678<br/><br/> 10.2. OVERVIEW OF UNIX 681<br/> 10.2.1. UNIX Goals 681<br/> 10.2.2. Interfaces to UNIX 682<br/> 10.2.3. The UNIX Shell 683<br/> 10.2.4. UNIX Utility Programs 686<br/> 10.2.5. Kernel Structure 687<br/><br/> 10.3. PROCESSES IN UNIX 690<br/> 10.3.1. Fundamental Concepts 690<br/> 10.3.2. Process Management System Calls in UNIX 692<br/> 10.3.3. Implementation of Processes in UNIX 699<br/> 10.3.4. Booting UNIX 708<br/><br/> 10.4. MEMORY MANAGEMENT IN UNIX 710<br/> 10.4.1. Fundamental Concepts 711<br/> 10.4.2. Memory Management System Calls in UNIX 714<br/> 10.4.3. Implementation of Memory Management in UNIX 715<br/><br/> 10.5. INPUT/OUTPUT IN UNIX 723<br/> 10.5.1. Fundamental Concepts 724<br/> 10.5.2. Input/Output System Calls in UNIX 726<br/> 10.5.3. Implementation of Input/Output in UNIX 727<br/> 10.5.4. Streams 730<br/><br/> 10.6. THE UNIX FILE SYSTEM 732<br/> 10.6.1. Fundamental Concepts 732<br/> 10.6.2. File System Calls in UNIX 736<br/> 10.6.3. Implementation of the UNIX File System 740<br/> 10.6.4. NFS: The Network File System 747<br/><br/> 10.7. SECURITY IN UNIX 753<br/> 10.7.1. Fundamental Concepts 753<br/> 10.7.2. Security System Calls in UNIX 755<br/> 10.7.3. Implementation of Security in UNIX 756<br/><br/> 10.8. SUMMARY 757<br/><br/>CHAPTER 11 CASE STUDY 2: WINDOWS 2000 763<br/><br/> 11.1. HISTORY OF WINDOWS 2000 763<br/> 11.1.1. MS-DOS 763<br/> 11.1.2. Windows 95/98/Me 764<br/> 11.1.3. Windows NT 765<br/> 11.1.4. Windows 2000 767<br/><br/> 11.2. PROGRAMMING WINDOWS 2000 771<br/> 11.2.1. The Win32 Application Programming Interface 772<br/> 11.2.2. The Registry 774<br/><br/> 11.3. SYSTEM STRUCTURE 778<br/> 11.3.1. Operating System Structure 778<br/> 11.3.2. Implementation of Objects 787<br/> 11.3.3. Environment Subsystems 792<br/><br/> 11.4. PROCESSES AND THREADS IN WINDOWS 2000 796<br/> 11.4.1. Fundamental Concepts 796<br/> 11.4.2. Job, Process, Thread and Fiber Management API Calls 799<br/> 11.4.3. Implementation of Processes and Threads 802<br/> 11.4.4. MS-DOS Emulation 809<br/> 11.4.5. Booting Windows 2000 820<br/><br/> 11.5. MEMORY MANAGEMENT 811<br/> 11.5.1. Fundamental Concepts 812<br/> 11.5.2. Memory Management System Calls 816<br/> 11.5.3. Implementation of Memory Management 817<br/><br/> 11.6. INPUT/OUTPUT IN WINDOWS 2000 824<br/> 11.6.1. Fundamental Concepts 824<br/> 11.6.2. Input/Output API Calls 825<br/> 11.6.3. Implementation of I/O 827<br/> 11.6.4. Device Drivers 827<br/><br/> 11.7. THE WINDOWS 2000 FILE SYSTEM 830<br/> 11.7.1. Fundamental Concepts 830<br/> 11.7.2. File System API Calls in Windows 2000 831<br/> 11.7.3. Implementation of the Windows 2000 File System 833<br/><br/> 11.8. SECURITY IN WINDOWS 2000 844<br/> 11.8.1. Fundamental Concepts 845<br/> 11.8.2. Security API Calls 847<br/> 11.8.3. Implementation of Security 848<br/><br/> 11.9. CACHING IN WINDOWS 2000 849<br/><br/> 11.10. SUMMARY 851<br/><br/>CHAPTER 12 OPERATING SYSTEM DESIGN 855<br/><br/> 12.1. THE NATURE OF THE DESIGN PROBLEM 856<br/> 12.1.1. Goals 856<br/> 12.1.2. Why is it Hard to Design an Operating Systems? 857<br/><br/> 12.2. INTERFACE DESIGN 859<br/> 12.2.1. Guiding Principles 859<br/> 12.2.2. Paradigms 861<br/> 12.2.3. The System Call Interface 864<br/><br/> 12.3 IMPLEMENTATION 867<br/> 12.3.1. System Structure 867<br/> 12.3.2. Mechanism versus Policy 870<br/> 12.3.3. Orthogonality 871<br/> 12.3.4. Naming 872<br/> 12.3.5. Binding Time 874<br/> 12.3.6. Static versus Dynamic Structures 875<br/> 12.3.7. Top-Down versus Bottom-Up Implementation 876<br/> 12.3.8. Useful Techniques 877<br/><br/> 12.4. PERFORMANCE 882<br/> 12.4.1. Why are Operating Systems Slow? 882<br/> 12.4.2. What Should be Optimized? 883<br/> 12.4.3. Space-Time Trade-offs 884<br/> 12.4.4. Caching 887<br/> 12.4.5. Hints 888<br/> 12.4.6. Exploiting Locality 888<br/> 12.4.7. Optimize the Common Case 889<br/><br/> 12.5. PROJECT MANAGEMENT 889<br/> 12.5.1. The Mythical Man Month 890<br/> 12.5.2. Team Structure 891<br/> 12.5.3. The Role of Experience 893<br/> 12.5.4. No Silver Bullet 894<br/><br/> 12.6. TRENDS IN OPERATING SYSTEM DESIGN 894<br/> 12.6.1. Large Address Space Operating Systems 894<br/> 12.6.2. Networking 895<br/> 12.6.3. Parallel and Distributed Systems 896<br/> 12.6.4. Multimedia 896<br/> 12.6.5. Battery-Powered Computers 896<br/> 12.6.6. Embedded Systems 897<br/><br/> 12.7. SUMMARY 897<br/><br/>CHAPTER 13 READING LIST AND BIBLIOGRAPHY 901<br/><br/> 13.1. SUGGESTIONS FOR FURTHER READING 901<br/> 13.1.1. Introduction and General Works 902<br/> 13.1.2. Processes and Threads 902<br/> 13.1.3. Deadlocks 903<br/> 13.1.4. Memory Management 903<br/> 13.1.5. Input/Output 903<br/> 13.1.6. File Systems 904<br/> 13.1.7. Multimedia Operating Systems 905<br/> 13.1.8. Multiple Processor Systems 906<br/> 13.1.9. Security 907<br/> 13.1.10. UNIX and Linux 908<br/> 13.1.11. Windows 2000 909<br/> 13.1.12. Design Principles 910<br/><br/> 13.2 ALPHABETICAL BIBLIOGRAPHY 911<br/>
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical term or geographic name entry element Operating systems (Computers)
942 ## - ADDED ENTRY ELEMENTS (KOHA)
Source of classification or shelving scheme Dewey Decimal Classification
Koha item type Book Closed Access
Classification part 005.43
Item part TAN
Call number prefix 005.43 TAN
Holdings
Withdrawn status Lost status Source of classification or shelving scheme Damaged status Not for loan Home library Current library Date acquired Source of acquisition Inventory number Total Checkouts Full call number Barcode Date last seen Copy number Price effective from Koha item type
    Dewey Decimal Classification     Engineering Library Engineering Library 09/06/2023 PURCHASE 0019325   005.43 TAN BUML23090798 09/06/2023 1 09/06/2023 Book Closed Access