Depois de o "Cache Manager" ficar pronto...

Post Reply
Malba Tahan
Posts: 13
Joined: Sat Nov 27, 2004 3:08 am
Location: Chapecó, SC, Brazil

Depois de o "Cache Manager" ficar pronto...

Post by Malba Tahan » Wed May 23, 2007 3:06 pm

Pessoal, há alguns anos questionei o fato de o ReactOS estar com gráficos muito lentos. Resonderam-me que era pelo fato de um tal de "Cache Manager" ainda não estar pronto.
Eu não sei o que significa esse "Cache Manager". Tem a ver com a memória cache do processador? Mas a minha principal pergunta é: quando o "Cache Manager" ficar pronto, vocês acreditam que tudo vai melhorar no ReactOS (gráficos, sistemas de arquivos diferentes etc)? E quando será que ele vai ficar pronto? Há anos que os desenvolvedores estão reescrevendo o "Cache Manager" e ele ainda não está pronto...

Obrigado.
Bush was reelected, Terminator is at his side, and Superman is dead! Who's gonna save us?

João Jerónimo
Posts: 30
Joined: Thu Dec 09, 2004 5:28 pm

Re: Depois de o "Cache Manager" ficar pronto...

Post by João Jerónimo » Mon Jun 18, 2007 10:46 pm

Malba Tahan wrote:Eu não sei o que significa esse "Cache Manager". Tem a ver com a memória cache do processador?
Hum... não! Acho que não tem nada a ver... A cache do processador é auto-gerida pelo processador: em cada leitura da memória, são lidos mais uns quantos de bytes (consecutivos ou não, dependendo da política de caches), e quando estes são precisos, evita-se novas leitura, porque a memória interna do processador está em chips muito mais rápidos, para além de evitarem comunicações por intermédio do front side bus (também conhecido por system bus), que necessitam de ciclos de espera para garantir que a memória RAM responde e que os dados são bem recebidos... São detalhes de baixo nível com que o software (geralmente) não tem de se preocupar...
Uma excepção é quando o sistema operativo quer sondar a memória para descobrir se num endereço existe memória ou não... Nesse caso tem de ter o cuidado de desligar o write-back caching, porque senão o algoritmo (que geralmente consiste em escrever um byte e lê-lo de volta) não funciona, pois o byte fica na cache e é lido de volta correctamente, mesmo que não haja memória nesse endereço...

O Cache Manager é, julgo eu, mais ou menos equivalente à block buffer cache existente nos sistemas UNIX... Mas na arquitectura NT deve ser muito mais avançado...
Se é isso, basicamente isola as várias camadas do kernel do sistema operativo com uma intercamada unificada que gere o caching...
Mais não posso dizer que tenha a certeza, até porque não sou propriamente um Ás em termos de arquitectura NT...
Mas a minha principal pergunta é: quando o "Cache Manager" ficar pronto, vocês acreditam que tudo vai melhorar no ReactOS (gráficos, sistemas de arquivos diferentes etc)?
Pois, agora falando tão às cegas como tu, acho (não: tenho a certeza) que vai mesmo... Eu lembro-me de ter perguntado há tempos na ros-general se os drivers de ext2/3 e de NTFS que estão no trunk funcionam ou o que é que fazem, e eles disseram-me que se diz que o de ext2/3 funciona no novo cache manager experimental...

http://www.reactos.org/archives/public/ ... hread.html
E quando será que ele vai ficar pronto? Há anos que os desenvolvedores estão reescrevendo o "Cache Manager" e ele ainda não está pronto...
Sabes... O caching é dos piores pesadelos para depurar, especialmente em ambientes multi-tarefa...
Em UNIX costuma haver caching em usermode, antes de enviar para o kernel... E os programas apenas enviam os dados para o kernel (que normalmente, ou os mete num ficheiro, ou os passa a outro processo) quando a cache está cheia. Mas, se não se tiver cuidado, pode lixar o esquema todo: por exemplo, se um programa enviar dados a outro programa para ele trabalhar com eles e os devolver de volta ao programa de origem, depois de trabalhados. Se os dados que o programa que trabalha com os dados envia para o exterior (para o outro programa) ficarem na cache, o programa de origem pode não se dar conta de que o programa está à espera de outros dados (porque ainda não recebeu o produto dos primeiros dados que enviou, que ficou na cache), e assumir que o programa está a demorar muito tempo. Então o par de programas fica pendurado...

Portanto, e até porque eu não sou assim muito experiente em termos de caching, não me espanta que demore muito tempo... É o tipo de coisa que tem de ser feita com cuidado para não dar complicar ainda mais...

JJ

Post Reply

Who is online

Users browsing this forum: No registered users and 9 guests