出版时间:2003-1 出版社:人民邮电出版社 作者:[美] 瓦哈兰 页数:601 字数:836000
Tag标签:无
内容概要
本书提供了最新和最全面的UNIX系统技术内幕资料。全书讨论了UNIX的开发技术和原理,考察了现代UNIX系统的最新发展,比较分析了由最重要的UNIX系统和变体所提供的最新特性。本书涵盖的内容包括体现了20世纪90年代UNIX系统结构特色的多项技术:多线程内核、多处理机和实时系统,以及分布式文件系统。本书还讨论了内核的几个重要组成部分,比较了它们在几种不同UNIX变体中的设计,论述了其间的诸多权衡考虑,并且介绍了已被广泛采用的那些特性。 本书可作为大学计算机科学系高年级本科生和研究生的教材或参考书。本书也为专业UNIX程序员、系统管理员提供了极有价值的参考资料。
作者简介
Uresh Vahalia曾为几种UNIX变体开发过内核中的子系统。他在许多大学、企业里,以及会议上讲授过UNIX内核技术。目前他正在为EMC公司开发高性能的文件和视频服务器。
书籍目录
1 INTRODUCTION 1.1 Introduction 1.2 Th Mandate for Change 1.3 Looking Back, Looking Forward 1.4 The Scope of this Book 1.5 References2 THE PROCESS AND THE KERNEL 2.1 Introduction 2.2 Mode, Space, and Context 2.3 The Process Abstraction 2.4 Executing in Kernel Mode 2.5 Synchronization 2.6 Process Scheduling 2.7 Signals 2.8 New Processes and Programs 2.9 Summary 2.10 Exercises 2.11 References3 THREADS AND LIGHTWEIGHT PROCESSES 3.1 Introduction 3.2 Fundamental Abstractions 3.3 Lightweight Process Design--Issues to Consider 3.4 User-Level Threads Libraries 3.5 Scheduler Activations 3.6 Multithreading in Solarie and SVR4 3.7 Threads in Mach 3.8 Digital UNIX 3.9 Mach 3.0 Continuations 3.10 Summary 3.11 Exercises 3.12 References4 SIGNALS AND SESSION MANAGEMENT 4.1 Introduction 4.2 Signal Generation and Handling 4.3 Unreliable Signals 4.4 Reliable Signals 4.5 Signals in SVR4 4.6 Signals Implementation 4.7 Exceptions 4.8 Mach Exception Handling 4.9 Process Groups and Terminal Management 4.10 The SVR4 Sessions Architecture 4.11 Summary 4.12 Exercises 4.13 References5 PROCESS SCHEDULING 5.1 Introduction 5.2 Clock Interrupt Handling 5.3 Scheduler Goals 5.4 Traditional UNIX Scheduling 5.5 The SVR4 Scheduler 5.6 Solaris 2.x Scheduling Enhancements 5.7 Scheduling in Mach 5.8 The Digital UNIX Real-Time Scheduler 5.9 Other Scheduling Implementations 5.10 Summary 5.11 Exercises 5.12 References6 INTERPROCESS COMMUNICATIONS 6.1 Introduction 6.2 Universal IPC Facilities 6.3 System V IPC 6.4 Mach IPC 6.5 Messages 6.6 Ports 6.7 Message Passing 6.8 Port Operations 6.9 Extensibility 6.10 Mach 3.0 Enhancements 6.11 Discussion 6.12 Summary 6.13 Exercises 6.14 References7 SYNCHRONIZATION AND MULTIPROCESSING 7.1 Introduction 7.2 Synchronization in Traditional UNIX Kernels 7.3 Multiprocessor Systems 7.4 Multiprocessor Synchronization Issues 7.5 Semaphores 7.6 Spin Locks 7.7 Condition Variables 7.8 Resd-Writs Locks 7.9 Reference Counts 7.10 Other Considerations 7.11 Case Studies 7.12 Summary 7.13 Exercises 7.14 References8 FILE SYSTEM INTERFACE AND FRAMEWORK 8.1 Introduction 8.2 The User Interface to Files 8.3 File Systems 8.4 Special Files 8.5 File System Framework 8.6 The Vnode/Vfs Architecture 8.7 Implementation Overview 8.8 File-System-Dependent Objects 8.9 Mounting a File System 8.10 Operations on Files 8.11 Analysis 8.12 Summary 8.13 Exercises 8.14 References9 FILE SYSTEM IMPLEMENTATIONS 9.1 Introduction 9.2 The System V File System (s5fs) 9.3 S5fs Kernel Organization 9.4 Analysis of s5fs 9.5 The Berkeley Fast File System 9.6 Hard Disk Structure 9.7 On-Disk Organization 9.8 FFS Functionality Enhancements 9.9 Analysis 9.10 Temporary File Systems 9.11 Special-Purpose File Systems 9.12 The Old Buffer Cache 9.13 Summary 9.14 Exercises 9.15 References10 DISTRIBUTED FILE SYSTEMS 10.1 Introduction 10.2 General Characteristics of Distributed File Systems 10.3 Network File System (NFS) 10.4 The Protocol Suite 10.5 NFS Implementation 10.6 UNIX Semantics 10.7 NFS Performance 10.8 Dedicated NFS Servers 10.9 NFS Security 10.10 NFS Version 3 10.11 Remote File Sharing (RFS) 10.12 RFS Architecture 10.13 RFS Implementation 10.14 Client-Side Caching 10.15 The Andrew File System 10.16 AFS Implementation 10.17 AFS Shortcomings 10.18 The DCE Distributed File System (DCE DFS) 10.19 Summary 10.20 Exercises 10.21 References11 ADVANCED FILE SYSTEMS 11.1 Introduction 11.2 Limitations of Traditional File Systems 11.3 File System Clustering (Sun-FFS) 11.4 The Journaling Approach 11.5 Log-Structured File Systems 1l.6 The 4.4BSD Log-Structured File System 11.7 Metedata Logging 11.8 The Episode File System 11.9 Watchdogs 11.10 The 4.4BSD Portal File System 11.11 Stackable File System Layers 11.12 The 4.4BSD File System Interface 11.13 Summary 11.14 Exercises 11.15 References12 KERNEL MEMORY ALLOCATION 12.1 Introduction 12.2 Functional Requirements 12.3 Resource Map Allocator 12.4 Simple Power-of-Two Free Lists 12.5 The McKusick-Karels Allocator 12.6 The Buddy System 12.7 The SVR4 Lazy Buddy Algorithm 12.8 The Mach-OSF/1 Zone Allocator 12.9 A Hierarchical Allocator for Multiprocessors 12.10 The Solaris 2.4 Slab Allocator 12.11 Summary 12.12 Exercises 12.13 References13 VIRTUAL MEMORY 13.1 Introduction 13.2 Demand Paging 13.3 Hardware Requirements 13.4 4.3BSD- A Case Study 13.5 4.3BSD Memory Management Operations 13.6 Analysis 13.7 Exercises 13.8 References14 THE SVR4 VM ARCHITECTURE 14.1 Motivation 14.2 Memory-Mapped Files 14.3 VM Design Principles 14.4 Fundamental Abstractions 14.5 Segment Drivers 14.6 The Swap Layer 14.7 VM Operations 14.8 Interaction with the Vnode Subsystem 14.9 Virtual Swap Space in Solaris 14.10 Analysis 14.11 Performance Improvements 14.12 Summary 14.13 Exercises 14.14 References15 MORE MEMORY MANAGEMENT TOPICS 15.1 Introduction 15.2 Mach Memory Management Design 15.3 Memory Sharing Facilities 15.4 Memory Objects and Pagers 15.5 External and Internal Pagers 15.6 Page Replacement 15.7 Analysis 15.8 Memory Management in 4.4BSD 15.9 Translation Lookaside Buffer (TLB) Consistency 15.10 TLB Shootdown in Mach 15.11 TLB Consistency in SVR4 and SVR4.2 UNIX 15.12 Other TLB Consistency Algorithms 15.13 Virtually Addressed Caches 15.14 Exercises 15.15 References16 DEVICE DRIVERS AND I/O 16.1 Introduction 16.2 Overview 16.3 Device Driver Framework 16.4 The I/O Subsystem 16.5 The poll System Call 16.6 Block I/O 16.7 The DDI/DKI Specification 16.8 Newer SVR4 Releases 16.9 Future Directions 16.10 Summary 16.11 Exercises 16.12 References17 STREAMS 17.1 Motivation 17.2 Overview 17.3 Messages and Queues 17.4 Stream I/O 17.5 Configuration and Setup 17.6 STREAMS ioctls 17.7 Memory Allocation 17.8 Multiplexing 17.9 FIFOs and Pipes 17.10 Networking Interfaces 17.11 Summary 17.12 Exercises 17.13 ReferencesIndex
媒体关注与评论
“Vahalia在本书中对各种UNIX系统进行了独到全面的对比剖析。” ——Peter H.Salus,Computing Systems杂志执行编辑 “本书为任何需要了解UNIX操作系统各种变体之区别的人士所必备。” ——Margo Seltzer,哈佛大学 本书提供了最新和最全面的UNIX系统技术内幕资料。本书为专业的UNIX程序员、系统管理员和计算机科学系学生编写,它深入讨论了UNIX的开发技术和原理,而且非常易于学习参考。本书涵盖的内容包括体现了20世纪90年代UNIX系统结构特色的多项技术:多线程内核、多处理机和实时系统以及分布式文件系统。 本书考察了现代UNIX系统的最新发展,比较分析了由最重要的UNIX系统和变体所提供的最新特性,这些系统包括:SVR4.x\Solaris和SunOS、Digital UNIX、4.4 BSD、 Mach和OSF/1。 作者在书中讨论了内核的几个重要组成部分,比较了它们在几种不同UNIX变体中的设计,论述了其间的诸多权衡考虑,并且介绍了已被广泛采用的那些特性。本书通过突出强调实用性,对实现细节进行了详尽的阐述。UNIX爱好者不应该错过本书。 Uresh Vahalia曾为几种UNIX变体开发过内核中的子系统。他在许多大学,企业里,以及会议上讲授过UNIX内核技术。目前他正在为EMC公司开发高性能的文件和视频服务器。
图书封面
图书标签Tags
无
评论、评分、阅读与下载