HUGO HENRIQUE CASSETTARI ANÁLISE DA LOCALIDADE DE PROGRAMAS E DESENVOLVIMENTO DE ALGORITMOS ADAPTATIVOS PARA SUBSTITUIÇÃO DE PÁGINAS

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

Download "HUGO HENRIQUE CASSETTARI ANÁLISE DA LOCALIDADE DE PROGRAMAS E DESENVOLVIMENTO DE ALGORITMOS ADAPTATIVOS PARA SUBSTITUIÇÃO DE PÁGINAS"

Transcrição

1 HUGO HENRIQUE CASSETTARI ANÁLISE DA LOCALIDADE DE PROGRAMAS E DESENVOLVIMENTO DE ALGORITMOS ADAPTATIVOS PARA SUBSTITUIÇÃO DE PÁGINAS Dissertação apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título de Mestre em Engenharia Elétrica. São Paulo 2004

2 HUGO HENRIQUE CASSETTARI ANÁLISE DA LOCALIDADE DE PROGRAMAS E DESENVOLVIMENTO DE ALGORITMOS ADAPTATIVOS PARA SUBSTITUIÇÃO DE PÁGINAS Dissertação apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título de Mestre em Engenharia Elétrica. Área de Concentração: Sistemas Digitais Orientador: Prof. Dr. Edson Toshimi Midorikawa São Paulo 2004

3 Este exemplar foi revisado e alterado em relação à versão original, sob responsabilidade única do autor e com a anuência de seu orientador. São Paulo, 20 de fevereiro de 2004 Hugo Henrique Cassettari Prof. Dr. Edson Toshimi Midorikawa FICHA CATALOGRÁFICA Cassettari, Hugo Henrique Análise da localidade de programas e desenvolvimento de algoritmos adaptativos para substituição de páginas / Hugo Henrique Cassettari São Paulo, Edição Revisada. 118p. Dissertação (Mestrado) Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia de Computação e Sistemas Digitais. 1. Gerência de memória 2. Sistemas operacionais 3. Engenharia de computação I. Universidade de São Paulo. Escola Politécnica. Departamento de Engenharia de Computação e Sistemas Digitais II. t

4 Aos meus pais, Domingos Cassettari e Marlene Pereira, cuja colaboração para a realização deste trabalho foi fundamental e inestimável.

5 AGRADECIMENTOS Ao meu orientador, Prof. Edson Toshimi Midorikawa, pela amizade, pelos incentivos constantes, pela dedicação permanentemente ativa e pelo muito que me ensinou em quase cinco anos de convivência. À minha família pela atenção, paciência, carinho, apoio participativo e financeiro, e pela força emocional que me deram nesses dois anos de mestrado. Aos Prof s. João José Neto e Hélio Crestana Guardia pelas críticas sempre construtivas e pelas valiosas sugestões. À Prof a. Líria Matsumoto Sato e a todos os colegas do Laboratório de Arquitetura e Software Básico (LASB) pela solidariedade e pelo ambiente de trabalho acolhedor, produtivo e humano. Ao meu irmão, Denis Cassettari, pela revisão engajada do texto e pela colaboração crítica. À Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES / MEC) pelo auxílio financeiro na forma de bolsa de fomento. Aos ex-professores e colegas do Colégio Comercial Nossa Senhora Aparecida, Escola Técnica Federal de São Paulo, Universidade Presbiteriana Mackenzie e Escola Politécnica da USP, responsáveis pela minha formação pessoal e acadêmica. Em especial, por tudo o que fez por mim, meu eterno obrigado ao Prof. Valdim Santos Alves.

6 RESUMO Algoritmos de substituição de páginas influenciam diretamente o desempenho de sistemas computacionais que utilizam memória virtual paginada. O algoritmo de substituição mais conhecido e implementado nos sistemas operacionais modernos através de versões aproximadas é o LRU (Least Recently Used). Este algoritmo, embora seja eficiente na maioria dos casos, demonstra algumas deficiências quando ocorrem determinados padrões de acesso à memória inerentes aos programas. Tais padrões estão intrinsecamente ligados à propriedade de localidade de referências que os processos podem exibir com maior ou menor intensidade. Algoritmos adaptativos têm a capacidade de modificar o seu comportamento ao longo do tempo, de acordo com as características de processamento observadas. Este trabalho apresenta um novo algoritmo adaptativo para substituição de páginas, cujo objetivo é minimizar falhas detectadas no algoritmo LRU sem perder a sua simplicidade computacional: o LRU-WAR (LRU with Working Area Restriction / LRU com Confinamento da Área de Trabalho). Os experimentos realizados indicam que a nova proposta, além de ser confiável, pode melhorar significativamente o desempenho do algoritmo LRU. A redução no número de faltas de página em uma simulação chegou a 75%. Análises comparativas em relação a outros algoritmos recentemente publicados na literatura científica e um detalhamento minucioso das características dos programas simulados justificam as conclusões favoráveis a respeito da política de substituição LRU-WAR.

