Por que uma instalação padrão do Linux executa mais processos do que uma instalação padrão do OpenBSD?

5

Se eu ps -aux no Ubuntu (ou qualquer distribuição GNU / Linux) sem GUI eu vejo ~ 100 processos em execução. Se eu ps -aux no OpenBSD sem GUI, eu recebo ~ 10 processos.

Qual é a explicação / razão para isso? Os sistemas * BSD são muito "mais claros" (código) ou eles simplesmente colocam tudo no kernel?

    
por gasko peter 08.11.2012 / 12:15

3 respostas

10

Não há correlação entre o número de processos e a “clareza” de um sistema operacional. Você está comparando maçãs e groselhas.

Em um sistema Linux, ps ax mostrará muitos processos que não consomem memória e têm um nome entre colchetes, assim:

root         2  0.0  0.0      0     0 ?        S    Nov02   0:01 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Nov02   4:39 [ksoftirqd/0]
root         6  0.0  0.0      0     0 ?        S    Nov02   0:00 [migration/0]
root         7  0.0  0.0      0     0 ?        S    Nov02   0:01 [watchdog/0]
root         8  0.0  0.0      0     0 ?        S    Nov02   0:00 [migration/1]

Esses processos fazem parte do kernel. Eles são executados com privilégios de kernel, mas são gerenciados como processos do usuário pelo planejador (muitos deles com alta prioridade porque lidam com solicitações de hardware). A máquina que estou escrevendo tem mais de 100 processos - quantos você vai depender de muitas coisas, incluindo sua versão do kernel, seu hardware e quais serviços de kernel você executa (por exemplo, alguns sistemas de arquivos têm daemons do kernel).

Esses processos provavelmente respondem por uma grande parte dos diferentes números. Tanto quanto sei, nenhum dos BSD reporta tais tarefas separadamente, o que torna a sua comparação sem sentido.

Além disso, uma instalação padrão do OpenBSD inclui muito poucos serviços, enquanto uma instalação padrão do Ubuntu executa tudo que o usuário médio espera encontrar. Se você instalar o mesmo software em ambas as máquinas, encontrará números semelhantes de processos que não são de kernel.

    
por 11.11.2012 / 02:16
7

O número de processos em execução não é necessariamente um bom indicador de "clareza".

Tome, por exemplo, devd do FreeBSD, que usa um socket para se comunicar, onde udev usa o D-Bus (e, portanto, precisa de outro processo dbus-daemon ). Contagem de processos: 1:2 . Mas D-Bus traz muito mais recursos e possibilidades, muitos outros daemons do sistema também o utilizam (manipulados pelo mesmo processo dbus-daemon ). Agora qual é o mais claro?

Além disso, eu acho que você pode fazer com que qualquer sistema não-GUI GNU / Linux "use menos processos", sacrificando recursos (ou seja, não use nenhum * Kits) - e uma comparação justa entre um BSD e este sistema (pelo que vale a pena) só pode ser feito quando o conjunto de recursos corresponde.

    
por 08.11.2012 / 12:39
3

Talvez isso signifique que você é um usuário Linux mais pesado? Quando você tiver carregado mais alguns serviços em sua máquina BSD, ela ficará cheia de tempo com daemons como o linux.

É também uma reflexão sobre a quantidade de lixo em uma distribuição Linux moderna. O sistema básico do FreeBSD é realmente muito leve. Compará-lo a algo como uma instalação limpa do Slackware pode ser uma comparação melhor. Eu duvido que vem com cinquenta processos prontos para uso.

    
por 08.11.2012 / 12:40