A Linguagem Java no contexto de Sistemas de Tempo Real

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

Download "A Linguagem Java no contexto de Sistemas de Tempo Real"

Transcrição

1 A Linguagem Java no contexto de Sistemas de Tempo Real Alunos: Hugo Tácito Azevedo de Sena Ricardo Alexandre da Rocha Dias Sumário Objetivos Importância dos sistemas embutidos e de tempo real Sistemas em tempo real HW e ambientes de STR Software em STR Aplicações de Tempo Real Estratégias de Desenvolvimento A Linguagem de programação Java Desenvolvimento de STR Java e STR Java: Limitações Java: soluções para STR RTSJ: Real Time Specification for Java Java Real Time System Java RTS: Características e Benefícios 1

2 Objetivos Mostrar a importância dos Sistemas de Tempo Real Mostrar como a plataforma Java está inserida nesse contexto. Importância dos Sistema Embutidos e de tempo real Presentes em diversas áreas Ex: Transação bancária, em automóveis Maior parte dos dispositivos que utilizamos possui processador digital responsável pelo controle das funcionalidades Pode-se destacar um grupo de sistemas que são limitados pelo tempo Sistemas em Tempo Real 2

3 Sistemas em Tempo Real Diferencial: respostas devem retornar ao ambiente em tempo hábil Controle de processos complexos requer confiabilidade máxima STR ambiente, hardware e software HW e ambientes de STR Alguns ambientes foram comentados na aula passada Ex: Windows CE e Solaris O software em STR será abordado 3

4 Software em STR Qual a estratégia para desenvolvimento de aplicações de tempo real em termos de software? Linguagens Específicas x Linguagens de propósito geral Aplicações de Tempo Real Requisitos difíceis de serem expressos por linguagens de propósito geral Implementação em linguagens de propósito geral é uma tarefa complexa Código tende a utilizar mecanismos específicos e de baixo nível do SO 4

5 Aplicações de Tempo Real Alta complexidade de desenvolvimento e manutenção Abstrações mais expressivas Robustez, legibilidade e manutenibilidade Estratégias de Desenvolvimento Duas abordagens principais: Utilizar linguagens específicas que propõem novas abstrações para facilitar o desenvolvimento Estender uma linguagem de programação de propósitos gerais 5

6 Linguagens Específicas Vantagens São menos expressivas Mais simples Possuem menos abstrações que linguagens de propósitos gerais Facilidade na verificação de propriedades relativas à restrições temporais Tende a reduzir a quantidade de código a ser desenvolvido Linguagens Específicas Desvantagens: Escassez de programadores no mercado Disposição de programadores para aprender novas linguagens Linguagem altamente acoplada a ambientes e hardwares específicos Softwares com altos custos e pouca flexibilidade 6

7 Linguagens de programação de propósitos gerais Vantagens: Existência de programadores capacitados na linguagem Redução de investimentos na equipe de desenvolvimento Linguagens de programação de propósitos gerais Desvantagens: Características originais da linguagem são mantidas Dificuldade na verificação de programas Abstrações não adequadas nos recursos originais da linguagem 7

8 A Linguagem de programação Java Criada em 1991 por James Goslin, mas somente em 1995 foi anunciada e lançada. Projetada tendo em vista os seguintes objetivos: Orientação a objetos Portabilidade Write once, run anywhere Recursos de rede Segurança A Linguagem de programação Java Outras Características: Sintaxe similar a linguagem C/C++ Suporta nativamente caracteres Unicode Simplicidade na especificação, tanto na linguagem quanto no ambiente de execução Deslocação de memória automática por processo de coletor de lixo (Garbage Collector) 8

9 A Linguagem de programação Java Outras Características: É distribuída com um vasto conjunto de bibliotecas Possui multithreading Facilidade de internacionalização Especificações são mantidas uniformes atrávés de um Processo Comunitário (JCP) gerido pela Sun MicroSystems A Linguagem de programação Java A Plataforma Java foi desenvolvida pela Sun Microsystems como uma solução portável, orientada a objetos, distribuída e segura para o desenvolvimento de aplicações comerciais. Devido a sua portabilidade, Java vem sendo utilizada em diversos ambientes, desde aplicações para dispositivos embarcados até aplicações corporativas (cf. GOSLING, 1996). 9

10 Desenvolvimento de STR Algumas considerações no desenvolvimento de STR Análises para garantia de que o sistema suporte as restrições de tempo real SOs e ambientes especializados Técnicas de análise da performance são intrínsecas da máquina Pior tempo de execução deve ser determinado Java e STR 10