7 ABSTRACT Page replacement algorithms have direct influence on the performance of computing systems which use paged virtual memory. Least Recently Used (LRU) is the best known replacement algorithm and is widely implemented in modern operating systems through approximated approaches. Despite being efficient in most cases, it shows some deficiencies when certain memory access patterns, inherent in specific programs, occurs. Those patterns are related to the locality property that applications are able to exhibit more or less intensely. Adaptive algorithms are capable of modifying their own behavior through time, depending on the execution characteristics. This work presents a new adaptive algorithm for page replacement: LRU with Working Area Restriction (LRU-WAR), whose target is to minimize failures detected in LRU algorithm, preserving its low overhead. Simulation experiments pointed out that besides being reliable, this new proposal can improve significantly the performance of LRU. It was achieved a top reduction of 75% in the number of page faults. Favorable conclusions were justified, concerning the replacement policy LRU-WAR, both by comparing it to other recently proposed algorithms and detailing all simulated programs characteristics.

8 SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE ABREVIATURAS E SIGLAS 1. INTRODUÇÃO Contexto Motivação Objetivos e Contribuições Esperadas Metodologia Estrutura do Texto GERÊNCIA DE MEMÓRIA E ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS Gerência de Memória Alocação Contígua Memória Virtual Paginação Segmentação Algoritmos de Substituição de Páginas Avaliação de Desempenho Propostas Adaptativas Algoritmo SEQ Algoritmo EELRU ANÁLISE DA LOCALIDADE DE PROGRAMAS Ferramentas Desenvolvidas Recursos Oferecidos para Análise de Localidade Estudos Realizados Caracterização dos Programas Estudados UMA NOVA PROPOSTA PARA SUBSTITUIÇÃO DE PÁGINAS: O ALGORITMO ADAPTATIVO LRU-WAR Motivação da Proposta... 66

9 4.2. Conceitos Básicos Idéia Geral Aspectos Operacionais Descrição Prática do Algoritmo Versão Online EXPERIÊNCIAS REALIZADAS Descrição das Simulações Resultados Obtidos Análise dos Resultados CONCLUSÃO Contribuições Trabalhos Futuros LISTA DE REFERÊNCIAS

10 LISTA DE FIGURAS Figura 1: Metodologia utilizada para a realização de simulações neste trabalho... 4 Figura 2: Alocação Contígua Simples... 8 Figura 3: Exemplo de Alocação Contígua Particionada Estática... 8 Figura 4: Exemplo de Alocação Contígua Particionada Dinâmica e fragmentação posterior Figura 5: Espaços de endereçamento virtual e real Figura 6: Mapeamento de endereços com o mecanismo de paginação Figura 7: Mapeamento de endereços com o mecanismo de segmentação Figura 8: Exemplo gráfico hipotético com seqüências identificadas pelo algoritmo SEQ, destacando aquela que teria uma página substituída nesse instante Figura 9: Eixo LRU com os pontos importantes para os algoritmos GLRU e EELRU Figura 10: Interface gráfica da ferramenta TelaTrace (janelas principal e de aproximação) Figura 11: Exemplo de gráficos de acesso bidimensional e tridimensional (GhostScript) Figura 12: Exemplo de visão lateral em gráfico de acessos tridimensional (GhostScript) Figura 13: Exemplo de mapas criados pela ferramenta Trace Explorer (P2C) Figura 14: Exemplo de mapas com dados específicos de uma única página (P2C, pág. AB) Figura 15: Mapas de recência bidimensional e tridimensional com visão lateral (Netscape) Figura 16: Mapa de acessos (Netscape) Figura 17: Recência dos acessos à página 12F com tempo virtual absoluto (Netscape) Figura 18: Mapa de acessos tridimensional (Go) Figura 19: Mapas de recência bidimensional e tridimensional (Compress) Figura 20: Mapa de acessos tridimensional (Glimpse)... 62

