Você está na página 1de 11

Instituto de Educação El Shaday

Jonathan Jozinaldo dos Santos de Aguiar Maia

GERÊNCIAS DE PROCESSOS E MEMÓRIAS

Manaus – AM
2023
Jonathan Jozinaldo dos Santos de Aguiar Maia
1°A Matutino

GERÊNCIAS DE PROCESSOS E MEMÓRIAS

Trabalho realizado para a


Obtenção da nota parcial do
1º Bimestre, sob a solicitação
Da professora Marienne, da
Disciplina de Cultura Digital

Manaus – AM
2023
Introdução
A gestão da memória é a funcionalidade de um sistema
operacional que manipula ou gere a memória primária e move
processos entre a memória principal e o disco durante a execução. A
gestão da memória mantém um registro de cada local de memória,
independentemente de estar atribuída a algum processo ou de ser
livre. Ela verifica quanta memória deve ser alocada aos processos.
Decide qual o processo que irá obter memória e em que momento.
Acompanha sempre que alguma memória é liberta ou não alocada e,
de forma correspondente, atualiza os status.
Desenvolvimento
Espaço de Endereçamento
O espaço de endereçamento de processos é o conjunto de
endereços lógicos que um processo refere no seu código. Por
exemplo, quando o endereçamento de 32 bits está em uso, os
endereços podem variar de 0 a 0x7fffffff; ou seja, 2^31 números
possíveis, para um tamanho teórico total de 2 gigabytes.
O sistema operacional tem o cargo de mapear os endereços
lógicos para endereços físicos no momento da atribuição da memória
ao programa. Há três tipos de endereços utilizados num programa
antes e depois da alocação de memória.
• Endereços simbólicos
Os endereços utilizados em um código-fonte. Os nomes das
variáveis, constantes e etiquetas de instruções são os elementos
básicos do espaço simbólico de endereços.
• Endereços relativos
No momento da compilação, um compilador converte endereços
simbólicos em endereços relativos.
• Endereços físicos
O carregador gera estes endereços no momento em que um
programa é carregado na memória principal.

Os endereços virtuais e físicos são os mesmos nos esquemas de


tempo de compilação e de carregamento de endereços. Os
endereçamentos virtuais e físicos se diferem no esquema de ligação
de endereços em tempo de execução.
O conjunto de todos os endereços lógicos gerados por um
programa é referido como um espaço de endereçamento lógico. O
conjunto de todos os endereços físicos correspondentes a estes
endereços lógicos é referido como um espaço de endereçamento
físico.
O mapeamento do tempo de execução do endereço virtual para o
endereço físico é feito pela unidade de gestão de memória, que é um
dispositivo de hardware.
Carregamento Estático vs Dinâmico
A escolha entre o carregamento estático ou dinâmico deve ser feita
no momento do desenvolvimento do programa de computador. Se
tiver que carregar o seu programa de forma estática, no momento da
compilação, os programas completos serão compilados e ligados
sem deixar qualquer dependência externa de programas ou módulos.
O linker combina o programa objeto com outros módulos objeto
necessários em um programa definitivo, que também inclui
endereços lógicos.
Se estiver escrevendo um programa carregado dinamicamente,
então o seu compilador compilará o programa e para todos os
módulos que desejar incluir dinamicamente, apenas serão fornecidas
referências e o resto do trabalho será feito no momento da execução.
No momento do carregamento, com carregamento estático, o
programa definitivo é carregado na memória para que a execução
possa começar.
Se estiver a utilizar carregamento dinâmico, as rotinas dinâmicas
da biblioteca são armazenadas em um disco de forma transferível e
são carregadas na memória apenas quando são necessárias pelo
programa.
Ligação Estática vs Dinâmica
Como explicado acima, quando a ligação estática é utilizada, o
linker combina todos os outros módulos necessários a um programa
em um único programa executável para evitar qualquer dependência
de tempo de execução.
Quando a ligação dinâmica é utilizada, não é necessário ligar o
módulo ou bibliotecas reais com o programa, é antes fornecida uma
referência ao módulo dinâmico no momento da compilação e ligação.
As bibliotecas Dynamic Link Libraries (DLL) em Windows e Shared
Objects in Unix são bons exemplos de bibliotecas dinâmicas.
Swapping
Swapping é um mecanismo no qual um processo pode ser trocado
temporariamente fora da memória principal (ou mover-se) para o
armazenamento secundário e tornar essa memória disponível para
outros processos. Em algum momento posterior, o sistema troca o
processo do armazenamento secundário para a memória principal.
Embora o desempenho seja normalmente afetado pelo processo
de troca, ajuda na execução de múltiplos e grandes processos em
paralelo e é por isso que a troca é também conhecida como uma
técnica de compactação de memória.
O tempo total de processo de troca inclui o tempo necessário para
mover todo o processo para um disco secundário e depois copiar o
processo de volta para a memória, assim como o tempo que o
processo leva para recuperar a memória principal.
Alocação de memória
A memória principal tem normalmente duas divisões
• Memória baixa: O sistema operacional reside nesta
memória.
• Memória Alta: Os processos do utilizador residem nesta
memória.
O sistema operacional utiliza os seguintes mecanismos de
alocação de memória:
• Alocação de partição única
Neste tipo de alocação, o esquema de realocação é utilizado para
proteger os processos dos utilizadores uns dos outros, e de alterar o
código e os dados do sistema operacional. O registro de realocação
contém o valor do endereço físico menor, enquanto o registro de
limite contém uma gama de endereços lógicos. Cada endereço lógico
deve ser menor do que o registro de limite.
• Alocação de partições múltiplas
Neste tipo de alocação, a memória principal é dividida em várias
partições de tamanho fixo, onde cada partição deve conter apenas
um processo. Quando uma partição é livre, é selecionado um
processo da fila de entrada sendo carregado na partição livre.
Quando o processo termina, a partição fica disponível para outro
processo.
Fragmentação
À medida que os processos são carregados e removidos da
memória, o espaço livre da memória é quebrado em pequenos
pedaços. Acontece que por vezes os processos não podem ser
atribuídos a blocos de memória, tendo em conta o seu pequeno
tamanho e os blocos de memória permanecem inutilizados. Esse
problema é conhecido como Fragmentação.
A fragmentação é de dois tipos:
• Fragmentação externa
O espaço total de memória é suficiente para satisfazer um pedido
ou para residir nele um processo, mas não é contínuo, por isso não
pode ser utilizado.
• Fragmentação interna
O bloco de memória atribuído ao processo é maior. A parte da
memória é deixada sem uso, uma vez que não pode ser utilizada por
outro processo.