11 Características que atraem a comunidade que desenvolve STR Suporte multi-plataforma Naturalmente embutida Facilidade de programação Modularidade Gerenciamento de memória Abstração de hardware Java e Sistemas de Tempo Real Java é uma linguagem promissora no mercado de sistemas embutidos. Porém, há muitas questões quanto a real possibilidade de utilização de Java como linguagem para Tempo Real em Sistemas embutidos. [Carol Feigenbaum, diretor da Microtec Inc.] 11

12 Por que dúvidas? Princípios do projeto de Java discordantes com os requisitos de aplicações em Tempo Real. Discordância em termos de: Planejamento de atividades concorrentes Mecanismos de sincronização inadequados Gestão dinâmica de memória indeterminismos Medida de tempo não suficientemente precisa Outros problemas com exceções e concorrência Java: Limitações Aspectos da JVM não adequados para garantias temporais. Os principais pontos são: Coletor de Lixo (Garbage Collection) Falta de informações do sistema Escalonamento de tarefas Sincronização de tarefas Análise em tempo de execução 12

13 Limitação: Coletor de Lixo Procura Conservativa Objetos ativos x objetos inativos Fragmentação Esquema conservativo Não realocação de objetos ativos Escalonamento do Coletor de Lixo Thread de menor prioridade Limitação: Falta de Informações do Sistema Alocação dinâmica de memória impossibilita alocação extra de memória para uma aplicação: Não determinação da quantidade de memória utilizada por uma aplicação Não determinação da quantidade de memória disponível em um ambiente de execução 13

14 Limitação: Escalonamento de Tarefas Gestão de recursos compartilhados Inversões de prioridade Não se sabe quantas tarefas estão sendo executadas concorrentemente, suas prioridades, seus percentuais de cpu Não garantia de tempo hábil para tarefa tratar suas restrições temporais. Limitação: Sincronização de Tarefas Uso de monitores para acesso simultâneo a regiões críticas. STR necessidade de previsibilidade Informações ausentes para análise: Número e prioridade das tarefas que competem pelo monitor Tempo gasto dentro dos monitores 14

15 Limitação: Análise em Tempo de Execução Requisitos de tempo e memória não são conhecidos Java API não oferece uma definição de tempo de processamento. Também não oferece um mecanismo para determinar a capacidade total de memória do sistema Java: soluções para STR 15

16 Propostas de adaptação de Java para STR NIST Requirements for Real-Time Extensions for Java (1999). Não modifica a sintaxe, coexistência com aplicações convencionais. Java Real-Time Experts Group (Sun and others) JVM estendida para STR Propostas de adaptação de Java para STR Real-Time Java Working Group (J- Consortium) JVM específica para STR 16

17 JVSPro API Java Virtual Single Processor Application Programming Interface Iniciativa da Universidade Federal de São Carlos (UFSCAR) Visa tratar comunicação, sincronização, distribuição de tarefas e as demais características necessárias aos Sistemas de Tempo Real Funciona um nível acima da máquina virtual Possui um ambiente próprio de desenvolvimento RTSJ: Real Time Specification for Java A JCP, a pedido da IBM, publica o JSR1 - Real Time Specification for Java A RTSJ teve aprovação teve seu primeiro release para avaliação e implementação 17

18 RTSJ: Real Time Specification for Java A Real Time Specification for Java focava sete áreas principais: Escalonamento de threads Gerenciamento de memória Sincronização e compartilhamento de recursos Gerenciamento de eventos assíncronos Transferência assíncrona de controle Terminação assíncrona de threads Acesso a memória física Java RTS: Java Real Time System Tempo Real x Muito rápido No contexto do RTSJ, o termo tempo real significa responder a eventos do mundo real com previsibilidade e confiança. Tempo real está mais relacionado à temporizaçãoprevisiblidade do que com velocidade de execução. 18

19 Java RTS: Características e Benefícios Novos tipos de threads Novos esquemas de gerenciamento de memória Tratamento de eventos assíncronos Transferência assíncrona de Controle Tempo & temporizadores Acesso direto a memória física Novos Tipos de Threads Dois tipos: Thread de tempo real. Thread de tempo real fora do heap. Possibilitam um escalonamento mais preciso do que com as threads padrão do Java. Possuem 28 níveis de prioridade que são obedecidas rigorosamente. São sincronizadas e inversões de prioridades são completamente evitadas. 19

20 Novos Esquemas de Gerenciamento de Memória Dois novos tipos de áreas de memória: Immortal memory Scoped memory Essas duas áreas não tem interferências do Garbage Collector. Comunicação Assíncrona Dois mecanismos para comunicação assíncrona: Tratamento de eventos assíncronos Transferência Assíncrona de controle 20