11 Figura 21: Mapa tridimensional de recência dos acessos (2_Pools) Figura 22: Mapas de acesso bidimensional e tridimensional (Lindsay) Figura 23: Visão lateral tridimensional do mapa de recência dos acessos (Grobner) Figura 24: Exemplos de programas com padrões de acesso seqüenciais (Gnuplot e Cscope) Figura 25: Exemplo de área de trabalho, identificando-se o limite W entre faltas de página Figura 26: Divisão lógica da fila LRU utilizada pelo algoritmo LRU-WAR Figura 27: Exemplo de utilização do critério de substituição MRU-(W+1) Figura 28: Exemplo de utilização do critério de substituição LRU Figura 29: Exemplo, em operação seqüencial, de páginas poupadas pelo tempo de carência Figura 30: Gráficos de desempenho referentes aos programas Cscope, Postgres e Gnuplot Figura 31: Gráficos de desempenho referentes aos programas Perl, Photoshop e Sprite Figura 32: Gráficos de desempenho referentes aos programas Acrobat Reader, Power Point e Espresso Figura 33: Gráficos de desempenho referentes aos programas Compress, Multi1 e Grobner Figura 34: Pontos ótimos de substituição identificados em simulações LRU e LRU-WAR Figura 35: Histogramas de otimalidade das substituições realizadas (LRU e LRU-WAR)

12 LISTA DE TABELAS Tabela I Histograma da recência dos acessos na forma tabular (Netscape) Tabela II Estatísticas gerais dos arquivos de trace utilizados em nossos estudos Tabela III Características dos estados de execução definidos pelo algoritmo LRU-WAR Tabela IV Programas e contextos de memória considerados nas simulações realizadas Tabela V Desempenho dos algoritmos analisados em relação ao caso ótimo Tabela VI Desempenho do algoritmo LRU-WAR em relação ao algoritmo LRU Tabela VII Desempenho da versão online do LRU-WAR em relação à versão offline... 97

13 LISTA DE ABREVIATURAS E SIGLAS 3D Tridimensional ACROREAD Adobe Acrobat Reader (programa) AFC Application/File-level Characterization (algoritmo) ARC Adaptive Replacement Cache (algoritmo) CPP Compiler Preprocessor (programa) CPU Central Processing Unit CS Cscope (programa) DEAR Detection-based Adaptive Replacement (algoritmo) EELRU Early Eviction LRU (algoritmo) FBR Frequency-Based Replacement (algoritmo) FIFO First In, First Out (algoritmo) GCC GNU Compiler Collection (programa) GLI Glimpse (programa) GLRU Generalized LRU (algoritmo) GNU GNU s Not Unix (sigla recursiva) GS GhostScript (programa) IRG Inter-Reference Gap IRR Inter-Reference Recency LFU Least Frequently Used (algoritmo) LIRS Low Inter-reference Recency Set (algoritmo) LRFU Least Recently/Frequently Used (algoritmo) LRU Least Recently Used (algoritmo) LRU-WAR LRU with Working Area Restriction (algoritmo) MAX Valor máximo MFU Most Frequently Used (algoritmo) MIN Valor mínimo MMU Memory Management Unit MRU Most Recently Used (algoritmo) NPV Número da Página Virtual NRU Not Recently Used (algoritmo)

14 OPT Optimum (algoritmo) PDF Portable Document Format PFF Page Fault Frequency (algoritmo) PHOTOSHP Adobe Photoshop (programa) POWERPNT Microsoft Power Point (programa) PS Postgres (programa) RAM Random Access Memory SMP Symmetric MultiProcessor SPEC Standard Performance Evaluation Corporation UBM Unified Buffer Management (algoritmo) USP Universidade de São Paulo WINWORD Microsoft Word (programa) WS Working Set (algoritmo)

