How freebsd/freebsd-src works
FreeBSD is an operating-system source tree whose user-facing workflow begins with a user invoking a command or shell and receiving output or a system action. The tree includes shell parsing and execution, system utilities, and substantial storage, tracing, mail-filtering, cryptographic, and compiler components. The graph emphasizes these documented or tree-visible branches; sampled excerpts are partial, so it omits uncertain internal call wiring and does not imply that every subsystem is connected to the shell workflow.
Main entry points: bin System commands · zfsd_main.cc ZFS event daemon · main.c POSIX shell · dt_open.c DTrace library
Components 17
Userland
- POSIX shell
bin/sh/main.c - System commands
bin - File copy
bin/cp/cp.c - Pax archiver
bin/pax/pax.c - Process listing
bin/ps/ps.c
Storage
- ZFS event daemon
cddl/usr.sbin/zfsd/zfsd_main.cc - ZFS interfaces
cddl/contrib/opensolaris/lib/pyzfs/common/dataset.py
Security and mail
- TLS engine
contrib/bearssl/src/ssl/ssl_engine.c - Mail filter engine
contrib/sendmail/libmilter/engine.c - ENGINE command
crypto/openssl/apps/engine.c - OpenSSL ENGINE API
crypto/openssl/include/openssl/engine.h
Tracing and compiler
- DTrace command
cddl/contrib/opensolaris/cmd/dtrace/dtrace.c - DTrace library
cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c - LLVM pipeline
contrib/llvm-project/llvm/lib/Passes/PassBuilderPipelines.cpp - Loop scheduler
contrib/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp
Other components
- User
- FreeBSD OS
Connections 15
- User → POSIX shell: invokes
- User → System commands: invokes
- POSIX shell → System commands: executes
- System commands → FreeBSD OS: requests OS services
- File copy → FreeBSD OS: accesses files
- Pax archiver → FreeBSD OS: accesses files
- Process listing → FreeBSD OS: reads process data
- ZFS event daemon → ZFS interfaces: uses ZFS interfaces
- ZFS event daemon → FreeBSD OS: handles system events
- DTrace command → DTrace library: uses
- DTrace library → FreeBSD OS: traces system
- LLVM pipeline → Loop scheduler: configures passes
- TLS engine → FreeBSD OS: provides TLS processing
- Mail filter engine → FreeBSD OS: uses sockets
- ENGINE command → OpenSSL ENGINE API: calls