21 Comunicação Assíncrona Tratamento de eventos assíncronos Relacionada a eventos externos Fora da JVM Transferência Assíncrona de Controle Provê uma maneira cuidadosamente controlada para uma thread interromper uma outra thread de maneira segura. Tempo e Temporizadores O Java RTS provê: Várias maneiras de especificação do tempo em alta resolução. Inclui tempo absoluto e tempo relativo 21

22 Acesso Direto a Memória Física A RTSJ permite acesso direto à memória física. Mantém ainda as proteções de segurança. Drivers de dispositivo podem ser criados escrevendo código inteiramente em Java. Requisito para Java RTS Dual UltraSparc III ou superior Preferencialmente 512 MB de memória Solaris 10 Java version hotspot 22

23 Java RTS Tempo de latência para threads periódicas e fora do heap executando em processador dedicado estão entre 5 e 20 microsegundos Foi projetado para sistemas de cpu dual, mas também rodam em sistemas tradicionais com processador único. Java RTS Atualmente apenas suportado pelo J2SE 1.4.1, Solaris 10 e SPARC. Releases futuros suportarão J2SE 5.0 e outras plataformas (SO e HW). 23

24 Aplicações A sala de controle da missão Marte do Rover. A agência responsável pelos vôos nos USA, a FAA, começava a pensar em Java, mas são muito conservadores e seus códigos demais de 20 anos. A indústria automotiva estava interessada na Real- Time Specification for Java (RTSJ) para fazer previsões de colisões em trens e carros. Conclusão Devido as exigências do mercado atual, se torna cada vez mais exigente o desenvolvimento de produtos de software de qualidade, com baixo custo, baseado na reusabilidade e portabilidade. Assim, Java se torna uma opção bastante atraente no mundo dos Sistemas de Tempos Reais tanto pelas características que tornaram Java uma linguagem amplamente aceita quanto pelos novos recursos oferecidos baseados na RTSJ. 24

25 Referências me.jsp 99.ps Dúvidas?? 25

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua

Leia mais

Programação Concorrente

Programação Concorrente INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Sistemas Distribuídos Aula 3

Sistemas Distribuídos Aula 3 Sistemas Distribuídos Aula 3 Aula passada Processos IPC Características Ex. sinais, pipes, sockets Aula de hoje Threads Kernel level User level Escalonamento Motivação: Servidor Web Considere Servidor

Leia mais

Sistemas Operacionais Aula 3

Sistemas Operacionais Aula 3 Sistemas Operacionais Aula 3 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Estrutura dos Sistemas Operacionais. Adão de Melo Neto Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional -São partes do SO -São ferramentas de apoio ao usuário -São formas de acessar as rotinas do kernel O Sistema Operacional é formado

Leia mais

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

Leia mais

Programação Paralela e Distribuída

Programação Paralela e Distribuída INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.

Leia mais

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas

Leia mais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional ARQUITETURA E IMPLEMENTAÇÃO Pacote de Threads Conjunto de rotinas disponíveis para que uma aplicação utilize as facilidades dos threads.

Leia mais

Curso: Redes de Computadores

Curso: Redes de Computadores Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos

Leia mais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas

Leia mais

Sistemas Embarcados (embutidos) Paulo C. Masiero

Sistemas Embarcados (embutidos) Paulo C. Masiero Sistemas Embarcados (embutidos) Paulo C. Masiero Caracterização São usados para controlar sistemas de diferentes tipos: máquinas domésticas, fábricas, carros, jogos etc. O software é embutido no hardware

Leia mais

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC:

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC: 2 TinyOS e NesC O framework de programação mais utilizado em redes de sensores sem fio é composto pelo sistema operacional TinyOS [11] e pela linguagem de programação NesC [12]. A linguagem NesC foi definida

Leia mais

Técnicas Avançadas de Programação

Técnicas Avançadas de Programação Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos

Leia mais

Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41

Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ   fevereiro, / 41 Thread Sistemas Operacionais Leonard B. Moreira UNIVERSIDADE ESTÁCIO DE SÁ e-mail: [email protected] fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Programação concorrente (processos e threads)

Programação concorrente (processos e threads) Programação concorrente (processos e threads) Programação concorrente Por que precisamos dela? Para utilizar o processador completamente Paralelismo entre CPU e dispositivos de I/O Para modelar o paralelismo

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura

Leia mais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Competências: SOP 1. Compreender as abstrações de um sistema operacional e operar um sistema operacional Unix/Linux como

