logo

O que é Thrash?

Na ciência da computação, lixo é o baixo desempenho de um sistema de memória virtual (ou paginação) quando as mesmas páginas estão sendo carregadas repetidamente devido à falta de memória principal para mantê-las na memória. Dependendo da configuração e do algoritmo, o rendimento real de um sistema pode ser degradado em diversas ordens de magnitude.

Na ciência da computação, surra ocorre quando os recursos de memória virtual de um computador são usados ​​em excesso, levando a um estado constante de paginação e falhas de página, inibindo a maior parte do processamento em nível de aplicativo. Isso faz com que o desempenho do computador diminua ou entre em colapso. A situação pode continuar indefinidamente até que o usuário feche alguns aplicativos em execução ou os processos ativos liberem recursos adicionais de memória virtual.

Para saber mais claramente sobre thrashing, primeiro precisamos saber sobre falha de página e troca.

    Falha de página:Sabemos que todo programa está dividido em algumas páginas. Uma falha de página ocorre quando um programa tenta acessar dados ou código em seu espaço de endereço, mas não está atualmente localizado na RAM do sistema.Troca:Sempre que ocorre uma falha de página, o sistema operacional tentará buscar essa página na memória secundária e trocá-la por uma das páginas da RAM. Este processo é chamado de troca.

Debulhando é quando a falha de página e a troca ocorrem com muita frequência e em uma taxa mais alta, e então o sistema operacional precisa gastar mais tempo trocando essas páginas. Este estado no sistema operacional é conhecido como thrashing. Devido ao thrashing, a utilização da CPU será reduzida ou insignificante.

O que é lixo

O conceito básico envolvido é que se um processo receber poucos quadros, haverá muitas e frequentes falhas de página. Como resultado, nenhum trabalho valioso seria realizado pela CPU e a utilização da CPU cairia drasticamente.

O escalonador de longo prazo tentaria então melhorar a utilização da CPU carregando mais alguns processos na memória, aumentando assim o grau de multiprogramação. Infelizmente, isso resultaria em uma diminuição adicional na utilização da CPU, desencadeando uma reação em cadeia de maiores falhas de página seguidas por um aumento no grau de multiprogramação, chamado thrashing.

Algoritmos durante o Thrashing

Sempre que o thrashing é iniciado, o sistema operacional tenta aplicar o algoritmo de substituição de página global ou o algoritmo de substituição de página local.

1. Substituição global de páginas

Como a substituição global de páginas pode trazer qualquer página, ela tenta trazer mais páginas sempre que for encontrado thrashing. Mas o que realmente vai acontecer é que nenhum processo obtém frames suficientes e, como resultado, a surra aumentará cada vez mais. Portanto, o algoritmo global de substituição de página não é adequado quando ocorre thrashing.

2. Substituição de página local

Ao contrário do algoritmo de substituição de página global, a substituição de página local selecionará páginas que pertencem apenas a esse processo. Portanto, há uma chance de reduzir a surra. Mas está provado que existem muitas desvantagens se usarmos a substituição de página local. Portanto, a substituição de página local é apenas uma alternativa à substituição de página global em um cenário de esgotamento.

Causas de surra

Programas ou cargas de trabalho podem causar problemas e resultar em graves problemas de desempenho, como:

  • Se a utilização da CPU for muito baixa, aumentamos o grau de multiprogramação introduzindo um novo sistema. Um algoritmo global de substituição de página é usado. O escalonador da CPU vê a diminuição da utilização da CPU e aumenta o grau de multiprogramação.
  • A utilização da CPU é plotada em relação ao grau de multiprogramação.
  • À medida que o grau de multiprogramação aumenta, a utilização da CPU também aumenta.
  • Se o grau de multiprogramação for aumentado ainda mais, o thrashing se instala e a utilização da CPU cai drasticamente.
  • Então, neste ponto, para aumentar a utilização da CPU e parar de debulhar, devemos diminuir o grau de multiprogramação.

Como eliminar a surra