15 1 1. INTRODUÇÃO 1.1. Contexto O número cada vez maior de usuários conectados à internet onera gradativamente a rede mundial, causando sérios problemas de desempenho. O desenvolvimento de caches para web passou a ser, naturalmente, uma área de pesquisa muito importante e valorizada no cenário tecnológico atual. Estudos nesta área trouxeram consigo uma preocupação crescente com as chamadas políticas de substituição de objetos, fundamentais não apenas no gerenciamento de web caches, mas também no gerenciamento da memória principal e de outros dispositivos de cache (memória e disco). A implementação operacional de uma política é feita por meio de um algoritmo de substituição, cujo grau de eficiência afeta significativamente o desempenho global do sistema em que atua. Pinheiro (2001), em sua dissertação de mestrado, discute e avalia políticas de substituição voltadas ao gerenciamento de caches para web. Diversos outros autores desenvolveram estudos similares recentemente e continuam trabalhando no assunto. Contudo, tal enfoque não é o único que ainda desperta interesse da comunidade científica no que tange ao aperfeiçoamento de políticas de substituição. Este trabalho visa estudar e discutir especificamente algoritmos de substituição de páginas de memória. Importante sobretudo no contexto de sistemas que exigem alto desempenho, o tema se insere no gerenciamento da memória principal, dentro do escopo de sistemas operacionais. O desenvolvimento do trabalho inclui uma análise das principais propostas de substituição encontradas na literatura, o levantamento de aspectos inerentes aos programas que influenciam o desempenho de sistemas de memória e, por fim, a apresentação de uma nova estratégia adaptativa para substituição de páginas: o algoritmo LRU-WAR LRU with Working Area Restriction. Além de relatar uma análise do que já foi criado em termos de algoritmos adaptativos, o trabalho pretende contribuir para o aperfeiçoamento dos sistemas de memória vigentes. No campo teórico, através da discussão crítica acerca de fatores que afetam o desempenho das políticas de substituição e alguns meios em potencial

16 2 para tratá-los. No campo prático, por meio de uma política nova, eficiente e factível, criada como alternativa ao tradicional algoritmo LRU e suas variações atuais. A simplicidade computacional da proposta LRU-WAR sugere a sua viabilidade prática, isto é, incentiva a implementação futura do algoritmo em um sistema operacional com código aberto, como o Linux por exemplo Motivação Uma série de estudos, posteriormente detalhados, comprova que a aplicação do conceito de adaptatividade em algoritmos de substituição de páginas pode trazer benefícios bastante satisfatórios. Estes benefícios incluem a correção de algumas deficiências presentes nas políticas tradicionais ou triviais e a possibilidade de otimização nos critérios de substituição empregados. Por conseqüência, algoritmos adaptativos podem diminuir muito o tempo global de processamento requerido por um sistema de alto desempenho, uma vez que tornam o gerenciamento da memória virtual paginada potencialmente mais eficiente. No entanto, algoritmos adaptativos tendem a onerar o sistema de memória, seja em termos de processamento complexo ou em termos de estruturas de dados complexas e expansivas. Muitas propostas relatadas constituem excelentes alternativas teóricas, porém impraticáveis em um sistema real devido à sobrecarga que acarretam. Em outras propostas, o aspecto de implementação é muito bem elaborado e, com isso, consegue-se uma versão online (factível) por meio de alguns ajustes e aproximações. Mas, ainda assim, perde-se muito da idéia teórica original. Nossos esforços estão concentrados em projetos adaptativos de substituição de páginas que, essencialmente, sejam simples e práticos. Ou seja, algoritmos que tenham uma base teórica fundamentada e engenhosa, mas que sejam viáveis e eficientes em situações reais de computação. Em 2000, iniciamos estudos que especulavam a possibilidade de melhorar o desempenho de algoritmos com espaço de memória variável especificamente WS e PFF através de um controle simples e dinâmico sobre alguns parâmetros de execução adaptativos (MIDORIKAWA et al., 2000). Os resultados obtidos foram apenas razoáveis. E, em última instância, algoritmos de substituição com espaço variável possuem uma alta complexidade de

17 3 implementação inerente à sua filosofia. Por mais que os estudos alcançassem progressos, eles provavelmente se limitariam a aspectos teóricos. Em 2002, um novo enfoque foi adotado: a utilização do algoritmo LRU e seu respectivo modelo teórico como base para o desenvolvimento de um novo projeto adaptativo, caminho explorado pela comunidade científica com alguns resultados muito positivos. Após um amplo estudo teórico nas propriedades do modelo LRU, chegou-se à proposta do algoritmo LRU-WAR Objetivos e Contribuições Esperadas O objetivo deste trabalho é buscar novos meios para melhorar o desempenho de sistemas de gerenciamento de memória, através do estudo e caracterização de localidade de referências e a pesquisa de algoritmos adaptativos para substituição de páginas. Pretende-se contribuir, assim, com as seguintes realizações: - Estudo sobre o contexto atual de desenvolvimento científico na área de algoritmos de substituição de páginas e, enfaticamente, algoritmos adaptativos; - Associação mais precisa entre localidade de programas e desempenho de execução dos mesmos, levando-se em consideração diversas políticas de substituição de páginas; - Apresentação de novas ferramentas desenvolvidas para facilitar a análise da localidade de programas em conjunto com outras importantes características neles encontradas; - Identificação de formas para reconhecimento de padrões regulares de acesso e, por decorrência, de critérios dinâmicos para o gerenciamento da memória virtual paginada; - Proposta e avaliação de desempenho de uma alternativa adaptativa original: o algoritmo LRU-WAR de substituição de páginas, quase tão simples quanto o LRU em termos computacionais, porém mais eficiente em termos de acerto de previsões.

