NEC Portugal, SA. Sistemas Operativos de Tempo Real

Documentos relacionados
Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Gestor de Processos. Gestor de Processos

Sistemas Operativos: Implementação de Processos

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS

Função Fundamental do SO

Infra-Estrutura de Software. Escalonamento

Sistemas Operacionais de Tempo Real. Sérgio Campos

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução

Sistemas Operativos: Implementação de Processos

Programação Concorrente. Prof. Hugo Vieira Neto

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Especificação, Modelação e Projecto de Sistemas Embutidos

Técnicas Avançadas de Programação

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

Sistemas Operacionais de Tempo Real. Prof. Andre Luis Meneses Silva

Sistemas de Tempo-Real

Luís Filipe Terra Ferreira, Tiago Costa Gonçalves,

Professora Carla Granadeiro

Fundamentos de Sistemas Operativos

Variância dos Tempos de Resposta

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar

Neste capítulo será descrito detalhadamente o desenvolvimento do software do sistema FEROS, justificando a escolha das tecnologias envolvidas.

Sistemas Operacionais I

Sistemas Operativos. Um conjunto de rotinas de software que. virtualizando-o. diversos como o sistema de ficheiros e.

Sistemas Operacionais. Gerência de Processador

Fundamentos de Sistemas Operacionais

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

Sistemas Operativos. Multiprogramação; Multiplexação; Memória Física; Memória virtual; Trabalho/Job - Processo/Process/Task - Thread

Sistemas Distribuídos

Arquitetura de Sistemas Operativos

Sumário. Sistemas Operativos 1

Sistemas Operacionais I

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais. Escalonamento de processos

Arquitectura de Computadores (ACom)

Questões de Múltipla escolha

1B Conceitos Básicos: Indique Verdade/Falso

Sistemas de Tempo-Real

Escalonamento no Unix. Sistemas Operacionais

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software

Sistemas Distribuídos Aula 3

UFCD SISTEMA OPERATIVO INSTALAÇÃO E CONFIGURAÇÃO

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Escalonamento da CPU

Escalonamento da CPU

Métodos de Sincronização

Concorrência em Processos

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

Hardware, Processador e Memória

Sistemas de Troca de Mensagens

Sistemas de Tempo-Real

Apresentação da plataforma.net. Ambientes Virtuais de Execução. Semestre de Verão, 12/13

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

SEM 544 Desenvolvimento de Produtos Mecatrônicos

Um sistema de difusão de informação a nível da aplicação

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO

Gerência de Recursos. Gerência do Processador

Interrupções por hardware

Sincronização e Comunicação entre Processos. Adão de Melo Neto

6. Mostre os principais modelos de organização interna de um sistema operacional.

Introdução aos Sistemas Operativos

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1

Algoritmos de escalonamento

18/08/2015. Funções dos sistemas operacionais. Capítulo 3: Sistemas Operacionais

Sistemas Operacionais

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA GABRIEL BOJKO LUIZ OTÁVIO OYAMA

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO

Sistemas Operacionais. Processos e Threads

Escalonamento no Unix. Sistemas Operacionais

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

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

Sistemas Multiprogramáveis/Multitarefa

Soluções de gestão de clientes e de impressão móvel. Número de publicação do documento:

Sistemas Opera r cionais Sistemas de E/S 1

Escalonamento no Unix. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

Introdução aos Sistemas de Tempo Real

5 Implementação do Modelo

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

UNIVERSIDADE DE AVEIRO

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Escalonamento de Processos Uniprocessador

Sistemas Operacionais

Unix: Processos e o Kernel. Sistemas Operacionais

Unix: Processos e o Kernel

TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 5

Sistemas Operativos: Escalonamento de Processos

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados

6/4/2009. Aula 11. Engenharia de Sistemas Embarcados

Aula 11. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Sistemas Operacionais Embarcados

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Cadeira de Sistemas Operativos. Frequência 1º Semestre. 8 de Fevereiro de 2006

Transcrição:

NEC Portugal, SA Sistemas Operativos de Tempo Real Utilizaçã ção em Aplicaçõ ções Móveis 17 Dezembro 2003

Tópicos a Abordar Apresentaçã ção o da NEC Portugal SO de Tempo Real NUCLEUS Plus Utilizaçã ção o Prática Implementaçã ção o de TIMERS 2

Apresentação da NEC Portugal - Jorge Caetano 3

NEC Nippon Electric Corporation NEC no Mundo 70 Empresas 140 000 Pessoas NEC Super Tower NEC Corporation 4

