No Windows, você normalmente pode "ejetar" um dispositivo de armazenamento USB antes de desconectá-lo fisicamente para evitar corrupção de dados.
No entanto, para alguns dispositivos, o Windows não fornece uma opção "ejetar". Eu já vi isso com mais frequência em alguns telefones inteligentes.
Por que é isso?
Respostas:
Provavelmente porque o método usado para transferir arquivos para telefones ( MTP em vez de USB Mass Storage ) coloca o ônus da integridade dos dados e do sistema de arquivos no dispositivo que recebe os dados, o que no caso dos telefones celulares também é considerado inteligente e auto com energia ou com bateria de reserva.
Dispositivos de armazenamento em massa USB geralmente são pen drives ou discos rígidos, dispositivos MTP como telefones, câmeras e similares geralmente são dispositivos razoavelmente inteligentes que lidam com seu armazenamento pessoalmente. Como tal, a transferência de arquivos pode ocorrer em uma ideologia ponto a ponto, em vez de em um cliente burro de host inteligente. Depois que os dados são "enviados" para o telefone, cabe ao sistema operacional do telefone e aos métodos do sistema de arquivos garantir o armazenamento correto do arquivo.
Se a transferência do arquivo for interrompida e, portanto, parcialmente transferida, o telefone poderá decidir se deseja liberar espaço alocado ou mostrar o que foi transferido caso a caso. Suspeito que a maioria das transferências interrompidas simplesmente elimine dados incompletos e libere todos os blocos alocados. A integridade do sistema de arquivos é gerenciada ativamente pelo telefone.
Como essa transferência ocorre ou não, e a ejeção do software é desnecessária, a única razão para isso é a pessoa que usa o computador pode obter a sensação de calor "Estou pronto". O USB certamente não precisa dele da perspectiva do hardware e está bastante satisfeito com os dispositivos de hotplugging.
Na página da Wikipedia do MTP:
fonte
Sumário
Em última análise, é uma questão de saber se o dispositivo usa MSC ou MTP / PTP. Como regra, dispositivos de armazenamento dedicados, como drives flash e discos rígidos externos, usam o MSC, enquanto smartphones e outros dispositivos que precisam manter o acesso aos dados enquanto estão conectados a um computador ou requerem controle sobre os dados transferidos usam o MTP. Muitas câmeras usam PTP, um subconjunto do MTP.
Se o dispositivo usa o MSC, você precisará ejetar do computador para poder removê-lo. Se ele usa MTP ou PTP, a ejeção não é necessária.
Detalhes técnicos
A Mass Storage Class (MSC) permite que o computador se comunique com a unidade da mesma maneira que faria com um disco rígido interno ou SSD, tornando-o mais rápido do que outros protocolos para transferência de dados. É isso que dispositivos de armazenamento dedicados, como unidades flash USB e discos rígidos externos, usam. No entanto, requer nível de blocoacesso à mídia de armazenamento subjacente e isso significa acesso exclusivo ao dispositivo. Como resultado, o MSC não é adequado para dispositivos inteligentes, pois eles precisam acessar o conteúdo do sistema de arquivos enquanto o computador o usa. Um smartphone precisaria efetivamente desligar o sistema operacional para poder conceder acesso em nível de bloco a um computador - um procedimento complicado e que impediria a execução de aplicativos ou o uso do dispositivo enquanto ele estiver conectado. É de responsabilidade do computador garantir que os dados tenham sido completamente transferidos; portanto, é necessário informar ao computador que você terminou a ejeção.
MTP (Media Transfer Protocol) , que é o que a maioria dos dispositivos inteligentes usa, envolve o nível de arquivoo acesso e o dispositivo, não o computador host, são responsáveis pelo gerenciamento dos dados. Os smartphones usam o MTP porque precisam acessar os dados enquanto o dispositivo está conectado a um computador. O MTP também permite que o dispositivo controle ou limite quais dados podem ser transferidos; alguns players de mídia / MP3 digitais (principalmente antigos) usam o MTP para impor proteção de cópia (DRM) nos arquivos transferidos ou para garantir que os arquivos de mídia transferidos sejam compatíveis com o dispositivo. Como o MTP simplesmente apresenta uma estrutura hierárquica de arquivos / pastas, o computador não precisa se preocupar com o sistema de arquivos ou com a maneira como o dispositivo armazena dados. De qualquer forma, com o MTP, não há necessidade de um comando de ejeção explícito; depois que o dispositivo informar ao sistema que a transferência foi concluída (a caixa de diálogo de andamento foi fechada), você poderá remover o dispositivo sem ejetar explicitamente.
MTP é um superconjunto do Picture Transfer Protocol (PTP) , originalmente projetado para câmeras que se comunicam com computadores. Muitas câmeras ainda usam PTP, mas algumas suportam MSC e outras permitem uma escolha entre MSC e PTP. Além disso, algumas câmeras suportam impressão direta através de um protocolo conhecido como PictBridge , que requer PTP. Como no MTP, o PTP não requer um comando de ejeção. Se uma câmera pode usar MSC, PTP ou ambas depende de como a câmera lida com seu armazenamento enquanto estiver conectada a um computador.
Observe que, se você remover o cartão de memória de uma câmera e inseri-lo em um slot para cartão SD ou outro leitor de mídia no seu computador, será um dispositivo MSC e será necessário ejetar quando terminar de transferir as fotos.
fonte
O design também está relacionado à forma como os dispositivos são alimentados.
Onde os dois dispositivos têm sua própria fonte de energia, por exemplo, o computador e o smartphone, há espaço suficiente para implementar o manuseio adequado das interrupções de transferência ou qualquer outra falha. O projeto depende da energia disponível continuamente e esse é um fator estável que permite tornar o outro fator (comunicação) tolerante a falhas. Sem ele, em casos excepcionais, por exemplo, se a bateria for subitamente removida do smartphone ou o PC for desligado à força, esses dispositivos e seus sistemas não são mais resistentes a erros do que as unidades USB estúpidas. (
chkdsk
alguém?) Esses dispositivos tolerantes a falhas contam apenas com tempo suficiente para resolver normalmente os problemas esperados.Mas os dispositivos alimentados pelo host têm pouco ou nenhum tempo para qualquer reação à desconexão de sua energia. E hospedar um sistema de arquivos nesse dispositivo significa não apenas atender a solicitações do usuário, mas também disponibilidade para leituras e gravações em segundo plano feitas por processos em segundo plano do host desconhecidos para o usuário. O usuário nunca sabe se a comunicação está acontecendo no momento. Portanto, deve haver uma maneira explícita de sinalizar a intenção de desligar (e é esse comando Ejetar) sobre o qual o host deve interromper qualquer operação. A desconexão repentina de energia é aguardada sem riscos. Portanto, o evento "Ejetar" é uma maneira simples de iniciar a finalização adequada enquanto ainda podemos confiar na operação contínua. E a substância agora não é diferente do caso acima: o poder é concedidodurante todas as ações necessárias. Quando concluído, o host sinaliza de volta (porque é o usuário quem controla fisicamente a interrupção de energia) que agora é seguro interromper repentinamente a energia do dispositivo sem o risco.
Portanto, vemos que um dos fatores mais importantes na condução do projeto é se o dispositivo é capaz de funcionar autonomamente para ter tempo para lidar com falhas ou não. Caso contrário, a finalização explícita prévia deve ser solicitada - pelo comando Ejetar.
fonte