Movatterモバイル変換


[0]ホーム

URL:


Saltar para o conteúdo
Wikipédia
Busca

init

Origem: Wikipédia, a enciclopédia livre.

Emsistemas operacionais baseados emUnix,init (abreviação deinitialization, em português,inicialização) é o primeiroprocesso iniciado durante ainicialização do sistema de computador. O init é um processodaemon que continua executando até o sistema ser desligado. Ele é oancestral direto ou indireto de todos os outros processos e automaticamente adota todos osprocessos órfãos. O init é iniciado pelonúcleo usando umnome de arquivocodificado de forma rígida. Umapane do núcleo ocorrerá se o núcleo estiver impossibilitado de iniciar. Normalmente, oidentificador de processo1 é atribuído ao init.

Em sistemas Unix, como oSystem III e oSystem V, o projeto do init divergiu da funcionalidade fornecida pelo init nos derivados doResearch Unix eBSD. Até recentemente, a maioria dasdistribuições Linux empregava um init tradicional que é um pouco compatível com o System V, enquanto algumas distribuições, como oSlackware, usam scripts de inicialização no estilo BSD e outras, como oGentoo, têm suas próprias versões customizadas. OSystemd, inicialmente implementado peloFedora, suplantou o init tradicional nas versões mais recentes das distribuições mais usadas.

Diversas implementações de substituição do init foram criadas, tentando resolver as limitações de projeto nas versões padrões. Elas incluem olaunchd, oService Management Facility, osystemd e oUpstart. Desde março de 2015, o systemd foi adotado por várias distribuições Linux importantes, embora permaneçacontroverso.

Estilo Research Unix/Estilo BSD

[editar |editar código-fonte]

O init doResearch Unix executava oscript shell de inicialização localizado em/etc/rc[1] e depois executava ogetty em terminais sob o controle de/etc/ttys.[2] Não háníveis de execução e o arquivo/etc/rc determina quais programas são executados pelo init. A vantagem deste sistema é que é simples e fácil de editar manualmente. No entanto, novos softwares adicionados ao sistema podem exigir alterações nos arquivos existentes que correm o risco de produzir um sistema não inicializável.

O init doBSD era, antes do4.3BSD, o mesmo init do Research UNIX. No 4.3BSD, ele adicionou suporte para rodar umsistema de janelas, como oX, em terminais gráficos sob o controle de/etc/ttys. Para remover o requisito de editar o/etc/rc, as variantes do BSD, há muito tempo, suportam um arquivo/etc/rc.local específico de site, que é executado em um sub-shell próximo ao final da seqüência de inicialização.

Um sistema totalmente modular foi introduzido com oNetBSD 1.5 e portado para oFreeBSD 5.0 ​​e sucessores. Este sistema executa scripts no diretório/etc/rc.d. Ao contrário da ordenação de script do System V, que é derivada do nome do arquivo de cada script, este sistema usa tags de dependência explícitas colocadas em cada script.[3] A ordem em que os scripts são executados é determinada pelo scriptrcorder com base nos requisitos declarados nessas tags.

Outras implementações

[editar |editar código-fonte]

Tradicionalmente, uma das principais desvantagens do init é que ele inicia as tarefas em série, aguardando que cada uma termine o carregamento antes de passar para a próxima. Quando os processos de inicialização terminam bloqueados ementrada/saída (E/S), isso pode resultar em longos atrasos durante a inicialização. Acelerando a E/S, por ex. usando SSDs, pode encurtar os atrasos, mas não resolve a causa raiz.

Vários esforços foram feitos para substituir os daemons de inicialização tradicionais para resolver esse e outros problemas de projeto, incluindo:

  • BootScripts noGoboLinux
  • boot-scripts
  • busybox-init, adequado parasistemas operacionais embarcados, usado peloOpenWrt antes de ser substituído porprocd
  • Initng, um substituto completo do init projetado para iniciar processos de forma assíncrona
  • launchd, um substituto para o init em Darwin/macOS/iOS/tvOS a partir doMac OS X v10.4 (lança o SystemStarter para executar processos 'rc.local' estilo antigo e SystemStarter)
  • minit
  • Mudur, um substituto do init escrito emPython e projetada para iniciar processos de forma assíncrona, em uso pela distribuiçãoPardus Linux
  • OpenRC, um gerador de processos que utiliza o init fornecido pelo sistema, enquanto fornece isolamento do processo, inicialização paralela e dependência de serviço; usado peloGentoo e seus derivados e disponível como uma opção noDevuan
  • procd é usado no LEDE/OpenWRT
  • runit, um substituto completo multiplataforma para o init com o início paralelo de serviços, usado por padrão noVoid Linux
  • Shepherd, o serviço e gerenciador de daemon doGNU que fornece inicialização assíncrona baseada em dependência; escrito em Guile Scheme e destinado a ser interativamente hackeável durante a operação normal do sistema
  • systemd, uma suíte de software que inclui um daemon init e um gerenciador de serviços, entre outras coisas
  • SystemStarter, um gerador de processo iniciado pelo init estilo-BSD noMac OS X antes do Mac OS X v10.4
  • svscan from daemontools used as process 1
  • Texas Flood Init System
  • Upstart, um substituto completo do init projetado para iniciar processos assincronamente iniciados pelo Ubuntu.

Referências

  1. «init(8)» (em inglês). . Capítulo 8. Manual da Sétima Edição doUnix. templatestyles stripmarker character in|título= at position 37 (ajuda)
  2. «ttys(5)» (em inglês). . Capítulo 5. Manual da Sétima Edição doUnix. templatestyles stripmarker character in|título= at position 37 (ajuda)
  3. Andrew Smallshaw (7 de dezembro de 2009).«Unix and Linux startup scripts, Parte 2» 

Ligações externas

[editar |editar código-fonte]
Obtida de "https://pt.wikipedia.org/w/index.php?title=Init&oldid=60040370"
Categoria:
Categorias ocultas:

[8]ページ先頭

©2009-2025 Movatter.jp