Quem somos NEC Portugal - Telecomunicações e Sistemas 1995 1995 2000 2001 SISTEL SISTEL DED Aveiro SISTEL DED Aveiro NEC Portugal NEC-P DED PMDC 5

PMDC Portugal Mobile Development Centre NTUK NTUK (Europe) ERDC (UK) FMDC (FR) PMDC (Portugal) NEC-J NEC-P NECA (Australia) 6

PMDC - Qualidade O PMDC possui a Certificação pela norma internacional de Sistemas de Gestão da Qualidade ISO 9001:2000 Prícipios da gestão de Qualidade: FOCALIZAÇÃO NO CLIENTE: LIDERANÇA: ENVOLVIMENTO DAS PESSOAS: ABORDAGEM POR PROCESSOS: ABORDAGEM DA GESTÃO COMO UM SISTEMA: MELHORIA CONTÍNUA: TOMADA DE DECISÃO BASEADA EM FACTOS : RELAÇÕES DE BENEFÍCIO MÚTUO COM FORNECEDORES 7

PMDC Como nos organizamos? Equipas Tools Apps PS DD DD SV 8

Sistemas Operativos de Tempo Real Marco Gaspar 9

Sistemas Operativos de Tempo Real Requisitos requisitos temporais possibilidade de execução de várias tarefas em pseudo simultâneo Devem ter fiabilidade e segurança elevadas Elevada tolerância a falhas - previsíveis Exemplos NUCLEUS, RTKernel, RTLinux, VXWorks,... SO Utilizado pela NEC Portugal NUCLEUS 10

Aplicaçõ ções com Sistemas Operativos de Tempo Real Exemplos Câmaras de filmar Telemóveis Redes de Telecomunicações Robôs Satélites Estações Espaciais... 11

NUCLEUS Plus Principais características Tempo Real Preemptivo 95% escrito em ANSI C Fácil portabilidade Kernel multitarefa para aplicações com requisitos temporais críticos Comunicação entre tarefas Sincronização de tarefas Timers Gestão de memória 12

NUCLEUS Plus - Kernel Threads do NUCLEUS As aplicações Nucleus estão sempre a executar uma das threads: Initialisation (inicializar definições do SO) System Error (reage a erros detectados pelo SO) Scheduling Loop (escalonador de tarefas) Task (Tarefas definidas no sistema) Signal Handler (Handler para gerir os sinais recebidos por cada tarefa) User ISR (ISRs associadas aos vectores de interrupção) LISR (normalmente utilizadas para activar HISRs) HISR (associadas às interrupções do NUCLEUS) 13

Características NUCLEUS Plus - Tarefas Tarefas (segmentos de código semi-independentes com determinado propósito) em execução, pronta, suspensa, morta e terminada. Preemptivo (suspensão de uma tarefa quando uma de prioridade superior passa para o estado pronta) Relinquish (Suspender uma tarefa até que todas as outras de estado igual ou superior que estão no estado pronto sejam concluídas) Round Robin (Tarefas com a mesma prioridade são executadas pela ordem pela qual ficaram no estado pronto) Time Slice Determinístico (Tempo de processamento para suspensão/resumo de tarefas é constante e independente do número de tarefas) Criação dinâmica de objectos Alteração dinâmica das prioridades 14

NUCLEUS Plus - Comunicaçã ção Processos de transmissão de mensagens: Mailboxes mecanismo de baixo overhead para transmitir mensagens simples Queues mecanismo para transmitir múltiplas mensagens, pelo menos 32bits/msg Pipes mecanismo para transmitir múltiplas mensagens, pelo menos 8bits/msg 15

NUCLEUS Plus - Sincronizaçã ção Processos de sincronização entre Tarefas: Semáforos mecanismo de controlo de execução de secções criticas Eventos mecanismo síncrono de notificação de ocorrência de um evento do sistema quando um evento ocorre as tarefas não são notificadas, a ocorrencia do evento só é verificada quando a tarefa necessitar dele Sinais mecanismo idêntico aos eventos, mas de caracter assíncrono quando um sinal é despoletado é chamado um signal handler associado à tarefa destino do sinal, caso esse handler tenha sido definido 16

Descrição NUCLEUS Plus - Timers Cada tarefa do sistema possui um timer interno Tick Criado implicitamente junto com a tarefa Suspensão da tarefa e geração de timeouts resultantes de pedidos de suspensão Unidade de tempo mínima dos timers correspondente a 1 interrupção do timer de hardware Time-Slicing Se uma tarefa tiver um time-slice definido é criado um timer interno adicional para gerir a sua utilização Periodicidade Criação e manipulação dinâmica 17

