Aula 00 PARTE 2- (GERENCIAMENTO DE MEMÓRIA) - Tecnologia da Informação - Orientação Microinformática e Infraestrutura de TI Microinformática e Infraestrutura Flashcards
O que é memory leak e quando pode acontecer?
É o vazamento de memória.
Pode acontecer quando:
1) Blocos de memória estão alocados e tá tudo certo, mas não dá pra continuar pois não possui nenhum ponteiro apontando para aquela memória.
2) Blocos de memória possuem dados que poderiam ser liberados por estarem inacessíveise que, por algum “esquecimento”, ainda são referenciados no código. Ou seja, mesmo sem estarem sendo usados, não podem ser liberados.
O que significa swapping?
Que alternam os processos entre a memória principal e o disco durante a excução. Lmebra que é o processo completo. não é como a paginação que vc consegue dividir em paginas.
Os gerenciadores de memória podem ser divididos em duas classes: os que alternam os processos entre a memória principal e o disco durante a execução (swapping) e os que não alternam.
A memória vai recebendo os processos (Lembre-se que o S.O. já ocupa uma parte da memória). Se um processo precisa ser carregado, ele pode alocar outro processo em disco, e depois recarregar este processo.
O que seria uma partição quando falamos sobre memória?
A divisão da memória em N partições com tamanhos fixos, porém diferentes. Elas podem ser estabelecidas na configuração do S.O.
Lembre-se: Apenas um processo pode ocupar uma partição
Pode-se adotar a estratégia de ter UMA FILA PARA CADA PARTIÇÃO ou UMA FILA ÚNICA(desperdício).
Para que serve a memória virtual?
Para você rodar processos que exijam uma memória maior que a sua memória RAM
Qual a mágica? O S.O. mantém aquelas partes do programa correntemente em uso na memória principal e o resto no disco. Digamos que um programa de tamanho 50MB esteja executando em uma máquina que aloque 5 MB de memória por processo, escolhendo-se cuidadosamente quais dos 5 MB será mantido na memória a cada instante, com segmentos sendo permutados entre disco e memória assim que forem necessários. Vamos ver a seguir duas formas de implementar a memória virtual: a segmentação e a paginação.
O que é uma memória virtual por segmentação?
Segmentação: os programas são divididos em sub-rotinas e estruturas de dados, em segmentos de tamanhos diversos, cada um com o seu próprio espaço de endereçamento. A alocação da memória ocorre de maneira não fixa, ou seja, cada segmento pode ter um tamanho diferente (a alocação depende da lógica do programa). O mapeamento é feito através das tabelas de mapeamento de segmentos e os endereços são compostos pelo número do segmento e um deslocamento dentro do segmento (ex.: segmento 0, deslocamento = 500 bytes).
Cada entrada na tabela mantém o endereço físico do segmento, o tamanho do segmento, se ele está ou não na memória e sua proteção. Para isso, o S.O. mantém uma tabela com as áreas livres e ocupadas da memória e somente segmentos referenciados são transferidos para a memória principal. Nesse modelo ocorre fragmentação externa, pois internamente não “sobra espaço”, mas externamente sempre pode ficar um “pedaço” pequeno sem uso, entre dois segmentos.
O que é uma memória virtual por Paginação?
técnica utilizada pela maioria dos sistemas com memória virtual. Em qualquer computador existe um determinado conjunto de endereços de memória que programas podem referenciar. Trata-se de endereços virtuais que formam o espaço virtual de endereçamento do processo. Em computadores sem memória virtual, o endereço virtual é colocado diretamente no barramento de memória, uma palavra da memória física com o mesmo endereço é lida ou escrita.
Com o uso da memória virtual, os endereços de memória não vão diretamente para o barramento de memória, eles vão à unidade de gerenciamento de memória (MMU - Memory Management Unit), um hardware específico que mapeia os endereços virtuais em endereços da memória física:
Quem possui as funções básicas de um S.O?
O kernel.
Caiu no cebraspe dizendo que é o escalonados. Estava errado. É o Kernel
O que é o Mapa de Bits?
É uma técnica simples para o gerenciamento do uso de memória. Sem partições fixas
Um bit para cada unidade para saber se está ou não ocupado
O professor é literalmente o pior professor que já tive na vida. não sabe explicar porra nenhuma.
(CEBRASPE/EBSERH/2018) Uma das técnicas mais complexas para o gerenciamento do uso de memória é o mapa de bites, que consiste em manter uma lista encadeada de segmentos de memória alocados e disponíveis.
Este item está errado
Qual a diferença de Pagina e quadro de página?
Isso aqui é quando estramos falando sobre Memória virtual. Página é a memória virtual. Quadro de página é quando estamos falando da memória real
O que é NRU?
Página não recentemente usada
Na paginação, uma página modificada e que não foi referenciada no ultimo tick de relógio é removida em vez de uma página não modificada mas que foi muito usada.
Existem 3 critérios
1) Ótima (impossível de ser implementada. olha o futuro)
2) NRU (not recent Used)
3) FIFO (First in First Out)
4) LRU (least recent used)
Menos recentemente usada)
Caso a questão fale PÁGINAS, o que devo lembrar?
QUe teremos a memória virtual.
A memória virtual possui páginas e a memória real são quadros (quadros de páginas)
O componente central de um sistema operacional, que determina o local da memória onde deverá ser colocado o código de um novo processo chamado para ser executado por um processo pai, lido de um arquivo previamente armazenado em um dispositivo de entrada e saída, que, por sua vez, está conectado à rede local, é denominado
Gerenciador de memória
Na técnica denominada escalonamento de processos, o sistema operacional mantém parte do espaço de endereçamento de um processo na memória principal e parte em dispositivo de armazenamento secundário, realizando trocas de trechos de código e de dados entre eles, de acordo com a necessidade.
Erradooooooooooo
Não é no escolanamento de processos. Isso é memória virtual podendo ser via swapping ou Mmeória Virtual ( paignação (Quadro de paginas) )
Ele misturou
O gerenciamento de memória pode ocorrer por meio do método básico, no qual um processo que está para ser executado tem suas páginas carregadas em quaisquer quadros de memória disponíveis a partir de sua origem, por exemplo, de um sistema de arquivos.
OBRIGAT’‘ÓRIO LER TUDO
O que a questão afirma é que há um método básico em que um programa, ao ser executado (processo), tem suas páginas (então utiliza memória virtual por paginação) carregadas em quadros de memória (os quadros são em relação à memória física) disponíveis (marcados como “livre” pelo S.O.), a partir de sua origem (sistema de arquivos em um disco rígido, por exemplo).
Não tem pegadinha nenhuma! É isso, mesmo! E como saber quais quadros estão livres? Aí vai da gerência de memória do sistema operacional!
Swapping e paginação são duas formas de aplicarmos memória virtua;?
exatamente. está. correto Lembre-se que o swapping é a o programa inteiro
Já a paginação podem ser frações