Disco Rígido Virtual Reduzindo o Desempenho

2

Eu instalei um sistema operacional em VHD e o desempenho do sistema operacional é horrível. Todas as transições e efeitos 3d são muito agitados, embora eu tenha uma máquina Core i7. Eu criei este VHD no Windows 7 Home Premium.

Não quero dizer uma máquina virtual. Eu instalei o sistema operacional no disco rígido virtual. Todos os recursos do computador são alocados para esse sistema operacional quando ele é inicializado. O SO inicializa qualquer SO normal. Eu não estou usando nenhum VMware ou Virtual Box ..

Por que o desempenho do sistema operacional fica lento quando instalado ou executado em um VHD?

Atenciosamente

    
por Umer Farooq 15.01.2013 / 15:58

1 resposta

5

Um disco rígido virtual é um sistema de arquivos dentro de outro sistema de arquivos.

Para ler o conteúdo do VHD, o sistema operacional precisa passar por dois níveis de indireção. Vamos olhar para isso a partir da perspectiva do hardware.

Assim, o hardware (disco rígido, SSD, qualquer que seja) lê os setores "brutos" do disco. A partir desses setores brutos, o driver do sistema de arquivos NTFS informa ao sistema operacional as informações sobre os setores no disco onde os dados do VHD residem. Afinal, o VHD é um arquivo contendo um sistema de arquivos . Antes de poder ler o sistema de arquivos dentro do VHD, primeiro você precisa ler o próprio VHD como um arquivo no sistema de arquivos NTFS subjacente.

Agora, você leu os bytes do arquivo VHD. E o que esses bytes representam? Eles são ... outro sistema de arquivos NTFS, com sua própria lista de arquivos e diretórios, metadados, fluxos, fragmentos de arquivos e assim por diante.

Uma das respostas originais à questão mencionada fragmentação. Isso pode se tornar um grande problema quando você tem sistemas de arquivos aninhados em sistemas de arquivos. O pior caso é se os dois sistemas de arquivos estiverem fragmentados: você pode ter fragmentos de arquivos no sistema de arquivos aninhados que estão fragmentados no sistema de arquivos do host! Toda essa "dispersão" dos dados leva a um padrão de acesso a arquivos muito aleatório, o que significa que o disco rígido precisa "procurar" muito . A procura é particularmente lenta na mídia rotativa (discos rígidos tradicionais); em dispositivos baseados em memória, como SSDs, a busca é muito mais rápida, mas ainda é melhor evitar buscas quando possível.

Assim, o seu problema é provavelmente ser fragmentação, mas mais especificamente, fragmentação aninhada (fragmentação do sistema de arquivos externo e aninhado).

Imagine que você tem uma bandeja de cubos de gelo de plástico para 10 cubos de gelo em sua mesa, e dentro de cada buraco do cubo de gelo há 10 hastes retangulares. Cada barra retangular representa uma peça de uma letra. Você quer soletrar a palavra "APPLEJACKS". Como você vai fazer isso?

Bem, primeiro, você tem que olhar em todos os buracos do cubo de gelo e encontrar as hastes corretas para montar cada letra. Então você tem que ter certeza que todas as letras estão em ordem. Então você tem um "problema dentro de um problema" - o problema de nível micro está montando cada letra, e o problema de nível macro está reunindo as letras na palavra. É assim que os sistemas de arquivos aninhados funcionam quando fragmentados.

Agora, se você tivesse apenas uma camada de sistema de arquivos, seria como ter um bloco de madeira sólido com a letra impressa em cada orifício do cubo de gelo. Agora, mesmo se as letras estivessem espalhadas em ordem aleatória, levaria apenas alguns segundos para reordená-las para soletrar "APPLEJACKS" se você tiver as letras corretas disponíveis. É muito mais simples do que ter que montar cada letra em si.

Espero que a analogia do mundo real tenha ajudado.

    
por 15.01.2013 / 16:34