Melhor resposta
Quatro perguntas… e nenhuma resposta é necessariamente curta.
“O que é um sistema de arquivos union no Unix? ”
Um sistema de arquivos union é uma estrutura que permite que sistemas de arquivos operem juntos em camadas. Normalmente, apenas a camada superior é de leitura / gravação. Se um arquivo deve ser lido, a avaliação da chamada de sistema aberto procura o arquivo primeiro na camada superior. Se estiver faltando, ele examinará a próxima camada. Se estiver faltando… até a última camada. Um sistema de arquivos Union não faz nada mais do que passar as operações de arquivo para outro sistema de arquivos (ou lidar com o “branco” discutido abaixo).
Uma das características importantes é que é possível ter a montagem da união para copiar arquivos para a camada superior quando eles estiverem abertos para gravação. E isso inclui copiar diretórios para a camada superior para espelhar o que é usado nas outras.
O resultado final é que a montagem da união mostra o conteúdo de todos os sistemas de arquivos assim empilhados. E todos parecem ter a mesma estrutura de diretório.
Os problemas que isso apresenta é o que acontece quando um arquivo (ou diretório) é excluído? Como apenas a camada superior pode ser gravada, isso requer alguma forma de “apagamento” que bloqueia o uso de diretórios / arquivos excluídos, embora essas mesmas diretórios / arquivos ainda existam nas camadas inferiores da união. Isso introduz problemas adicionais (como condições de corrida …) na tentativa de manter a integridade do sistema de arquivos e as operações atômicas neles.
De certa forma, isso é semelhante a um sistema de arquivos de checkpoint. A principal diferença é que os sistemas de arquivos que compõem a montagem de união podem residir em partições diferentes.
Uma das grandes vantagens de um sistema de arquivos de união é que permite ao administrador migrar um sistema de arquivos do armazenamento existente (que pode ser atingindo seu limite) para um novo sistema de arquivos que é muito maior, enquanto permanece online e ativo.
Esta é uma das abordagens que usei para migrar de um sistema de arquivos de 9 TB com 50 milhões de arquivos para um novo sistema de arquivos de 16 TB de tamanho.
“Qual é o sistema de arquivos usado no Windows?”
NTFS é o sistema de arquivos padrão usado, com FAT / VFAT / FAT32 também disponível.
“Como é que é diferente um do outro?”
Sem comparação, “todos eles armazenam arquivos”. NTFS não é tão bom em alocação quanto Ext3 / 4, então requer uma ferramenta de desfragmentação incluída. O FAT e suas variações são propensos a erros sem nenhum controle de segurança.
“Quais são as vantagens / desvantagens sobre os outros?”
Eu descobri que os sistemas de arquivos Linux são mais confiáveis, com menos falhas (em média – novos sistemas de arquivos tendem a ter bugs) e menos sobrecarga necessária e melhores controles de segurança.
Resposta
Ao enviar dados binários por um modem ou por e-mail, é necessário converter os bytes de 8 bits em códigos ASCII de 7 bits para evitar o envio de códigos de controle que interromperiam a conexão ou executariam outras funções indesejadas.
uuencode e uudecode (o UU significa Unix-to- Unix) preparou arquivos dividindo o fluxo binário em blocos de seis bits que endereçam uma tabela de pesquisa de 64 caracteres alfanuméricos e de pontuação, organizados em linhas de comprimento fixo com caracteres de nova linha. Como convenção, os arquivos codificados receberam uma extensão .uue.
Quando decodificados, o fluxo de caracteres é montado em bytes de 8 bits a partir dos índices de 6 bits da tabela de pesquisa para reconstituir o arquivo binário.
Esses comandos fazem parte de um conjunto de programas usados nos dias de conexões discadas ou de modem de linha alugada antes do TCP / IP: uucp (Unix-para-Unix CoPy), uux (Unix-para-Unix eXecute ), uucico (cópia de entrada de Unix para Unix) e o daemon uuxqt. Eles podem ser configurados para funcionar sobre TCP / IP, mas raramente são usados e não estão incluídos na maioria das instalações de base de distro do Linux. Eles podem ser usados entre duas máquinas conectadas por um cabo serial.
Mas, a codificação base-64 ainda é usada para codificar / decodificar anexos de arquivo para e-mail, como parte da especificação Multipurpose Internet Mail Extensions (MIME) . uuencode e uudecode foram amplamente substituídos pelos comandos mpack e munpack, que são capazes de manipular vários segmentos codificados em um arquivo ou codificar e enviar uma mensagem de e-mail ou decodificar os anexos em uma mensagem de e-mail, bem como duplicar o uuencode uudecode single operações de arquivo.