Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 May 2000 17:31:21 +0200
From:      Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
To:        doc@freebsd.org
Cc:        committers@freebsd.org
Subject:   Developer's handbook suggestion
Message-ID:  <20000506173121.I16612@daemon.ninth-circle.org>

next in thread | raw e-mail | index | archive | help
[Please honour the reply-to...
 committers is cc:'d due to the vision thread and such inspiring me to
 write this down.]

Ok,

I am all for committing it to the repo so that we can add stuff already.
=)

However I am not particulary happy with the current ordering of the
chapters as per
http://people.freebsd.org/~nik/developer-handbook/index.html.  This is
an attempt to get it more in a logical order.  I basically took Nik's
URL, mine at http://home.wxs.nl/~asmodai/pdp, and a ton of books to come
up with a decent order.

So I propose the following layout:

[NOTE: the text between the [] denote some topics to be discussed in
that respective chapter, but they obviously need more general
sub-chapters to position them under.  Suggestions welcome.]

I. Introduction

	[This will need to discuss FreeBSD as a development platform,
	 the vision of BSD, architectural overview, layout of /usr/src,
	 history, etc]

II. Basics

	[This will include things like: compilation, makefiles, .mk
	 files, basic debugging, linking, secure programming guidelines,
	 style(9), CVS, diff, patch, etc]

III. Kernel

	[Some history of the Unix/BSD kernel, system calls, how do
	 processes work, blocking, scheduling, threads (kernel), context
	 switching, signals, interrupts, modules, etc]

IV. Memory and Virtual Memory

	[VM, paging, swapping, allocating memory, testing for memory
	 leaks, mmap, vnodes, etc]

V. I/O System

	[UFS, FFS, Ext2FS, JFS, inodes, buffer cache, labeling, locking,
	 metadata, soft-updates, LFS, portalfs, procfs, vnodes, memory
	 sharing, memory objects, TLBs, caching

VI. Interprocess Communication

	[Signals, pipes, semaphores, message queues, shared memory,
	 ports, sockets]

VII. Networking

	[Sockets, bpf, IP, TCP, UDP, ICMP, OSI, bridging, firewalling,
	 NAT, switching, etc]

VIII. Network Filesystems

	[AFS, NFS, SANs etc]

IX. Terminal Handling

	[Syscons, tty, PCVT, serial console, screen savers, etc]

X. Sound

	[OSS, waveforms, etc]

XI. Device Drivers

	[old ways, newbus, character/block devices, etc]

XII. Architectures

	[Detail the (major) differences between IA-32, IA-64, PPC, ARM,
	 Sparc, Alpha, etc]

XIII. Debugging

	[various descriptions on how to debug certain aspects of the
	 system using truss, ktrace, gdb, kgdb, etc]

XIV. Compatibility Layers

	[Linux, SVR4, etc]

Comments?

-- 
Jeroen Ruigrok vd Werven/Asmodai    asmodai@[wxs.nl|bart.nl|freebsd.org]
Documentation nutter/C-rated Coder BSD: Technical excellence at its best  
The BSD Programmer's Documentation Project <http://home.wxs.nl/~asmodai>;
If I promise you the Moon and the Stars, would you believe it..?


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000506173121.I16612>