Pages - Menu

Monday, December 7, 2015

147. FreeBSD Developers' Handbook

Part I. Basics
Chapter 1 Introduction
1.1 Developing on FreeBSD
1.2 The BSD Vision
1.3 Architectural Guidelines
1.4 The Layout of /usr/src

Chapter 2 Programming Tools
2.1 Synopsis
2.2 Introduction
2.3 Introduction to Programming
2.4 Compiling with cc
2.5 Make
2.6 Debugging
2.7 Using Emacs as a Development Environment
2.8 Further Reading

Chapter 3 Secure Programming
3.1 Synopsis
3.2 Secure Design Methodology
3.3 Buffer Overflows
3.4 SetUID issues
3.5 Limiting your program’s environment
3.6 Trust
3.7 Race Conditions

Chapter 4 Localization - I18N
4.1 Programming I18N Compliant Applications

Part II. Interprocess Communication

Chapter 5 * Signals

Chapter 6 Sockets
6.1 Synopsis
6.2 Networking and Diversity
6.3 Protocols
6.4 The Sockets Model
6.5 Essential Socket Functions
6.6 Helper Functions
6.7 Concurrent Servers

Chapter 7 IPv6 Internals
7.1 IPv6/IPsec Implementation

Part III. Kernel

Chapter 8 * History of the Unix Kernel

Chapter 9 Locking Notes
9.1 Mutexes
9.2 Lock Manager Locks
9.3 Atomically Protected Variables

Chapter 10 Kernel Objects
10.1 Terminology
10.2 Kobj Operation
10.3 Using Kobj

Chapter 11 The Sysinit Framework
11.1 Terminology
11.2 Sysinit Operation
11.3 Using Sysinit

Chapter 12 Virtual Memory System
12.1 The FreeBSD VM System

Chapter 13 DMA
13.1 DMA: What it is and How it Works

Chapter 14 Kernel Debugging
14.1 Debugging a Kernel Crash Dump with gdb
14.2 Debugging a Crash Dump with DDD
14.3 Post-Mortem Analysis of a Dump
14.4 On-Line Kernel Debugging Using DDB
14.5 On-Line Kernel Debugging Using Remote GDB
14.6 Debugging Loadable Modules Using GDB
14.7 Debugging a Console Driver

Chapter 15 * UFS

Chapter 16 * AFS

Chapter 17 * Syscons

Chapter 18 * Compatibility Layers
18.1 * Linux

Part IV. Device Drivers

Chapter 19 Writing FreeBSD Device Drivers
19.1 Introduction
19.2 Dynamic Kernel Linker Facility - KLD
19.3 Accessing a device driver
19.4 Character Devices
19.5 Network Drivers

Chapter 20 ISA device drivers
20.1 Synopsis
20.2 Basic information
20.3 Device_t pointer
20.4 Config file and the order of identifying and probing during auto-configuration
20.5 Resources
20.6 Bus memory mapping
20.7 DMA
20.8 xxx_isa_probe
20.9 xxx_isa_attach
20.10 xxx_isa_detach
20.11 xxx_isa_shutdown

Chapter 21 PCI Devices
21.1 Probe and Attach
21.2 Bus Resources

Chapter 22 Common Access Method SCSI Controllers
22.1 Synopsis
22.2 General architecture
22.3 Polling
22.4 Asynchronous Events
22.5 Interrupts
22.6 Errors Summary
22.7 Timeout Handling

Chapter 23 USB Devices
23.1 Introduction
23.2 Host Controllers
23.3 USB Device Information
23.4 Device probe and attach
23.5 USB Drivers Protocol Information
24 * NewBus
25 * Sound subsystem

Part V. Architectures

Chapter 26 x86 Assembly Language Programming
26.1 Synopsis
26.2 The Tools
26.3 System Calls
26.4 Return Values
26.5 Creating Portable Code
26.6 Our First Program
26.7 Writing Unix Filters
26.8 Buffered Input and Output
26.9 Command Line Arguments
26.10 Unix Environment
26.11 Working with Files
26.12 One-Pointed Mind
26.13 Using the FPU
26.14 Caveats
26.15 Acknowledgements

27 * Alpha
28 * IA-64

Part VI. Appendices

Bibliography
Index

No comments:

Post a Comment