Escolar Documentos
Profissional Documentos
Cultura Documentos
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Eltrica ENG04008 Sistemas de Tempo Real
Introduo
Alocao e desalocao de memria Esttica Dinmica Memria virtual Overlay Paginao Segmentao de memria
Sistemas Monotarefa
Um nico programa na memria O programa utiliza toda a memria O programa deve ter todos os drivers de I/O Diviso da memria entre o programa e o sistema operacional
Sistemas Multitarefa
Parties xas Parties denidas manualmente pelo operador Uma partio de tamanho suciente alocada para cada tarefa Em geral, o nmero de tarefas > nmero de parties =>diversas politicas para utilizao das parties Uma la de tarefas para cada partio Uma la nica Fila nica com best-t Fila nica com best-t e mximo de skip-over
Parties Fixas
Parties Variveis
O tamanho das parties varia conforme a criao/destruio das tarefas Fragmentao de memria Compactao de memria Consome muito tempo -> normalmente feito durante a alocao/desalocao de memria em sistemas no tempo real Espao para a memria das tarefas crescer Alocao dinmica de memria para dados
Mtodos de Gerenciamento
Bit-map Memria dividida em unidades de alocao Existe um bit-map para sinalizar se cada unidade de alocao est alocada ou livre Procura por espaos livres no eciente
Mtodos de Gerenciamento
Listas ligadas Existe uma lista ligada que relaciona os blocos de memria alocados e livres Normalmente a lista ordenada por endereo Algoritmos de Alocao de memria First-t Next-t Best-t Worst-t Quick-t
Mtodos de Gerenciamento
Buddy System Utiliza o fato dos endereos serem binrios Existe uma lista de blocos livres de tamanho 1, 2, 4, 8 ... tamanho da memria Ineciente no uso da memria Fragmentao interna
Buddy System
Relocao
Em sistemas multitarefa, cada tarefa ter um endereo inicial diferente. Como o programador/compilador/linker saber o endereo inicial (e endereos de subrotinas, dados, etc...) da tarefa? Problema da relocao Gerar apenas cdigo com endereos relativos Cdigo relocvel Relocao durante a carga da tarefa na memria
Segmentao
Associa-se a cada rea de memria um valor de base e um valor de limite base=endereo inicial limite=endereo mximo ou tamanho Todas as tarefas so codicadas assumindo que a sua rea de memria comea em 0 Quando a tarefa selecionada para executar, base e limite so carregados em registradores especiais na CPU
Segmentao
Endereo nal = Offset + base Soma feita por hardware a cada acesso memria Endereos so vericados quanto ao limite Uma tarefa no pode acessar a rea das outras
Segmentao
O seletor e descritor de segmento so controlados pelo sistema operacional O offset controlado pelo programa de aplicao Proteo Usualmente o descritor de segmentos tem alguns bits associados que so utilizados para determinar as caractersticas de proteo do segmento Permisses de leitura, escrita, execuo Cache de descritor de segmento Evita dois acessos a memria Alterado apenas quando o registrador de seletor de segmento alterado
Segmentao no ix86
GLDT e LDT
Segmentao no ix86
Descritor de Segmento
Segmentao no 8086/8088
Processadores sem modo protegido Sem proteo, no tem sentido a existncia de permisses e limite no segmento O descritor de segmento resume-se base Como os registradores so de 16 bits decidiu-se limitar o incio de segmentos apenas alinhados com "pargrafos" Segmentao mal implementada O "tamanho mximo"do segmento 64KB O limite do segmento no garantido Na verdade apenas um esquema para enderear 1MB utilizando 2 registradores
Segmentao no 8086/8088
Memria Virtual
Tabela de Pginas
Hardware de Paginao
Usualmente a tabela de pginas mantida em memria e no em registradores Registrador de base da tabela de pginas Translation look-aside buffer (TLB) Evita dois acessos a memria Memria associativa Pginas tambm podem ter bits de proteo associados Bit de presena/ausncia
Existe um nvel de privilgio de I/O Apenas processos com nvel de privilgio menor ou igual podem executar instrues de I/O Associado a cada processo pode existir um bitmap de permisses de I/O Apenas as portas habilitadas podem ser acessadas Hardware Virtual Virtualizao de dispositivos
Vericao de Privilgios