Por que o 'init 6' é o comando reboot? (razões históricas)

3

Eu gostaria de saber porque 6 é o número / código / sinal associado ao comando reboot em "init 6". Quero dizer a história / histórias / lenda razões, não de uma forma técnica ... Se fosse uma "razão relacionada lista" ou talvez uma coisa gráfica sobre recursividade / circle-ouroboros / 101 número semelhante.

Estou começando a ler o Design do sistema operacional UNIX por Maurice Bach, mas ainda não encontrei uma razão ou idéia.

    
por replicantech 11.03.2017 / 00:20

2 respostas

5

init 6 é o (ou) um comando de reinicialização por causa das definições históricas de "runlevels" ou estados gerais do sistema nos quais um host pode ser esperado. Estes são geralmente definidos como:

  • 0 - Desligar / Parar sistema
  • 1 - modo de usuário único
  • 2 - Reservado para uso administrativo
  • 3 - Modo multiusuário com rede e serviços
  • 4 - Reservado para uso administrativo
  • 5 - Modo multiusuário com rede, serviços e daemon de login da GUI
  • 6 - Reinicializar

O comando init diz ao sistema para mover para o nível de execução especificado. Como 6 é o nível de execução comumente definido para reinicializar o host, e init 6 (ou telinit 6 ) é o meio de ir para esse nível de execução, é por isso que init 6 é geralmente entendido para ser um comando reboot .

Tecnicamente falando, como eles podem ser redefinidos por um administrador de sistemas cativado ou entediado, pode ser mais aconselhável usar shutdown -r como um comando de reinicialização. Isto é em parte porque algumas distribuições (por exemplo, Gentoo) evitam completamente esta convenção, e por causa da proliferação da depreciação do sistema System V Init em favor de novos daemons "PID 1".

    
por 11.03.2017 / 00:24
3

A primeira aparição do init no estilo System V foi no SVR3 no início dos anos 80, antes que o AT & T Unix não aceitasse argumentos.

Fora da caixa, não havia init 0 nem init 6 configurado; apenas init 1 para o modo de usuário único e init 2 para o modo de vários usuários.

Os administradores do sistema estavam livres para usar o que quisessem com os níveis extras de execução.

Com o SVR4, execute o nível padronizado para esses valores:

  • s: usuário único
  • 0: parar / desligar
  • 1: um modo de usuário (! = usuário único que era mais um modo de recuperação / administração)
  • 2: multiusuário (a máquina é um cliente)
  • 3: multiusuário; modo distribuído (a máquina é um servidor)
  • 4: não atribuído
  • 5: diags
  • 6: reinicializar

Meu melhor palpite é que 6 foi escolhido porque não foi previsto nenhum requisito para um nível de execução extra não atribuído.

Tudo isso aconteceu antes do Gnu / Linux ser lançado, então qualquer coisa relacionada ao Linux é irrelevante.

    
por 11.03.2017 / 15:03