, , , , , e.a.

Design and Implementation of the FreeBSD Operating System, The

Gebonden Engels 2014 9780321968975
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

The most complete, authoritative technical guide to the FreeBSD kernel’s internal structure has now been extensively updated to cover all major improvements between Versions 5 and 11. Approximately one-third of this edition’s content is completely new, and another one-third has been extensively rewritten.

Three long-time FreeBSD project leaders begin with a concise overview of the FreeBSD kernel's current design and implementation. Next, they cover the FreeBSD kernel from the system-call level down–from the interface to the kernel to the hardware. Explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing each significant system facility, including process management, security, virtual memory, the I/O system, filesystems, socket IPC, and networking. Explains highly scalable and lightweight virtualisation using FreeBSD jails, and virtual-machine acceleration with Xen and Virtio device paravirtualisation Describes new security features such as Capsicum sandboxing and GELI cryptographic disk protection Fully covers NFSv4 and Open Solaris ZFS support Introduces FreeBSD’s enhanced volume management and new journaled soft updates Explains DTrace’s fine-grained process debugging/profiling Reflects major improvements to networking, wireless, and USB support Readers can use this guide as both a working reference and an in-depth study of a leading contemporary, portable, open source operating system. Technical and sales support professionals will discover both FreeBSD’s capabilities and its limitations. Applications developers will learn how to effectively and efficiently interface with it; system administrators will learn how to maintain, tune, and configure it; and systems programmers will learn how to extend, enhance, and interface with it.

Specificaties

ISBN13:9780321968975
Taal:Engels
Bindwijze:Gebonden

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