A fragmentação externa pode ser reduzida por compactação ou


embaralhar o conteúdo da memória para colocar toda a memória livre
junta num único bloco grande. Para tornar a compactação viável, a
recolocação deve ser dinâmica.
A fragmentação interna pode ser reduzida através da atribuição
efetiva da mais pequena partição, mas suficientemente grande para
o processo.
Paginação
Um computador pode lidar com mais memória do que a quantidade
fisicamente instalada no sistema. Essa memória extra é na realidade
chamada de memória virtual e é uma seção de um hardware que é
configurada para emular a RAM do computador. A técnica de
paginação desempenha um papel importante na implementação da
memória virtual.
Paginação é uma técnica de gestão de memória em que o espaço
de endereçamento do processo é dividido em blocos do mesmo
tamanho chamados páginas. O tamanho do processo é medido no
número de páginas.
Da mesma forma, a memória principal é dividida em pequenos
blocos de tamanho fixo de memória chamados frames e o tamanho
de um frame é mantido o mesmo que o de uma página para ter uma
utilização ótima da memória principal e para evitar a fragmentação
externa.
Quando o sistema atribui um frame a alguma página, ele traduz
esse endereço lógico para um endereço físico e cria uma entrada na
tabela de páginas que será utilizada durante a execução do
programa.
Esse processo continua durante toda a execução do programa,
onde o sistema operacional continua a remover páginas ociosas da
memória principal e a escrevê-las na memória secundária e a trazê-
las de volta quando o programa assim o exigir.
Segmentação
A segmentação é uma técnica de gestão de memória em que cada
trabalho é dividido em vários segmentos de tamanhos diferentes, um
para cada módulo que contém peças que desempenham funções
interligadas. Cada segmento é de fato um espaço de endereçamento
lógico diferente do programa.
A gestão da memória de segmentação funciona muito semelhante
à paginação, mas aqui os segmentos são de comprimento variável
onde, da mesma forma que nas páginas de paginação, são de
tamanho fixo.
Um segmento de programa contém a função principal do programa,
funções de utilidade, estruturas de dados, etc. O sistema operacional
mantém uma tabela de mapa de segmentos para cada processo e
uma lista de blocos de memória livre juntamente com os números dos
segmentos, o seu tamanho e as localizações de memória
correspondentes na memória principal. Para cada segmento, a tabela
armazena o endereço inicial do segmento e o comprimento do
segmento.
Conclusão
O processo de gerenciamento do computador é muito complexo,
chega a ser espantoso o tamanho dos cargos que cada componente
carrega consigo. É impressionante o número de detalhes que há no
processo da memória, são várias tarefas enfileiradas e organizadas
para diversos intuitos e propósitos. De fato, a ciência da computação
é um ramo muito complexo mas que oferece muitas oportunidades
no mercado de trabalho. Programação é como se fosse uma língua
nativa dos computadores, é impressionante como tudo ocorre,
definitivamente não deve ser coisa fácil.
Referências
Sites:
Monografia.com: https://www.monografias.com/pt/docs/Gerência-
de-processos-sistema-operacional-
F3NETHD7D9JP#:~:text=A%20gerência%20de%20processo%20é,i
nformações%20e%20sincronizar%20sua%20execução.
ConsultingHouse.com:
http://www.consultinghouse.com.br/gerenciamento-de-
processos/#:~:text=Para%20ele%2C%20gerenciamento%20de%20
processos,necessidades%20e%20expectativas%20dos%20clientes
”.&text=Isso%20significa%20mapear%2C%20organizar%2C%20co
ntrolar,com%20mais%20eficiência%20e%20eficácia.
Prof Fernando de Siqueira:
https://sites.google.com/site/proffernandosiqueiraso/aulas/5-
processo
Fia.com: https://fia.com.br/blog/gestao-de-
processos/#:~:text=O%20que%20é%20gestão%20de%20processo
s%3F,-
A%20gestão%20de&text=Gestão%20de%20processos%20é%20u
m,controlar%20os%20processos%20da%20companhia.
Anexos

Processo de Gerenciamento dos sistemas. Dell.com

Pirâmide da Memória. Jkolb.com

Diferenças e Semelhanças entre Paginação e Segmentação. Eitas!


Tutoriais.com

Você também pode gostar