NUCLEUS Plus - Interrupçõ ções Descrição Mecanismo de resposta imediata a eventos internos ou externos Uma interrupção provoca a suspensão do código em execução e inicia a execução do código da ISR associada Suporte para interrupções managed e unmanaged 18

NUCLEUS Plus - Diagnóstico Serviços disponíveis: Error Management Rotina Error Handling que pára o sistema Possibilidade de adicionar processamento System History Registo das actividades do sistema através de um Log Os serviços do SO geram mensagens de Log automaticamente As HISR podem contribuir para este Log 19

NUCLEUS Plus Gestão o de Memória Cada tarefa possui uma stack São necessárias regiões de memória (pools) comuns a diversas tarefas As regiões de memória podem ser adquiridas pelas tarefas que necessitem de partilhar dados Alocação e libertação dinâmica de memória Processo não determinístico (fragmentação das memory pools) 20

Utilização Práctica João Coimbra 21

Características Sistema embebido SO de Tempo Real NUCLEUS uitron Telemóvel 3G NEC 22

O Sistema Embebido Diagrama da plataforma 2 Processadores ARM9 + Módulo RF para GSM e WCDMA 96Mb SRAM 128Mb Flash Memória FLASH SRAM Memória FLASH SRAM Periféricos ARM9 CPU Aplicações ARM9 CPU Comunicação Modulo RF 23

Telemóvel NEC Arquitectura Software Evolução da arquitectura MUI MUI Middleware Middleware PS LL1 DSP DD DD DD NUCLEUS NUCLEUS NUCLEUS 24

Telemóvel NEC Interacçã ção o com SO (1/2) Um SO, duas especificações UK, FR, PT: NUCLEUS JAPÃO: uitron (fonte nas referencias) TRON Project - iniciado por Dr. Sakamura na Univ. de Tokyo em 1984 Objectivo: Establecer uma arquitetura de computação ideal Resumo: Ligar numa rede um conjunto de dispositivos inteligentes, criando um sistema distribuido (HighlyFunctionalDistributedSystem) ITRON Especificação de um RTOS para sistemas embebidos (IdustrialTheRealtimeOperatingSystemNucleus) Dois ambientes de desenvolvimento C e ARM ASM SDL Ferramenta de desenvolvimento gráfica Geração automática de código C 25

Telemóvel NEC Interacçã ção o com SO (2/2) Conjugação das especificações com os ambientes de desenvolvimento SDL Task 1 SDL Task 2... SDL Task N SDL Kernel SDL Task 3 S D L WRP NU Task 1 NU Task 4 NU Task 2 NU Task 5... NU Task N NU Task 3 NU Task 6 u I T R O N WRP ITRON Task 1 ITRON Task 2... ITRON Task N uitron ITRON Task 3 NUCLEUS Plus NUCLEUS Plus Hardware Hardware 26

Telemóvel NEC Software Algumas referências ACPU 155 tarefas 160 mailboxes 284 semáforos 269 event flags CCPU 75 tarefas (71 estáticas + 4 dinam.) 43 mailboxes 9 semáforos 4 event flags 27

Tarefas Telemóvel NEC Tarefas O SO NUCLEUS não recorre à preempção para comutação de tarefas de diferentes prioridades, nem existe time-slice definido (não existe tempo limite para execução das tarefas) As tarefas são comutadas segundo a técnica Round- Robin à medida que as tarefas em execução vão sendo suspensas Descodificar/Codificar dados que são recebidos/ enviados de/para a rede Serviços de controlo Interacção com o utilizador Serviços de debug 28

Ferramentas de Debug (1/2) LAUTERBACH 29

Ferramentas de Debug (2/2) YOKOGAWA ICE 30

Telemóvel Vs Plataforma de Desenvolvimento Algumas Fotos NEC e616 Plataforma de desenvolvimento 31

Implementação de TIMERs Marco Gaspar 32

Implementaçã ção o de timers no NUCLEUS Necessário um timer físico Utilizada uma lista Timer de Hardware NUCLEUS Timers New Timer Lista de Timers Timer 1 Timer 2... Timer N Timer N+1 33

NUCLEUS Plus Referências http://www.acceleratedtechnology.com/embedded/plus.php uitron uitron 4.0 Specification (http://www.itron.gr.jp) Capitulo 1, TRON Project 1.1 34

Perguntas? 35