Dev (Back & Front)ARTIGO

Como o kernel gerencia a sua memória – Parte 03: o Rei das Coisas

Espero que no artigo anterior eu tenha conseguido explicar bem sobre a memória virtual; mas eu devo admitir que deixei de fora uma explicação muito melhor, que eu li livro no “Expert C Programming“. O texto, chamado de O Rei das Coisas (The Thing King), não foi escrito pelo autor do livro, Peter van der Linden, mas por Jeff Berryman, em 1972. Ele era um programador de sistemas da Universidade de British Columbia e o texto foi originalmente publicado na newsletter do Centro de Computação da Universidade.

O Rei das Coisas e o jogo da paginação

(Este texto é um paper da pesquisa Project MAC Computer Systems. Ao fazer a distribuição e reprodução do mesmo é preciso fazer referência ao original)

Regras

  1. Cada jogador ganha várias milhões de Coisas;
  2. As Coisas são mantidas em caixas que contém, cada uma, 4096 Coisas. As Coisas de cada caixa são chamadas de vizinhos;
  3. As caixas são armazenadas em oficinas, ou em armazéns. As oficinas quase sempre são muito pequenas para armazenar todas as caixas;
  4. Existe somente uma oficina, mas podem existir vários armazéns. Todo mundo os compartilha;
  5. Cada Coisa tem seu próprio número;
  6. O que você deve fazer com uma Coisa é acessá-la. As pessoas se revezam neste acesso;
  7. Você pode acessar só as suas Coisas e as de mais ninguém;
  8. As Coisas somente podem ser acessadas quando elas estão na oficina;
  9. Somente o Rei das Coisas sabe se uma Coisa está na oficina, ou no armazém;
  10. Quanto uma Coisa demora muito tempo para ser acessada, ela vai acumulando poeira;
  11. A maneira que você tem para conseguir as Coisas é perguntando ao Rei das Coisas. Ele libera as Coisas de acordo com a quantidade contida nas caixas. Isto é para manter a real sobrecarga baixa;
  12. A maneira com que você acessa uma Coisa fornece a ela o seu número.Se você fornecer o número de uma Coisa que estiver na oficina, ela será acessada imediatamente. Se ela estiver no armazém, o Rei das Coisas empacota a caixa que contém a sua Coisa e manda de volta para a oficina. Se não houver espaço lá, ele primeiro procura a caixa mais empoeiradas da oficina, seja sua, ou de outra pessoa, e a envia com seus vizinhos para um armazém. Sua Coisa será acessada e você nunca saberá que ela já esteve na oficina;
  13. O estoque de Coisas de cada jogador tem os mesmos números de todas as outras pessoas. O Rei das Coisas sempre sabe quem possui qual Coisa e de quem é a vez, então, você nunca pode acessar a Coisa de alguém acidentalmente, mesmo se ela tiver o mesmo número de uma das suas Coisas.

Notas

  • Tradicionalmente, o Rei das Coisas fica em uma grande tabela segmentada e é atendido por páginas (as chamadas “páginas de tabelas”) cujo trabalho é ajudá-lo a se lembrar onde todas as Coisas estão e a quem elas pertencem;
  • Uma consequência da regra 13 é que os números das Coisas de todo mundo serão iguais de jogo pra jogo, independente do número de jogadores;
  • O Rei das Coisas tem poucas Coisas próprias. Algumas se movem pra frente e pra trás, entre a oficina e o armazém, como qualquer um, mas alguns deles são simplesmente muito pesados para se moverem para fora da oficina;
  • Com o dado conjunto de regras, muitas vezes, as Coisas acessadas tendem a ser mantidas na oficina, enquanto as Coisas pouco acessadas geralmente ficam em um armazém. Este é um controle de estoque eficiente.

Sendo assim, vida longa ao Rei das Coisas!

***

Texto original disponível em: http://duartes.org/gustavo/blog/post/the-thing-king

Matérias especiais e reportagens conduzidas internamente pela Redação iMasters. Acompanhe no Twitter @imasters e no Instagram/Threads @portalimasters

Ver perfil