Bruno Guedes e Toupeiras - Vivendo em thrashing
Resenha: Bichinhos de Jardim
Vivendo em thrashing
« E a nossa querida democracia ataca novamente... Resenha: Bichinhos de Jardim »
Escrito por Toupeira Profissional em 08/10/2008 12:58
Thrashing. O verbo thrash significa "bater cegamente", ou algo do tipo. Algo como o que se faz quando você definitivamente não sabe lutar e está rodeado por... ninjas... ou coisa do tipo. Enfim, a questão é que o "thrashing" em computação tem um significado mais restrito – e indesejado – que envolve toda a performance do sistema. Mas antes, uma curta aula sobre memória virtual. =D
A verdade sobre os sistemas operacionais é que, em termos de gerência de memória, que é uma das partes mais importantes no que se refere a desempenho – e todos nós queremos desempenho, caramba! –, o SO meio que joga tudo pro alto. Em um computador de 32 bits (não pergunte, vamos só prosseguir), por exemplo, cada programa "assume" que o computador tem uns 4GB de memória RAM disponível. Só pra lembrar, 4GB é um bocado, dá pra guardar umas 4 cópias do "The Wall" ali dentro...
Enfim, o caso é que um computador comum não tem 4GB de memória, que dirá 4GB para cada processo. Daí o que ocorre é que o sistema operacional, que é o sujeito que coordena essa bagunça toda, de vez em quando tem que mandar uns processos saírem pra outros rodarem. O que acontece nessa "dança das cadeiras" é que o que estava na memória obviamente não é jogado fora. Todo esse espaço de endereçamento é guardado então no disco rígido. Um detalhe interessante é que, comparado ao acesso na memória principal(RAM), acessar um disco rígido demora umas 100.000 vezes mais. Logo, quando o SO começa a trocar processos de lugar, o desempenho cai um pouco.
O que é chamado de "thrashing" é quando o sistema está sobrecarregado a tal ponto que o SO passa mais tempo trocando páginas de memória de lugar do que realmente executando. O resultado é uma "luz do HD" piscando feito louca e uma queda de desempenho significativa beirando o "nada". Agora, voltemos à nossa programação normal...
Muito bem, com a noção de "thrashing" na cabeça, voltemos ao assunto do nosso post que é... ah, sim, "thrashing aplicado à vida real". Viver em thrashing, em poucas palavras, é uma angústia.
Comece pelas causas: muito o que fazer. O resultado da sobrecarga é que você passa mais tempo decidindo se vai fazer a análise daquele artigo sobre Minerção de Dados, os sprites pro trabalho de IA para Jogos, comentar nos trabalhos da maldita disciplina à distância de português, ou escrever no blog, que já está quase virando semanal e temos que dar um jeito nisso o quanto antes. Ufs! D=
O problema do "live thrashing" é que sua solução não é trivial. No caso de seu PC, é trivialíssimo: mate alguns processos, sobretudo os mais interativos(navegador, processador de texto, editor de imagens, jogos...). No caso da vida real... bom, eu adoraria matar meus trabalhos, mas infelizmente matar os trabalhos tem uma consequência nada boa na vida real, certo? =P
Daí a gente vive em thrashing e se acostuma, por incrível que o pareça. Até chegarem as férias – ó benditas e malditas férias! –, quando esquecemos dessas responsabilidades imatáveis e desfrutamos de nosso tempo livre com nenhuma sabedoria... afinal, não tenho o direito de ser levemente irresponsável? =P
E no semestre seguinte, retorna o thrashing. E começa a história toda de novo...
(E o Anime Festival é nesse fim de semana e eu nem sequer comprei o ingresso. Mais um processo pra lista... =P)
09/10/2008 00:27
Isto tudo lembra o filme Naqoyqatsi, vida em guerra, vida na correria. Você vive para ser devorado pelas férias, ou as férias é que vivem tentando te pegar?
Lendo a sua introdução sobre swap, me pergunto se "aquela pessoa" entende alguma bulhufa.
Pela minha parte, aproveitei grandemente o suporte teórico, já que entendi cristalinamente o substrato informacional. Oba, como é bom saber de computação!
Imagina quantas metáforas o homem comum alheio à informática perde? Começa perdendo os três Matrix...
Toupeira Profissional (O Próprio)
09/10/2008 11:52
"Aquela pessoa"? Não sei, suponho que não. De qualquer forma, não quero excluir os leigos do meu querido papo de nerd da computação... =P
Ah, há tantas metáforas em computação quanto as há – suponho – em outras áreas. Mas as de computação me parecem mais divertidas, mas isso deve ser questão de costume...