Por que o processo lê Deslocamento / Comprimento da unidade C:?

0

Abaixo está um clipe do SysInternals Filemon em ação.

O que não entendo é por que vários processos estão lendo a unidade C: em um deslocamento, em vez de ler arquivos específicos.

Eu observei o Windows Explorer fazendo a mesma coisa, mesmo que eu não tenha o gerenciador de arquivos aberto.

    
por Tyler Durden 05.08.2014 / 06:05

1 resposta

0

Existem muitas razões pelas quais um programa pode querer chegar a um deslocamento específico. Entre as razões pelas quais serviços como o Shadow Copy podem precisar fazer isso, e é impossível dizer por quê, a menos que vejamos o que eles estão realmente lendo. Um exemplo é usar cópia de sombra para espelhar um volume, então você faria um fluxo de dados (se observado seria um fluxo de dados hexadecimais), seqüenciais e você veria em ambas as unidades o seguinte processo:

1) Leitura do Offset 0, 4096 Bytes (Leia um bloco).

2) Escreva em outro local no Offset 0, 4096 Bytes (Escreva um bloco)

3) Leia do deslocamento 4096, 4096 Bytes ... E assim por diante, e em ... essencialmente pelo tempo Offset = Disk Size, você terá espelhado o volume.

Dito isso, isso pode ser um problema com o aplicativo observador verificando o que está sendo lido, na realidade, há camadas de abstração interagindo ali mesmo.

O programa solicita um arquivo- > verifica onde está localizado- > solicita ao sistema operacional para buscar o arquivo - > o SO solicita que o driver vá até lá e obtenha os bytes solicitados e, em seguida, o aplicativo recebe um ponteiro para os dados a serem usados.

Obviamente, simplifiquei o processo o máximo possível. Mas, essencialmente, toda vez que algo é feito em uma máquina, ele passou por muitas camadas de abstração e os dados que um aplicativo solicitou podem estar ou não nesses deslocamentos. Nós vimos isso enquanto trabalhamos com o fusível e interceptamos as chamadas de Read - Write em um volume. Eles não são seqüenciais, mas para explicar mais eu teria que ficar muito técnico, o que eu acho que não é o que você está perguntando.

Espero que esta resposta ajude, mesmo que tenha passado um ano desde que você perguntou.

    
por 02.07.2015 / 00:06