Ir para o conteúdo
AJBM

[Resolvido] Algoritmo Buddy

Mensagens Recomendadas

pmg

Porque o processo B requisita 66K de memória e o bloco imediatamente a seguir ao bloco requisitado pelo processo A tem um tamanho de 64K.

O primeiro bloco com tamanho de 66K ou maior é o que está na descrição.

Imagina que tens várias camionetas e várias pessoas para transportar.

O processo A quer transportar 34 pessoas, por isso são arranjadas 2 camionetas de 64 pessoas, 1 de 128, 1 de 256, ...

Se a seguir pusesses as 66 pessoas do processo B na segunda camioneta (que leva 64 pessoas) tinhas de usar 2 camionetas


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AJBM

Sim ele tem 66kb mas vai ter de que ficar num pedaço de memoria que tenha 128k, é por isso que eu nao estou a perceber porque que ele nao pode ficar logo a seguir ao processo A, que tem 64k e utilizava a posicao memoria seguinte que fazia um total de 128k.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Porque ao tentar arranjar um primeiro pedaço para os primeiros 34K o resto da memória tem de ser partida em pedaços com um tamanho fixo

1 pedaco <----------------------------------------->
divide pelo tamanho maximo de blocos
2 pedacos <-------- 512K --------|----------------->
512K é muito, divide outra vez
3 pedacos <-- 256K --|-- 256K --|----------------->
256K é muito, divide outra vez, mas só um dos pedaços
4 pedacos <-- 128K --|-- 128K --|-- 256K --|----------------->
128K é muito, divide outra vez, mas só um dos pedaços
5 pedacos <-- 64K --|-- 64K --|-- 128K --|-- 256K --|----------------->

O bloco para o processo seguinte, que pede 66K só cabe no espaço de 128K.

Se este bloco fosse ocupar o primeiro bloco livre ou acabava por ocupar 64K + 128K ou obrigava a repartir a estrutura o que torna o sistema pouco eficiente

5 pedacos antes  <-- 64K --|-- 64K --|----- 128K -----|-- 256K --|----------------->
5 pedacos depois <-- 64K --|----- 128K -----|-- 64K --|-- 256K --|----------------->


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AJBM

Entao ele parte em pedaços mais pequeno ate caber o processo A, depois a memoria vai ficar com essas particoes e é com essas partiçoes que nos vamos trabalhar para os processos restantes

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Exactamente.

Ou seja: é assim que eu interpreto o que diz a Wikipedia ;)


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AJBM

ok. So mais uma coisa eu é que escolho o processo pelo qual quero partir a memoria, ou seja, no exemplo da wikipedia podia ter começado pelo processo B ou tem que ser sempre o processo mais pequeno.

Editado por AJBM

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

É à escolha do utilizador.

Se, no exemplo da Wikipedia, se começasse pelo processo B a divisão da memória parava nos 128K

<-- 128K --|-- 128K --|-- 256K --|--512K --|-- ... -->
<BBBBBBBBBB|..........|..........|.........|.........>


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.