18 Metodologia O estudo de algoritmos de substituição de páginas desenvolvido no Laboratório de Arquitetura e Software Básico Departamento de Engenharia de Computação e Sistemas Digitais da Escola Politécnica da USP incluiu três etapas: - Obtenção de traces (arquivos de traços); - Desenvolvimento de simuladores de sistemas de memória; - Realização de experimentos, em especial simulações com os traces obtidos, e análises sobre os resultados. Um arquivo de traces consiste basicamente na listagem cronológica dos diversos acessos à memória realizados por um software. Em outras palavras, descreve passo a passo o comportamento de um dado programa em termos de utilização da memória. Estes arquivos são obtidos através de um gerador de traces, que executa o programa alvo e coleta os acessos à memória realizados ao longo de seu processamento (UHLIG; MUDGE, 1997). A partir dos dados coletados e armazenados nos arquivos de traces, uma série de simulações podem ser efetuadas para se avaliar o desempenho de algoritmos de substituição, no contexto de todos os possíveis tamanhos de memória que se queira considerar. A figura 1 esquematiza o procedimento adotado nessas avaliações. Programa executável Gerador de traces Simulador resultados arquivo de traces Fig. 1: Metodologia utilizada para a realização de simulações neste trabalho Os dados de desempenho obtidos são então analisados em conjunto com as características de localidade de referências, entre outras, presentes em cada programa. Ou seja, a eficiência ou não das políticas de substituição de páginas procura ser explicada de acordo com os padrões de acesso à memória observados nos programas. Tal análise é feita com o apoio de ferramentas estatísticas e de visualização desenvolvidas especificamente para este estudo.

19 5 As simulações são executadas em equipamentos disponíveis no laboratório, que incluem duas máquinas multiprocessadoras (com 4 processadores cada) e um cluster de computadores com 8 nós duais (2 processadores em cada nó). Aproveitando a estrutura de hardware, foram construídas versões paralelas de algoritmos de simulação para duas políticas de substituição de páginas: Ótimo e LRU. O simulador StackPar (CASSETTARI; MIDORIKAWA, 2002b), baseado nas versões de pilha de ambos os algoritmos (MATTSON et al., 1970), simula a execução de um único programa, porém divide o processamento do arquivo de traces correspondente entre os diversos processadores disponíveis na máquina. O tempo de simulação diminui consideravelmente, mas o simulador implementa apenas estes dois algoritmos de substituição. Os demais algoritmos são avaliados através de simuladores simples, em ambientes com monoprocessamento. Cada algoritmo trivial possui pelo menos um simulador desenvolvido e implementado por nós. Os simuladores dos algoritmos adaptativos EELRU (SMARAGDAKIS; KAPLAN; WILSON, 1999) e LIRS (JIANG; ZHANG, 2002), que complementam nossos estudos, foram cedidos gentilmente por seus autores. Com os resultados obtidos através das simulações, procura-se determinar o melhor algoritmo de substituição de páginas no contexto específico de cada programa, assim como o porquê de um algoritmo ser mais eficiente que outro na situação analisada. As características de localidade de um programa explicam a variação de desempenho observada entre os algoritmos em condições idênticas de simulação. Mediante a identificação de padrões que representam genericamente algumas destas características, formas adequadas de tratamento em termos de substituição de páginas procuram ser discutidas e desenvolvidas neste trabalho Estrutura do Texto O Capítulo 2 da dissertação revisa aspectos básicos sobre gerência de memória, comentando os diversos tipos de alocação (contígua simples, particionada, paginada e segmentada) e o conceito de memória virtual. Enfocando a alocação paginada, base do tema explorado, o Capítulo 2 também relata os principais