<p>Preface xxi</p> <p>About the Authors xxix</p> <p><strong>Part I: Over view 1</strong></p> <p><strong>Chapter 1: History and Goals 3</strong></p> <p>1.1 History of the UNIX System 3</p> <p>1.2 BSD and Other Systems 7</p> <p>1.3 The Transition of BSD to Open Source 9</p> <p>1.4 The FreeBSD Development Model 14</p> <p>References 17</p> <p><strong>Chapter 2: Design Overview of FreeBSD 21</strong></p> <p>2.1 FreeBSD Facilities and the Kernel 21</p> <p>2.2 Kernel Organization 23</p> <p>2.3 Kernel Services 26</p> <p>2.4 Process Management 26</p> <p>2.5 Security 29</p> <p>2.6 Memory Management 36</p> <p>2.7 I/O System Overview 39</p> <p>2.8 Devices 44</p> <p>2.9 The Fast Filesystem 45</p> <p>2.10 The Zettabyte Filesystem 49</p> <p>2.11 The Network Filesystem 50</p> <p>2.12 Interprocess Communication 50</p> <p>2.13 Network-Layer Protocols 51</p> <p>2.14 Transport-Layer Protocols 52</p> <p>2.15 System Startup and Shutdown 52</p> <p>Exercises 54</p> <p>References 54</p> <p><strong>Chapter 3: Kernel Services 57</strong></p> <p>3.1 Kernel Organization 57</p> <p>3.2 System Calls 62</p> <p>3.3 Traps and Interrupts 64</p> <p>3.4 Clock Interrupts 65</p> <p>3.5 Memory-Management Services 69</p> <p>3.6 Timing Services 73</p> <p>3.7 Resource Services 75</p> <p>3.8 Kernel Tracing Facilities 77</p> <p>Exercises 84</p> <p>References 85</p> <p><strong>Part II: Processes 87</strong></p> <p><strong>Chapter 4: Process Management 89</strong></p> <p>4.1 Introduction to Process Management 89</p> <p>4.2 Process State 92</p> <p>4.3 Context Switching 99</p> <p>4.4 Thread Scheduling 114</p> <p>4.5 Process Creation 126</p> <p>4.6 Process Termination 128</p> <p>4.7 Signals 129</p> <p>4.8 Process Groups and Sessions 136</p> <p>4.9 Process Debugging 142</p> <p>Exercises 144</p> <p>References 146</p> <p><strong>Chapter 5: Security 147</strong></p> <p>5.1 Operating-System Security 148</p> <p>5.2 Security Model 149</p> <p>5.3 Process Credentials 151</p> <p>5.4 Users and Groups 154</p> <p>5.5 Privilege Model 157</p> <p>5.6 Interprocess Access Control 159</p> <p>5.7 Discretionary Access Control 161</p> <p>5.8 Capsicum Capability Model 174</p> <p>5.9 Jails 180</p> <p>5.10 Mandatory Access-Control Framework 184</p> <p>5.11 Security Event Auditing 200</p> <p>5.12 Cryptographic Services 206</p> <p>5.13 GELI Full-Disk Encryption 212</p> <p>Exercises 217</p> <p>References 217</p> <p><strong>Chapter 6: Memory Management 221</strong></p> <p>6.1 Terminology 221</p> <p>6.2 Overview of the FreeBSD Virtual-Memory System 227</p> <p>6.3 Kernel Memory Management 230</p> <p>6.4 Per-Process Resources 244</p> <p>6.5 Shared Memory 250</p> <p>6.6 Creation of a New Process 258</p> <p>6.7 Execution of a File 262</p> <p>6.8 Process Manipulation of Its Address Space 263</p> <p>6.9 Termination of a Process 266</p> <p>6.10 The Pager Interface 267</p> <p>6.11 Paging 276</p> <p>6.12 Page Replacement 289</p> <p>6.13 Portability 298</p> <p>Exercises 308</p> <p>References 310</p> <p><strong>Part III: I/OSystem 313</strong></p> <p><strong>Chapter 7: I/O System Overview 315</strong></p> <p>7.1 Descriptor Management and Services 316</p> <p>7.2 Local Interprocess Communication 333</p> <p>7.3 The Virtual-Filesystem Interface 339</p> <p>7.4 Filesystem-Independent Services 344</p> <p>7.5 Stackable Filesystems 352</p> <p>Exercises 358</p> <p>References 359</p> <p><strong>Chapter 8: Devices 361</strong></p> <p>8.1 Device Overview 361</p> <p>8.2 I/O Mapping from User to Device 367</p> <p>8.3 Character Devices 370</p> <p>8.4 Disk Devices 374</p> <p>8.5 Network Devices 378</p> <p>8.6 Terminal Handling 382</p> <p>8.7 The GEOM Layer 391</p> <p>8.8 The CAM Layer 399</p> <p>8.9 Device Configuration 402</p> <p>8.10 Device Virtualization 414</p> <p>Exercises 428</p> <p>References 429</p> <p><strong>Chapter 9: The Fast Filesystem 431</strong></p> <p>9.1 Hierarchical Filesystem Management 431</p> <p>9.2 Structure of an Inode 433</p> <p>9.3 Naming 443</p> <p>9.4 Quotas 451</p> <p>9.5 File Locking 454</p> <p>9.6 Soft Updates 459</p> <p>9.7 Filesystem Snapshots 480</p> <p>9.8 Journaled Soft Updates 487</p> <p>9.9 The Local Filestore 496</p> <p>9.10 The Berkeley Fast Filesystem 501</p> <p>Exercises 517</p> <p>References 519</p> <p><strong>Chapter 10: The Zettabyte Filesystem 523</strong></p> <p>10.1 Introduction 523</p> <p>10.2 ZFS Organization 527</p> <p>10.3 ZFS Structure 532</p> <p>10.4 ZFS Operation 535</p> <p>10.5 ZFS Design Tradeoffs 547</p> <p>Exercises 549</p> <p>References 549</p> <p><strong>Chapter 11: The Network Filesystem 551</strong></p> <p>11.1 Overview 551</p> <p>11.2 Structure and Operation 553</p> <p>11.3 NFS Evolution 567</p> <p>Exercises 586</p> <p>References 587</p> <p><strong>Part IV: Interprocess Communication 591</strong></p> <p><strong>Chapter 12: Interprocess Communication 593</strong></p> <p>12.1 Interprocess-Communication Model 593</p> <p>12.2 Implementation Structure and Overview 599</p> <p>12.3 Memory Management 601</p> <p>12.4 IPC Data Structures 606</p> <p>12.5 Connection Setup 612</p> <p>12.6 Data Transfer 615</p> <p>12.7 Socket Shutdown 620</p> <p>12.8 Network-Communication Protocol Internal Structure 621</p> <p>12.9 Socket-to-Protocol Interface 626</p> <p>12.10 Protocol-to-Protocol Interface 631</p> <p>12.11 Protocol-to-Network Interface 634</p> <p>12.12 Buffering and Flow Control 643</p> <p>12.13 Network Virtualization 644</p> <p>Exercises 646</p> <p>References 648</p> <p><strong>Chapter 13: Network-Layer Protocols 649</strong></p> <p>13.1 Internet Protocol Version 4 650</p> <p>13.2 Internet Control Message Protocols (ICMP) 657</p> <p>13.3 Internet Protocol Version 6 659</p> <p>13.4 Internet Protocols Code Structure 670</p> <p>13.5 Routing 675</p> <p>13.6 Raw Sockets 686</p> <p>13.7 Security 688</p> <p>13.8 Packet-Processing Frameworks 700</p> <p>Exercises 715</p> <p>References 717</p> <p><strong>Chapter 14: Transport-Layer Protocols 721</strong></p> <p>14.1 Internet Ports and Associations 721</p> <p>14.2 User Datagram Protocol (UDP) 723</p> <p>14.3 Transmission Control Protocol (TCP) 725</p> <p>14.4 TCP Algorithms 732</p> <p>14.5 TCP Input Processing 741</p> <p>14.6 TCP Output Processing 745</p> <p>14.7 Stream Control Transmission Protocol (SCTP) 761</p> <p>Exercises 768</p> <p>References 770</p> <p><strong>Part V: System Operation 773</strong></p> <p><strong>Chapter 15: System Startup and Shutdown 775</strong></p> <p>15.1 Firmware and BIOSes 776</p> <p>15.2 Boot Loaders 777</p> <p>15.3 Kernel Boot 782</p> <p>15.4 User-Level Initialization 798</p> <p>15.5 System Operation 800</p> <p>Exercises 805</p> <p>References 806</p> <p>Glossary 807</p> <p>Index 847</p>

Managementboek Top 100

Rubrieken

    Personen

      Trefwoorden

        Design and Implementation of the FreeBSD Operating System, The