O documento discute estratégias para lidar com sobrecarga de memória, incluindo swapping e memória virtual. Swapping envolve trocar processos inteiros entre memória principal e disco, enquanto memória virtual permite que programas sejam executados parcialmente carregados na memória. O documento também descreve técnicas como mapas de bits e listas ligadas para gerenciar a alocação dinâmica de memória.
O documento discute dispositivos de entrada e saída em sistemas computacionais. Ele aborda três tópicos principais:
1) E/S via interrupção, onde dispositivos geram interrupções para solicitar atenção da CPU quando operações são concluídas.
2) E/S via acesso direto à memória (DMA), onde dispositivos podem acessar diretamente a memória principal sem envolver a CPU, aumentando a velocidade de transferência de dados.
3) Camadas de software de E/S, onde drivers controlam dispositivos
Este documento discute três tópicos principais:
1) Sistemas de arquivos, incluindo estruturas de arquivos, tipos de arquivos e operações com arquivos.
2) Relógios de software e alarmes, incluindo como simular múltiplos relógios virtuais com um relógio físico.
3) Organização de diretórios, cobrindo organizações de nível único e de dois níveis.
1) O documento discute threads no espaço do núcleo, comunicação interprocessos e regiões críticas.
2) Há diferentes modelos de implementação de threads, incluindo no espaço do núcleo e híbridas, e os algoritmos de escalonamento mais usados são Round Robin e por prioridade.
3) A comunicação interprocessos requer mecanismos para evitar condições de corrida, e regiões críticas garantem a exclusão mútua para acesso compartilhado a recursos.
O documento descreve os conceitos de paginação de memória virtual. A memória é dividida em páginas de tamanho fixo e mapeadas para frames de memória física. Quando um programa faz referência a uma página não mapeada, ocorre uma page fault que é capturada pela CPU e enviada ao SO. O SO carrega a página referenciada em um frame livre e atualiza a tabela de páginas antes de reiniciar a instrução.
O documento discute processos e escalonamento. Ele define processos como o conceito central do sistema operacional, caracterizados por um programa em execução que armazena todas as informações necessárias para executar o programa. Processos podem interagir com o usuário ou ter funções específicas em segundo plano.
O documento descreve hardware de disco e relógios. Ele explica que um disco rígido consiste em pratos giratórios com cabeças de leitura/gravação e que cada superfície é dividida em trilhas e setores. Também discute os processos de formatação de baixo e alto nível para preparar o disco para uso.
O documento fornece uma introdução sobre conceitos básicos de sistemas operacionais. Ele discute o que constitui um sistema computacional, a importância de um sistema operacional, as funções de um SO, como usuários e programas interagem com o SO, gerenciamento de memória e processamento, boot do sistema e dispositivos de entrada e saída.
O documento discute dispositivos de entrada e saída em sistemas computacionais. Ele aborda três tópicos principais:
1) E/S via interrupção, onde dispositivos geram interrupções para solicitar atenção da CPU quando operações são concluídas.
2) E/S via acesso direto à memória (DMA), onde dispositivos podem acessar diretamente a memória principal sem envolver a CPU, aumentando a velocidade de transferência de dados.
3) Camadas de software de E/S, onde drivers controlam dispositivos
Este documento discute três tópicos principais:
1) Sistemas de arquivos, incluindo estruturas de arquivos, tipos de arquivos e operações com arquivos.
2) Relógios de software e alarmes, incluindo como simular múltiplos relógios virtuais com um relógio físico.
3) Organização de diretórios, cobrindo organizações de nível único e de dois níveis.
1) O documento discute threads no espaço do núcleo, comunicação interprocessos e regiões críticas.
2) Há diferentes modelos de implementação de threads, incluindo no espaço do núcleo e híbridas, e os algoritmos de escalonamento mais usados são Round Robin e por prioridade.
3) A comunicação interprocessos requer mecanismos para evitar condições de corrida, e regiões críticas garantem a exclusão mútua para acesso compartilhado a recursos.
O documento descreve os conceitos de paginação de memória virtual. A memória é dividida em páginas de tamanho fixo e mapeadas para frames de memória física. Quando um programa faz referência a uma página não mapeada, ocorre uma page fault que é capturada pela CPU e enviada ao SO. O SO carrega a página referenciada em um frame livre e atualiza a tabela de páginas antes de reiniciar a instrução.
O documento discute processos e escalonamento. Ele define processos como o conceito central do sistema operacional, caracterizados por um programa em execução que armazena todas as informações necessárias para executar o programa. Processos podem interagir com o usuário ou ter funções específicas em segundo plano.
O documento descreve hardware de disco e relógios. Ele explica que um disco rígido consiste em pratos giratórios com cabeças de leitura/gravação e que cada superfície é dividida em trilhas e setores. Também discute os processos de formatação de baixo e alto nível para preparar o disco para uso.
O documento fornece uma introdução sobre conceitos básicos de sistemas operacionais. Ele discute o que constitui um sistema computacional, a importância de um sistema operacional, as funções de um SO, como usuários e programas interagem com o SO, gerenciamento de memória e processamento, boot do sistema e dispositivos de entrada e saída.
O documento discute os i-nodes, estruturas de dados que armazenam atributos e endereços dos blocos de um arquivo em sistemas de arquivos. I-nodes associam-se a cada arquivo e permitem localizar todos os seus blocos, armazenando informações como tamanho, proprietário e localização no disco. O documento também explica como diretórios e arquivos compartilhados são implementados usando i-nodes.
1) O documento discute chamadas ao sistema e processos. 2) As chamadas ao sistema permitem que aplicativos realizem instruções privilegiadas e alteram o modo de operação do sistema entre o modo usuário e o modo kernel. 3) Exemplos de chamadas ao sistema incluem ler arquivos e escrever na saída padrão.
O documento descreve os tipos e estruturas de sistemas operacionais. Ele discute sistemas operacionais monotarefa e multitarefa, além de classificações como batch, tempo compartilhado e tempo real. Também aborda as estruturas internas de um sistema operacional, incluindo estruturas monolíticas e em camadas.
O documento discute escalonamento de tempo real e threads. Aborda algoritmos de escalonamento estático e dinâmico para tempo real, como Rate Monotonic Scheduling e Earliest Deadline First. Também explica a diferença entre processos e threads, vantagens de threads, e como manipular threads em linguagens como C, Java e no sistema operacional.
O documento discute aspectos fundamentais de segurança no sistema operacional, abordando proteção de informações contra uso não autorizado, tipos de ameaças como exposição e manipulação de dados, e tipos de invasores como invasores passivos e ativos. Ele também apresenta facetas da segurança como criptografia, assinaturas digitais e ataques como de dentro do sistema e exploração de erros de código.
[1] O documento discute escalonamento de processos em sistemas operacionais, com foco em mudança de contexto e algoritmos de escalonamento.
[2] A mudança de contexto é cara, envolvendo salvar e carregar informações dos processos, e ocorre a cada interrupção do relógio. O escalonador decide qual processo executar a seguir.
[3] Algoritmos de escalonamento podem ser preemptivos ou não-preemptivos. Sistemas em batch priorizam throughput, enquanto sistemas interativos priorizam
O documento discute três tópicos principais sobre comunicação entre processos: 1) Monitores, que fornecem exclusão mútua através de rotinas agrupadas em módulos; 2) Variáveis de condição, que permitem que processos bloqueiem e acordem com base em condições; 3) Troca de mensagens, onde processos se comunicam através de primitivas de envio e recebimento de mensagens.
1) O documento discute sobre a memória associativa (TLB), paginação de tabelas de páginas em múltiplos níveis e tabelas de páginas invertidas.
2) A paginação em múltiplos níveis divide o espaço de endereçamento lógico em várias tabelas de páginas para evitar manter todas na memória.
3) As tabelas de páginas invertidas mapeiam cada página física para a página virtual correspondente, ao invés de cada página virtual para a f
O documento discute algoritmos de escalonamento de processos em sistemas operacionais, incluindo Round Robin, prioridade e múltiplas filas. Round Robin atribui um quantum de tempo para cada processo antes de alternar para o próximo. Prioridade executa processos com prioridade mais alta primeiro. Múltiplas filas agrupam processos por tipo para execução.
O documento discute comunicação entre processos e soluções para o problema da exclusão mútua. Apresenta instruções de teste-e-definição de bloqueio e suas desvantagens. Também aborda primitivas de espera/despertar para resolver problemas de espera ociosa e introduz o problema produtor/consumidor como exemplo de sua aplicação.
1) O documento discute vários algoritmos de substituição de páginas, incluindo FIFO, Segunda Chance, Algoritmo do Relógio, LRU e NFU.
2) O algoritmo LRU tem como objetivo substituir a página que permaneceu em desuso pelo maior tempo, mantendo as páginas mais recentemente utilizadas na memória.
3) O conceito de Working Set defende que um processo só refere uma fração pequena de suas páginas em cada fase de execução, e o objetivo é manter esse conjunto de trabalho carregado na mem
1. O documento apresenta um guia com mais de 500 comandos do terminal Linux, explicados de forma simples para usuários de todos os níveis.
2. A lista de comandos inclui exemplos de uso e explicações detalhadas para auxiliar os usuários a dominar o terminal e aumentar seu conhecimento no universo Linux.
3. O guia é de distribuição gratuita e pode ser compartilhado para divulgação e aprendizado dos comandos Linux, sem fins lucrativos.
O documento discute processos, arquivos de dispositivos, descritores de arquivos padrão, pipes, redirecionamento e comandos para gerenciamento de processos em Linux. É explicado que tudo é tratado como arquivos, incluindo dispositivos, e que pipes e redirecionamento permitem conectar a saída de um programa à entrada de outro.
Este documento discute vários tópicos relacionados a sistemas operacionais, incluindo gerenciamento de memória, sistemas de arquivos, E/S e multiprocessamento. Aborda conceitos como tabelas de páginas, alocação de memória, fragmentação, drivers de dispositivo, RAID e impasses. Faz referência a um livro texto sobre sistemas operacionais modernos.
Este documento discute os conceitos e algoritmos de escalonamento de CPU em sistemas operacionais. Aborda os conceitos básicos de multiprogramação e ciclos de CPU-E/S. Descreve vários algoritmos de escalonamento como FCFS, SJF, prioridade e Round Robin. Discute critérios de avaliação como utilização da CPU, vazão e tempos de resposta e espera. Explica estratégias como filas de vários níveis e escalonamento com múltiplos processadores.
Este documento fornece uma lista extensa de comandos básicos do Linux/Unix, agrupados por função. Inclui comandos para controlo e acesso, comunicações, ajuda e documentação, edição de texto, gestão de ficheiros e directorias, exibição e impressão de ficheiros, transferência de ficheiros, controlo de processos, informação de estado, processamento de texto e navegação web. São descritos mais de 100 comandos diferentes.
O documento discute técnicas de gerenciamento de memória em computadores, incluindo paginação, substituição de páginas, memória virtual, segmentação e bibliotecas compartilhadas. Aborda como os sistemas operacionais alocam memória de forma eficiente para vários processos e protegem o acesso à memória entre eles.
Este documento apresenta as principais características e funcionalidades do sistema operacional OpenSolaris, incluindo: (1) ZFS, um sistema de arquivos com capacidades avançadas de gerenciamento de volumes, integridade e recuperação de dados; (2) DTrace, um framework para monitoramento em tempo real do kernel e aplicações; (3) virtualização através de containers e zonas.
O documento discute os i-nodes, estruturas de dados que armazenam atributos e endereços dos blocos de um arquivo em sistemas de arquivos. I-nodes associam-se a cada arquivo e permitem localizar todos os seus blocos, armazenando informações como tamanho, proprietário e localização no disco. O documento também explica como diretórios e arquivos compartilhados são implementados usando i-nodes.
1) O documento discute chamadas ao sistema e processos. 2) As chamadas ao sistema permitem que aplicativos realizem instruções privilegiadas e alteram o modo de operação do sistema entre o modo usuário e o modo kernel. 3) Exemplos de chamadas ao sistema incluem ler arquivos e escrever na saída padrão.
O documento descreve os tipos e estruturas de sistemas operacionais. Ele discute sistemas operacionais monotarefa e multitarefa, além de classificações como batch, tempo compartilhado e tempo real. Também aborda as estruturas internas de um sistema operacional, incluindo estruturas monolíticas e em camadas.
O documento discute escalonamento de tempo real e threads. Aborda algoritmos de escalonamento estático e dinâmico para tempo real, como Rate Monotonic Scheduling e Earliest Deadline First. Também explica a diferença entre processos e threads, vantagens de threads, e como manipular threads em linguagens como C, Java e no sistema operacional.
O documento discute aspectos fundamentais de segurança no sistema operacional, abordando proteção de informações contra uso não autorizado, tipos de ameaças como exposição e manipulação de dados, e tipos de invasores como invasores passivos e ativos. Ele também apresenta facetas da segurança como criptografia, assinaturas digitais e ataques como de dentro do sistema e exploração de erros de código.
[1] O documento discute escalonamento de processos em sistemas operacionais, com foco em mudança de contexto e algoritmos de escalonamento.
[2] A mudança de contexto é cara, envolvendo salvar e carregar informações dos processos, e ocorre a cada interrupção do relógio. O escalonador decide qual processo executar a seguir.
[3] Algoritmos de escalonamento podem ser preemptivos ou não-preemptivos. Sistemas em batch priorizam throughput, enquanto sistemas interativos priorizam
O documento discute três tópicos principais sobre comunicação entre processos: 1) Monitores, que fornecem exclusão mútua através de rotinas agrupadas em módulos; 2) Variáveis de condição, que permitem que processos bloqueiem e acordem com base em condições; 3) Troca de mensagens, onde processos se comunicam através de primitivas de envio e recebimento de mensagens.
1) O documento discute sobre a memória associativa (TLB), paginação de tabelas de páginas em múltiplos níveis e tabelas de páginas invertidas.
2) A paginação em múltiplos níveis divide o espaço de endereçamento lógico em várias tabelas de páginas para evitar manter todas na memória.
3) As tabelas de páginas invertidas mapeiam cada página física para a página virtual correspondente, ao invés de cada página virtual para a f
O documento discute algoritmos de escalonamento de processos em sistemas operacionais, incluindo Round Robin, prioridade e múltiplas filas. Round Robin atribui um quantum de tempo para cada processo antes de alternar para o próximo. Prioridade executa processos com prioridade mais alta primeiro. Múltiplas filas agrupam processos por tipo para execução.
O documento discute comunicação entre processos e soluções para o problema da exclusão mútua. Apresenta instruções de teste-e-definição de bloqueio e suas desvantagens. Também aborda primitivas de espera/despertar para resolver problemas de espera ociosa e introduz o problema produtor/consumidor como exemplo de sua aplicação.
1) O documento discute vários algoritmos de substituição de páginas, incluindo FIFO, Segunda Chance, Algoritmo do Relógio, LRU e NFU.
2) O algoritmo LRU tem como objetivo substituir a página que permaneceu em desuso pelo maior tempo, mantendo as páginas mais recentemente utilizadas na memória.
3) O conceito de Working Set defende que um processo só refere uma fração pequena de suas páginas em cada fase de execução, e o objetivo é manter esse conjunto de trabalho carregado na mem
1. O documento apresenta um guia com mais de 500 comandos do terminal Linux, explicados de forma simples para usuários de todos os níveis.
2. A lista de comandos inclui exemplos de uso e explicações detalhadas para auxiliar os usuários a dominar o terminal e aumentar seu conhecimento no universo Linux.
3. O guia é de distribuição gratuita e pode ser compartilhado para divulgação e aprendizado dos comandos Linux, sem fins lucrativos.
O documento discute processos, arquivos de dispositivos, descritores de arquivos padrão, pipes, redirecionamento e comandos para gerenciamento de processos em Linux. É explicado que tudo é tratado como arquivos, incluindo dispositivos, e que pipes e redirecionamento permitem conectar a saída de um programa à entrada de outro.
Este documento discute vários tópicos relacionados a sistemas operacionais, incluindo gerenciamento de memória, sistemas de arquivos, E/S e multiprocessamento. Aborda conceitos como tabelas de páginas, alocação de memória, fragmentação, drivers de dispositivo, RAID e impasses. Faz referência a um livro texto sobre sistemas operacionais modernos.
Este documento discute os conceitos e algoritmos de escalonamento de CPU em sistemas operacionais. Aborda os conceitos básicos de multiprogramação e ciclos de CPU-E/S. Descreve vários algoritmos de escalonamento como FCFS, SJF, prioridade e Round Robin. Discute critérios de avaliação como utilização da CPU, vazão e tempos de resposta e espera. Explica estratégias como filas de vários níveis e escalonamento com múltiplos processadores.
Este documento fornece uma lista extensa de comandos básicos do Linux/Unix, agrupados por função. Inclui comandos para controlo e acesso, comunicações, ajuda e documentação, edição de texto, gestão de ficheiros e directorias, exibição e impressão de ficheiros, transferência de ficheiros, controlo de processos, informação de estado, processamento de texto e navegação web. São descritos mais de 100 comandos diferentes.
O documento discute técnicas de gerenciamento de memória em computadores, incluindo paginação, substituição de páginas, memória virtual, segmentação e bibliotecas compartilhadas. Aborda como os sistemas operacionais alocam memória de forma eficiente para vários processos e protegem o acesso à memória entre eles.
Este documento apresenta as principais características e funcionalidades do sistema operacional OpenSolaris, incluindo: (1) ZFS, um sistema de arquivos com capacidades avançadas de gerenciamento de volumes, integridade e recuperação de dados; (2) DTrace, um framework para monitoramento em tempo real do kernel e aplicações; (3) virtualização através de containers e zonas.
O documento descreve comandos do MS-DOS como XCOPY, SHARE, REPLACE, FASTOPEN, NLSFUNC e APPEND. O XCOPY copia arquivos e diretórios, o SHARE permite compartilhamento de arquivos, e o REPLACE substitui ou adiciona arquivos no destino. O FASTOPEN acelera a abertura de arquivos frequentemente usados, o NLSFUNC carrega informações do país, e o APPEND define caminhos de pesquisa para arquivos de dados.
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni
1) O documento descreve planos para a infraestrutura de armazenamento e rede de uma empresa, incluindo mapeamento de servidores, volumes, configurações de SAN, backup e armazenamento.
2) Serão conectados 16 drives de fita entre 8 controladores, com cabos curtos de 30 metros e conectores LC/LC.
3) A topologia SAN será de 1 para 2 fabrics para melhor segurança, com vantagens e desvantagens discutidas.
Este documento fornece instruções para reinstalar o Windows sem formatar o disco rígido, preservando os dados pessoais. Ele explica como criar um disco de inicialização, fazer backup dos dados na pasta C:\BACKUP, apagar o sistema atual usando os comandos DEL e DELTREE no prompt de comando, e então reinstalar o Windows a partir dos arquivos de instalação copiados para uma pasta como C:\WINME. Também discute a fragmentação do disco rígido e a importância de desfragmentar após a reinstalação.
Sistemas Operacionais 13 gerenciamento de memóriaMauro Duarte
O documento discute os conceitos de gerenciamento de memória em sistemas operacionais, incluindo realocação, proteção, troca de processos, memória virtual e paginação. É explicado como esses mecanismos permitem que múltiplos processos sejam executados simultaneamente apesar de terem mais dados do que a memória física pode suportar.
1) O documento discute o funcionamento e a estrutura de discos rígidos, descrevendo como os dados são armazenados e acessados neles.
2) Os discos rígidos armazenam dados em trilhas e setores magnéticos que giram rapidamente, permitindo armazenar grandes quantidades de informação de forma compacta e durável.
3) A interface controladora controla o disco rígido e comunica os dados ao computador, enquanto padrões como SCSI permitem conectar diversos periféricos de forma pad
A desfragmentação consiste em reorganizar os dados armazenados de forma fragmentada em discos rígidos e memórias, unindo os fragmentos para que fiquem armazenados de forma contígua e ordenada, melhorando o desempenho de leitura e escrita. A fragmentação ocorre quando os dados de um arquivo precisam ser gravados em regiões dispersas por falta de espaço contíguo.
O documento discute estimativas de erro em modelos de aprendizagem de máquina. Explica que o erro esperado no conjunto de teste tende a ser maior que no conjunto de treino, devido ao ajuste do modelo aos dados de treino. Também aborda medidas como viés e variância para avaliar estimadores, e como o erro quadrático médio equilibra ambos para medir o desvio total esperado entre a estimativa e o valor real.
O documento discute a avaliação de desempenho de classificadores treinados. Explica que é necessário testar o modelo em um conjunto de dados independente para medir seu desempenho em dados novos. Também apresenta métricas como taxa de erro e curva de aprendizagem para avaliar quantitativamente o modelo.
O documento descreve o algoritmo de máquina de vetor de suporte (SVM), explicando como ele busca encontrar o hiperplano separador de margem máxima entre os dados de treinamento de duas classes. O SVM define fronteiras lineares ótimas para dados linearmente separáveis, maximizando a distância entre o hiperplano separador e os exemplos de treinamento mais próximos, chamados de vetores de suporte. O problema é formulado como um problema de otimização para encontrar os parâmetros ω e b que maximizam essa distância de separação.
O documento descreve as redes neurais e o perceptron. Ele explica que as redes neurais se inspiram nos neurônios biológicos e como o perceptron funciona como a unidade básica de uma rede neural, recebendo sinais de entrada e aplicando uma função de ativação. Também discute possíveis funções de ativação como a função degrau e sigmóide e como os pesos das conexões, incluindo o viés, determinam se um perceptron é ativado ou não.
O documento discute árvores de decisão e florestas aleatórias. Ele explica que árvores de decisão são uma das formas mais simples de aprendizado de máquina, representando uma sequência de regras "se...então" para classificar ou prever saídas com base em atributos de entrada. O documento também descreve características como nós internos representando testes de atributos e folhas especificando saídas, e discute expressividade e variações de árvores de decisão.
O documento discute aprendizado supervisionado bayesiano. Ele introduz o aprendizado bayesiano como um método probabilístico e descreve que o aprendizado supervisionado tem como objetivo classificação ou regressão para mapear entradas em saídas com base em exemplos.
O documento descreve a regra de Bayes e redes Bayesianas. Ele fornece um exemplo detalhado sobre como calcular a probabilidade de uma mulher ter câncer de mama dado um resultado positivo em um mamograma usando a regra de Bayes. Ele também define brevemente o que são redes Bayesianas, que representam dependências probabilísticas entre variáveis aleatórias através de um grafo direcionado acíclico.
O documento discute o tratamento de incerteza em inteligência artificial. Aborda como a probabilidade e a teoria da decisão podem ser usadas para tomar decisões racionais quando os resultados são incertos, levando em conta a probabilidade de cada resultado e sua utilidade segundo as preferências de quem decide.
O documento discute representação do conhecimento através de ontologias, incluindo taxonomias e herança. Ontologias organizam o conhecimento em categorias hierárquicas e permitem raciocinar sobre objetos classificados. Categorias podem ser representadas como predicados ou objetos. A herança permite que propriedades sejam herdadas por subcategorias.
O documento descreve o funcionamento do algoritmo de backward chaining em programação lógica, começando com uma explicação geral do processo de raciocínio de trás para frente a partir de um objetivo. Em seguida, apresenta formalmente o algoritmo de backward chaining, explicando cada parte do processo de forma recursiva para encontrar substituições que satisfaçam a query dada uma base de conhecimento. Por fim, exemplifica o algoritmo em uma base de conhecimento sobre venda de armas.
O documento descreve os passos para executar resolução e encadeamento para frente em lógica de primeira ordem. Primeiro, as expressões lógicas devem ser convertidas para forma clausal sem quantificadores. Em seguida, as variáveis devem ser substituídas durante a resolução usando o processo de unificação. Por fim, a resolução é executada para derivar novas conclusões.
O documento descreve as bases de dados em lógica de primeira ordem, como interagir com elas fazendo buscas (queries) por meio de sentenças lógicas em LPO, e como qualquer query que possa ser inferida logicamente pela base de dados será respondida afirmativamente. As bases de dados contêm axiomas com informações básicas e teoremas derivados dos axiomas, e o documento discute técnicas como forward chaining, backward chaining e resolução para realizar inferência nas bases de dados.
O documento descreve uma aula sobre lógica de primeira ordem. Apresenta os elementos básicos da lógica de primeira ordem, incluindo termos, predicados e a gramática formal para construir sentenças. Também explica como modelos e interpretações funcionam na lógica de primeira ordem, diferentemente da lógica proposicional.
O documento discute inferência em lógica proposicional, incluindo tipos de provas como verificação de modelos e aplicação de regras de inferência. Ele explica como aplicar regras de inferência como modus ponens e modus tollens para derivar novas sentenças a partir de premissas, formando uma prova.
O documento descreve um algoritmo de busca retroativa para resolver problemas de satisfação de restrições, utilizando forward checking e heurísticas como valores restantes mínimos, grau e valor menos restritivo. O algoritmo é demonstrado passo a passo em um exemplo de coloração de grafos, definindo variáveis, valores e propagando escolhas.
O documento descreve problemas de satisfação de restrições (CSPs), definidos por um conjunto de variáveis, domínios de valores para cada variável, e restrições sobre combinações de valores de variáveis. Apresenta exemplos de agendamento de aulas e coloração de mapas como CSPs, definindo suas variáveis, domínios e restrições.
O documento discute algoritmos genéticos e representação de cromossomos. Ele explica que os cromossomos podem ser representados de várias formas, incluindo binária, valores inteiros e reais. A representação binária é a mais simples, onde o cromossomo consiste de uma sequência de bits. A mutação e o cruzamento ocorrem durante o algoritmo genético para gerar novas soluções.
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 12, CPAD, A Bendita Esperança: A Marca do Cristão, 2Tr24, Pr Henrique, EBD NA TV, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, Central Gospel, Os Mortos Em Cristo, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
1. Aula 13 – Mem´oria Virtual e Pagina¸c˜ao
Norton Trevisan Roman
5 de outubro de 2017
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 1 / 40
2. Sobrecarga de Mem´oria
O que acontece quando a mem´oria dispon´ıvel n˜ao ´e
suficiente para todos os processos?
Existem 2 m´etodos gerais para lidar com a
sobrecarga de mem´oria:
A troca de processos (swapping):
Consiste em trazer, em sua totalidade, cada processo para a
mem´oria, execut´a-lo durante um tempo e, ent˜ao, devolvˆe-lo ao disco
Assim, processos ociosos acabam ficando no disco
Mem´oria Virtual:
Permite que programas possam ser executados mesmo que estejam
parcialmente carregados na mem´oria principal
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 2 / 40
3. Swapping
Chaveamento de processos inteiros entre a mem´oria
principal e o disco
Swap-out
Da mem´oria para uma regi˜ao especial do disco, chamada
“´area de swap”
Swap-in
Do disco pra mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 3 / 40
5. Swapping
Funcionamento:
Inicialmente o processo A est´a na mem´oria
Ent˜ao B e C s˜ao criados ou trazidos do disco (swap-in)
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 4 / 40
6. Swapping
Funcionamento:
Inicialmente o processo A est´a na mem´oria
Ent˜ao B e C s˜ao criados ou trazidos do disco (swap-in)
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 4 / 40
7. Swapping
Funcionamento:
Inicialmente o processo A est´a na mem´oria
Ent˜ao B e C s˜ao criados ou trazidos do disco (swap-in)
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 4 / 40
8. Sobrecarga de Mem´oria – Swapping
Funcionamento:
D ´e iniciado. O processo A ´e devolvido ao disco (swap-out),
dando espa¸co a D, que entra na mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 5 / 40
9. Sobrecarga de Mem´oria – Swapping
Funcionamento:
D ´e iniciado. O processo A ´e devolvido ao disco (swap-out),
dando espa¸co a D, que entra na mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 5 / 40
10. Sobrecarga de Mem´oria – Swapping
Funcionamento:
D ´e iniciado. O processo A ´e devolvido ao disco (swap-out),
dando espa¸co a D, que entra na mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 5 / 40
11. Sobrecarga de Mem´oria – Swapping
Funcionamento:
D ´e iniciado. O processo A ´e devolvido ao disco (swap-out),
dando espa¸co a D, que entra na mem´oria
A precisa rodar novamente. B ´e retirado, e A ´e novamente
trazido do disco para a mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 5 / 40
12. Sobrecarga de Mem´oria – Swapping
Funcionamento:
D ´e iniciado. O processo A ´e devolvido ao disco (swap-out),
dando espa¸co a D, que entra na mem´oria
A precisa rodar novamente. B ´e retirado, e A ´e novamente
trazido do disco para a mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 5 / 40
13. Sobrecarga de Mem´oria – Swapping
Funcionamento:
D ´e iniciado. O processo A ´e devolvido ao disco (swap-out),
dando espa¸co a D, que entra na mem´oria
A precisa rodar novamente. B ´e retirado, e A ´e novamente
trazido do disco para a mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 5 / 40
14. Swapping
Note que A agora est´a em
outra por¸c˜ao da mem´oria
Devemos realocar os
endere¸cos em A via software
durante a carga na mem´oria
Realoca¸c˜ao est´atica
Ou via hardware durante a
execu¸c˜ao do programa
Ex: via registradores base e
limite (realoca¸c˜ao dinˆamica) Antes Depois
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 6 / 40
15. Swapping
Problema
A opera¸c˜ao de swap pode criar
muitos “buracos” na mem´oria
– fragmenta¸c˜ao externa
Pode ficar dif´ıcil de acomodar outro processo no buraco
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 7 / 40
16. Swapping
Problema
A opera¸c˜ao de swap pode criar
muitos “buracos” na mem´oria
– fragmenta¸c˜ao externa
Pode ficar dif´ıcil de acomodar outro processo no buraco
Solu¸c˜ao: Compacta¸c˜ao de mem´oria:
Mova todos os processos o mais para
baixo poss´ıvel na mem´oria – haver´a um
´unico espa¸co vazio acima
Consome bastante CPU
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 7 / 40
17. Swapping
Compacta¸c˜ao de Mem´oria – Ex:
Qual o tempo para compactar 1GB?
Se copia 4B (32b) em 20ns
1.073.741.824B × 20ns
4B
= 5.368.709.120ns
ou ≈ 5.4s
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 8 / 40
18. Swapping – Aloca¸c˜ao de Mem´oria
A aloca¸c˜ao de mem´oria muda `a medida em que
Os processos chegam `a mem´oria
Os processos deixam a mem´oria
Quanto de mem´oria devemos alocar a um processo
quando ele ´e criado ou trazido do disco?
Se eles tiverem tamanho fixo, aloque o que ele precisa
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 9 / 40
19. Swapping – Aloca¸c˜ao de Mem´oria
Mas e se o segmento de dados crescer com o
tempo?
Ex: O processo aloca mem´oria
dinamicamente
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 10 / 40
20. Swapping – Aloca¸c˜ao de Mem´oria
Mas e se o segmento de dados crescer com o
tempo?
Ex: O processo aloca mem´oria
dinamicamente
Se houver um “buraco” adjacente `a
mem´oria atual do processo, ele pode ser
alocado, e o processo cresce nesse
buraco
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 10 / 40
21. Swapping – Aloca¸c˜ao de Mem´oria
E se ele for adjacente a outro processo?
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 11 / 40
22. Swapping – Aloca¸c˜ao de Mem´oria
E se ele for adjacente a outro processo?
Ou o movemos a um buraco maior na
mem´oria
Ou um ou mais processos ter˜ao que ser
transferidos para o disco, para criar esse
buraco
Se o processo n˜ao puder crescer na
mem´oria e a ´area de troca de disco
(swap) estiver cheia, ele pode ser suspenso at´e que algum
espa¸co seja liberado
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 11 / 40
23. Swapping – Aloca¸c˜ao de Mem´oria
Alternativamente:
Se o esperado ´e que a maioria dos processos cres¸ca durante
a execu¸c˜ao, podemos alocar uma mem´oria extra quando o
processo ´e carregado
Reduz o overhead de ter que fazer swap ou
movˆe-lo na mem´oria
Se ainda assim o processo for para o disco,
somente a mem´oria realmente em uso ´e
gravada
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 12 / 40
24. Swapping – Aloca¸c˜ao de Mem´oria
Se os processos tiverem dois segmentos que crescem
(dados e pilha, por exemplo), podemos usar a
mesma ideia
Nesse caso, a pilha cresce para baixo
enquanto que o segmento de dados
cresce para cima
A por¸c˜ao de mem´oria entre essas duas
´areas pode ser usada por ambas
Se ainda assim ficar sem espa¸co:
Transfere o processo a outro local, faz swap, ou termina o
processo
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 13 / 40
25. Gerenciando a Mem´oria
Quando se atribui mem´oria dinamicamente, o SO
deve gerenci´a-la
O gerenciamento pode ser feito por:
Mapas de bits
Listas ligadas
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 14 / 40
26. Gerenciando a Mem´oria: Mapas de Bits
Mem´oria ´e dividida em unidades de aloca¸c˜ao
Pode conter at´e v´arios KB
Cada unidade corresponde a um bit no bitmap:
0 → livre
1 → ocupado
Tamanho do bitmap depende do tamanho da
unidade e do tamanho da mem´oria
unidades de aloca¸c˜ao pequenas → bitmap grande
unidades de aloca¸c˜ao grandes → perda de espa¸co
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 15 / 40
27. Gerenciando a Mem´oria: Mapas de Bits
Vantagem:
Ocupa um tamanho fixo na mem´oria, pois s´o depende do
tamanho da mem´oria e da unidade de aloca¸c˜ao
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 16 / 40
28. Mapas de Bits – Fragmenta¸c˜ao
Interna
Desperd´ıcio de mem´oria dentro da ´area alocada para um
processo
Ex.: Unidades de aloca¸c˜ao grandes e um processo cujo
tamanho n˜ao ´e m´ultiplo da unidade de aloca¸c˜ao
Externa:
Desperd´ıcio fora da ´area alocada para um processo
Ex: Mem´oria fragmentada ap´os v´arias trocas com o disco,
sem que haja compacta¸c˜ao
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 17 / 40
29. Gerenciando a Mem´oria: Listas Ligadas
Mantˆem-se uma lista ligada de segmentos de
mem´oria livres e alocados
Cada segmento ou cont´em um processo ou ´e um buraco
vazio entre dois processos
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 18 / 40
30. Gerenciando a Mem´oria: Listas Ligadas
A lista ordenada por endere¸co fica f´acil de ser
atualizada:
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 19 / 40
31. Gerenciando a Mem´oria: Listas Ligadas
Com uma lista ordenada por endere¸co, como alocar
mem´oria a um processo?
Supondo que o gerenciador de mem´oria saiba quanta
mem´oria deve ser alocada ao processo
Primeiro encaixe (First fit):
O gerenciador percorre a lista de segmentos, desde o in´ıcio,
at´e que encontre um buraco grande o bastante
Quebra o buraco em dois peda¸cos – um para o processo e um para a
mem´oria ainda livre
Varia¸c˜ao: inicie a busca a partir de onde parou na vez
anterior (next fit – pr´oximo encaixe)
Deve memorizar a ´ultima posi¸c˜ao em que encontrou mem´oria
dispon´ıvel suficientemente grande
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 20 / 40
32. Gerenciando a Mem´oria: Listas Ligadas
Melhor encaixe (Best fit):
Busca a lista inteira, at´e o fim, e toma o menor buraco que
seja adequado
N˜ao quebra buracos grandes que poderiam ser ´uteis mais
tarde
Problema: permite o surgimento de buracos min´usculos
Pior encaixe (worst fit):
Sempre tome o maior buraco dispon´ıvel
Reduz a chance de buracos min´usculos e in´uteis
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 21 / 40
33. Gerenciando a Mem´oria: Listas Ligadas
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 22 / 40
34. Gerenciando a Mem´oria: Listas Ligadas
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 22 / 40
35. Gerenciando a Mem´oria: Listas Ligadas
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 22 / 40
36. Gerenciando a Mem´oria: Listas Ligadas
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 22 / 40
37. Gerenciando a Mem´oria: Listas Ligadas
Principais consequˆencias dos algoritmos:
Melhor encaixe:
Deixa o menor resto. Por´em, ap´os um longo processamento,
poder´a deixar “buracos” muito pequenos para serem ´uteis
Pior encaixe:
Deixa o maior espa¸co ap´os cada aloca¸c˜ao, mas tende a
espalhar as por¸c˜oes n˜ao utilizadas sobre ´areas n˜ao cont´ınuas
de mem´oria e, portanto, pode tornar dif´ıcil alocar grandes
processos
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 23 / 40
38. Gerenciando a Mem´oria: Listas Ligadas
Principais consequˆencias dos algoritmos:
Primeiro encaixe:
Tende a ser um meio termo entre a melhor e a pior escolha,
com a caracter´ıstica adicional de fazer com que os espa¸cos
vazios migrem para o final da mem´oria.
Na pr´atica, uma boa escolha.
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 24 / 40
39. Gerenciando a Mem´oria: Listas Ligadas
Esses algoritmos poderiam ser mais r´apidos se
segmentos de mem´oria em uso e livres fossem
mantidos em listas separadas
A busca se daria somente na lista de segmentos livres
Se ordenada por tamanho, a lista de livres tornaria o best fit
e worst fit mais r´apidos
Problema
Liberar mem´oria fica mais lento e complicado
Deve-se remover da lista de segmentos em uso e incluir na de livres
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 25 / 40
40. Gerenciando a Mem´oria: Listas Ligadas
Encaixe r´apido (Quick fit)
Mant´em listas separadas para alguns dos tamanhos de
mem´oria livre mais comumente requisitados
Uma para cada tamanho
A busca por um segmento livre de um determinado tamanho ´e r´apida
Tamanhos incomuns s˜ao incluidos em uma lista `a parte, ou na lista
existente mais pr´oxima
Problema quando processo ´e desalocado:
Encontrar os vizinhos ao buraco que ele deixou, para uni˜ao
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 26 / 40
42. Mem´oria Virtual
Registradores base e limite criam a abstra¸c˜ao de
espa¸co de endere¸co
Swap trata do problema de n˜ao termos mem´oria
suficiente para todos os processos
Exige que haja mem´oria para cada processo individualmente
E se um ´unico processo ocupar mais mem´oria que o
dispon´ıvel (um bloatware)?
Hoje em dia ´e comum necessidade de rodar programas
grandes demais para a mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 28 / 40
43. Sobrecarga de Mem´oria – Mem´oria Virtual
Que fazer?
Mem´oria virtual (Fotheringham, 1961)
M´etodo para aloca¸c˜ao de processos na mem´oria
Continuamos “enganando” o processo, quanto a que
endere¸co de mem´oria ele est´a realmente usando
Usa duas t´ecnicas principais (normalmente juntas):
Pagina¸c˜ao – blocos de tamanho fixo
Segmenta¸c˜ao – blocos de tamanho vari´avel
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 29 / 40
44. Mem´oria Virtual – Pagina¸c˜ao
A ideia b´asica ´e que cada programa tenha seu
pr´oprio espa¸co de endere¸camento, que ´e dividido em
blocos de tamanho fixo chamados p´aginas
Cada p´agina ´e uma s´erie cont´ıgua de endere¸cos, mapeada na
mem´oria f´ısica
Nem todas precisam estar na mem´oria f´ısica para executar o
programa
Quando o programa referencia um endere¸co em uma
p´agina que est´a na mem´oria, o hardware executa o
mapeamento necess´ario dinamicamente
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 30 / 40
45. Mem´oria Virtual – Pagina¸c˜ao
Quando o programa referencia um endere¸co em uma
p´agina que n˜ao est´a na mem´oria
A instru¸c˜ao falha – page fault (trap)
O SO deve obter a p´agina que falta e reexecutar a instru¸c˜ao
que falhou
O processo recebe mem´oria f´ısica sempre que houver mem´oria
dispon´ıvel
Com multiprograma¸c˜ao, a mem´oria cont´em partes
de diferentes programas
Se um programa estiver esperando por outra p´agina, a CPU
pode ser escalonada a outro processo
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 31 / 40
46. Real × Virtual
Os endere¸cos f´ısicos (reais) podem ser gerados de
muitas maneiras:
Mapeamento direto
Usando registradores base e limite
etc
O endere¸co resultante ´e colocado diretamente no
barramento de mem´oria
Espa¸co de Endere¸camento F´ısico de um processo:
Formado por todos os endere¸cos f´ısicos/reais aceitos pela
mem´oria principal (RAM)
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 32 / 40
47. Real × Virtual
Endere¸cos gerados pelos programas s˜ao chamados
de virtuais ou l´ogicos
Na ausˆencia de mem´oria virtual, o endere¸co virtual ´e
idˆentico ao f´ısico
Com mem´oria virtual, ´e mapeado `a mem´oria f´ısica (n˜ao vai
diretamente ao barramento)
Espa¸co de Endere¸camento Virtual de um processo:
Formado por todos os endere¸cos virtuais que esse processo
pode gerar
N˜ao necessariamente correspondem diretamente aos f´ısicos
O espa¸co de endere¸co f´ısico de um processo pode ser n˜ao
cont´ıguo
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 33 / 40
48. Mem´oria Virtual – Pagina¸c˜ao
Um processo em Mem´oria Virtual faz referˆencia a
endere¸cos virtuais e n˜ao a endere¸co reais de RAM
No momento da execu¸c˜ao de
uma instru¸c˜ao, o endere¸co
virtual ´e traduzido para um
endere¸co real
O barramento da RAM lida
apenas endere¸cos reais
Deve haver um mapeamento
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 34 / 40
49. Mem´oria Virtual – Pagina¸c˜ao
E como se d´a o mapeamento?
Tabela de p´aginas: respons´avel por armazenar informa¸c˜oes
sobre as p´aginas virtuais:
argumento de entrada → n´umero da p´agina virtual
argumento de sa´ıda (resultado) → n´umero da p´agina real (ou
moldura de p´agina)
Gerenciada pela MMU (j´a j´a...)
As transferˆencias entre mem´oria e disco s˜ao sempre
em p´aginas completas
P´agina ´e a unidade b´asica para transferˆencia de informa¸c˜ao
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 35 / 40
50. Mem´oria Virtual – Pagina¸c˜ao
E quem faz esse mapeamento?
Um hardware especial, presente na CPU → MMU (memory
management unit)
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 36 / 40
51. Mem´oria Virtual – Pagina¸c˜ao
Ex:
Computador que gera at´e
64K de endere¸cos virtuais
(16 bits)
Tem apenas 32KB de
mem´oria f´ısica
Programas de 64KB podem
ser escritos, mas n˜ao
carregados inteiramente na
mem´oria
Uma c´opia de 64KB deve
estar no disco, para que
partes possam ser carregadas
`a mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 37 / 40
52. Mem´oria Virtual – Pagina¸c˜ao
Divide-se o espa¸co de
endere¸camento virtual em
unidades de tamanho fixo –
as p´aginas
Nesse caso, P´aginas de 4KB
4096 bytes/endere¸cos
(0-4095)
As unidades correspondentes
na mem´oria f´ısica s˜ao as
page frames
P´aginas e molduras de p´agina s˜ao em geral do mesmo
tamanho
Alternativamente, o SO pode mapear 2 ou mais molduras a
uma ´unica p´agina
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 38 / 40
53. Mem´oria Virtual – Pagina¸c˜ao
Embora tenha 32KB, o
sistema age como se tivesse
64KB
Ex: MOV REG,5
A MMU identifica que ´e a
primeira p´agina (5B acima da
sua base → 0)
Ela est´a mapeada `a terceira
frame, que come¸ca em 8k =
8192
O endere¸co enviado ao
barramento ´e 5 + 8192 =
8197
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 39 / 40
54. Mem´oria Virtual – Pagina¸c˜ao
Como sabemos que p´aginas
est˜ao na mem´oria
efetivamente?
Se temos apenas 8 frames,
somente 8 p´aginas (das 16)
est˜ao mapeadas
Solu¸c˜ao:
Bit de presente/ausente em
cada entrada da tabela de
p´aginas
Identifica que p´aginas est˜ao
fisicamente na mem´oria
Norton Trevisan Roman Aula 13 – Mem´oria Virtual e Pagina¸c˜ao 5 de outubro de 2017 40 / 40