Leia mais

Conceitos básicos sobre computadores

Conceitos básicos sobre computadores SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores Prof. Vanderlei Bonato: [email protected] Sumário O que é um computador e onde podemos encontrá-los? Divisão:

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Aula #6: Programação paralela em sistemas de memória compartilhada. ISUTIC - 2016 Eng. Alexander Rodríguez Bonet Aula de hoje Regiões paralelas. Cláusulas de âmbito. Partilha

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

AULA 01: APRESENTAÇÃO

AULA 01: APRESENTAÇÃO ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 01: APRESENTAÇÃO Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação QUAIS OS OBJETIVOS DESSA DISCIPLINA?

Leia mais

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação - Definições - Ementa - Objetivos - Unidades de Ensino - Bibliografia - Processo de Avaliação Paulo César do Amaral Pereira SISTEMA COMPUTACIONAL

Leia mais

Sistemas Operativos. Luís Paulo Reis. Sistemas Operativos. Sumário

Sistemas Operativos. Luís Paulo Reis. Sistemas Operativos. Sumário Sistemas Operativos Luís Paulo Reis Slide Nº 1 Sistemas Operativos Sumário O que é um Sistema Operativo (SO)? Modelo em Camadas de um SO Abstracções Suportadas por um SO: Utilizador Processo Ficheiro /

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído Arquitetura de Computadores Sistemas computacionais para processamento paralelo e distribuído Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Processamento

Leia mais

Estrutura do Sistema Operacional

Estrutura do Sistema Operacional Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional

Leia mais

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register PROCESSADORES Um computador digital consiste em um sistema interconectado de processadores, memória e dispositivos de entrada e saída. A CPU é o cérebro do computador. Sua função é executar programas armazenados

Leia mais

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi Material

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais Introdução aos Sistemas Operacionais Eleri Cardozo FEEC/Unicamp 1 Definição de Sistema Operacional Um sistema operacional é um gerenciador de recursos de hardware ou uma máquina virtual que oferece uma

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha [email protected] Material do prof. Sílvio Fernandes - UFERSA

Leia mais

Sistemas Operacionais

Sistemas Operacionais Apresentação Inst tit ormátic ca - UF FRGS i Introdução Aula 0 INF042 Plano de ensino conforme resolução CEPE /203 Prof. Alexandre CARISSIMI (asc at inf.ufrgs.br) Turma A Objetivos da disciplina Prof.

Leia mais

Engenharia de Confiança. Helena Macedo Reis Luis Fernando de Souza Moro

Engenharia de Confiança. Helena Macedo Reis Luis Fernando de Souza Moro Engenharia de Confiança Helena Macedo Reis Luis Fernando de Souza Moro 1 Engenharia de Confiança Preocupada com técnicas que aumentam a confiança e diminui os riscos de falhas Falha pode causar perda de

Leia mais

Introdução a Sistemas Operacionais. Adão de Melo Neto

Introdução a Sistemas Operacionais. Adão de Melo Neto Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como

Leia mais

Conceitos de Sistemas Distribuídos

Conceitos de Sistemas Distribuídos Conceitos de Sistemas Distribuídos Roteiro Definição de Sistemas Distribuídos (SD) Evolução Histórica Exemplos (SD) Modelos (Vantagens x Desvantagens) 2 O que é um Sistema Distribuído? Definição Coleção

Leia mais

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO O que é Qualidade de Software Produto? Boa fabricação. Deve durar muito. Bom desempenho. Utilizável tanto em UNIX quanto em DOS. Adaptável às minhas

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini Banco de Dados Introdução Profa. Flávia Cristina Bernardini * Slides Baseados no material elaborado pelos professores Eduardo R. Hruschka, Cristina D. A. Ciferri e Elaine Parros Machado Motivação Operações

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender a Arquitetura SMP Conhecer a Organização SMP Apresentar o Conceito

Leia mais

INTRODUÇÃO A LINGUAGEM JAVA

INTRODUÇÃO A LINGUAGEM JAVA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A LINGUAGEM JAVA Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected] Curso Técnico

Leia mais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno

Leia mais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior [email protected] Sistema de

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Prof. Eduardo Simões de Albuquerque Instituto de Informática UFG 1o. Semestre / 2006 Adaptado do material do prof. Fábio Moreira Costa Programa e Introdução Assunto do curso

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens

Leia mais

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU SOP - TADS Threads Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Processos [1/3] Conceito:

Leia mais

Tipos de Sistemas Operacionais

