Gerência de Memória. Gerência de Memória

Tamanho: px
Começar a partir da página:

Download "Gerência de Memória. Gerência de Memória"

Transcrição

1 Gerência de Memória 1. Introdução Realocação e Proteção 2. Gerência básica de Memória Registradores base e limite MMU e troca de contexto Multiprogramação c/ partições fixas 3. Swapping 4. Gerência de Memória no Minix 5. Paginação (Memória Virtual) Algoritmos para troca de páginas Questões de Projeto e Implementação Tabelas de páginas invertidas 6. Segmentação 1 Gerência de Memória O Gerente de Memória é um componente do Sistema Operacional (contido inteira-ou parcialmente no kernel) que aloca memória principal para os processos, e gerencia a hierarquia de memória (Caches, RAM, e Disco) Suas tarefas: Garante isolamento mútuo entre processos (proteção) Mantém o registro das áreas de memória em uso Aloca memória RAM para novos processos (no fork()) Faz o swapping transparente entre memória principal e disco Atende a requisições de aumento de memória Mantém o mapeamento de memória virtual para memoria fisica Implementa a política de alocação de memória para os processos 2 1

2 Gerência de Memória Lei de Parkinson: Programas sempre aumentarão de tamanho, demandando toda a memória disponível O ideal seria ter memória: Infinitamente grande, com acesso infinitamente rápido, não-volátil e de baixo custo Hierarquia de memoria MB de caches (L1-L3): muito rápidos, porém caros GB de RAM de velocidade e preço médios GB de disco: lento, mas barato Hierarquia de Caches e memória principal 3 GM para Monoprogramação ( paginação (sem swapping ou Para S.Os com único usuário e dispositivos simples (embarcados). Execução de um processo por vez. Ciclo básico: Evento de E/S (p.ex. comando do usuário) è carregamento programa è execução Baixa utilização de CPU Fig: Possíveis alocações de memória (monoprogramação) 4 2

3 Efeito da Multiprogramação Degree of multiprogramming Utilização da CPU como função do grau de multiprogramação (= ( memória número de processos na 5 Realocação e Proteção São dois problemas introduzidos pela Multiprogramação: Realocação: não se sabe de antemão em qual região de memória o processo vai ser executado Endereço de variáveis e do código não podem ser absolutos Proteção: evitar que um processo acesse uma região usada por outro processo Solução 1: modificar endereços quando processo é carregado (o ligador/carregador precisa ter um bit map sobre quais endereços do ( atualizados programa precisam ser Como endereços são absolutos, seria possível acessar qualquer endereço de memória, e um programa pode construir dinamicamente instruções Solução melhor: Mapeamento para a memória física ocorre em tempo de execução e é relativa a dois registradores: base e limite Qualquer acesso à memória fora desses limites é considerado erro e processo é abortado 6 3

4 Registradores Base e Limite Para cada processo, existe um par, Base Register (BR), e Limit Register (LR), que determinam a região de memória usada pelo processo CPU End. Lógico (*) LR? Sim Não BR End. Físico + RAM Falha de acesso Cabe à MMU (Memory Management Unit) fazer essa conversão. A cada troca de contexto de processos, o par (BR/LR) precisa ser trocado. Isso é o memory map do processo. 7 Técnicas baseadas em realocação Questão: Organização espacial da memória: 1. Memória com partições fixas (isto é, BR e LR só podem assumir determinados valores) Alternativas: Fila de espera de processos por tamanho de partição versus Fila única 2. Possibilidade de divisão/aglomeracão de partições Fila única de partições ( 9 partições tem 2 x bytes (p.ex.: partições de 2 3. Memória RAM sem partições (BR e LR assumem qualquer ( valor Questão: permanência de processos na memória a) Processos/jobs mantém a mesma região durante toda a sua execução OU b) Processos podem ser retirados da memória, e posteriromente voltar à memória em outra região/partição (swapping) 8 4

5 Organização espacial de Memória 4 MB 2 MB 2 MB 512 KB 1 MB 1 MB (a) Partições de tamanho fixo (b) Partições de 2 i bytes podem se agurpar e se dividir (c) Sem partições Multiprogramação com partições fixas Presente nos computadores de 1a. e 2a. geração Exemplos: IBM OS/360 (+) simples de implementar Filas de entrada separadas: (-) processos menores não podem ser colocados em partições grandes disponíveis. Fila única: Seleção First-Fit, Best Fit, Worst Fit 10 5

6 Swapping Em sistemas com compartilhamento de tempo (timesharing), a memória principal pode não ser suficiente para todos os processos. Por exemplo: existem muitos processos interativos (orienatdos a E/S) de muitos usuários), ou Ou um processo requisita mais memória para continuar a execução. Ideia básica: usar espaço em disco como extensão da memória RAM (1), e colocar lá os processos enquanto estiverem bloqueados (esperando por E/S), carregando-os de volta para a memória assim que são desbloqueados Pode ser usado para qualquer organização espacial de memória (1) Partição de swapping ou paginação 12 Swapping Main Memory Disk (swap partition) Duas alternativas: Copiar a imagem inteira (swapping) Permitir que processo fique parcialmente em memória, e parcialmente em disco (paginação) è Memória Virtual 6

7 Swapping Quando um processo é bloqueado (espera por E/S) ele pode ser swapped out, e depois swapped in para memória principal. Permite manter um número maior de processos ativos, aumentando a utilização da CPU Fig.: Sequência de alocação de memória usando swapping para 4 processos. Pode acarretar: Regiões de memória não utilizada ( buracos ) de qualquer tamanho Um mesmo processo pode ocupar diferentes partições ao longo de sua execução 14 Swapping Principal problema do swapping com partições de tamanho variável: Manter a informação sobre espaços não utilizados (livres) Evitar uma fragmentação externa da memória (= espaços pequenos ( utilizados não p1 p3 Fragmentação = parcela da memória desperdiçada devido a imagens de processos não diretamente adjacentes. p4 OS Frag. interna = quando há partições fixas; Frag. externa = quando não há partições Compactação de memória é muito custosa São gastos milisegundos 15 7

8 Swapping Também é usado para lidar com processos que aumentam sua demanda de memória. Algumas alternativas: a) alocar uma partição para o processo que é adjacente a uma partição livre b) Alocar uma partição conjunta para a pilha e o heap, e faze-los crescer em sentidos opostos. Quando processo usa todo espaço de memória disponível, fazer um swap-out, e um swap-in em uma partição maior (mas, se disco de swap está cheio, processo ( terminado precisa ser 16 Gerenciamento de espaços disponíveis Idéia: dividir a memória em unidades de alocação de n bytes (1 KB no Minix) e representar a ocupação de (livre/ocupado) de lotes de unidades usando um bit map ou então uma lista encadeada Fig: Representação da ocupação da memória com 5 processos e 3 lacunas em Bit Map ou Lista encadeada Bit Map: armazenamento compacto e simples, mas busca por determinado tamanho de lote livre pode envolver análise de várias palavras (no bit map) Lista ligada : cada nó contém o endereço inicial e o tamanho de uma partição ocupada ou livre 17 8

9 Gerenciamento de Memória com Listas Quando processo é swapped out, a lacuna correspondente precisa ser combinada com espaços vizinhos livres. Quando processo é swapped in, percorre-se a lista buscando um espaço livre ( memória suficientemente grande (lista geralmente ordenada por endereços de è è è è Fig: Quando X é swapped out: quatro combinações de nós na lista Possíveis critérios de escolha de espaço livre: First Fit aloca o primeiro espaço encontrado Best Fit percorre toda a lista e aloca o menor possível espaço è pode deixar fragmentos muito pequenos para alocação para outros processos Worst Fit percorre toda a lista e aloca o maior possível espaço 18 Gerenciamento de Memória com Listas Qualquer um dos algoritmo é mais eficiente se houverem 2 listas: lista de memória em uso e lista de espaços livres ( alocação Listas são mantidas ordenadas por tamanho (# de unidades de Problema: exige um processamento adicional sempre quando ocorre uma liberação de memória (precisa-se verificar se há espaços adjacentes livres e inserir o novo espaço na posição correta da lista). Alternativa: (. etc Quick Fit: mantém listas separadas por tamanho do espaço livre (2K, 4K, 8K, Problema: ao liberar memória, o novo espaço criado precisa ser inserido na fila ( vizinhas correspondente (possivelmente, após combinação com áreas 4K 8K 16K 32K 64K other 19 9

10 Gerenciamento de Memória em Minix3 Implementado pelo PM Com swapping e nem paginação (processo carregado permanece exatamente na partição alocada) Motivos: Ser compatível com processador Intel 8088, que não possui MMU Menor complexidade do código Possibilitar a portabilidade para outras arquiteturas (sist. embarcados), também sem MMU Memória sem partições Espaços livres em lista encadeada e seleção usando politica First Fit O mapa de memória (qual segmento está alocado em qual endereço de memória) é mantido pelo system task (no núcleo) è separação de política e mecanismo Gerenciamento de Memória no Minix3 Cada processo contém 2 (ou 3) segmentos, que são mapeados para uma partição contígua de memória Texto (segmento I), dados (D) e pilha Segmentos I e D podem ser alocados juntos (modo combinado) ou separado Na tabela de processos (mproc.h), campo mp_seg[] é um vetor para os segmentos de texto, heap e pilha. Cada elemento deste vetor contém os endereços virtual e real de cada segmento ( 0x34800 ) 210K stack data ( 0x34000 ) 208K ( 0x33c00 ) 207K 0x8 0xd0 0xc8 0xc8 0x2 0x7 text ( 0x32c00 ) 203K ( 0x32000 ) 200K Obs: 0 significa segmentos combinados I+D; Tudo em unidades de Click = 1KB 21 10

11 Gerenciamento de Memória em Minix3 Fork copia endereços de segmentos do pai para o filho Exec libera espaço ocupado (cópia da imagem pai) e procura-se por espaço livre que comporte a nova imagem Processo não aumenta o tamanho de sua imagem, que é determinado (estaticamente) no cabeçalho no executável (formato do a.out) Pilha e heap crescem em sentidos opostos. Somente quando heap é atualizado (BRK system call) o limite da pilha é atualizado Motivo: compatibilidade com 8088 e processadores mais simples, que não possuem interrupção que detecta avanço da pilha sobre o heap pilha data text 22 Chamadas de sistema relacionadas a gerência de memória fork() - cria processo filho PM clona a imagem do chamador, que é posicionada na primeira lacuna disponível. exec() - carrega executável a ser executado por chamador PM libera a área de memória do chamador e procura outra lacuna suficentemente grande para o executável indicado exit() - termina o chamdor e libera a memória que estava alocada a ele () wait brk() gerado por um malloc() 11

12 Efeito de um fork() & exec() Memória Virtual É necessária, quando o total de memória necessária para um conjunto de processos excede o tamanho da memória física. Também aqui, usa-se parte do disco como extensão da memória RAM. Usa a técnica de paginação: Espaço de endereçamento lógico de cada processo e memória física são divididos em partições de mesmo tamanho fixo (chamados de páginas e quadro de páginas) Em vez de fazer o swap in/out de uma imagem inteira de processo, cada página pode ser movida do disco para a memória e vice-versa. Em cada acesso a memória o hardware verifica se a página correspondente está na memória, e se não for o caso, então um tratador de páginas faltantes (page-fault) a copia para lá. A espera pela cópia para a memória de uma página é equivalente a um bloqueio por E/S 38 12

13 Paginação Requer da existência de suporte por hardware (Memory Management Unit -MMU) MMU intercepta qualquer acesso à memória (p/ instruções e dados) Mapeia endereços lógicos para endereços físicos (através de uma tabela ( página de Quando página acessada não está em memória, gera uma interrupção de falta de página (page fault), que causa a interrupção do processo em execução e o seu bloqueio até que a página tenha sido copiada 39 Exemplo Memória Virtual Exemplo: tamanho página = 4KB (varia ( KB de 512 Bytes a 64 Um espaço de endereçamento virtual de 64K é mapeado em 32KB de memória RAM Número da página é usada como índice para a tabela de páginas (TP) Cada entrada na TP contém, entre outros: Bit presença: se página está em memória Se estiver, o número do quadro correspondente Endereço lógico X é mapeado para endereço físico: TP(X/ 4K) + X % 4K 40 13

14 Tabela de Páginas Exemplo: Operação interna a uma MMU com 16 páginas de tamanho 4 KB cada Composição do endereço lógico: Bits mais significativos = número da página Bits menos significativos = deslocamento do endereço dentro de uma página 41 Paginação Região de memória física ocupada por um processo não precisa ser contíguo Memória física é particionada em quadros de página (frames) de tamanho 2 x bytes Espaço de endereçamento lógico é dividido em páginas de tamanho 2 x bytes Cada endereço lógico é composto do par (número-da-página, deslocamento), onde número-página é usado como índice para uma entrada na tabela de páginas Exemplo: páginas de 4 K para endereços de 32 bits: Número-da-página deslocamento Obs: 20 bits 12 bits - Em paginação, de certa forma, tem-se um registrador de realocação por página - Evita fragmentação externa, mas causa fragmentação interna 42 14

15 Paginação P0 0 P3 CPU pg o P1 P2 fr o 1 2 P2 P1 P3 3 pg: no. da página fr: no. do quadro ( deslocamento ) o: offset mem ria l gica tabela de p ginas P0 mem ria f sica Processo pode ser executado, contanto que haja um número mínimo de páginas na memória (as páginas sendo acessadas) O espaço de endereçamento lógico é contiguo, mas o espaço físico respectivo é distribuído/separado. A tradução é feita de forma transparente pela MMU, que acessa a TabPaginas, e mantém um cache das páginas recentemente consultadas. 43 Paginação Cada processo possui a sua tabela de páginas, que precisa ser carregada na MMU cada vez que ocorre troca de contexto. Cada entrada na Tabela de Processos contém um ponteiro para a tabela de páginas do processo. O dispatcher é o encarregado de "carregar" a nova tabela de páginas na MMU. Como qualquer acesso à memória ocorre através do mapeamento pela TP. Isso fornece também automaticamente um mecanismo de proteção contanto que o preenchimento da tabela de página seja feita em modo privilegiado (supervisor)!! => à medida que as páginas vão sendo alocadas, o núcleo preenche as entradas na tabela de página. Além disto, kernel precisa manter informações sobre o conjunto de quadros disponíveis na memória principal: Para isso, possui uma tabela de quadros (frame-table), com uma entrada por quadro, informando se o mesmo está alocado, e para qual página de qual processo. => De maneira geral, a paginação aumenta o tempo de troca de contexto. Por que? 44 15

16 Controle de acesso Paginação pode ser estendida para incorporar controle de acesso para cada página: além do número do quadro, cada entrada da TP contém bits para o tipo de acesso permitido: Por exemplo somente-leitura(r), leitura-e-escrita(w) ou somente-execução(x) se acesso requisitado viola o permitido, a MMU gera a interrupção violação de acesso de memória a validade de uma operação sob um endereço lógico pode ser testada em paralelo com a obtenção do endereço físico correspondente. Além disto, pode se usar bits valido/inválido para marcar as páginas lógicas que efetivamente compõem o espaço de endereçamento lógico do processo é útil para espaços de endereçamentos grandes e utilizados de forma descontínua note-se que devido ao problema do não alinhamento de dados com os limites das páginas, esse tipo de controle de acesso não é muito preciso. 45 Entrada da Tabela de Páginas Resumo dos campos/flags: Caching: se faz sentido guardar essa entrada da TP no cache Referenced: se houve acesso a algum endereço da página nos últimos t Modified: se houve acesso de escrita a algum endereço da página nos últimos t Protection: Controle de acesso Present: se página está na memória Número do quadro na memória física (page frame number) 46 16

17 Tabela de Páginas (TP) Possíveis implementações: 1) TP é um conjunto de registradores dedicados, que são carregados ( PDP-11 através de instruções privilegiadas (ex. DEC Pró: não necessita de MMU e tradução é veloz ( Contra: número de entradas é pequeno (tipicamente 2) TP é mantida em memória principal - mantém-se um registrador com o endereço base da tabela (Process Table Base Register, PTBR) e entrada na tabela = PTBR + #página_virtual Prós: possibilita tabelas de páginas arbitrariamente grandes a troca de contexto envolve somente PTBR Contras: tempo de acesso à memória duplica, devido ao acesso inicial à tabela de páginas 47 A tabela de páginas Possíveis implementações (cont.): ( TLB ) 3) utilização de um Translation Look-aside Buffer - TLB = vetor associativo que permite comparação paralela com suas entradas (de entradas) - é um cache das entradas da TabPaginas recentemente acessadas (è ( localidade princípio de - quando uma página lógica é acessada e seu mapeamento não está no TLB (TLB miss) então: * acesssa-se a TabPaginas e coloca-se a entrada no TLB * se a página está em memória, operacão é completada; senão gera-se uma interrpção Page-fault - a cada troca de contexto, o TLB precisa ser zerado Vantagem: tradução rápida Desvantagem: requer gerenciamento do conteúdo do TLB (substituição de entradas) 48 17

18 Translation Look-aside Buffer A razão de (TLB hits/acessos à memória) determina a eficiência da tradução e é usada para calcular o tempo médio de acesso à memória Razão de TLB hits depende do tamanho do TLB e da estratégia de troca de entradas 49 Funcionamento do TLB Ao receber um novo indice de página (I) todas as entradas do TLB são comparadas em paralelo: Se I é encontrado e tipo de acesso é válido, então usa-se a entrada do TLB (è endereço do quadro) Se tipo de acesso é inválido, gera-se uma falha de proteção (e processo é abortado) Se I não é encontrado na TLB, (TLB miss), faz-se uma consulta a TabPáginas (TP) em memória, e copia-se a entrada completa ( futuros da TP para o TLB (para agilizar acessos Quando houver acesso p/escrita, copia-se o flag de escrita (Modify bit) de TLB para a TabPáginas Obs: Pode-se aumentar a eficiência da paginação, aumentando-se o tamanho do TLB

19 TLBs Translation Lookaside Buffers Possível configuração do TLB para um programa com: Um loop que percorre páginas 19-21, acessando um vetor nas páginas O índice do vetor está em pagina 140 e a pilha em void main() { structx vector[1000] int I; while (finished) { vector[i] = } } 51 Tabelas de página Principal problema é que a própria TP precisa estar em memória. E pior, precisa-se manter uma TP por processo em execução. Então, dependendo do número de entradas de cada TP (que depende do tamanho da página), pode ser inviável, manter todas elas na memória do núcleo. O que fazer? 19

20 Tabela de Páginas de 2 níveis Resolve o problema de manter grandes tabelas de página na memória (para todos os processos). Ideia: fazer a TabPaginas ser paginada (manter apenas as partes da TabPagina cujo mapeamento esteja sendo usado. 2 níveis: tabela raiz (de 1o. nível) e TabelaPagina de 2o. nível A tabela raiz contém os ponteiros para essas partes da TabPaginas. Top-level page table Second-level page tables Offset = 12 bits Tam. página= 4K 32 bits page number è 2 20 entries! 54 Tabela de Páginas de 2 níveis 20

21 Tabela de páginas Invertidas Para arquiteturas de 64 bits, o espaço de endereçamento lógico é 2 64 bytes! Mesmo se o se tamanho de página é 4KB, isso leva a TPs muito grandes, e.g alguns Tera Bytes!). Por isso, em alguns sistemas usa-se uma TP invertida: Uma entrada p/ cada quadro de página (da memória física) ( página Cada entrada contém uma lista de (processid, PresenceBit, no. da Desvantagem: a tradução de endereços lógicos è físcios fica bem mais lenta, i.e. para cada página p, precisa-se fazer uma varredura pela TP invertida para encontrar o quadro correspondente. Só é viável, se o TLB for usado para guardar as associações correntes. Somente quando ocorre um TLB miss, a TP invertida precisa ser pesquisada. Usa-se também uma função de hash para indexar as entradas da TP invertida. 56 Tabela de Páginas Invertidas L Se página não está no TLB, então precisa-se percorrer a tabela invertida procurando pelo PID e indice da página

22 Paginação e Algoritmos de Substituição de Páginas Qual página substituir? Page-out? Page-in Fig adaptada de Hussein Abdel-Wahab Algoritmos de Substituição de Páginas A cada page-fault: o gerenciador de memória aloca um quadro de páginas para a página requisitada e precisa escolher qual página (de um quadro de páginas) deve ser removida da memória. O Algoritmo de substituição de páginas determina qual página deve ser removida e usa as informações estatísticas contidas nas tabelas de páginas. Nessa seleção deve levar em conta que: uma página modificada precisa ser copiada para disco,mas uma nãomodificada pode ser sobreescrita não é boa idéia tirar uma página que está em uso, pois ela terá que ser carregada em breve 59 22

23 Algoritmo de substituição ideal Substitui a página que será acessada no futuro mais remoto Infelizmente, não é viável na prática, pois exigiria um conhecimento sobre todos os acessos futuros Usado apenas em simulações para avaliar o quanto os algoritmos concretos diferem do algoritmo ideal 60 Algoritmo Página não recentemente Utilizada (Not Recently Used - NRU) Cada página tem um bit de acesso (R) e de Modificação (M): Bits são setados sempre que página é acessada ou modificada Pagina é carregada com permissão somente para leitura e M=0. No primeiro acesso para escrita, o mecanismo proteção notifica o núcleo, que seta M=1, e troca para permissão de escrita A cada interrupção do relógio, seta-se R = 0 Páginas são classificadas em 4 categorias 1. Não referenciada, não modificada 2. Não referenciada, modificada 3. referenciada, não modificada 4. referenciada, modificada NRU escolhe primeiro qualquer página (em ordem ascendente de categoria) è Razão da prioridade de descarte (#2 antes #3): É melhor manter páginas sendo referenciadas, do que modificadas mas pouco referenciadas

24 Algoritmo FIFO de substituição Manter uma lista ligada de todas as páginas na ordem em que foram carregadas na memória A página (mais antiga), no início da fila, é a primeira ser descartada Principal Vantagem: Simplicidade de implementação. Principal Desvantagem: Não é levado em conta se uma página está sendo frequentemente acessada não. Por exemplo: a página mais antiga pode estar sendo acessada com alta frequência. 62 Algoritmo da Segunda Chance Uma variante do algoritmo FIFO que leva em conta acessos recentes às páginas: Páginas são mantidas em fila FIFO (ordenada por momento de carregamento) Se página mais antiga possui bit R=0, ela é removida. Se tiver bit R=1, o bit é zerado, e a página é colocada no final da fila,. Ou seja: dá se uma 2 a chance. Página carregada há mais tempo. R=1 Página carregada mais recentemente. R=0 A página é tratada como se fosse carregada recentemente

25 Algoritmo do Relógio Todos as páginas carregadas estão em uma lista circular. Ponteiro aponta para a próxima a ser testada Trata-se simplesmente de uma implementação alternativa para o algoritmo da 2a. Chance (sem a necessidade de manipular a fila) 64 Algoritmo Menos recentemente utilizada Least Recently Used (LRU) Assume que páginas usadas recentemente, deverão ser usadas em breve novamente. Princípio: descartar a página que ficou sem acesso durante o periodo de tempo mais longo Implementação ideal, mas impraticável: Lista de páginas ordenadas pelo acesso mais recente É inviável pois demandaria uma manipulação da lista a cada acesso de memória!! Alternativa (necessita de apoio de hardware): usar um contador que é incrementado por hardware a cada acesso à memória Cada vez que uma página é acessada, atualiza este contador na entrada da TP correspondente Seleciona a página com o menor contador Periodicamente, zera o contador 65 25

26 LRU com Hardware especial Manipular uma matriz n x n (para n entradas na TP) com o registro de acessos recentes (linha i = contador da página i) Idéia: Ao acessar página i preencha toda linha i com bit 1 e, em seguida, toda coluna i com bit 0. A página mais antiga é aquela com menor valor. Acesso Pág. 0 Acesso Pág. 1 Acesso Pág. 2 Acesso Pág. 3 Acesso Pág. 2 Acesso Pág. 1 Acesso Pág. 0 Acesso Pág. 3 Acesso Pág. 2 Acesso Pág Not Frequently Used (NFU) Requer um contador por página. A cada intervalo de tempo (clock tick) todas as páginas referenciadas no último intervalo de tempo terão o seu contador incrementado. Assim, a página com o menor contador é a candidata a ser substituida. Principal problema: contabiliza-se apenas a frequência de acesso, mas não leva-se em conta quando foi esse acesso. Páginas muito acessadas em passado longínquo permanecem com alto ibope. 26

27 Algoritmo do envelhecimento - Simulando LRU em Software Manter um contador para cada página; bit R mantém a informação se página foi acessada durante último período de tempo (cada tick de relógio): faz-se um shift de 1 bit para a direita no contador de cada página e adiciona-se o R-bit como bit mais significativo no contador 68 Principais limitações do Alg. de ( LRU Envelhecimento (comparado ao Quando duas páginas possuem o mesmo valor de contador (de idade), não há como saber qual delas foi acessada por último (no último período de tempo) Pag.X Pag.Y Os contadores de idade têm um número finito de bits. Portanto quando o valor atinge 0, não há como distinguir se a última referência ocorreu há apenas n ticks do relógio ou há muito mais tempo. t è Normalmente, basta contador com 8 bits e períodos de 20 ms entre ticks. Se uma página não foi acessada a 160 ms, provavelmente não é mais relavente

28 Questões de projeto de paginação Quando um programa gera muitas faltas de página para poucas instruções executadas, ele se encontra em ( thrashing ) Ultra-paginação Deve-se tentar minimizar a taxa de page faults: para cada processo em execução, manter número suficiente número de páginas na memória para processos que tenham sido movidos para disco e estejam retornando (swapped-in), evitar que todas as páginas sejam requisitadas individualmente, mas tentar se antecipar Por isso, precisa-se identificar qual é o conjunto de páginas em uso corrente por cada processo Ultra-paginação (Thrashing) Fenômeno que ocorre quando o gerenciador de memória fica sobrecarregado com cópias de páginas entre memória e disco. Alta frequência de faltas de página: ocorre quando um processo possui muito menos páginas na memória do que o seu conjunto de páginas em uso (working-set). # taxa de falta de páginas por tempo # de páginas na memória 71 28

29 O Conjunto de páginas em uso A maioria dos processsos apresenta uma localidade de referência (acessa apenas uma fração pequena de suas páginas). # páginas Tamanho do conjunto no instante t O conjunto de uso (working set) é o conjunto das páginas acessadas pelas k referências mais recentes. O sistema de paginação deve gerenciar este conjunto usando envelhecimento. Quando um processo é escolhido para execução seu working-set ( demanda pode ser pré-paginado (em vez de fazer paginação por t 72 Algoritmo de substituição baseado no working set Mantém-se um contador virtual de tempo e periodicamente, atualiza-se o contador em cada página que tenha o bit R=1.Working Set consiste das páginas com contador dentro da janela de tempo [t- τ, t] Se R=0, não é feita autalização. Se (R==0 && age τ ) avança com tempo virtual e depois verifica novamente. Descarta-se páginas com R=0 e mais antigas do que τ

30 Resumo dos algoritmos de susbtituição de página Nome do Algoritmo Ótimo prevendo o futuro Not Recently Used (NRU) FIFO Segunda Chance Least Recently Used (LRU) Not Frequently Used (NFU) Aging Worsking Set Clock Avaliação/ Comentário Impossível, mas usado como benchmark Pouco preciso Pode descartar páginas em uso Melhoria significativa comparado com o FIFO Excelente, mas requer implementacão em hardware Aproximacão do LRU Excelente algoritmo com efeito próximo ao LRU Excelente algoritmo 75 Politica de Substituição Local vs. Global? O número de quadros de páginas alocados a cada processo deve variar? A página a ser substituida deve ser do processo que causou a falta de página (pol. local), ou de qualquer processo (pol. global)? Processo A causou o page-fault (a) Configuração original (b) politica local (c) politica global 80 30

31 Política de Alocação Local x Global Prós and Contras de uma Política Global: (+) consegue uma alocação mais eficiente da memória, pois leva em conta flutuações no working set (conj. de trabalho) de todos os processos (-) favorece os processos com maior prioridade no escalonamento (geralmente, os mais orientados a E/S) e penaliza processos mais orientados a CPU (-) alocação é mais complexa, pois precisa monitorar o conjunto de trabalho de todos os processos simultaneamente e comparar a idade do todas as páginas (-) o conjunto de trabalho de um processo pode variar muito rapidamente, e o alg. de envelhecimento não reflete isso imediatamente (-) pode tornar a execução de um processo inviável se não possuir número mínimo de quadros de página. 81 Política de Alocação Local x Global Freqüência de faltas de página como função do número de molduras de página alocado (A)= taxa inaceitavelmente alta de page-fault, (B)= taxa muito baixa de page-faults, pode-se diminuir # de quadros do processo. 82 O Algoritmo Page Fault Frequency (PFF) fica monitorando essas taxas para decidir de qual processo vai tirar um quadro de página. 31

32 Controle de Carga Mesmo com um bom projeto, o sistema ainda pode sofrer ( thrashing ) paginação excessiva Quando o algoritmo PFF indica alguns processos precisam de mais memória mas nenhum processo executa bem com menos páginas Solução : Reduzir o grau de multiprogramação: o número de processos que competem pela memória levar alguns deles para disco e liberar a memória a eles alocada reconsiderar grau de multiprogramação Existem algoritmos orientados a taxa global de faltas de página. 83 A questão do tamanho de página Tamanho de página pequenos: Vantagens Melhor aproveitamento da memória físcica: menos fragmentação interna mais programas usando a memória melhor alinhamento de segmentos de código e de estruturas de dado às páginas Desvantagens programas precisam de mais páginas, tabelas de página maiores, mais tempo para carregar entradas de tabela nos registradores da MMU Transferência de página menor ou maior de/para disco demanda aproximadamente o mesmo tempo (mas é feito de forma mais frequente) 84 32

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

Gestão de Memória. DCC/FCUP Fernando Silva Sistemas de Operação 1

Gestão de Memória. DCC/FCUP Fernando Silva Sistemas de Operação 1 Gestão de Memória Como organizar a memória de forma a saber-se qual o espaço livre para carregar novos processos e qual o espaço ocupado por processos já em memória? Como associar endereços de variáveis

Leia mais

ROTEIRO. Gerência de Memória. Gerência de Memória. Fundamentos. Sistemas Operacionais 2014 Gerência de Memória FUNDAMENTOS 03/09/2014

ROTEIRO. Gerência de Memória. Gerência de Memória. Fundamentos. Sistemas Operacionais 2014 Gerência de Memória FUNDAMENTOS 03/09/2014 Sistemas Operacionais 0 Gerência de Memória Alexandre Augusto Giron ROTEIRO Fundamentos Endereçamento Lógico x Físico Swapping Alocação de Memória Contígua Paginação Segmentação Memória Virtual Algoritmos

Leia mais

Capítulo 3 Gerenciamento de memória

Capítulo 3 Gerenciamento de memória Sistemas operacionais modernos Terceira edição ANDREW S. TANENBAUM Capítulo 3 Gerenciamento de memória Introdução Programas tendem a se expandir a fim de ocupar toda a memória disponível Programador deseja

Leia mais

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura de Computadores. Sistemas Operacionais IV Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo

Leia mais

Sistemas Operativos. Gestão de memória. Rui Maranhão (rma@fe.up.pt)

Sistemas Operativos. Gestão de memória. Rui Maranhão (rma@fe.up.pt) Sistemas Operativos Gestão de memória Rui Maranhão (rma@fe.up.pt) Gestão de memória idealmente a memória seria grande rápida não volátil contudo, na realidade existem limitações físicas! Portanto... hierarquia

Leia mais

AULA 13 - Gerência de Memória

AULA 13 - Gerência de Memória AULA 13 - Gerência de Memória omo sabemos, os computadores utilizam uma hierarquia de memória em sua organização, combinando memórias voláteis e não-voláteis, tais como: memória cache, memória principal

Leia mais

Gerenciamento Básico B de Memória Aula 07

Gerenciamento Básico B de Memória Aula 07 BC1518-Sistemas Operacionais Gerenciamento Básico B de Memória Aula 07 Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Introdução Espaço de Endereçamento Lógico vs. Físico Estratégias

Leia mais

Capítulo 8: Gerenciamento de Memória

Capítulo 8: Gerenciamento de Memória Capítulo 8: Gerenciamento de Memória Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores MemóriaVirtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Gerência de memória convencional Divide um programa em unidades menores Partes

Leia mais

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado Memória - Gerenciamento Sistemas Operacionais - Professor Machado 1 Partes físicas associadas à memória Memória RAM Memória ROM Cache MMU (Memory Management Unit) Processador Tabela de Páginas TLB 2 Conceitos

Leia mais

Gerência de Memória. Paginação

Gerência de Memória. Paginação Gerência de Memória Paginação Endereçamento Virtual (1) O programa usa endereços virtuais É necessário HW para traduzir cada endereço virtual em endereço físico MMU: Memory Management Unit Normalmente

Leia mais

Gerenciamento de memória

Gerenciamento de memória Na memória principal ficam todos os programas e os dados que serão executados pelo processador. Possui menor capacidade e custo maior. S.O buscam minimizar a ocupação da memória e otimizar sua utilização.

Leia mais

BC1518-Sistemas Operacionais Memória Virtual (aula 9)

BC1518-Sistemas Operacionais Memória Virtual (aula 9) BC1518-Sistemas Operacionais Memória Virtual (aula 9) Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Memória Virtual Paginação sob demanda Cópia na escrita Algoritmos de Substituição

Leia mais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos

Leia mais

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Memória Virtual Prof Dr José Luís Zem Prof Dr Renato Kraide Soffner Prof Ms Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Introdução Espaço de Endereçamento Virtual

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerenciamento de Memória Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Paula Prata e nas transparências

Leia mais

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

Sistemas Processadores e Periféricos Aula 9 - Revisão

Sistemas Processadores e Periféricos Aula 9 - Revisão Sistemas Processadores e Periféricos Aula 9 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Sistemas Operativos I

Sistemas Operativos I Gestão da Memória Luis Lino Ferreira / Maria João Viamonte Fevereiro de 2006 Gestão da Memória Gestão de memória? Porquê? Atribuição de instruções e dados à memória Endereços lógicos e físicos Overlays

Leia mais

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas Carlos Eduardo de Carvalho Dantas Motivos: 1 Manter a CPU ocupada o máximo de tempo para não existir gargalos na busca de dados na memória; 2 Gerenciar os espaços de endereçamento para que processos executem

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução

Leia mais

Cap. 10 Gerência de Memória Virtual 1

Cap. 10 Gerência de Memória Virtual 1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência de Memória Virtual Cap 10 Gerência de Memória Virtual 1 Introdução Espaço de Endereçamento Virtual Mapeamento

Leia mais

CAPÍTULO 6 NÍVEL DE SISTEMA OPERACIONAL. Nível de Sistema Operacional. Nível de Máquina Convencional. Nível de Microprogramação

CAPÍTULO 6 NÍVEL DE SISTEMA OPERACIONAL. Nível de Sistema Operacional. Nível de Máquina Convencional. Nível de Microprogramação CAPÍTULO 6 NÍVEL DE SISTEMA OPERACIONAL 6.1 Introdução Nível que automatiza as funções do operador do sistema. Nível 3 Nível de Sistema Operacional Sistema Operacional Nível 2 Nível de Máquina Convencional

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Suporte do Sistema Operacional Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Objetivos

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual

Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual Fagner do Nascimento Fonseca a, Orientador(a): Flávia Maristela S. Nascimento b a Instituto Federal da Bahia b Instituto

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Memória Paginação e Segmentação Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra

Leia mais

Estruturas do Sistema de Computação

Estruturas do Sistema de Computação Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de

Leia mais

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição

Leia mais

ARQUITETURA DE COMPUTADORES II

ARQUITETURA DE COMPUTADORES II ARQUITETURA DE COMPUTADORES II UNIDADE 2: GERÊNCIA DE MEMÓRIA Conteúdo: INTRODUÇÃO 2 Exemplo da Biblioteca 2 2 HIERARQUIA DE MEMÓRIA 4 3 GERÊNCIA DE MEMÓRIAS CACHE 6 3 Mapeamento de endereços em memória

Leia mais

Estudo de Caso 2: Windows Vista

Estudo de Caso 2: Windows Vista Faculdades Integradas de Mineiros Curso de Sistemas de Informação Sistemas Operacionais II Estudo de Caso 2: Windows Vista Grupo 4 Helder / Wagner / Frantyeis Junho/2010 O Windows usa uma estratégia Just-In-Time

Leia mais

Gerenciamento de memória

Gerenciamento de memória Sistemas Operacionais Gerenciamento de memória Capítulos 7 Operating Systems: Internals and Design Principles W. Stallings O problema Em um ambiente multiprogramado, é necessário: subdividir a memória

Leia mais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Gerenciamento de Memória no Linux O Linux é um sistema operacional com memória virtual paginada, isto quer dizer que

Leia mais

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1 Capítulo Sistemas de Memória Memória Virtual Ch7b Memória Virtual Memória principal funciona como uma cache para o armazenamento secundário (disco) Virtual addresses Physical addresses Address translation

Leia mais

Máquina de estados UNIX O

Máquina de estados UNIX O Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que

Leia mais

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Os textos nestas caixas foram adicionados pelo Prof. Joubert William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 4 Memória cache Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Características Localização. Capacidade.

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

Exercícios Gerência de Memória

Exercícios Gerência de Memória Exercícios Gerência de Memória 1) Considerando o uso de particionamento Buddy em um sistema com 4 GB de memória principal, responda as seguintes perguntas: a) Esboce o gráfico que representa o uso da memória

Leia mais

Capítulo 4 Gestão da memoria

Capítulo 4 Gestão da memoria Capítulo 4 Gestão da memoria 4.1 Gestão básica da memoria Os sistemas de gestão de memória podem se dividir em duas classes: sistemas que durante a sua execução levam e trazem processos entre memoria principal

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 5 Estrutura de Sistemas de Computação Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos Sistema de Arquivos Prof. Edwar Saliba Júnior Março de 2007 1 Objetivos Facilitar o acesso dos usuários ao conteúdo dos arquivos; Prover uma forma uniforme de manipulação de arquivos, independente dos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

Gerência de processos Estudos de caso - BSD Unix

Gerência de processos Estudos de caso - BSD Unix Gerência de processos Estudos de caso - BSD Unix Escalonamento preemptivo com prioridades dinâmicas Prioridades entre 0 e 127 0 a 49 kernel 50 a 127 usuário 32 filas de pronto Processos executando em modo

Leia mais

Exercícios de revisão V2. FAT: 300 GB / 2KB = 150MB X 8 bytes (64 bits / 8) = 1.2GB

Exercícios de revisão V2. FAT: 300 GB / 2KB = 150MB X 8 bytes (64 bits / 8) = 1.2GB Exercícios de revisão V2 1 Uma empresa que possui partições FAT em seus servidores, estava impressionada com um processo em específico na memória, onde o mesmo ocupava um espaço grande. Este servidor dedicado

Leia mais

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento 1 Gerência de espaço em disco Cópia de segurança do sistema de arquivo Roteiro Confiabilidade Desempenho

Leia mais

P5 P3. interrupçãocorrespondente. Sistemas Operacionais 2008/1 Profa. Patricia D. CostaLPRM/DI/UFES 3 Sistemas Operacionais 2008/1

P5 P3. interrupçãocorrespondente. Sistemas Operacionais 2008/1 Profa. Patricia D. CostaLPRM/DI/UFES 3 Sistemas Operacionais 2008/1 Conceitos Processos Básicos (Aula 4) Profa. É Provoca Constitui Mecanismo Patricia informa evento controle, a multiprogramação. Ex: rotina um a base de Interrupção de um (1) sistema de D. CostaLPRM/DI/UFES

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de

Leia mais

SW DE E/S INDEPENDENTE DE DISPOSITIVO

SW DE E/S INDEPENDENTE DE DISPOSITIVO SOFTWARE AO NÍVEL DO USUÁRIO SOFTWARE INDEPENDENTE DE DISPOSITIVOS ACIONADORES DE DISPOSITIVOS (DRIVERS) TRATAMENTO DE INTERRUPÇÕES HARDWARE FUNÇÕES: INTERFACE UNIFORME PARA OS DRIVERS USO DE BUFFERS INFORMAÇÃO

Leia mais

6 Sistema de Gerenciamento de Memória

6 Sistema de Gerenciamento de Memória 6 Sistema de Gerenciamento de Memória Os sistemas de gerenciamento de memória baseiam-se no princípio de que a quantidade de dados necessária para realizar uma operação pode ser completamente armazenada

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Professores autores Vicente Pires Lustosa Neto Roberta De Souza Coelho Aula 11 - Gerenciamento de memória Apresentação Na última aula, aprendemos mais sobre os processos e como gerenciá-los.

Leia mais

Capítulo 2 Processos e Threads Prof. Fernando Freitas

Capítulo 2 Processos e Threads Prof. Fernando Freitas slide 1 Capítulo 2 Processos e Threads Prof. Fernando Freitas Material adaptado de: TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3ª edição. Disponível em: http://www.prenhall.com/tanenbaum_br slide

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Sistema de Arquivos - II Prof. Galvez Implementação de Arquivos Arquivos são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerencia de Processos 4.1 Introdução aos Processos Gerenciamento de Processos Processo -Definição: É uma abstração do sistema

Leia mais

Exercícios Gerência de Memória

Exercícios Gerência de Memória Exercícios Gerência de Memória 1) Considerando o uso de particionamento Buddy em um sistema com 4 GB de memória principal, responda as seguintes perguntas: a) Esboce o gráfico que representa o uso da memória

Leia mais

Sistemas Operacionais Aula 14: Sistema de Arquivos. Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br

Sistemas Operacionais Aula 14: Sistema de Arquivos. Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Sistemas Operacionais Aula 14: Sistema de Arquivos Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Introdução O sistema de arquivos é a parte mais vísivel do sistema operacional Cria

Leia mais

1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória cache.

1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória cache. Frequência II, 3 de Junho de 2011 Grupo A: Gestão de Memória (7 Valores) 1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória

Leia mais

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress. Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com Nunca cone em um computador que você não pode jogar pela janela.

Leia mais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Sistema Operacional. Prof. Leonardo Barreto Campos 1 Sistema Operacional Prof. Leonardo Barreto Campos 1 Sumário Introdução; Tipos de Sistemas Operacionais; Escalonamento; Gerenciamento de Memória; Bibliografia. Prof. Leonardo Barreto Campos 2/25 Introdução

Leia mais

Sistemas Operacionais Arquivos. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Sistemas Operacionais Arquivos. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Sistemas Operacionais Arquivos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Implementação do Sistema de Arquivos Sistemas de arquivos são

Leia mais

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição

Leia mais

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

Chamadas de Sistema e Processo

Chamadas de Sistema e Processo Andrique Amorim www.andrix.com.br professor@andrix.com.br Chamadas de Sistema e Processo Estrutura do Computador Sistemas Operacionais Estrutura do Computador Sistemas Operacionais Modos de Acesso ao S.O.

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Introdução Alocação Contígua

Leia mais

S.O.: Conceitos Básicos

S.O.: Conceitos Básicos S.O.: Conceitos Básicos Camada de software localizada entre o hardware e os programas que executam tarefas para o usuário; Acessa os periféricos Entrada e Saída Esconde os detalhes do hardware para o programador

Leia mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

Leia mais

Gerenciamento de ES e Sistema de Arquivos do Windows 2000

Gerenciamento de ES e Sistema de Arquivos do Windows 2000 1 Gerenciamento de ES e Sistema de Arquivos do Windows 2000 Gerenciador de E/S Objetivo é fornecer uma estrutura de modo eficiente para lidar com a grande variedade de dispositivos Bastante relacionado

Leia mais

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86 Arquitetura de Computadores Arquitetura dos Processadores Intel 80x86 Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Família Intel 80x86 Ao se falar

Leia mais

Sistemas Operacionais. Processos. Edeyson Andrade Gomes. edeyson@uol.com.br

Sistemas Operacionais. Processos. Edeyson Andrade Gomes. edeyson@uol.com.br Sistemas Operacionais Processos Edeyson Andrade Gomes edeyson@uol.com.br Roteiro da Aula Conceitos Estados do Processo Controle de Processo Escalonamento Criação e Término de Processos 2 Definição Processo

Leia mais

Introdução aos Sistemas

Introdução aos Sistemas Introdução Introdução aos Sistemas Operacionais 1 2 3... n Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Compilador Editor de texto Browser Programas

Leia mais

Ciclo de Vida de um Processo

Ciclo de Vida de um Processo Nas aulas anteriores Ciclo de Vida de um Processo Marcelo Johann Conceito de Processo Mecanismo de Programação em C/UNIX Continuando Interrupções TRAP Chaveamento de Contexto Chamadas de Sistema INF01142

Leia mais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola SO - Conceitos Básicos Introdução ao Computador 2010/01 Renan Manola Definição de SO É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. É uma estrutura

Leia mais

Usuários. Aplicativos e programas dos usuários. Kernel gerenciamento de processos, memória, sistema de arquivos, I/O, etc.

Usuários. Aplicativos e programas dos usuários. Kernel gerenciamento de processos, memória, sistema de arquivos, I/O, etc. 1 1.0 Kernel O kernel (núcleo) representa o coração do Sistema Operacional. Atribuições do kernel: - gerenciamento dos arquivos em disco; - inicializar programas e executá-los; - alocar e gerenciar memória

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO DO SEMI-ÁRIDO DEPARTAMENTO DEPARTAMENTO DE DE CIÊNCIAS CIÊNCIAS EXATAS EXATAS E E NATURAIS NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura

Leia mais

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER CST EM ANALISE E DESENVOLVIMENTO DE SISTEMAS

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER CST EM ANALISE E DESENVOLVIMENTO DE SISTEMAS CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER CST EM ANALISE E DESENVOLVIMENTO DE SISTEMAS MATERIAL DE APOIO SISTEMAS OPERACIONAIS CURITIBA 2015 SUMÁRIO 1 CONCEITOS... 3 1.1 PROCESSAMENTO DE DADOS... 3 1.2

Leia mais

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Conceito de processo Operações sobre processos Conceito de processo Conceito de processo

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

Chamadas de Sistema e Processo

Chamadas de Sistema e Processo Andrique Amorim www.andrix.com.br professor@andrix.com.br Chamadas de Sistema e Processo Estrutura do Computador Sistemas Operacionais Estrutura do Computador Sistemas Operacionais Modos de Acesso ao S.O.

Leia mais

RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE

RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE TEMPORIZADORES SÃO ESSENCIAIS PARA MULTIPROGRAMAÇÃO; HÁ UM DRIVER PARA O TIMER; ALIMENTADO EM 110 OU 220 V, CAUSAVA UMA INTERRUPÇÃO A CADA CICLO DE VOLTAGEM, A UM FREQUÊNCIA DE

Leia mais

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Diminui o gargalo existente entre processador e memória principal; Diferença de velocidade 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Tecnologia semelhante à da CPU e,

Leia mais

2. NÍVEL DE SISTEMA OPERACIONAL

2. NÍVEL DE SISTEMA OPERACIONAL 2. NÍVEL DE SISTEMA OPERACIONAL Nos períodos anteriores foram mostrados os níveis iniciais da organização de um computador, quando vimos em Circuitos Digitais os detalhes do Nível 0 (zero) de Lógica Digital.

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 6.7 Operações com as Memórias: Já sabemos, conforme anteriormente citado, que é possível realizar duas operações em uma memória: Escrita (write) armazenar informações na memória; Leitura (read) recuperar

Leia mais

Sistemas Operacionais

Sistemas Operacionais 7 Sistemas Operacionais 7.1 Fundamentos da ciência da computação Cengage Learning Objetivos 7.2 Compreender o papel do sistema operacional. Compreender o processo de inicialização para carregar o sistema

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

Sistemas Operacionais

Sistemas Operacionais BCC264 Sistemas Operacionais Estruturas de Sistemas Computacionais Prof. Charles Garrocho Arquitetura geral de Sistemas de Computação atuais Operação de sistemas de computação CPU e dispositivos de E/S

Leia mais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo 4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 02: Introdução (Cont.), Visão Geral Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com O QUE É UM SISTEMA OPERACIONAL? Um programa que atua como um intermediário entre

Leia mais

Módulo 4: Processos. Conceito de Processo. Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos

Módulo 4: Processos. Conceito de Processo. Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos Módulo 4: Processos Conceito de Processo Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos 4.1 Conceito de Processo Um Sistema Operacional executa uma

Leia mais

Sistemas de Arquivos. Sistemas de arquivos: Mecanismos para armazenamento on-line e acesso de dados e programas.

Sistemas de Arquivos. Sistemas de arquivos: Mecanismos para armazenamento on-line e acesso de dados e programas. Sistemas de Arquivos Sistemas de arquivos: Mecanismos para armazenamento on-line e acesso de dados e programas. Sistemas de Arquivos Um sistema de arquivos implica: Conceituação de arquivos e diretórios

Leia mais

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento e Indexação Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento Banco de Dados são armazenados fisicamente como arquivos de registro, que em geral ficam em discos

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais Prof. Dr. Ruy de Oliveira CEFET-MT O que é um Sistema Operacional? Um software que abstrai as complexidades do hardware de um usuário/programador

Leia mais