Thrashing tem alguns impactos negativos na saúde do disco rígido e no desempenho do sistema. Portanto, é necessário tomar algumas atitudes para evitá-lo. Para resolver o problema de thrashing, aqui estão os seguintes métodos, como:

    Ajuste o tamanho do arquivo de troca:Se o arquivo de troca do sistema não estiver configurado corretamente, a sobrecarga do disco também poderá acontecer com você.Aumente a quantidade de RAM:Como memória insuficiente pode causar desgaste do disco, uma solução é adicionar mais RAM ao laptop. Com mais memória, seu computador pode realizar tarefas com facilidade e não precisa trabalhar excessivamente. Geralmente, é a melhor solução a longo prazo.Diminua o número de aplicativos em execução no computador:Se houver muitos aplicativos em execução em segundo plano, os recursos do sistema consumirão muito. E o recurso restante do sistema é lento, o que pode resultar em sobrecarga. Portanto, ao fechar, alguns aplicativos irão liberar alguns recursos para que você possa evitar problemas até certo ponto.Substitua programas:Substitua os programas que ocupam muita memória por equivalentes que usam menos memória.

Técnicas para prevenir surras

A substituição da página local é melhor que a substituição da página global, mas a substituição da página local tem muitas desvantagens, por isso às vezes não é útil. Portanto, a seguir estão algumas outras técnicas usadas para lidar com o thrashing:

1. Modelo de localidade

Uma localidade é um conjunto de páginas que são usadas ativamente em conjunto. O modelo de localidade afirma que, à medida que um processo é executado, ele se move de uma localidade para outra. Assim, um programa é geralmente composto por diversas localidades diferentes que podem se sobrepor.

Por exemplo, quando uma função é chamada, ela define uma nova localidade onde são feitas referências de memória às instruções de chamada de função, variáveis ​​locais e globais, etc. Da mesma forma, quando a função é encerrada, o processo sai desta localidade.

2. Modelo de conjunto de trabalho

Este modelo é baseado no conceito acima mencionado do Modelo de Localidade.

O princípio básico afirma que se alocarmos frames suficientes para um processo acomodar sua localidade atual, ele só falhará sempre que se mover para alguma nova localidade. Mas se os quadros alocados forem menores que o tamanho da localidade atual, o processo estará fadado a falhar.

De acordo com este modelo, com base no parâmetro A, o conjunto de trabalho é definido como o conjunto de páginas nas referências de página 'A' mais recentes. Conseqüentemente, todas as páginas usadas ativamente sempre acabariam fazendo parte do conjunto de trabalho.

ator chiranjeevi

A precisão do conjunto de trabalho depende do valor do parâmetro A. Se A for muito grande, os conjuntos de trabalho poderão se sobrepor. Por outro lado, para valores menores de A, a localidade pode não ser totalmente coberta.

Se D é a demanda total por quadros e WSSeué o tamanho do conjunto de trabalho para o processo i,

D = ⅀ WSSeu

Agora, se 'm' for o número de frames disponíveis na memória, existem duas possibilidades:

  • D>m, ou seja, a demanda total excede o número de quadros, então ocorrerá thrashing, pois alguns processos não obterão quadros suficientes.
  • D<=m, then there would be no thrashing.< li>

Se houver quadros extras suficientes, mais alguns processos poderão ser carregados na memória. Por outro lado, se a soma dos tamanhos dos conjuntos de trabalho exceder a disponibilidade dos quadros, alguns dos processos terão que ser suspensos (swap out of memory).

Essa técnica evita thrashing e garante o mais alto grau de multiprogramação possível. Assim, otimiza a utilização da CPU.

3. Frequência de falha de página

Uma abordagem mais direta para lidar com o thrashing é aquela que utiliza o conceito Page-Fault Frequency.

O que é lixo

O problema associado ao thrashing é a alta taxa de falhas de página e, portanto, o conceito aqui é controlar a taxa de falhas de página.

Se a taxa de falha de página for muito alta, isso indica que o processo possui poucos quadros alocados para ele. Pelo contrário, uma baixa taxa de falta de página indica que o processo possui muitos quadros.

Os limites superior e inferior podem ser estabelecidos na taxa de falta de página desejada, conforme mostrado no diagrama.

Se a taxa de falta de página cair abaixo do limite inferior, os quadros poderão ser removidos do processo. Da mesma forma, se a taxa de falhas de página exceder o limite superior, mais quadros poderão ser alocados para o processo.

Em outras palavras, o estado gráfico do sistema deve ser mantido limitado à região retangular formada no diagrama dado.

Se a taxa de falhas de página for alta e sem quadros livres, alguns dos processos podem ser suspensos e alocados a eles podem ser realocados para outros processos. Os processos suspensos podem ser reiniciados mais tarde.