A Microsoft, por meio do desenvolvedor Christian Brauner, enviou pull requests ao kernel, para que o tmpfs não reconheça a diferença entre maiúsculas e minúsculas em nomes de arquivos.
A pull request é um mecanismo importante em projetos open source, representando uma proposta de inclusão de novas funcionalidades, correções de bugs ou outras alterações.
Explicando
O tmpfs case-insensitive vai melhorar a compatibilidade entre os dois SO’s, permitindo a um maior número de aplicações Windows rodar no Linux sem erros.
Uma particularidade deste é que muitos aplicativos são sensíveis ao tamanho das letras, ou seja, diferenciam maiúsculas de minúsculas.
Ao tornar o tmpfs case-insensitive, a Microsoft facilita a execução de softwares através do Wine e Steam Play.
Com o Flatpak é a mesma coisa. Pode-se compartilhar diretórios com o host, mesmo se ele usar sistema de arquivos case-sensitive.
Por ser um sistema de arquivos em memória, a mudança no tmpfs tem por função realizar buscas de arquivos que sem diferenciar maiúsculas de minúsculas.
A Microsoft está certa
A empresa tem um grande interesse em promover a compatibilidade entre sistemas Windows e Linux.
Ao investir em melhorias como essa, facilita a migração de usuários e aplicações para o ecossistema Linux, além de abrir portas para novas oportunidades de negócios.
Ou seja: torna o Linux mais amigável para quem está acostumado com o Windows, o que pode levar a uma maior adoção do pinguim e a um ecossistema mais rico e diversificado.
Entendendo a “case-insensitividade”
A principal razão para tornar o tmpfs case-insensitive é a forma como os sistemas operacionais Windows lidam com nomes de arquivos.
Windows é case-insensitive, não diferencia letras maiúsculas de minúsculas em nomes de arquivos. “arquivo.txt”, “Arquivo.txt” e “ARQUIVO.TXT” são o mesmo arquivo.
Ao contrário do Windows, o Linux diferencia letras maiúsculas de minúsculas. Isso quer dizer que “arquivo.txt” e “Arquivo.txt” são diferentes.
O Wine e o Steam Play são aplicativos que rodam aplicativos Windows, “emulando” o comportamento deste, incluindo a forma como lida com os nomes de arquivos.
Quando um aplicativo Windows acessa um arquivo no Linux, o Wine ou o Steam Play precisam traduzir o nome do arquivo Windows para o do pinguim, que é case-sensitive.
Isso pode causar problemas, quando o nome do arquivo original não for exatamente igual ao nome do arquivo no Linux…
Ao tornar o tmpfs case-insensitive, criamos um ambiente onde os nomes de arquivos são tratados da mesma forma nos dois SO’s.
Facilita a tradução de nomes de arquivos entre os dois e reduz significativamente os problemas de compatibilidade.
Onde o tmpfs entra nisso?
O tmpfs (Temporary File System, ou Sistema de Arquivos Temporário) é uma área de memória RAM configurada como um sistema de arquivos.
Ele oferece diversas vantagens para o Wine, Steam Play e Flatpak, principalmente em relação a velocidade, isolamento e flexibilidade.
Ao utilizar o tmpfs para armazenar arquivos temporários e configurações, o Wine e o Steam Play conseguem acessar esses dados mais rápidamente que no disco rígido.
O que aumenta muito o desempenho, especialmente em jogos e aplicativos que realizam muitas operações de leitura e escrita.
O tmpfs cria ambientes isolados que evitam conflitos entre diferentes jogos ou aplicativos, que possuem suas próprias dependências e configurações.
E pode ser facilmente montado e desmontado, usendo e liberando espaço de memória conforme necessário.
Isso é útil para aplicações que exigem grandes quantidades de memória temporária, como jogos com texturas de alta resolução.
Com o Flatpak acontece o mesmo, garantindo que as alterações feitas por uma aplicação não afetem outras. O que garante a segurança do sistema e evita conflitos entre aplicativos.
Ao utilizar o tmpfs para armazenar arquivos temporários durante a instalação, o Flatpa realiza as instalações de forma mais rápida e eficiente.
O tmpfs permite “atualizações atômicas”, ou seja, a nova versão do aplicativo é carregada no tmpfs antes de substituir a anterior. Isso garante a integridade dos dados e evita problemas durante a atualização.
Conclusão: se vem para o bem, que mal tem, não é mesmo?
Fonte: links no texto