20 6 algoritmos de substituição de páginas existentes, estáticos ou adaptativos, descrevendo detalhadamente dois importantes algoritmos desta segunda categoria: SEQ e EELRU. Os dois algoritmos destacados tiveram papel fundamental no processo de elaboração da proposta LRU-WAR. No Capítulo 3 é discutida a importância da análise de localidade dos programas como forma de identificar características de acesso à memória e sua influência no desempenho das políticas de substituição de páginas, principalmente aquelas baseadas no modelo LRU. Os programas estudados são descritos e caracterizados por meio de três ferramentas desenvolvidas para esta finalidade. As discussões apresentadas no Capítulo 3 motivaram definitivamente o desenvolvimento do novo algoritmo adaptativo LRU-WAR, cuja concepção é minuciosamente relatada no Capítulo 4. Os aspectos operacionais do algoritmo são comentados de forma analítica, justificando-se cada decisão de projeto. A implementação de suas duas versões offline (completa, mas teórica) e online (aproximada, mas factível) é demonstrada através de pseudo-códigos. O Capítulo 5 ilustra, por meio de gráficos de desempenho, os resultados obtidos nas simulações realizadas. A proposta LRU-WAR é comparada com os algoritmos LRU, EELRU, LIRS e Ótimo, tanto em sua versão offline como em sua versão online. Uma associação entre as características de localidade dos programas analisadas no Capítulo 3 e o desempenho obtido pelos algoritmos procura ser sempre traçada. A conclusão do trabalho é exposta no Capítulo 6, enfatizando suas principais contribuições e sugerindo trabalhos futuros que o complementem. A bibliografia utilizada, por fim, é registrada na Lista de Referências.

21 7 2. GERÊNCIA DE MEMÓRIA E ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS 2.1. Gerência de Memória O sistema de gerenciamento da memória é um dos componentes mais críticos e importantes do sistema operacional. Na execução de programas que exigem grande quantidade de processamento e que, conseqüentemente, requerem alto desempenho a gerência de memória tem um papel fundamental. A memória principal é o local onde ficam armazenados os dados necessários à execução dos programas, incluindo o seu código de máquina. É nela em que o processador procura os dados e instruções imprescindíveis à realização de qualquer tipo de tarefa. O advento da multiprogramação tornou seu gerenciamento uma atividade complexa e crucial do ponto de vista da eficiência. Um bom gerenciamento de memória é característica indispensável para um sistema operacional executar satisfatoriamente tarefas que exigem alto desempenho (MIDORIKAWA, 1991); (MIDORIKAWA, 1997). Basicamente, o sistema de gerenciamento da memória deve decidir e controlar quais dados, quando e por quanto tempo permanecerão residentes na memória principal do computador. Esta decisão leva em conta uma série de fatores, como a quantidade e o tamanho dos processos a serem executados, a área de memória disponível, o ambiente operacional, o tipo de alocação implementada, etc. A definição e manipulação de mecanismos de blocagem (paginação e segmentação), o carregamento e alocação física na memória principal dos dados provenientes da memória secundária e o gerenciamento da memória virtual são atribuições importantes do sistema. As informações apresentadas nesta seção são detalhadas de forma didática em um grande número de publicações. Alguns exemplos em língua portuguesa podem ser citados: Machado; Maia (1997), Tanenbaum (1999), Oliveira; Carissimi; Toscani (2001) e Silberschatz; Galvin; Gagne (2001).

22 Alocação Contígua Os primeiros sistemas operacionais utilizavam uma forma de alocação de dados na memória denominada alocação contígua simples. Este tipo de sistema divide a memória principal em dois blocos: em um deles permanece residente o sistema operacional e no outro é carregado um único programa a ser executado (figura 2). MEMÓRIA PRINCIPAL Sistema Operacional Área para o programa Fig. 2: Alocação Contígua Simples O conceito de multiprogramação trouxe consigo a necessidade de um novo paradigma de alocação, que vislumbrasse a possibilidade de vários programas estarem alocados na memória principal ao mesmo tempo. O primeiro modelo proposto foi a alocação contígua particionada, uma evolução incremental no modelo de alocação contígua simples. Nas implementações iniciais da técnica, a memória era dividida em partições de tamanho fixo, a chamada alocação particionada estática (figura 3). MEMÓRIA PRINCIPAL Sistema Operacional Partição 1 Partição 2 Partição 3 Fig. 3: Exemplo de Alocação Contígua Particionada Estática

