?? freebsd 開發手冊.html
字號:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>FreeBSD 開發手冊</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></head><body class="BOOK" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="BOOK"><a id="AEN1" name="AEN1"></a><div class="TITLEPAGE"><h1 class="TITLE"><a id="AEN2" name="AEN2">FreeBSD 開發手冊</a></h1><h3 class="CORPAUTHOR">The FreeBSD Documentation Project</h3><h3 class="CORPAUTHOR">FreeBSD 中文計劃</h3><p class="COPYRIGHT">版權 © 2000, 2001, 2002, 2003, 2004, 2005, 2006 The FreeBSDDocumentation Project</p><p class="COPYRIGHT">版權 © 2005, 2006 FreeBSD 中文計劃</p><div><div class="ABSTRACT"><a id="AEN52" name="AEN52"></a><p> 歡迎您閱讀《FreeBSD開發手冊》。 這本手冊還在不斷由許多人<span class="emphasis"><bclass="EMPHASIS">繼續書寫</b></span>。 許多章節還是空白,有的章節亟待更新。如果您對這個項目感興趣并愿意有所貢獻,請發信給 <ahref="http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc" target="_top">FreeBSD文檔計劃郵件列表</a>。</p><p> 本文檔的最新英文原始版本可從 <a href="../../../../index.html"target="_top">FreeBSD Web 站點</a> 獲得, 由 <a href="http://www.FreeBSD.org.cn/"target="_top">FreeBSD 中文計劃</a> 維護的最新譯本可以在 <ahref="http://cnsnap.cn.FreeBSD.org/zh_CN/" target="_top">FreeBSD 中文計劃 快照 Web站點</a> 和 <a href="http://cnsnap.cn.FreeBSD.org/doc/zh_CN.GB2312/"target="_top">FreeBSD 中文計劃 文檔快照</a> 處獲得, 這一譯本會不斷向主站同步。 此外,您也可以從 <a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/" target="_top">FreeBSD FTP服務器</a> 或眾多的 <ahref="../../../../doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html"target="_top">鏡像站點</a> 得到這份文檔的各種其他格式以及壓縮形式的版本。</p></div></div><div class="LEGALNOTICE"><a id="LEGALNOTICE" name="LEGALNOTICE"></a><div class="IMPORTANT"><blockquote class="IMPORTANT"><p><b>重要:</b> <span class="emphasis"><bclass="EMPHASIS">本文中許可證的非官方中文翻譯僅供參考,不作為判定任何責任的依據。如與英文原文有出入,則以英文原文為準。</b></span></p></blockquote></div><p>在滿足下列許可條件的前提下, 允許再分發或以源代碼 (SGML DocBook) 或 “編譯” (SGML,HTML, PDF, PostScript, RTF 等) 的經過修改或未修改的形式:</p><ol type="1"><li><p>再分發源代碼 (SGML DocBook) 必須不加修改的保留上述版權告示、本條件清單和下述棄權書作為該文件的最先若干行。</p></li><li><p>再分發編譯的形式 (轉換為其它DTD、 PDF、 PostScript、 RTF 或其它形式),必須將上述版權告示、本條件清單和下述棄權書復制到與分發品一同提供的文件,以及其它材料中。</p></li></ol><div class="IMPORTANT"><blockquote class="IMPORTANT"><p><b>重要:</b> 本文檔由 FREEBSD DOCUMENTATION PROJECT “按現狀條件” 提供,并在此明示不提供任何明示或暗示的保障, 包括但不限于對商業適銷性、對特定目的的適用性的暗示保障。 任何情況下, FREEBSD DOCUMENTATION PROJECT均不對任何直接、 間接、 偶然、 特殊、 懲罰性的, 或必然的損失(包括但不限于替代商品或服務的采購、 使用、 數據或利益的損失或營業中斷) 負責,無論是如何導致的并以任何有責任邏輯的, 無論是否是在本文檔使用以外以任何方式產生的契約、嚴格責任或是民事侵權行為(包括疏忽或其它)中的, 即使已被告知發生該損失的可能性。</p></blockquote></div><p>Redistribution and use in source (SGML DocBook) and 'compiled' forms (SGML, HTML, PDF,PostScript, RTF and so forth) with or without modification, are permitted provided thatthe following conditions are met:</p><ol type="1"><li><p>Redistributions of source code (SGML DocBook) must retain the above copyright notice,this list of conditions and the following disclaimer as the first lines of this fileunmodified.</p></li><li><p>Redistributions in compiled form (transformed to other DTDs, converted to PDF,PostScript, RTF and other formats) must reproduce the above copyright notice, this listof conditions and the following disclaimer in the documentation and/or other materialsprovided with the distribution.</p></li></ol><div class="IMPORTANT"><blockquote class="IMPORTANT"><p><b>重要:</b> THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "ASIS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NOEVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USEOF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p></blockquote></div></div><div class="LEGALNOTICE"><a id="TRADEMARKS" name="TRADEMARKS"></a><p>FreeBSD 是 FreeBSD基金會的注冊商標</p><p>Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, 以及 TrueType 是 AppleComputer, Inc. 在美國以及其他國家的注冊商標。</p><p>IBM、 AIX、 EtherJet、 Netfinity、 OS/2、 PowerPC、 PS/2、 S/390 以及 ThinkPad是國際商用機器公司在美國和其他國家的注冊商標或商標。</p><p>IEEE, POSIX, 和 802 是 Institute of Electrical and Electronics Engineers, Inc.在美國的注冊商標。</p><p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, 和 Xeon 是 IntelCorporation 及其分支機構在美國和其他國家的商標或注冊商標。</p><p>Linux 是 Linus Torvalds 的注冊商標。</p><p>Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media, 和 Windows NT 是Microsoft Corporation 在美國和/或其他國家的商標或注冊商標。</p><p>Motif, OSF/1, 和 UNIX 是 The Open Group 在美國和其他國家的注冊商標; IT DialTone 和The Open Group 是其商標。</p><p>Sun、 Sun Microsystems、 Java、 Java Virtual Machine、 JavaServer Pages、 JDK、 JRE、JSP、 JVM、 Netra、 Solaris、 StarOffice、 Sun Blade、 Sun Enterprise、 Sun Fire、 SunOS以及 Ultra 是 Sun Microsystems, Inc. 在美國和其他國家的商標或注冊商標。</p><p>許多制造商和經銷商使用一些稱為商標的圖案或文字設計來彰顯自己的產品。 本文檔中出現的,為 FreeBSD Project 所知曉的商標,后面將以 '™' 或 '®' 符號來標注。</p></div><div class="DOCFORAMTNAVI">[ <a href="./index.html">章節模式</a> / <ahref="./book.html">完整模式</a> ]</div><hr /></div><div class="TOC"><dl><dt><b>目錄</b></dt><dt>第I部分. <a href="#BASICS">基礎</a></dt><dd><dl><dt>第1章 <a href="#INTRODUCTION">介紹</a></dt><dd><dl><dt>1.1 <a href="#INTRODUCTION-DEVEL">在 FreeBSD 上進行開發</a></dt><dt>1.2 <a href="#INTRODUCTION-BSDVISION">BSD 理念</a></dt><dt>1.3 <a href="#INTRODUCTION-ARCHGUIDE">指導性架構設計原則</a></dt><dt>1.4 <a href="#INTRODUCTION-LAYOUT"><ttclass="FILENAME">/usr/src</tt>的層次結構</a></dt></dl></dd><dt>第2章 <a href="#TOOLS">編程工具</a></dt><dd><dl><dt>2.1 <a href="#TOOLS-SYNOPSIS">概述</a></dt><dt>2.2 <a href="#TOOLS-INTRO">介紹</a></dt><dt>2.3 <a href="#TOOLS-PROGRAMMING">編程初步</a></dt><dt>2.4 <a href="#TOOLS-COMPILING">用 <tt class="COMMAND">cc</tt> 編譯</a></dt><dt>2.5 <a href="#TOOLS-MAKE">Make</a></dt><dt>2.6 <a href="#DEBUGGING">調試</a></dt><dt>2.7 <a href="#EMACS">使用 Emacs 作為開發環境</a></dt><dt>2.8 <a href="#TOOLS-READING">補充閱讀</a></dt></dl></dd><dt>第3章 <a href="#SECURE">安全的編程</a></dt><dd><dl><dt>3.1 <a href="#SECURE-SYNOPSIS">提要</a></dt><dt>3.2 <a href="#SECURE-PHILOSOPHY">安全的設計方法</a></dt><dt>3.3 <a href="#SECURE-BUFFEROV">緩沖區溢出</a></dt><dt>3.4 <a href="#SECURE-SETUID">SetUID 問題</a></dt><dt>3.5 <a href="#SECURE-CHROOT">限制你的程序環境</a></dt><dt>3.6 <a href="#SECURE-TRUST">信任</a></dt><dt>3.7 <a href="#SECURE-RACE-CONDITIONS">競態條件</a></dt></dl></dd><dt>第4章 <a href="#L10N">本地化與國際化 - L10N 和 I18N</a></dt><dd><dl><dt>4.1 <a href="#L10N-PROGRAMMING">編寫適應國際化的應用程序</a></dt></dl></dd><dt>第5章 <a href="#POLICIES">源代碼樹指南和維護發展策略</a></dt><dd><dl><dt>5.1 <a href="#POLICIES-MAINTAINER">Makefile 中的 <ttclass="MAKEVAR">MAINTAINER</tt></a></dt><dt>5.2 <a href="#POLICIES-CONTRIBUTED">第三方軟件</a></dt><dt>5.3 <a href="#POLICIES-ENCUMBERED">妨礙性的 (Encumbered) 文件</a></dt><dt>5.4 <a href="#POLICIES-SHLIB">共享庫</a></dt></dl></dd><dt>第6章 <a href="#TESTING">回歸與性能測試</a></dt><dd><dl><dt>6.1. <a href="#TESTING-MICRO-BENCHMARK">微性能測試列表</a></dt></dl></dd></dl></dd><dt>第II部分. <a href="#IPC">進程間通信</a></dt><dd><dl><dt>第7章 <a href="#SOCKETS">套接字</a></dt><dd><dl><dt>7.1 <a href="#SOCKETS-SYNOPSIS">概述</a></dt><dt>7.2 <a href="#SOCKETS-DIVERSITY">聯網和多樣性</a></dt><dt>7.3 <a href="#SOCKETS-PROTOCOLS">協議</a></dt><dt>7.4 <a href="#SOCKETS-MODEL">套接字模型</a></dt><dt>7.5 <a href="#SOCKETS-ESSENTIAL-FUNCTIONS">重要的套接字函數</a></dt><dt>7.6 <a href="#SOCKETS-HELPER-FUNCTIONS">輔助函數</a></dt><dt>7.7 <a href="#SOCKETS-CONCURRENT-SERVERS">并發服務器</a></dt></dl></dd><dt>第8章 <a href="#IPV6">IPv6內部</a></dt><dd><dl><dt>8.1 <a href="#IPV6-IMPLEMENTATION">IPv6/IPsec的實現</a></dt></dl></dd></dl></dd><dt>第III部分. <a href="#KERNEL">內核</a></dt><dd><dl><dt>第9章 <a href="#DMA">DMA</a></dt><dd><dl><dt>9.1 <a href="#DMA-BASICS">DMA 是什么以及如何工作的</a></dt></dl></dd><dt>第10章 <a href="#KERNELBUILD">聯編并安裝 FreeBSD 內核</a></dt><dd><dl><dt>10.1 <a href="#KERNELBUILD-TRADITIONAL">以 “傳統” 方式聯編內核</a></dt><dt>10.2 <a href="#KERNELBUILD-NEW">以 “新” 方式聯編內核</a></dt></dl></dd><dt>第11章 <a href="#KERNELDEBUG">調試內核</a></dt><dd><dl><dt>11.1 <a href="#KERNELDEBUG-OBTAIN">如何將內核的崩潰轉存數據保存成文件</a></dt><dt>11.2 <a href="#KERNELDEBUG-GDB">使用 <tt class="COMMAND">kgdb</tt>調試內核的崩潰轉存</a></dt><dt>11.3 <a href="#KERNELDEBUG-DDD">使用 DDD 調試崩潰轉存文件</a></dt><dt>11.4 <a href="#KERNELDEBUG-POST-MORTEM">對于崩潰轉存的驗尸式分析</a></dt><dt>11.5 <a href="#KERNELDEBUG-ONLINE-DDB">使用 DDB 進行在線內核調試</a></dt><dt>11.6 <a href="#KERNELDEBUG-ONLINE-GDB">使用遠程 GDB 進行聯機內核調試</a></dt><dt>11.7 <a href="#KERNELDEBUG-KLD">用 GDB 調試可加載模塊</a></dt><dt>11.8 <a href="#KERNELDEBUG-CONSOLE">如何調試控制臺驅動</a></dt><dt>11.9 <a href="#KERNELDEBUG-DEADLOCKS">調試死鎖</a></dt><dt>11.10 <a href="#KERNELDEBUG-OPTIONS">用于調試的內核選項術語表</a></dt></dl></dd></dl></dd><dt>第IV部分. <a href="#ARCHITECTURES">系統結構</a></dt><dd>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -