O que significa “montar um sistema de arquivos raiz” exatamente?

2

No processo de inicialização do Linux, temos o initrd que é um sistema de arquivos raiz e é montado antes que o sistema de arquivos raiz real esteja pronto para ser montado. Qual é o procedimento de montagem? O que deve acontecer para que possamos dizer que o sistema de arquivos está montado? E por que dizemos "sistema de arquivos raiz" em vez de apenas "sistema de arquivos"?

    
por Kamran 29.09.2010 / 09:13

2 respostas

3

Ele diz "Sistema de arquivos raiz" porque pode haver muitos outros sistemas de arquivos que são montados no momento da inicialização. Raiz ou / é como o C-Drive no Windows. Um sistema de arquivos é montado, quando está acessível para as funções do sistema de nível superior através do seu ponto de montagem.

Sobre o processo de montagem ... Eu não sei quão técnica é a resposta que você quer, então não se sinta ofendido por essa simplificação excessiva. É assim que eu explicaria aos meus clientes: Conectando um Flashdrive.

  1. O usuário conecta o USB Flashdrive
  2. o sistema operacional detecta que "alguma coisa" está conectada à porta USB X
  3. o SO examina a porta e descobre que há uma unidade flash
  4. O sistema operacional atribui um nó de dispositivo ao dispositivo (digamos /dev/sdb )
  5. o SO examina /dev/sdb e localiza uma tabela de partições na partição principal
  6. O sistema operacional atribui um nó de dispositivo à partição (digamos /dev/sdb1 )
  7. O SO examina /dev/sdb1 e reconhece um sistema de arquivos FAT32
  8. o SO monta o sistema de arquivos em /dev/sdb1 em um novo ponto de montagem (como /media/pendrive/ )
  9. O conteúdo do sistema de arquivos é acessível ao sistema e, portanto, ao usuário

O conteúdo do dispositivo (dados brutos) é apenas um monte de zeros e uns. Ao montar um dispositivo, o sistema adiciona algo como um "filtro de leitura / gravação" sobre os zeros e uns, que traduz os zeros e uns em arquivos reais e vice-versa.

Por exemplo: Quando você salva "Hello World" no arquivo de texto em /media/pendrive , o filtro traduz isso de acordo com as regras do sistema de arquivos e, ao final, uma série de zeros e uns e grava em /dev/sdb1 . / p>     

por 29.09.2010 / 13:57
1

Os sistemas * nix requerem que um sistema de arquivos esteja em / , também chamado de raiz . Com um initrd, a raiz é um sistema de arquivos virtual dentro do initrd. O sistema tem que executar uma "montagem dinâmica" em que o sistema de arquivos real é montado na raiz, e o sistema de arquivos initrd é remontado sob isso.

O ato real de montagem simplesmente registra um sistema de arquivos com o VFS dentro do kernel, para que ele saiba onde procurar, a fim de encontrar arquivos dentro de um diretório específico.

    
por 29.09.2010 / 09:18