UNIX系统内幕:英文版

UNIX系统内幕:英文版
作 者: Uresh Vahalia
出版社: 人民邮电出版社
丛编项: 国外著名高等院校信息科学与技术优秀教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: UNIX
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  UreshVahalia曾为几种UNIX变体开发过内核中的子系统。他在许多大学、企业里,以及会议上讲授过UNIX内核技术。目前他正在为EMC公司开发高性能的文件和视频服务器。

内容简介

《UNIX 系统内幕(英文版)》提供了最新和最全面的UNIX系统技术内幕资料。全书讨论了UNIX的开发技术和原理,考察了现代UNIX系统的最新发展,比较分析了由最重要的UNIX系统和变体所提供的最新特性。《UNIX 系统内幕(英文版)》涵盖的内容包括体现了20世纪90年代UNIX系统结构特色的多项技术:多线程内核、多处理机和实时系统,以及分布式文件系统。《UNIX 系统内幕(英文版)》还讨论了内核的几个重要组成部分,比较了它们在几种不同UNIX变体中的设计,论述了其间的诸多权衡考虑,并且介绍了已被广泛采用的那些特性。《UNIX 系统内幕(英文版)》可作为大学计算机科学系高年级本科生和研究生的教材或参考书。《UNIX 系统内幕(英文版)》也为专业UNIX程序员、系统管理员提供了极有价值的参考资料。

图书目录

1 INTRODUCTION 1 1.1 Introduction 1 1.1.1 A Brief History 2 1.1.2 The Beginning 2 1.1.3 Proliferation 3 1.1.4 BSD 4 1.1.5 System V 5 1.1.6 Commercialization 5 1.1.7 Mach 6 1.1.8 Standards 6 1.1.9 OSF and UI 7 1.1.10 SVR4 and Beyond 8 1.2 The Mandate fo...

2 THE PROCESS AND THE KERNEL 19 2.1 Introduction 19 2.2 Mode, Space, and Context 22 2.3 The Process Abstraction 24 2.3.1 Process State 25 2.3.2 Process Context 26 2.3.3 User Credentials 27 2.3.4 The u Area and the proc Structure 28 2.4 Executing in Ker...

3 THREADS AND LIGHTWEIGHT PROCESSES 48 3.1 Introduction 48 3.1.1 Motivation 49 3.1.2 Multiple Threads and Processors 49 3.1.3 Concurrency and Parallelism 52 3.2 Fundamental Abstractions 52 3.2.1 Kemel Threads 53 3.2.2 Lightweight Processes 53 3.2.3 Use...

4 SIGNALS AND SESSION MANAGEMENT 83 4.1 Introduction 83 4.2 Signal Generation and Handling 84 4.2.1 Signal Handling 84 4.2.2 Signal Generation 87 4.2.3 Typical Scenarios 87 4.2.4 Sleep and Signals 88 4.3 Unreliable Signals 89 4.4 Reliable Signals 90 4....

5 PROCESS SCHEDULING 112 5.1 Introduction 112 5.2 Clock Interrupt Handling 113 5.2.1 Callouts 114 5.2.2 Alarms 115 5.3 Scheduler Goals 116 5.4 Traditional UNIX Scheduling 117 5.4.1 Process Priorities 118 5.4.2 Scheduler Implementation 119 5.4.3 Run Que...

6 INTERPROCESS COMMUNICATIONS 149 6.1 Introduction 149 6.2 Universal IPC Facilities 150 6.2.1 Signals 150 6.2.2 Pipes 151 6.2.3 SVR4 Pipes 152 6.2.4 Process Tracing 153 6.3 System V IPC 155 6.3.1 Common Elements 155 6.3.2 Semaphores 156 6.3.3 Message Q...

7 SYNCHRONIZATION AND MUL TIPROCESSING 187 7.1 Introduction 187 7.2 Synchronization in Traditional UNIX Kernels 188 7.2.1 Interrupt Masking 189 7.2.2 Sleep and Wakeup 189 7.2.3 Limitations of Traditional Approach 190 7.3 Synchronization in Traditional ...

8 FILE SYSTEM INTERFACE AND FRAMEWORK 220 8.1 Introduction 220 8.2.1 The User Interface to Files 221 8.2.2 File Attributes 223 8.2.3 File Descriptors 225 8.2.4 File I/O 227 8.2.5 Scatter-Gather I/O 228 8.2.6 File Locking 228 8.3 File Systems 229 8.3.1 ...

9 FILE SYSTEM IMPLEMENTATIONS 261 9.1 Introduction 261 9.2 The System V File System(s5fs) 262 9.2.1 Directories 263 9.2.2 Inodes 263 9.2.3 The Superblock 266 9.3 S5fs Kernel Organization 267 9.3.1 In-Core Inodes 267 9.3.2 Inode Lookup 267 9.3.3 File I/...

10 DISTRIBUTED FILE SYSTEMS 291 10.1 Introduction 291 10.2 General Characteristics of Distributed File Systems 292 10.2.1 Design Considerations 292 10.3 Network File System(NFS) 293 10.3.1 User Perspective 294 10.3.2 Design Goals 294 10.3.3 NFS Compone...

11 ADVANCED FILE SYSTEMS 338 11.1 Introduction 338 11.2 Limitations of Traditional File Systems 339 11.2.1 FFS Disk Layout 340 11.2.2 Predominance of Writes 341 11.2.3 Metadata Updates 342 11.2.4 Crash Recovery 342 11.3 File System Clustering(Sun-FFS) ...

12 KERNEL MEMORY ALLOCATION 372 12.1 Introduction 372 12.2 Functional Requirements 374 12.2.1 Analysis 377 12.3 Resource Map Allocator 376 12.3.1 Analysis 377 12.4 Simple Power-of-Two Free Lists 379 12.4.1 Analysis 380 12.5 The McKusick-Karels Allocato...

13 VIRTUAL MEMORY 400 13.1 Introduction 400 13.1.1 Memory Management in the Stone Age 401 13.2 Demand Paging 404 13.2.1 Functional Requirements 404 13.2.2 The Virtual Address Space 406 13.2.3 Initial Access to a Page 407 13.2.4 The Swap Area 407 13.2.5...

14 THE SVR4 VM ARCHITECTURE 437 14.1 Motivation 437 14.2 Memory-Mapped Files 438 14.2.1 mmap and Related System Calls 440 14.3 VM Design Principles 440 14.4 Fundamental Abstractions 441 14.4.1 Physical Memory 442 14.4.2 The Address Space 443 14.4.3 Add...

15 MORE MEMORY MANAGEMENT TOPICS 473 15.1 Introduction 473 15.2 Mach Memory Management Design 473 15.2.1 Design Goals 474 15.2.2 Programming Interface 474 15.2.3 Fundamental Abstractions 476 15.3 Memory Sharing Facilities 478 15.3.1 Copy-on-Write Shari...

16 DEVICE DRIVERS AND I/O 511 16.1 Introduction 511 16.2 Overview 511 16.2.1 Hardware Configuration 513 16.2.2 Device Interrupts 514 16.3 Device Driver Framework 516 16.3.1 Classifying Devices and Drivers 516 16.3.2 Invoking Driver Code 517 16.3.3 The ...

17 STREAMS 547 17.1 Motivation 547 17.2 Overview 548 17.3 Messages and Queues 551 17.3.1 Messages 551 17.3.2 Virtual Copying 552 17.3.3 Message Types 553 17.3.4 Queues and Modules 554 17.4 Stream I/O 556 17.4.1 The STREAMS Scheduler 557 17.4.2 Priority...

Index 587