O primeiro sistema operativo chamado Unix (nome completo: Unix Timesharing System Version 1) apareceu em 1970. Foi baseado num sistema anterior chamado UNICS (UNiplexed Information and Computing System). A primeira versão foi concebida em Berkeley para correr num DEC PDP-11/20 e foi completamente escrito em Assembly. Em 1973, foi decidido re-escrever o sistema na linguagem C. A única excepção eram as partes do kernel que seriam dependentes do hardware. O facto de ser quase 100% C levou à adopção do Unix em várias plataforma, pois o código era bastante portável. O único pedaço de código que teria de ser escrito de raíz era o kernel.
BSD (Berkeley Software Distribution) era o nome dado ao conjunto de alguns utilitários (entre eles, o editor vi, ls, cp, mv, etc.) e o kernel. Tinha este nome devido ao facto de ter sido desenvolvido em Berkeley.
O BSD continuou a ser desenvolvido para o PDP-11, mesmo após a AT&T vender um derivado chamado Unix System I, pois o BSD era melhor para instituições de ensino.
Na década de 1980, já a AT&T licenciava o Unix System III, ainda o BSD era utilizado no DEC VAX-11 e PDP-11. Foi nesta época que começaram a aparecer os Unix comerciais que ainda existem, como o SunOS, da Sun (que mais tarde mudou de nome para Solaris), o HP-UX da HP, o AIX da IBM e o OSF/1 da Digital.
Devido a uma disputa de direitos de autor (a AT&T afirmava que o 4.4BSD continha código não livre copiado do seu Unix), foi lançado o 4.4BSD-Lite que continha tudo que o 4.4BSD, mas sem o código polémico. Mais tarde surgiu o 4.4BSD-Lite2, que continha alguns melhoramentos.
O BSD foi pioneiro, pois muitas das coisas a que estamos habituados em sistemas Unix, como a C Shell (csh), o vi e comunicações TCP/IP apareceram primeiro no BSD e foram mais tarde incorporados nos outros Unix.
O BSD foi concebido para tirar partido de facilidades dos processadores como memória virtual, paginação e separação de processos. Estas não eram facilidades disponíveis nos computadores compatíveis com o IBM PC, um computador que se começou a popularizar em 1983, principalmente por ser compacto e barato.
Com o aparecimento do Intel 80386, tudo isso mudou. Este era um processador que tinha endereçamento de 32 bits, o que quer dizer que tinha um espaço de memória virtual de até 4GB, dispunha de paginação e protecção inter-processo.
Nessa altura, Lynne e William Jolitz, ambos alunos de Berkeley, e com experiência em 2.8BSD e 2.9BSD, criaram o 386BSD. Este era baseado no 4.3BSD, que não era um sistema operativo completo, visto que certas partes do código eram patenteados e foram propositadamente retiradas da versão disponível para o público. Os Jolitz escreveram as partes que faltavam e portaram o sistema para a plataforma Intel 386. A primeira versão do 386BSD (0.0) apareceu em Março de 1992. Depressa o casal se mostrou relutante em aceitar melhoramentos sugeridos pelos utilizadores. Os patches submetidos para o 386BSD foram sendo agrupados no que ficou conhecido como patchkit. Este patchkit foi ficando cada vez maior e mais difícil de gerir. Quando William Jolitz recusou qualquer tipo de suporte ao grupo responsável pelo patchkit, este grupo criou o FreeBSD.
Apesar de nunca ter sido posta em causa a legalidade do código do 386BSD, os programadores do FreeBSD re-escreveram quase todo o sistema, para a versão 2.0, baseando-se no 4.4BSD-Lite, sendo este último totalmente livre de código sujeito a direitos de autor, ao contrário das versões anteriores. Foi também com esta versão do FreeBSD que surgiu o sistema de ports, que permite a instalação de aplicações que não fazem parte do sistema base.
A versão 3.0 trouxe a mudança para o formato de ficheiros executáveis conhecido como ELF (utilizado também em Linux, Solaris, HP-UX, entre outros).
Neste momento está em fase final de lançamento a versão 6.2.