O que é um exemplo de um “processo de usuário externo”?

0

Atualmente estou estudando para o meu LFCS e cheguei a uma seção sobre a diferença entre os processos criados pelo usuário e os processos criados pelo kernel. Dentro dos processos criados pelo kernel, eles definem dois subtipos de processo.

  1. Processos internos do kernel
  2. Processos do usuário externo

Eles deram exemplos de processos internos do kernel, como o trabalho de manutenção, como liberar buffers no disco e garantir que a carga seja distribuída uniformemente pelas CPUs. Mas especificaram apenas para processos de usuários externos que:

These are processes which run in user space like normal applications but which the kernel started. There are very few of these and they are usually short lived.

Meu primeiro pensamento foi que essas coisas seriam executadas em um sistema init, como o systemd, mas meu instinto me diz que isso provavelmente não é o caso devido a mencionar que elas geralmente são de curta duração.

Qual seria um exemplo de processos de usuários externos?

    
por John Von Neumann 06.09.2018 / 16:09

2 respostas

1

Um exemplo de "processo de usuário externo" seria init . O kernel inicia o processo init sem qualquer solicitação do espaço do usuário (ou seja, não em resposta a fork() ou chamada de sistema relacionada). Seu pensamento sobre systemd é razoável, pois systemd desempenha o papel de init .

O kernel também pode acionar a execução de processos do espaço do usuário em determinados eventos. Por exemplo, historicamente, o kernel executaria um executável hotplug userspace quando os dispositivos fossem adicionados ou removidos. Tais processos são de curta duração. (Embora esse seja um exemplo possível, não acho que essa abordagem ainda seja usada hoje para esse caso de uso.)

    
por 06.09.2018 / 16:16
2
  1. O programa nomeado em /proc/sys/kernel/hotplug .
  2. O ajudante /sbin/v86d usado pelo módulo do kernel uvesafb .

Leitura adicional

por 06.09.2018 / 18:20