Tipos de Sistemas Operacionais Tipos de Sistemas Operacionais Prof. Edwar Saliba Júnior Março de 2007 1 TIPOS DE S.O. Monoprogramáveis / monotarefas; Multiprogramáveis / multitarefas: Batch; Tempo compartilhado; Tempo real; Sistemas

Leia mais

INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5)

INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) 1.1 (Verdade/Falso) Itens próprios de processos são: Espaço de endereçamento,

Leia mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães [email protected] Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais

Plataforma de desenvolvimento JAVA para terminal POS

Plataforma de desenvolvimento JAVA para terminal POS Plataforma de desenvolvimento JAVA para terminal POS Avenida Viena, 360 Bairro São Geraldo CEP 90240020 Porto Alegre RS Fone 51 3325 2728 Fax 51 3343 9847 [email protected] Apresentação A plataforma

Leia mais

3. Engenharia dos requisitos de software

3. Engenharia dos requisitos de software Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG [email protected] Engenharia de Software 3. Engenharia dos requisitos de software.......... 3.1. Visão Geral O fluxo de Requisitos reúne

Leia mais

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e

Leia mais

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto Breve Introdução aos Sistemas Operativos Disciplina de Informática PEUS, 2006 - U.Porto Definição de Sistema Operativo Um programa que funciona como intermediário entre o utilizador do computador e os

Leia mais

Sobre a KTEC KTEC Escola de Tecnologia

Sobre a KTEC KTEC Escola de Tecnologia Programação em JAVA Sobre a KTEC A KTEC Escola de Tecnologia oferece uma série de cursos, para os que procuram uma base sólida no aprendizado, com foco nas boas práticas que fazem a diferença no mercado

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Visão Geral Referências: Sistemas Operacionais Modernos. Andrew S. Tanenbaum. Editora Pearson. 3ª ed. 2010. Seção: 1.1

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos Gustavo Reis [email protected] 1 - Processos Conceito originado do campos de sistemas operacionais no qual, em geral, são definidos como programas em execução

Leia mais

Métodos de implementação de linguagens. Kellen Pinagé

Métodos de implementação de linguagens. Kellen Pinagé Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos Últimas Aulas Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação:

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Motivação para o uso de C++ para o aprendizado de POO Quando usar C e quando usar C++ C++ versus Java Ambientes

Leia mais

Sistemas de Tempo Real e Tolerante a Falhas

Sistemas de Tempo Real e Tolerante a Falhas Sistemas de Tempo Real e Tolerante a Falhas Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Fevereiro, 2016 1 / 31 Sumário 1 Introdução 2 Denição 3 Conceitos

Leia mais

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora L I NGUAGE M DE PROGRAMAÇÃOJ AVA I NF ORMAÇÃOECOMUNI CAÇÃO J os éj e s s egonç a l v e s Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP,

Leia mais

AULA SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

AULA SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS AULA 05-06 SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS Curso: Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes [email protected] Conceitos Banco de Dados Coleção de dados

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 3 Princípios de Sistemas Operacionais Prof. Belarmino Existem dezenas de Sistemas Operacionais executando nos mais variados tipos de maquinas. Os mais conhecidos

Leia mais

Linguagem de Programação II

Linguagem de Programação II Linguagem de Programação II Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB [email protected] Mo6vação Adaptar a estrutura lógica de um problema (Ex.: Servidores Web). Lidar com disposi6vos independentes

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais 04 Processos Introdução Um sistema de computação quase sempre tem mais atividades a executar que o número de processadores disponíveis. Diferentes tarefas têm necessidades distintas

Leia mais

Interconexão de redes locais. Repetidores. Hubs. Existência de diferentes padrões de rede

Interconexão de redes locais. Repetidores. Hubs. Existência de diferentes padrões de rede Interconexão de redes locais Existência de diferentes padrões de rede necessidade de conectá-los Interconexão pode ocorrer em diferentes âmbitos LAN-LAN LAN: gerente de um determinado setor de uma empresa

Leia mais

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior Estrutura dos Sistemas Operacionais Sérgio Portari Júnior - 2016 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional

Leia mais

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Classificação de Flynn Fonte: Professoras. Sarita UFRJ e Thais V. Batista - UFRN Arquiteturas Paralelas Computação Paralela Conceitos Permite a execução das tarefas em menor tempo,

Leia mais

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída

Leia mais

Framework.NET. Linguagem de Programação III. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo

Framework.NET. Linguagem de Programação III. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem

Leia mais

Objetos e Componentes Distribuídos: EJB

Objetos e Componentes Distribuídos: EJB : EJB Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta

Leia mais