O Boot no linux
Por: Oswaldo Miguel da Silva • 11/6/2015 • Trabalho acadêmico • 3.822 Palavras (16 Páginas) • 187 Visualizações
Boot no linux
BOOT
boot é o termo em inglês para o processo de iniciação do computador que carrega o sistema operacional quando a máquina é ligada, neste post descreverei os tipos de boot no linux e suas etapas.
Boot manual e automático
No boot automático, o sistema executa tudo por sua conta sem interrupção do operador.
No boot manual, o sistema executa ate uma determinado ponto e passa o controle para um operador do sistema, antes da maioria dos scripts serem executados. Neste momento, o sistema esta em modo monousuário. Este modo e utilizado somente se houver algum problema no sistema.
Etapas do processo de inicialização
- Carga e inicialização do kernel
- Detecção e inicialização de dispositivos
- Criação e inicialização processos espontaneos
- Intervenção do operador (somente no modo manual)
- Execução dos scripts de inicialização do sistema
- Operação multiusuário
Carga e inicialização do kernel
O kernel e um programa, e a primeira tarefa do boot e o obter o kernel na memória para executa-lo. O caminho para localizar este programa e /vmlinux ou /boot/vmlinux.
Durante o primeiro processo, a memória RAM carrega um pequeno programa de boot procedente do disco. Este programa e responsável para organizar o kernel e fazer seu carregamento.
O kernel efetua alguns testes, para verificar quanto de memória esta disponível. Neste ponto o kernel reserva um pouco de memória para algumas estruturas de dados internas saão dimensionadas estáticas. O kernel imprime na tela a quantidade de memória RAM disponível para o usuário.
Detecção e inicialização de dispositivos
Uma das principais tarefas do kernel e verificar o ambiente da maquina, e localizar os dispositivos. Ao criar um kernel você informa quais dispositivos ele deve encontrar, quando o kernel e executado ele tenta localizar e executar estes dispositivos a cada dispositivo encontrado o kernel imprime uma linha criptografada.
Embora alguns dispositivos não sejam localizados completamente, o kernel do linux faz um verificação sondando o barramento em busca de novos dispositivos, os dispositivos que nao respondem a sondagem são desabilitados, se algum dispositivo for conectado após este procedimento, o mesmo pode ser carregado ou habilitado durante a execução.
Processos de sistema
Após a inicalização básica do kernel são criados processo espontâneos (fork),
(no linux não existe nenhum PID 0 visível o init e o PID 1) o init, este e acompanhado de varios processos que manipulam a memória tipo kilushd, kupdate, kpiod, e kswapd destes somente init e realmente um processo, os demais são partes do kernel quepor razoes de escalonamento são arrumados para se parecerem um processo.
Depois dos processos serem criados o papel do kernel no boot esta completado, no entanto nenhum processo para login foi criado e nenhum daemon foi inicializado. Todas estas tarefas seram tratadas pelo processo init.
Intervenção do operador (somente no modo manual)
Se o sistema for iniciado no modo monousuário, o processo init recebe uma flag notificando, que init deve executar o sulogin que e um login mais radical que executa quase todos os comandos shell.
Nas ditribuições SuSe e Debian so existe uma partição raiz montada, por isso para utilizar os comando essenciais e os programas em /bin /sbin ou /etc estas partições devem ser montadas e verificadas com comando fsck que deve ser executado manualmente, daemons não executa no modo monousuário por isso serviços que precisam de processos servidor não funcionaram normalmente.
Execução dos scripts de inicialização do sistema
No momento que ele estiver pronto para executar scripts de inicialização, ele e reconhecidamente linux, os scripts de inicialização são simplesmente scripts shell selecionado e executados por init através de um algoritmo.
Operação multiusuário
Depois dos scripts serem inicializados, o sistema esta completamente operacional, mas não ha nenhum processo de gerenciamento de login. Entao init e responsável por criar os processos getty, responsável pelo login tornando o linux multiusuário. processo init também cria os processos para logins gráficos xdm e gdm.
Fonte: http://tas-3110.blogspot.com.br/2012/02/boot-no-linux.html
Aula: 03
Entendendo o controle de usuários no GNU/Linux
Para criar, gerenciar ou eliminar contas de usuários no GNU/Linux, é necessário estar "logado" no sistema operacional com o usuário root (ou outro usuário que tenha privilégios de administrador). Os motivos para isso são óbvios: somente usuários autorizados é que podem manipular outras contas, do contrário, a segurança do sistema seria seriamente comprometida, pois qualquer usuário poderia criar, alterar ou apagar contas. Note que, dependendo das configurações do seu sistema, pode ser necessário executar cada instrução antecedida do comando 'sudo', como acontece por padrão com a distribuição Ubuntu.
Antes de criar e controlar contas no GNU/Linux, é conveniente entender como o sistema operacional lida com isso. Em geral, cada conta criada fica armazenada em um arquivo de nome passwd localizado dentro do diretório /etc/ (ou seja, seu caminho completo é /etc/passwd). Esse arquivo contém várias informações sobre cada usuário:
- o seu nome de login (ou seja, o nome que é necessário digitar para entrar no sistema);
- senha (neste caso, a informação da senha pode estar criptografada ou em outro arquivo);
- UID (User IDentification), ou seja, número de identificação do usuário;
- GID (Group IDentification), isto é, número de identificação do grupo do usuário;
- informações adicionais sobre o usuário (nome completo, dados de contato, etc);
- diretório "home", ou seja, o diretório principal de cada usuário;
- shell do usuário, uma espécie de programa que interpretará os comandos que o usuário digitar.
...