
the computer tree
There are dozens of sites and resources describing the differences between BSD and System V Unix.
I am tired of reading 11 of them every few years when I want to remember some of those differences. So I made this page.
The main differences
- BSD is considered “university Unix”, or hobbyist Unix, because it came out of UC Berkeley in California.
- System V was considered more commercial.
- Sun OS was based on BSD, but Sun eventually moved to Solaris, which was System V based.
- SCO and HP-UX were also based on System V.
- One of the main differences was the location of binaries. System V standardized configurations, software installation, and handling network programming, which was in line with its corporate focus.
- System V placed its files in
/usr/bin/
and/usr/sbin
. - BSD placed its files in
/bin/
and/sbin/
. - Another big difference is in startup scripts: BSD used a script in
/etc/rc
to initialize itself and didn’t use runlevels. The/etc/rc
file is what files were run by init. To avoid having to edit /etc/rc, BSD variants supported a site-specific /etc/rc.local file that runs near the end of the boot process. Later BSD’s, including FreeBSD and beyond, executes scripts out of the/etc/rc.d
directory. - System V uses what’s now called SysV (Sis Vee) Style Init. SysV Style Init uses what are called runlevels, and a SysV system is always in exactly one runlevel. These include normal operation, single user mode, shutdown, and others. When you switch from one runlevel to another a series of scripts are run before and after.
Notes
- BSD Unix was developed at UC Berkeley.
- System V is pronounced “System Five”, and was developed by AT&T.
- Over time, the two types have blended significantly, and modern operating systems (such as Linux) tend to have features of both.
- There is significant consolidation in the Unix and Linux worlds. Expect to see more of this blending as this happens.
- One big difference between BSD and Linux is that Linux is a kernel while BSD is an operating system. That’s the biggest difference between BSD and Linux: Linux is a a collection of little pieces, while BSD is one thing.