Análises Geração RI (representação intermediária) Código Intermediário
|
|
- Maria Laura Custódio Faro
- 8 Há anos
- Visualizações:
Transcrição
1 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?
2 Ambiente de Execução O compilador precisa auxiliar o sistema operacional a dar suporte à máquina alvo na execução das abstrações da linguagem fonte. Entre essas abstrações podemos citar: Nomes; Escopos; Tipos de dados; Procedimentos; Operadores; Parâmetros; e Construções de Fluxo de Controle
3 Ambiente de Execução Para isso o compilador cria e gerencia um ambiente em tempo de execução no qual assume que seus programas objeto estão sendo executados.
4 Ambiente de Execução O ambiente de execução trata questões como: Leiaute e alocação de endereços de memória para os objetos nomeados do programa-fonte; Mecanismos de acesso as variáveis; Ligações entre procedimentos; Mecanismos de passagem de parâmetros; Interfaces para sistema operacional, dispositivos de i/o e outros programas.
5 Organização de Memória Do ponto de vista do projetista do compilador, o programa objeto é executado em um espaço de endereçamento próprio, onde cada valor no programa possui um endereço. O gerenciamento e a organização desse espaço de endereçamento lógico são compartilhados entre compilador, sistema operacional e máquina-alvo.
6 Organização de Memória Um compilador gerando código para C++ em um Sistema Operacional Linux poderia subdividir a memória como abaixo: Código Estáticos Heap Memória Disponível Pilha
7 Gerenciamento de Memória Código: espaço definido estaticamente onde o compilador armazena o código executável. Estático: espaço definido estaticamente onde o compilador armazena objeto de dados de tamanho fixo, como constantes globais, e dados gerados pelo compilador, como informações para a coleta de lixo. Pilha: espaço definido dinamicamente, usado para armazenar Registros de Ativação, uma estrutura de dados geradas durante as chamadas de procedimento. Heap: espaço definido dinamicamente, utilizado para armazenar dados de longa duração que podem ser alocados e liberados durante a execução do programa.
8 Organização de Memória Para maximizar a utilização do espaço durante a execução a pilha e o heap ocupam o restante do espaço de endereços porém cada um em uma extremidade desse espaço restante e crescendo um em direção ao outro. Estratégias de Alocação estática e/ou dinâmica de memória influenciam diretamente no uso da pilha e do heap. Muitos Compiladores utilizam uma combinação de alocações estáticas e dinâmicas definindo que: Memória de Pilha: armazena nomes locais de um procedimento Memória de Heap: armazena dados que sobrevivem a chamada do procedimento que os criou.
9 Pilha Linguagens com procedimentos, funções ou métodos gerenciam pelos menos parte de sua memória em pilha. Toda vez que um procedimento é chamado seus dados locais são armazenados numa pilha; Ao encerrar o procedimento esse espaço é removido da pilha. Isso permite O reaproveitamento do espaço de endereços; e Permite compilar código para o procedimento de modo que os endereços relativos de suas variáveis não locais sejam sempre iguais, independente da sequência de chamadas de procedimentos
10 Seja o seguinte esboço de programa quicksort: int a[11]; void readarray() {/*lê 9 inteiros a[1]...a[9]*/ } int i; int partition(int m, int n) { /* escolhe um pivô v e particiona a[m..n] de modo que a[m..p-1] sejam menores que v e a[p+1..n] sejam maiores que v. Retorna p*/ } void quicksort(int m, int n) { } int i; if ( n > m) { } i = partition(m,n); quicksort(m, i-1); quicksort( i+1, n) main( ) { } readarray(); a[0]=-9999; a[10] = 9999; quicksort(1,9)
11 Árvore de Ativação
12 Registro de Ativação As chamadas e os retornos de procedimentos são usualmente gerenciados em uma pilha de execução chamada de pilha de controle. Cada procedimento ativo tem um registro de ativação na pilha de controle. Registro de Ativação (frame) é um conjunto de informações armazenadas na pilha de execução toda vez que um procedimento é chamado. Essas informações variam de acordo com a linguagem implementada, e até de implementação para implementação da mesma linguagem.
13 Ambiente de Execução Abaixo há uma lista de informações que podem aparecer em algum registro de ativação: 1. Temporários criados pelo compilador que não cabem nos registradores 2. Dados locais 3. Estado da máquina. Pode consistir do endereço de retorno (contador do programa) e o conteúdo dos registradores da máquina. 4. Um elo de acesso a dados em outro registro de ativação 5. Um elo de controle, aponta para o registro de ativação do procedimento chamador 6. Espaço para o valor de retorno 7. Os parâmetros reais usados pelo procedimento. (o normal é colocá-los em registradores)s
14 Ambiente de execução Exemplo de leiaute e informações armazenadas em um Registro de Ativação Parâmetros Reais Valores Retornados Elo de controle (dynamic link) Elo de acesso (static link) Estado de máquina salvo Dados Locais Temporários
15 Ambientes de Execução Integer: integer: a[11] main() m integer: a[11] main() readarray() r m Integer: integer: a[11] main() integer: m,n m r q(1,9) iinteger: i quicksort(1,9) m integer: a[11] integer: a[11] Integer: integer: i r q(1,9) main() integer: m,n main() integer: m,n m p(1,9) quicksort(1,9) quicksort(1,9) r q(1,9) integer: i integer: i integer: m,n integer: m,n p(1,9) q(1,3) integer: pos_v quicksort(1,3) partition(1,9) Integer: i
16 Sequência de Chamada e de Retorno Sequência de Chamada é o código responsável pela a inserção do registro de ativação do procedimento chamado na pilha de controle; preenche os campos do novo registro com as informações necessárias do procedimento chamado, e também preenche informações necessárias no registro de ativação do chamador para garantir sua reativação. Sequência de Retorno é o código que desempilha o registro de ativação de um procedimento que encerrou e restaura o estado da máquina do procedimento chamador para que este continue sua execução. Tanto o código de chamada quanto o de retorno deve ser gerado pelo compilador e inserido no código executável do programa.
17 Sequência de Chamada e de Retorno O código em uma sequência de chamada é dividido entre procedimento chamador e o chamado. A linguagem fonte, o sistema operacional e a máquina alvo auxiliam determinar uma divisão de de tarefas em tempo de execução entre os procedimentos. Observe que um procedimento pode ser chamado de n pontos distintos de um programa e então a porção de código da sequência de chamada no procedimento chamador deve ser gerada n vezes enquanto que a porção no procedimento chamado
18 Sequência de Chamada e de Retorno Ao projetar as sequências de chamada e de retorno e o leiaute do registro de ativação, os seguintes princípios são úteis: valores passados entre os procedimentos (parâmetros e retorno) devem estar no registro próximos do registro do chamador para que este possa saber(calcular) onde estão. Itens de tamanho fixo ficam colocados no meio do registro ( elo de acesso, elo de controle e estado da máquina) Itens cujo tamanho não pode ser determinado com antecedência são colocados no fim do registro Posicionar o ponteiro que indica o topo da pilha (top_sp) de forma a dar acesso aos dados tanto de tamanho fixo como os de tamanho não determinado. Uma abordagem é posicioná-lo no fim do campo de dados de tamanho fixo, assim é possível acessar os dados de tamanho fixo através de deslocamentos conhecidos e acessar os demais dados calculando seu deslocamento em tempo de execução.
19 Sequência de Chamada e de Retorno Um exemplo de divisão de tarefas entre chamador e chamado nas sequências de chamada e de retorno, baseado no exemplo de registro de ativação apresentado anteriormente: Sequência de Chamada Chamador : determina os parâmetros reais; define endereço de retorno de valores; define próxima instrução a ser executada no chamador avança o topo da pilha (top_sp) de execução para o novo frame. Chamado salva valores dos registradores e outras informações de estado da máquina; inicia seus dados locais; Inicia a execução
20 Sequência de Chamada e de Retorno Sequência de Retorno Chamado coloca o valor de retorno no endereço determinado; restaura o estado da máquina determina o endereço da próxima instrução a ser executada pelo chamador decrementa o topo da pilha (top_sp) de execução Chamador recupera o valor de retorno e reinicia a execução
21 Dados de Tamanho Variável na pilha A princípio, dados de tamanho variável devem ficar no heap, porém é possível colocá-los na pilha de controle dentro dos registros de ativação O motivo para isso seria evitar o custo da coleta de lixo em seu espaço. Somente dados locais de tamanho variável podem ser implementados na pilha.
22 Dados de Tamanho Variável na pilha A estratégia consiste : em manter ponteiros para os dados de tamanho variável no espaço de tamanho fixo do registro, apontando para posições acima do registro de ativação atual na pilha, ou seja, fora do registro de ativação do procedimento porém acessados por deslocamentos conhecidos; Utilizar, além do ponteiro top_sp, que aponta o final do espaço de dados de tamanho fixo, outro ponteiro, top, para indicar o topo real da pilha, no final dos dados de tamanho variável, onde o próximo registro de ativação deve ser colocado
23 Dados de Tamanho Variável na pilha Observe a figura:
24 Acesso a Dados Não Locais na Pilha Acesso aos Dados sem procedimentos aninhados Procedimentos aninhado é quando um procedimento é declarado totalmente dentro do escopo de outro procedimento. A linguagem C não comporta procedimentos aninhados, além disso todas as variáveis são declaradas ou dentro de um procedimento, ou fora de todos os procedimentos. Assim a alocação de memória e o acesso a essas variáveis é simples: Variáveis globais são alocadas em uma memória estática, ou seja endereços que permanecem fixos conhecidos em tempo de compilação; As variáveis locais tem endereços relativos dentro do registro de ativação, e são acessadas por meio do ponteiro top_sp.
25 Gerenciamento do Heap O heap é uma porção da memória usada para dados que residem indefinidamente, ou até que o programa o exclua explicitamente. Enquanto variáveis locais são desalocadas assim que o registro de ativação é desempilhado; linguagens como C e C++ permitem a criação de dados (ou objetos) cuja a existência não está ligada à ativação. Por exemplo, objetos alocados através do comando new (Java e C++) podem continuar existindo muito depois do procedimento que o criou ter encerrado Esses objetos são armazenados no heap.
26 Gerenciador de Memória é um subsistema que aloca e desaloca espaço dentro do heap; Administra todo o espaço livre na memória heap durante todo o tempo; Serve como interface entre aplicações e o sistema operacional.
27 Gerenciador de Memória Realiza duas funções básicas: Alocação: quando um programa solicita memória, o gerenciador tenta alocar um espaço contíguo do heap; caso não exista esse espaço contíguo o gerenciador tenta obter bytes consecutivos da memória virtual do sistema operacional; se O espaço estiver esgotado, o gerenciador passa essa informação ao programa Liberação: o gerenciador de memória devolve o espaço liberado ao repositório de espaço livre, para que possa ser reutilizado. O gerenciador nunca devolve espaço ao sistema operacional, mesmo que o uso do heap diminua.
28 Gerenciador de Memória Propriedades Desejadas : Eficiência de Espaço: minimizar o espaço total do heap utilizado por um programa. A eficiência é alcançada minimizando-se a fragmentação. Eficiência do programa: o gerenciador deve fazer o bom uso dos espaços, a fim de permitir que os programas sejam executados rapidamente. Pois o tempo de execução de instruções pode variar muito, dependendo de onde esses estão armazenados. (Princípio da Localidade) Baixo Custo: alocações e liberações de memória são operações frequentes, é importante que sejam o mais eficiente possível para não impactar no tempo de execução do programa.
29 Hierarquia de Memória O gerenciamento de memória e a otimização do compilador são implementados considerando o comportamento da memória. A grande variação nos tempos de acesso à memória é causada pela tecnologia. Hoje ou temos memórias pequenas e rápidas ou memórias grandes e lentas. É impossível termos gigabytes operando em nanosegundos (velocidade dos processadores) Assim, computadores modernos organizando a memória colocando as menores e rápidas perto do processador e as grandes e lentas mais distante.
30 Hierarquia de Memória Tamanhos Típicos GB Memória Virtual (Disco) Tempo de acesso 5 ms 256 MB 2 GB Memória Física ns 128 Kb 4 MB Memória Cache L ns Kb Memória Cache L1 ciclos 32 words registradores ciclos
31
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 maisSistemas 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 maisAULA 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 maisCapacidade = 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 maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisArquitetura 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 maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisIntrodução a Informática. Prof.: Roberto Franciscatto
Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 7: 29 de abril de 2010 1 2 Subrotinas Um procedimento ou função é uma subrotina armazenada que executa uma tarefa específica baseada nos parâmetros de entrada
Leia maisProf.: 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 maisGeração de código intermediário. Novembro 2006
Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas
Leia maisArquiteturas 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 maisGerenciamento 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 maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Leia maisSistema 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 maisProf. 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 maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações
Leia maisProgramaçã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 maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisExercí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 maisSistemas 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 maisGeração e Otimização de Código
Geração e Otimização de Código Representação de código intermediária Código de três endereços, P-código Técnicas para geração de código Otimização de código Prof. Thiago A. S. Pardo 1 Estrutura geral de
Leia maisDisciplina: 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 mais3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Leia mais3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:
Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de
Leia maisSistemas 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 maisBARRAMENTO 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 maisSistemas 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 maisFundamentos 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 maisSistemas 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 maisCapí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 maisUNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE
UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Back-End Compilação 1. Compilação etapa Back-end
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisFunçõ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 maisLABORATÓ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 maisProcessamento de Dados
Processamento de Dados Execução de Programas Os computadores não entendem nada além de comandos, dados e endereços escritos em linguagem binária, também chamada de linguagem de baixo nível. Ela utiliza
Leia maisDesenvolvimento 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 maisIntroduçã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 maisExercí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 maisCapítulo 6 Sistemas de Arquivos
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios 6.3 Implementação do sistema de arquivos 6.4 Exemplos de sistemas de arquivos 1 Armazenamento da Informação a Longo Prazo 1. Deve ser possível
Leia maisORGANIZAÇÃO DE COMPUTADORES MÓDULO 10
ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10 Índice 1. A Organização do Computador - Continuação...3 1.1. Memória Primária - II... 3 1.1.1. Memória cache... 3 1.2. Memória Secundária... 3 1.2.1. Hierarquias de
Leia maisSistema 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 maisOrientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Leia maisBC 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 maisDAS5102 Fundamentos da Estrutura da Informação
Pilhas A estrutura de dados Pilha emula a forma de organização de objetos intuitiva que é utilizada diariamente nos mais diversos contextos da vida humana. Containeres são empilhados e desempilhados diariamente
Leia maisMemó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 maisInfraestrutura 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 maisAULA 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 mais5. 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 maisNotas 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Árvores Binárias Balanceadas
Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios
Leia maisGrupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação?
Número: Nome: LEIC/LERC 2011/12-2º Exame de Sistemas Operativos 3/Fevereiro/2012 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m Grupo I [4v] 1. [0,6v] A
Leia mais4 Estrutura do Sistema Operacional. 4.1 - Kernel
1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,
Leia maisPROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto
Leia maisArquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva
Arquitetura de Computadores - Arquitetura RISC por Helcio Wagner da Silva Introdução RISC = Reduced Instruction Set Computer Elementos básicos: Grande número de registradores de propósito geral ou uso
Leia maisAula 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 maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
Leia maisCAPÍ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 maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito
Leia maisSistemas 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 maisMemó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 maisHardware (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 maisOrganização de Computadores Hardware
Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta
Leia maisCurso de Instalação e Gestão de Redes Informáticas
ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas SISTEMAS DE ARQUIVOS FAT E FAT32 José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução Muitos usuários
Leia maisLinguagens de Programação Aula 10
Linguagens de Programação Aula 10 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada As sentenças de controle das LP imperativas ocorrem em diversas categorias: seleção, seleção múltipla, iteração
Leia maisSistemas 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 maisComponentes básicos de um sistema computacional. Cap. 1 (Stallings)
Componentes básicos de um sistema computacional Cap. 1 (Stallings) 1 Sistema de Operação Explora recursos de hardware de um ou mais processadores Provê um conjunto de serviços aos utilizadores Gerencia
Leia maisGerenciamento 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Árvores Binárias de Busca
Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda
Leia maisProf.: 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 mais3. Arquitetura Básica do Computador
3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,
Leia maisSistemas 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 maisCapítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal
Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade http://www.ic.uff.br/~debora/fac! 1 2 Componente de um sistema
Leia maisMANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.
PROGRAMA EMBRAPA DE MELHORAMENTO DE GADO DE CORTE MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS. MANUAL DE INSTALAÇÃO: 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS
Leia maisARQUITETURA 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 maisISO/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 maisSistemas de Arquivos. Sistemas Operacionais - Professor Machado
Sistemas de Arquivos Sistemas Operacionais - Professor Machado 1 Armazenamento da Informação a Longo Prazo 1. Deve ser possível armazenar uma quantidade muito grande de informação 2. A informação deve
Leia maisEstruturas 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 maisSistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3
Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3 Os sistemas de arquivos é a parte do SO responsável pelo gerenciamento dos arquivos (estrutura, identificação, acesso, utilização, proteção e implementação).
Leia maisINE5317 Linguagens Formais e Compiladores. AULA 2: Es trutura geral dos Compiladores
INE5317 Linguagens Formais e Compiladores AULA 2: Es trutura geral dos Compiladores bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br
Leia maisProf. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso
Leia maisO 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 maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisSistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com
Sistemas Operacionais 3º bimestre Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistema de Arquivos (1) Todas as aplicações precisam armazenar e recuperar informações. Considerações sobre os processos: Espaço
Leia maisGerenciamento 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 maisSoftware Básico (INF1018)
Software Básico (INF1018) http://www.inf.puc-rio.br/~inf1018 Noemi Rodriguez (noemi@inf.puc-rio.br) Ana Lúcia de Moura (amoura@inf.puc-rio.br) 1 Objetivo do curso Entender como funciona um computador típico,
Leia maisARQUITETURA 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 maisAULA 02. 1. Uma linguagem de programação orientada a objetos
AULA 02 TECNOLOGIA JAVA O nome "Java" é usado para referir-se a 1. Uma linguagem de programação orientada a objetos 2. Uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de aplicações
Leia mais10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO
10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisOrganização e Arquitetura de Computadores. Hugo Barros email@hugobarros.com.br
Organização e Arquitetura de Computadores Hugo Barros email@hugobarros.com.br RISC X SISC RISC: Reduced Instruction Set Computer Nova Tecnologia para máquinas de alta performance; Máquina com um conjunto
Leia maisCOMPILADORES E INTERPRETADORES
Aula 16 Arquitetura de Computadores 12/11/2007 Universidade do Contestado UnC/Mafra Curso Sistemas de Informação Prof. Carlos Guerber COMPILADORES E INTERPRETADORES Um compilador transforma o código fonte
Leia maisSISTEMAS 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 mais28/9/2010. Paralelismo no nível de instruções Processadores superescalares
Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados
Leia maisSistemas Operacionais. Conceitos de um Sistema Operacional
Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas
Leia mais