Informática, perguntado por Pcesar27, 11 meses atrás

No caso de utilizarmos Estruturas de Dados de alocação estática, o que ocorre quando o programador definiu um Vetor de grande dimensão, e em tempo de execução do programa não existem posições sequenciais de memória que estejam livres para esta alocação?


2ºO que ocorre quando o programador definiu um Vetor de grande dimensão, que em tempo de execução do programa ocorreu alocação de toda a memória necessária, porém foi utilizado apenas 10% da memória alocada?

• O que ocorre em cada uma das situações acima colocadas?

• Qual a solução que você propõe?

Soluções para a tarefa

Respondido por jplivrosng
1

1) Quando não existe memoria (sequencial) suficiente para a alocação, então o sistema espera ser liberado espaço até que se consiga memória livre de tamamnho suficiente para alocar o vetor.

Ou seja, esta memória não será alocada e o programa terá de esperar até que ela possa ser alocada.

2) Quando  o vetor de grande dimensão é alocado, mas não é totalmente utilizado o restante da memória (neste caso, 90% restantes) continuam alocados e não poderão ser utilizados por nenhum outro processo até  a finalização deste programa.

Na primeira situação, ocorre uma "lerdeza" por parte do programa que tem que esperar para alocar a memória.

Na segunda situação, ocorre desperdício de recursos.

Uma das soluções possíveis é o uso de memória dinamicamente alocada

Perguntas interessantes