The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Поиск:  Каталог документации / Документация по FreeBSD / Руководства по FreeBSD на английском

FreeBSD Developers' Handbook

The FreeBSD Documentation Project

Welcome to the Developers' Handbook. This manual is a work in progress and is the work of many individuals. Many sections do not yet exist and some of those that do exist need to be updated. If you are interested in helping with this project, send email to the FreeBSD documentation project mailing list .

The latest version of this document is always available from the FreeBSD World Wide Web server. It may also be downloaded in a variety of formats and compression options from the FreeBSD FTP server or one of the numerous mirror sites.


Table of Contents
I. Basics
1 Introduction
1.1 Developing on FreeBSD
1.2 The BSD Vision
1.3 Architectural Guidelines
1.4 The Layout of /usr/src
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
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
4 Localization and Internationalization - L10N and I18N
4.1 Programming I18N Compliant Applications
5 Source Tree Guidelines and Policies
5.1 MAINTAINER on Makefiles
5.2 Contributed Software
5.3 Encumbered Files
5.4 Shared Libraries
II. Interprocess Communication
6 * Signals
7 Sockets
7.1 Synopsis
7.2 Networking and Diversity
7.3 Protocols
7.4 The Sockets Model
7.5 Essential Socket Functions
7.6 Helper Functions
7.7 Concurrent Servers
8 IPv6 Internals
8.1 IPv6/IPsec Implementation
III. Kernel
9 Bootstrapping and kernel initialization
9.1 Synopsis
9.2 Overview
9.3 BIOS POST
9.4 boot0 stage
9.5 boot2 stage
9.6 loader stage
9.7 Kernel initialization
10 Locking Notes
10.1 Mutexes
10.2 Lock Manager Locks
10.3 Atomically Protected Variables
11 Kernel Objects
11.1 Terminology
11.2 Kobj Operation
11.3 Using Kobj
12 The Jail Subsystem
12.1 Architecture
12.2 Restrictions
12.3 Jail NG
13 The Sysinit Framework
13.1 Terminology
13.2 Sysinit Operation
13.3 Using Sysinit
14 Writing MAC Policies
14.1 Synopsis
14.2 Introduction
14.3 Kernel Architecture
14.4 Userland Architecture
14.5 Entry Point Framework
14.6 Userland APIs
14.7 Sample Policy Modules
14.8 System Integration
14.9 Conclusion
15 Virtual Memory System
15.1 The FreeBSD VM System
16 DMA
16.1 DMA: What it is and How it Works
17 Kernel Debugging
17.1 Debugging a Kernel Crash Dump with gdb
17.2 Debugging a Crash Dump with DDD
17.3 Post-Mortem Analysis of a Dump
17.4 On-Line Kernel Debugging Using DDB
17.5 On-Line Kernel Debugging Using Remote GDB
17.6 Debugging Loadable Modules Using GDB
17.7 Debugging a Console Driver
18 * UFS
19 * AFS
20 * Syscons
21 * Compatibility Layers
21.1 * Linux
IV. Device Drivers
22 Writing FreeBSD Device Drivers
22.1 Introduction
22.2 Dynamic Kernel Linker Facility - KLD
22.3 Accessing a device driver
22.4 Character Devices
22.5 Network Drivers
23 ISA device drivers
23.1 Synopsis
23.2 Basic information
23.3 Device_t pointer
23.4 Configuration file and the order of identifying and probing during auto-configuration
23.5 Resources
23.6 Bus memory mapping
23.7 DMA
23.8 xxx_isa_probe
23.9 xxx_isa_attach
23.10 xxx_isa_detach
23.11 xxx_isa_shutdown
23.12 xxx_intr
24 PCI Devices
24.1 Probe and Attach
24.2 Bus Resources
25 Common Access Method SCSI Controllers
25.1 Synopsis
25.2 General architecture
25.3 Polling
25.4 Asynchronous Events
25.5 Interrupts
25.6 Errors Summary
25.7 Timeout Handling
26 USB Devices
26.1 Introduction
26.2 Host Controllers
26.3 USB Device Information
26.4 Device probe and attach
26.5 USB Drivers Protocol Information
27 Newbus
27.1 Device Drivers
27.2 Overview of Newbus
27.3 Newbus API
28 Sound subsystem
28.1 Introduction
28.2 Files
28.3 Probing, attaching, etc.
28.4 Interfaces
V. Architectures
29 x86 Assembly Language Programming
29.1 Synopsis
29.2 The Tools
29.3 System Calls
29.4 Return Values
29.5 Creating Portable Code
29.6 Our First Program
29.7 Writing Unix Filters
29.8 Buffered Input and Output
29.9 Command Line Arguments
29.10 Unix Environment
29.11 Working with Files
29.12 One-Pointed Mind
29.13 Using the FPU
29.14 Caveats
29.15 Acknowledgements
30 * Alpha
31 * IA-64
VI. Appendices
Bibliography
List of Tables
10-1. Mutex List
10-2. lockmgr(9) Lock List
List of Figures
27-1. driver_t implementation
27-2. Device statesdevice_state_t
List of Examples
2-1. A sample .emacs file
27-1. Newbus Methods

This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру