Enviado em 27/06/2016 - 22:52h
Oi gente#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
void movreg() {
printf("MOV REG, 32780\n"); // instrução de acesso
sleep(rand()%10); //tempo de geração do registro de acesso fictício
printf("Page is unmapped – page fault!\n"); // resposta fictícia
}
void mmu(){
int[] tabeladepaginas;
int[] mapeamentoentrepaginaseframes;
boolean gerouinstrucao;
String res;
int resultado;
if (gerouinstrucao = true) {
// MAPEAR ENDEREÇO VIRTUAL (EM MEMORIA VIRTUAL) NO ENDEREÇO REAL (EM MEMÓRIA PRINCIPAL).
resultado = memoriavirtual/memoriaprincipal;
res = ("Resultado do mapeamento de endereço virtual em memória virtual no endereço real em memória principal = %d", resultado);
return res;
}
// Mantém o mapeamento entre páginas e frames.
// Quando processador gera uma instrução:
// MMU mapeia o endereço virtual (em memória virtual) no endereço real (em memória principal).
// Uma nova instrução é gerada e deverá ser mostrada na saída padrão.
// A MMU pode realizar duas tarefas que, ao final, resultam na apresentação do conteúdo do processo (arquivo) contido no endereço gerado:
// 1 - Se o novo endereço (real) gerado pela MMU estiver em memória principal, é mostrado o conteúdo do processo (arquivo) contido neste endereço;
// 2 - Se o novo endereço (real) gerado pela MMU não estiver em memória principal, a MMU emite (na saída padrão) uma falta de página.
// Em caso de falta de página o processo de carregamento da página pode ocorrer de duas formas:
// Se existem frames disponíveis : o bloco de dados do arquivo correspondente ao frame é copiado para a memória principal no primeiro frame disponível e a tabela de páginas é atualizada
// Se não existem frames disponíveis, deve ser escolhido uma página a ser substituída. Este processo de escolha de qual página deve ser substituída deve-se dar através do algoritmo aging.
}
void main() {
int memoriaprincipal = 64;
int memoriavirtual = 1024;
int paginas = 8;
int frames = 8;
int processorepresentadoporumarquivodedados = 512;
sleep(rand()%10);
movreg();
mmu();
}
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Programa duplicado no "Abrir com" e na barra de pesquisa do ... (1)
VMs e Interfaces de Rede desapareceram (13)
Como abrir o pycharm no linux [RESOLVIDO] (4)