Sistemas operacionais
O Freebsd é um sistema operacional multitarefas. Isso significa que mais de um programa está sendo rodado ao mesmo tempo. Cada programa rodando ao mesmo tempo é chamado de processo. Cada comando que você executar vai iniciar pelo menos um processo, e existe um número de processos de sistema que rodam o tempo inteiro, deixando o sistema funcional. Cada processo é unicamente identificado por um número chamado process ID, ou PID, e, como arquivos, cada processo tem um dono (owner) e um grupo (group). A informação do dono e do grupo é usada para determinar quais arquivos e dispositivos o processo pode abrir, usando as permissões de arquivo. A maioria dos processos também tem um processo-pai. O processo-pai é o processo que os iniciou. Por exemplo, se você está digitando comandos no shell então o shell é um processo, e quaisquer outros comandos também são processos. Cada processo que você roda desse modo vai ter o seu shell como processo-pai. A exceção a isso é um processo especial chamado init( ). Init é sempre o primeiro processo, então o seu PID é sempre 1. O init é iniciado automaticamente pelo kernel quando o FreeBSD se inicia. Dois comando são particularmente úteis para ver os processos no sistema: ps e top. O comando ps é usado para mostrar uma lista estática dos processos correntes, e pode mostrar a PID deles, o quanto de memória eles estão usando, a linha de comando com a qual eles foram iniciados e assim por diante. O comando top mostra todos os processos correntes, e atualiza a lista sempre em alguns segundos, para que você possa ver interativamente o que o seu computador está fazendo. Por padrão, ps só lhe mostra os comandos que estão rodando e que lhe pertencem. Por exemplo:
% ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89