23 9 Neste esquema de alocação, o sistema trabalhava apenas com código absoluto e cada programa podia ser executado somente em uma única partição préespecificada, concorrendo com outros programas que também usavam a mesma partição, mesmo que as demais estivessem livres. O tamanho e a quantidade de partições eram flexíveis e variáveis, porém uma mudança de configuração somente poderia ocorrer na iniciação do sistema operacional. Uma vez configuradas as partições, permaneciam assim inalteradas durante toda a operação do sistema. Com o passar do tempo, o sistema evoluiu e os compiladores deixaram de gerar os limitantes códigos absolutos, passando a gerar códigos relocáveis; este fato permitiu que os programas fossem alocados, ainda no mesmo modelo estático, em qualquer partição disponível, não se atendo a apenas uma partição como até então. A fragmentação interna das partições e a sua baixa flexibilidade eram os dois principais problemas ainda apresentados pela alocação particionada estática, mesmo com o advento do código relocável. A alocação particionada dinâmica foi idealizada com o objetivo de sanar essas pendências. A estratégia dinâmica inovou ao criar uma forma de gerenciamento na qual a necessidade de uso é o critério para o particionamento gradativo da memória disponível, metodologia eficiente que naturalmente se manteve nos sistemas de memória posteriores. Porém, tratando-se aqui de um sistema de alocação contígua, os programas ainda precisam ser totalmente carregados em uma única partição para poderem ser processados. Assim, na alocação particionada dinâmica, os programas alocam a área livre de memória conforme são disparados. Um programa não ocupa uma partição fixa pré-definida, e sim aloca o tamanho necessário à sua execução, nem mais nem menos. Desta forma, programas de qualquer tamanho podem ser executados, desde que não ultrapassem a área do maior trecho contíguo de memória livre disponível. Por outro lado, programas pequenos não mais desperdiçam áreas superestimadas, uma vez que só ocupam o espaço de que efetivamente necessitam. Contudo, o problema da fragmentação persiste: trechos de memória são liberados desordenadamente, conforme os programas deixam de rodar (figura 4). Como a alocação continua sendo contígua, um programa precisa encontrar uma área livre (partição) maior ou igual ao tamanho de memória do qual necessita para ser carregado. Mas se os programas possuem tempos distintos de execução o que

24 10 praticamente sempre ocorre, partições limitadas surgem aleatoriamente durante a operação do sistema, resultando em uma memória possivelmente bastante fragmentada. MEMÓRIA PRINCIPAL (antes) Sistema Operacional Programa 1 MEMÓRIA PRINCIPAL (depois) Sistema Operacional Partição Livre Programa 2 (programas 1 e 3 deixam de executar) Programa 2 Programa 3 Partição Livre Programa 4 Partição Livre Programa 4 Partição Livre Fig. 4: Exemplo de Alocação Contígua Particionada Dinâmica e fragmentação posterior Dentre as partições livres num sistema de alocação dinâmica, a escolha daquela que será utilizada para carregar um novo programa na memória é feita basicamente por meio de um dos três seguintes algoritmos: - Best Fit: Esta estratégia procura pela partição mais adequada ao programa, em termos de tamanho. Ou seja, escolhe a menor partição dentre aquelas que comportam o programa e seus dados. Como dificilmente haverá uma partição com o tamanho exato requerido pelo processo, uma área livre provavelmente pequena o trecho da partição original não ocupado pelo programa será gerada. Com isso, um conjunto de partições livres muito pequenas pode infestar a memória no decorrer da operação do sistema, ocasionando um sério problema de fragmentação, geralmente crescente. Esta é a principal desvantagem do Best Fit. - Worst Fit: O método que escolhe a pior partição (inversamente proporcional ao tamanho do programa) tem como objetivo diminuir a fragmentação de memória gerada no decorrer do tempo. Seu critério é escolher sempre a maior partição disponível quando um novo programa precisa ser carregado. Assim, é maximizada a área da partição original

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

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

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

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 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

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e

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 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 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

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

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

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

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

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

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

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

AULA 5 Sistemas Operacionais

AULA 5 Sistemas Operacionais AULA 5 Sistemas Operacionais Disciplina: Introdução à Informática Professora: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Partições Formatação Fragmentação Gerenciamento

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 Sistemas Operacionais SISTEMAS DE ARQUIVOS MACHADO/MAIA: CAPÍTULO 11 Prof. Pedro Luís Antonelli Anhanguera Educacional SISTEMAS DE ARQUIVOS - INTRODUÇÃO O armazenamento e a recuperação de informações é

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

Gerência de Processador

Gerência de Processador Gerência de Processador Prof. Edwar Saliba Júnior Junho de 2009 Unidade 03-003 Gerência de Processador 1 Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

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

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção Sistemas de Arquivos Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais Necessidade de Armazenamento Grandes quantidades

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

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

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

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Sistemas de Informação. Sistemas Operacionais 4º Período

