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.
- 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.