TY - BOOK AU - Bach,Maurice J. TI - The design of the Unix operating system / SN - 0132017997 PY - 1990/// CY - New Jersey PB - Prentice Hall KW - SISTEMA OPERATIVO KW - UNIX-SISTEMA OPERATIVO N1 - CONTENIDO PREFACE xi CHAPTER 1. GENERAL OVERVIEW OF THE SYSTEM 1 History 1 System Structure 4 User Perspective 6 Operating System Services 14 Assumptions About Hardware 15 Summary 18 CHAPTER 2. INTRODUCTION TO THE KERNEL 19 Architecture of the UNIX Operating System 19 Introduction to System Concepts 22 Kernel Data Structures 34 System Administration 34 Summary and Preview 36 Exercises 37 CHAPTER 3. THE BUFFER CACHE 38 Buffer Headers 39 Structure of the Buffer Pool 40 Scenarios for Retrieval of a Buffer 42 Reading and Writing Disk Blocks 53 Advantages and Disadvantages of the Buffer Cache 56 Summary 57 Exercises 58 CHAPTER 4. INTERNAL REPRESENTATION OF FILES 60 Inodes 61 Structure of a Regular File 67 Directories 73 Conversion of a Path Name to an Inode 74 Super Block 76 Inode Assignment to a New File 77 Allocation of Disk Blocks 84 Other File Types 88 Summary 88 Exercises 89 CHAPTER 5. SYSTEM CALLS FOR THE FILE SYSTEM 91 Open 92 Read 96 Write 101 File and Record Locking 103 Adjusting the Position of File I/O_LSEEK 103 Close 103 File Creation 105 Creation of Special Files 107 Change Directory and Change Root 109 Change Owner and Change Mode 110 STAT and FSTAT 110 Pipes 111 Dup 117 Mounting and Unmounting File Systems 119 Link 128 Unlink 132 File System Abstractions 138 File System Maintenance 139 Summary 140 Exercises 140 CHAPTER 6. THE STRUCTURE OF PROCESSES 146 Process States and Transitions 147 Layout of System Memory 151 The Context of a Process 159 Saving the Context of a Process 162 Manipulation of the Process Address Space 171 Sleep 182 Summary 188 Exercises 189 CHAPTER 7. PROCESS CONTROL 191 Process Creation 192 Signals 200 Process Termination 212 Awaiting Process Termination 213 Invoking Other Programs 217 The User ID of a Process 227 Changing the Size of a Process 229 The Shell 232 System Boot and the INIT Process 235 Summary 238 Exercises 239 CHAPTER 8. PROCESS SCHEDULING AND TIME 247 Process Scheduling 248 System Calls For Time 258 Clock 260 Summary 268 Exercises 268 CHAPTER 9. MEMORY MANAGEMENT POLICIES 271 Swapping 272 Demand Paging 285 A Hybrid System With Swapping and Demand Paging 307 Summary 307 Exercises 308 CHAPTER 10. THE I/O SUBSYSTEM 312 Driver Interfaces 313 Disk Drivers 325 Terminal Drivers 329 Streams 344 Summary 351 Exercises 352 CHAPTER 11. INTERPROCESS COMMUNICATION 355 Process Tracing 356 System V IPC 359 Network Communications 382 Sockets 383 Summary 388 Exercises 389 CHAPTER 12. MULTIPROCESSOR SYSTEMS 391 Problem of Multiprocessor Systems 392 Solution With Master and Slave Processors 393 Solution With Semaphores 395 The Tunis System 410 Performance Limitations 410 Exercises 410 CHAPTER 13. DISTRIBUTED UNIX SYSTEMS 412 Satellite Processors 414 The Newcastle Connection 422 Transparent Distributed File Systems 426 A Transparent Distributed Model Without Stub Processes 429 Summary 430 Exercises 431 APPENDIX_SYSTEM CALLS 434 BIBLIOGRAPHY 454 INDEX 458 ER -