Sistemas de Informação. Sistemas Operacionais 4º Período Sistemas de Informação Sistemas Operacionais 4º Período SISTEMA DE ARQUIVOS SUMÁRIO 7. SISTEMA DE ARQUIVOS: 7.1 Introdução; 7.2 s; 7.3 Diretórios; 7.4 Gerência de Espaço Livre em Disco; 7.5 Gerência de

Leia mais

Desenvolvimento de um Simulador de Gerenciamento de Memória

Desenvolvimento de um Simulador de Gerenciamento de Memória Desenvolvimento de um Simulador de Gerenciamento de Memória Ricardo Mendes do Nascimento. Ciência da Computação Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Santo Ângelo RS Brasil

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

Escalonamento no Linux e no Windows NT/2000/XP

Escalonamento no Linux e no Windows NT/2000/XP Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Professor: João Fábio de Oliveira jfabio@amprnet.org.br (41) 9911-3030 Objetivo: Apresentar o que são os Sistemas Operacionais, seu funcionamento, o que eles fazem,

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

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

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 Sistemas Operacionais Conteúdo retirado de: SOsim: SIMULADOR PARA O ENSINO DE SISTEMAS OPERACIONAIS Luiz Paulo Maia

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

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

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

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

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

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Gerência de Arquivos É um dos serviços mais visíveis do SO. Arquivos são normalmente

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

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

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

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

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

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul QUESTÃO: 29 Além da alternativa a estar correta a alternativa e também pode ser compreendida como correta. Segundo a definição de diversos autores, a gerência de falhas, detecta, isola, notifica e corrige

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

Sistemas Operacionais Arquivos

Sistemas Operacionais Arquivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Arquivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução Os arquivos são gerenciados

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

Gerência do Processador

Gerência do Processador Andrique Amorim www.andrix.com.br professor@andrix.com.br Gerência do Processador Desenvolvimento web II IMPORTANTE SABER Desenvolvimento web II DEADLOCK (interbloqueio, blocagem, impasse) Situação em

Leia mais

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador A partir do momento em que diversos processos podem

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

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópico 33 e 34 Virtualização São Paulo 2009 Virtualização Ao falar em virtualização,

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Análises Geração RI (representação intermediária) Código Intermediário

Análises Geração RI (representação intermediária) Código Intermediário Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação 36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas

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

Tipos de sistemas operacionais

Tipos de sistemas operacionais Tipos de sistemas operacionais Sistemas Operacionais de Computadores de Grande Porte Sistemas Operacionais para Servidores Sistemas Operacionais de Multiprocessadores Sistemas Operacionais para Computadores

Leia mais

Itinerários de Ônibus Relatório Final

Itinerários de Ônibus Relatório Final CENTRO UNIVERSITÁRIO SENAC Itinerários de Ônibus Relatório Final Grupo 5 Caio Roque Daniel Nunes Elise Roese José Caneiro Marcos Grignani São Paulo Junho de 2007 1 ÍNDICE 1. Introdução... 3 2. Desenvolvimento...

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Comparativo de desempenho do Pervasive PSQL v11

Comparativo de desempenho do Pervasive PSQL v11 Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Admistração de Redes de Computadores (ARC)

Admistração de Redes de Computadores (ARC) Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br RAID é a sigla para Redundant

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Visão geral do sistema de armazenamento e hierarquia de memória

Visão geral do sistema de armazenamento e hierarquia de memória Visão geral do sistema de armazenamento e hierarquia de memória Conhecer os dispositivos de armazenamento por meio do conceito e dos tipos de memórias utilizadas no computador. Subsistemas de memória Memória

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

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

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

ROM-BIOS Inicialização Sistemas de Arquivos Formatação

ROM-BIOS Inicialização Sistemas de Arquivos Formatação ROM-BIOS Inicialização Sistemas de Arquivos Formatação 1 ROM-BIOS ROM-BIOS Basic Input/Output System (Sistema Básico de Entrada/Saída). O termo é incorretamente conhecido como: Basic Integrated Operating

Leia mais

Automação de Locais Distantes

Automação de Locais Distantes Automação de Locais Distantes Adaptação do texto Improving Automation at Remote Sites da GE Fanuc/ Water por Peter Sowmy e Márcia Campos, Gerentes de Contas da. Nova tecnologia reduz custos no tratamento

Leia mais