ReadyBoost para Microsoft Vista

2

Qual é a lógica interna da Microsoft ReadyBoost ?

Até uma resposta teórica serve.

    
por R-The_Master 26.07.2010 / 10:26

1 resposta

2

O ReadyBoost consiste em um serviço (% SystemRoot% \ System32 \ Emdmgmt.dll) executado em um processo Host de Serviço e um driver de filtro de volume (% SystemRoot% \ System32 \ Drivers \ Ecache.sys). (Emd é a abreviatura de External Memory Device, o nome de trabalho do ReadyBoost durante o desenvolvimento.) Quando você insere um dispositivo flash como uma chave USB em um sistema, o serviço ReadyBoost examina o dispositivo para determinar suas características de desempenho e armazena os resultados de seu teste em HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Emdmgmt.

Se o seu dispositivo flash for rápido o suficiente e você concordar, o serviço criará um arquivo de cache chamado Ready Boost.sfcache na raiz do dispositivo, que será usado para armazenar páginas armazenadas em cache (o cache inicial é construído consultando o cache do SuperFetch). , mas os conteúdos posteriores são totalmente gerenciados pelo ReadyBoost de forma independente).

Após o serviço ReadyBoost inicializar o armazenamento em cache, o driver de dispositivo Ecache.sys intercepta todas as leituras e gravações nos volumes do disco rígido local e copia os dados sendo lidos ou gravados no arquivo de armazenamento em cache que o serviço criou, com certas exceções, como dados não é lido há muito tempo, ou dados que pertencem a solicitações de Captura Instantânea de Volume. O Ecache.sys compacta dados e geralmente atinge uma taxa de compactação de 2: 1, portanto, um arquivo de cache de 4 GB geralmente contém 8 GB de dados. O driver criptografa cada bloco que ele grava usando criptografia AES com uma chave de sessão por inicialização gerada aleatoriamente para garantir a privacidade dos dados no cache, caso o dispositivo seja removido do sistema.

Quando o ReadyBoost vê leituras aleatórias que podem ser atendidas pelo cache, ele as atende a partir daí, mas como os discos rígidos têm um acesso de leitura sequencial melhor do que a memória flash, ele permite que as leituras que fazem parte dos padrões de acesso sequencial vão diretamente para o disco, mesmo que os dados estejam no cache. Da mesma forma, ao ler o cache, se grandes E / Ss tiverem que ser feitos, o cache em disco será lido em seu lugar.

Isso vem do Windows Internals Book, mas ficou menor para ser uma resposta.

    
por 26.07.2010 / 15:09