Programação Concorrente e CMSIS RTOS

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

Download "Programação Concorrente e CMSIS RTOS"

Transcrição

1 1 Programação Concorrente e CMSIS RTOS César Yutaka Ofuchi ofuchi@utfpr.edu.br (adaptado do prof. André Schneider de Oliveira)

2 Referências Úteis Trevor Martin-The Designer s Guide to the Cortex-M Processor Family-Newnes (2016) Capítulo 9: Cortex Microcontroller Software Interface Standard-Real Time Operating System Material Complementar (site prof. Andre Schneider) (site prof. Carlos Maziero) - CMSIS RTOS 2

3 3 Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas uma atividade (ex: função main em linguagem C)

4 4 Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas uma atividade (ex: função main em linguagem C)

5 Prog. Sequencial x Prog. Concorrente Analogia indivíduo x equipe Indivíduo: Responsável por todas as tarefas Equipe: Ocorre divisão de tarefas entre vários indivíduos 5

6 6 Vantagens do Trabalho em Equipe Em uma equipe é menos complexo definir o trabalho de cada indivíduo Não há necessidade de um indivíduo mudar de atividade ao longo do tempo Há separação entre atividade e controle de atividade (priorização)

7 7 Implementação de Concorrência Sequencial Laço + Interrupções RTOS (Multi-thread) Tarefa 1 Laço Tarefa 1 Int Tarefa 2 Interrupção 1 Tarefa 2 Interrupção 2 Int Tarefa 3 Interrupção 3 - Periféricos - Eventos externos - Comunicação Tarefa 3

8 Multi-core Desafios Sincronização de tarefas: 1 processo dividido em 2 ou mais threads (ociosidade, paralelismo) Mono-core Preempção de tarefas: capacidade de interromper o processo e trocar por outro (troca de contexto, pilha, prioridade) Compartilhamento de recursos Processador : chaveamento de contexto Regiões de memória :variáveis compartilhadas - conflito Periféricos: múltiplos acessos, acessos simultâneos, conflitos de interrupção 8

9 9 Multi-threading com RTOS Múltiplas linhas de execução P1 P2... Pn Real Time OS Múltiplos processos Memória compartilhada Periféricos compartilhados Controle de execução de tarefas Gerenciamento de Memória Hardware Processador Memória Periféricos

10 Multi-threading com RTOS RTOS cria processadores virtuais idênticos Registradores e pilha individuais Sistemas multi-core Muito mais processadores virtuais do que núcleos A soma da capacidade de processamento dos processadores virtuais é igual à capacidade de processamento original 10

11 11 Regiões de Memória Programação sequencial Flash RAM CPU HEAP CODE STACK Registradores DATA

12 12 Regiões de Memória Programação concorrente com RTOS Flash CPU CODE Registradores RAM RAM RAM HEAP Regs 1... Regs n DATA STACK 1 STACK n

13 13 Efeito ao Longo do Tempo (granularidade grossa) Como as tarefas parecem estar sendo executadas: segundos Uma Thread é iniciada até uma ociosidade (desperdício), nesse ponto inicia outra thread

14 14 Efeito ao Longo do Tempo (granularidade fina) Porém, apenas uma tarefa é executada por vez... milisegundos Rodízio aproveitando todos os ciclos de clock, sem ociosidade

15 15 Efeito ao Longo do Tempo (granularidade) ORDEM: A->B->C Thread A A1 A2 X X A3 Thread B B1 X X B2 X Thread C C1 C2 C3 C4 X Granularidade grossa A1 A2 X B1 X C1 C2 C3 C4 X A3 B2 Granularidade fina A1 B1 C1 A2 B2 C2 A3 C3 C4

16 16 Acesso a Recursos Compartilhados Acessos múltiplos a recursos compartilhados, sem modificações de estado, podem ocorrer em paralelo sem conflitos (leitura x atualização) Problemas surgem quando acessos aos recursos compartilhados modificam o seu estado Acesso concorrente a memória compartilhada Acesso concorrente a periférico compartilhado

17 Conceito de Seção Crítica Thread pode ser dividida em seção crítica e nãocrítica A seção crítica está relacionada com a área de código que acessa o recurso compartilhado 17 17

18 Conceito de Seção Crítica Solução: apenas uma thread pode estar acessando a sua seção crítica Um único processo pode estar nesta seção em determinado instante de tempo Certificar-se de que no máximo um processo pode entrar na sua seção crítica (exclusão mútua) 18 18

19 19 Maiores Preocupações da Programação Concorrente Exclusão mútua Apenas um processo na seção crítica em determinado instante de tempo (concorrentemente) Ausência de impasse (deadlock) Se dois ou mais tentarem entrar, ao menos um terá sucesso (disputa pelo acesso à seção crítica)

20 20 Maiores Preocupações da Programação Concorrente Ausência de atrasos desnecessários Se não houver outros processos na seção crítica, um processo tentando entrar não deve sofrer atrasos Garantia de entrada todas as thread devem ter a oportunidade de acessar a sua seção crítica

21 Real Time Operating System (RTOS) Sistema Real Time... Existe tempo não real? Noção de Tempo Qualitativa (quanto o tempo é representado por palavras como antes, depois, alguma hora, etc.) Exemplo: Abrir a porta depois de apertar o botão. Quantitativo (noção numérica, tempo é medido utilizando um relógio real) Exemplo: Sistema air bag deve funcionar em 1-2 milissegundos. Sistema tem restrições de tempo para funcionar corretamente! 21

22 Tipos de Tempo Real Divisão entre 2/3 categorias Hard Real Time - Sistema deve cumprir deadline senão resulta em falha. - Consequências catrastróficas quando falha. Exemplo: Airbag Firm Real Time - Sistema não cumprir deadline não produz falha. - Resultado é obsoleto e deve ser descartado. Exemplo: Robo que faz a manufatura de uma peça (cuja falha é detectada no setor de qualidade) Soft Real Time - Deadlines são toleráveis mas indesejáveis. - Atrelado a Qualidade de Serviço (QoS). Exemplo: Streaming de vídeo Botão do teclado 22

23 23 CMSIS

24 24 CMSIS RTOS KEIL RTX Segue o padrão CMSIS voltado para a linha Cortex Obs: (ARM comprou a KEIL em 2005)

25 25 Outros RTOS RTOS Empresa Características FreeRTOS FreeRTOS OpenSouce gratuíto μc/os Micrium Sistema pago, com certificação para indústria (automotivo, aviônica, ferroviário, etc) Linux RT Linux OpenSouce, porém ocupa muita memória e não é próprio para μc de entrada TI-RTOS MQX Texas Instruments Freescale/N XP...

26 26 Estado das Tarefas no CMSIS RTOS Time^Signal^Message^Mail^Release Scheduling Yield ^Scheduling

27 27 Estado das Tarefas Pronta (Ready): A tarefa está em memória, pronta para executar (ou para continuar sua execução), apenas aguardando a disponibilidade do processador. Executando(Running): O processador está dedicado à tarefa, executando suas instruções e fazendo avançar seu estado Esperando(Waiting): A tarefa não pode executar porque esta esperando dados externos ainda não disponíveis, algum tipo de sincropnização (fim de outra tarefa para liberar recurso compartilhado) ou eventos temporais (como delay). Inativa (Inactive): O processamento da tarefa foi encerrado

28 28 Transições Pronta -> Executando: Tarefa escolhida pelo escalonador. Executando->Pronta: Acaba a fatia de tempo destinada à tarefa; como nesse momento a tarefa não precisa de outros recursos além do processador, ela volta a fila de tarefas prontas. Executando->Terminada: Tarefa encerra execução ou é abortada por algum erro. Executando->Esperando: tarefa precisa de um recurso não disponível, como dados ou sincronização; ela abandona o processador e fica esperando o recurso. Esperando->Pronta: O recurso solicitado esta disponível, ela pode executar e entra na fila ao estado pronta.

29 Prioridades 29 ospriorityidle = -3, osprioritylow = -2, osprioritybelownormal = -1, osprioritynormal = 0, ospriorityabovenormal = +1, ospriorityhigh = +2, ospriorityrealtime = +3, ospriorityerror = 0x84

30 Implementação RTX Adicionar o arquivo de configuração RTOS no projeto: RTX_Conf_CM.c Adicionar a biblioteca Cortex- M3 no projeto: RTX_LIB_CM.a Incluir o header no programa principal: #include "cmsis_os.h 30

31 31 Kernel (Núcleo do SO) Através do Kernel RTOS é possível obter informações do sistema e do Kernel obter a versão do CMSIS-RTOS API inicializar o Kernel e criar os objetos RTOS iniciar a execução do Kernel RTOS e do gerenciamento das threads verificar o status da execução do Kernel RTOS

32 Ciclo de Vida dos Elementos do Kernel Os elementos do Kernel seguem um ciclo de vida: 1. Definição 2. Inicialização 3. Operação 4. Término 32 32

33 33 Informação e Controle do Kernel oskernelinitialize - Inicializa o kernel oskernelstart - Ativa o kernel oskernelrunning - Consulta se o kernel está ativo oskernelsystick - Obtém o valor do temporizador do kernel osdelay (função de espera genérica) - Espera por um tempo específico

34 Definição e Acesso das Threads osthreaddef(job1, ospriorityabovenormal, 1, 0) Macro que cria uma instância de uma estrutura do tipo osthreaddef_t, que contém: nome da tarefa prioridade número máximo de instâncias tamanho da pilha em bytes O nome desta instância é: os_thread_def_job1 osthread(job1) Macro que é expandida para: &os_thread_def_job1, ou seja, um ponteiro para a estrutura criada com osthreaddef 34

35 Gerenciamento de Tarefas osthreadcreate - Ativa a execução de uma tarefa osthreadterminate - Desativa a execução de uma tarefa osthreadyield - Passa a execução à próxima tarefa que pronta osthreadgetid - Obtém o identificador que referencia a tarefa osthreadsetpriority - Altera a prioridade de uma tarefa osthreadgetpriority - Obtém a prioridade atual de uma tarefa 35 35

36 36 Estrutura Básica #include "cmsis_os.h" // definições de tarefas, temporizadores, etc. // declarações das funções das tarefas e de callback void main(){ oskernelinitialize(); // inicializações de hardware // ativação de tarefas, temporizadores, etc. oskernelstart(); // laço de repetição ou encerramento da tarefa main() } // main

37 37 Exemplo de Uso (Tarefa) #include "LPC13xx.h" // CMSIS-Core #include "gpio.h" // Lib_EABaseBoard #include "cmsis_os.h" // CMSIS-RTOS void thread1(void const *argument){ while(1){ GPIOSetValue(0, 7, 0); // apaga LED2 osdelay(500); GPIOSetValue(0, 7, 1); // acende LED2 osdelay(500); } } osthreaddef(thread1, osprioritynormal, 1, 0);

38 Exemplo de Uso (Tarefa) void main(){ oskernelinitialize(); SystemInit(); GPIOInit(); GPIOSetDir(0, 7, 1); // LED2 como saída osthreadcreate(osthread(thread1), NULL); } oskernelstart(); osdelay(oswaitforever); 38

39 Exemplo Thread no RTOS LPC /19/

40 40 Prática Fazer o download do novo workspace com CMSIS RTOS na página Habilitar exemplo RTOS_1 thread e testar Avaliar o arquivo cmsis_os.h Avaliar arquivo de configuração RTX_Conf_CM.c

41 Projeto e Análise de sistemas concorrentes Projeto teórico Diagrama de estados e transições Análise dos resultados Diagrama de Gantt 10/19/

42 42 Diagrama de Estados e Transições Realizar a representação gráfica das principais ações e eventos da solução proposta Organizar o estudo do problema e esboço da solução Importante ferramente para agilizar o desenvolvimento

43 Principais Entidades Estado inicial Estado final Estado Transição Condição evento [condição] / ação 43 43

44 S2 Exemplo: Semáforo Cruzamento de duas vias de mão única com dois semáforos S1 e S2 T Verde = 20 seg T Amarelo = 4 seg T Vermelho = 28 seg T Sobreposição = 2 seg S1 44

45 45 Diagrama de Tempo S1 Semáforo 1 S2 Semáforo 2 S1 Vermelho Verde A Vermelho Verde A S2 Verde A Vermelho Verde A Vermelho t(s)

46 46 Número de Estados S1 Vermelho Verde A S2 Verde A Vermelho

47 S2 c2 Exemplo: Semáforo Inteligente Além dos dois semáforos S1 e S2, existem também contadores de veículos (c1 e c2) Deixar verde > tempo para rua com > carros T Contagem = 5 min c1 c2 T Verde1 = 30 seg T Verde2 = 20 seg c1 < c2 T Verde1 = 20 seg T Verde2 = 30 seg S1 c1 48

48 Diagrama de Estados e Transições Draw.io (ferramenta de desenho na nuvem) Yakindu Statechart Tools (desenho + simulação) 50

49 Diagrama de Gantt Objetiva descrever a descrição das etapas de um projeto em relação ao tempo Também pode ser aplicado para ilustrar a execução de um sistema multithread, cada etapa representa o estado de uma thread 10/19/

50 Diagrama de Gantt 52 52

51 Tipos de Tarefas 53 53

52 Diagrama de Gantt Mermaid Live Editor Documentação Diagrama de Gantt 10/19/

53 Prática gerar diagramas de Gantt Mermaid Live Editor Documentação Diagrama de Gantt 10/19/

54 56 Prática Gerar Diagramas de Gantt Habilitar exemplo Gantt_diagram e testar Abrir a pasta do projeto no diretório Examples e copier conteúdo do arquivo gantt.txt Abrir o site e colar no text box do lado esquerdo

55 Exemplo RTOS Gantt 1/2 10/19/

56 Exemplo RTOS Gantt 2/2 10/19/

57 Roadmap Laboratórios -> Prova DataLogger FatFs/SD Card - Drivers - Timers DataLogger RTOS -Processamento dos dados - Interrupção - Comunicação Serial com PC DataLogger 3.0 -Comunicação Serial com PC -Protocolo de comunicação (Máquina de Estados) Prova 2 Questões 30% Apresentação 70% -Escalonamento dia semana atividade de entrega 19/10/2017 hoje Prévia laboratórios 26/10/2017 semana 1 Datalogger /11/2017 Recesso/feriado semana 2 09/11/2017 semana 3 16/11/2017 semana 4 Datalogger /11/2017 semana 5 30/11/2017 semana 6 07/12/2017 semana 7 Prova -> apresentação Datalogger questões 14/12/2017 semana 8 Recuperação/Fechamento 59

58 60 Problemas com tempo de kit Diminução do tempo de aula teórica (maior tempo de aula prática) Entregas serão em semanas distintas do prof. André Schneider Agendar horário com professor para utilizar um kit e mandar com dúvidas (avaliando) Simulação de partes do código

59 Gravação de arquivo: Simulação fprintf em arquivo (similar ao gantt) Comunicação serial com PC com0com null modem emulator Free Virtual Serial Ports emulator Sensores (geração de valores aleatórios+delay) 61

SISTEMAS EMBARCADOS. Programação Concorrente e CMSIS RTOS. Prof. André Schneider de Oliveira

SISTEMAS EMBARCADOS. Programação Concorrente e CMSIS RTOS. Prof. André Schneider de Oliveira Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Programação Concorrente e CMSIS RTOS Prof. André Schneider de Oliveira andreoliveira@u6pr.edu.br

Leia mais

Programação Concorrente. Prof. Hugo Vieira Neto

Programação Concorrente. Prof. Hugo Vieira Neto Programação Concorrente Prof. Hugo Vieira Neto Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas

Leia mais

SISTEMAS EMBARCADOS. Controle de Kernel, gerenciamento de Threads e funções de espera. Prof. André Schneider de Oliveira

SISTEMAS EMBARCADOS. Controle de Kernel, gerenciamento de Threads e funções de espera. Prof. André Schneider de Oliveira Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Controle de Kernel, gerenciamento de Threads e funções de espera Prof. André Schneider

Leia mais

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião GERENCIAMENTO DE TAREFAS Prof. Me. Hélio Esperidião O CONCEITO DE TAREFA Uma tarefa pode ser definida como a execução de um fluxo sequencial de instruções para atender uma finalidade específica. Realizar

Leia mais

Gerência de Processos. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Gerência de Processos. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela Gerência de Processos Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela Quantas operações você realiza simultaneamente no seu computador? Processos O que

Leia mais

Processos Concorrentes

Processos Concorrentes Processos Concorrentes Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Multithreading Aula 04 Necessidade de executar atividades concorrentes, porém cooperantes ou que compartilhem dados endereçamento

Leia mais

Métodos de Sincronização

Métodos de Sincronização Métodos de Sincronização Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 31 Sumário 1 Sistemas multiprogramáveis 2 Mecanismos de sincronização

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

Arquitetura de Software em Sistemas Embarcados

Arquitetura de Software em Sistemas Embarcados 1 Arquitetura de Software em Sistemas Embarcados César Yutaka Ofuchi ofuchi@utfpr.edu.br Referências Embedded Systems Architecture A comprehensive Guide for Engineers and Programmers Tammy Noergaard Material

Leia mais

Threads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012

Threads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012 1 2005-2009 Volnys Bernal 1 2005-2009 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Interface de threads Interfaces de threads de usuário x threads de núcleo

Leia mais

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

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Multithreading (multiprogramação leve) Aula 04 Forma diferente de enxergar a abstração de processo = Conjunto de recursos relacionados endereçamento, arquivos, filhos,

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída. Sistemas de arquivos. Gerenciamento de processos Processos Um processo

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Thaís Vasconcelos Batista UFRN DIMAp http://www.dimap.ufrn.br/~thais thais@ufrnet.br Programa do Curso INTRODUÇÃO Conceitos Básicos Sistemas em Rede X Sistemas Distribuídos Necessidade

Leia mais

Concorrência em Processos

Concorrência em Processos Concorrência em Processos Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Baseado nas aulas do professor Alberto Costa Neto da UFS 1 O que fazer com essa apresentação

Leia mais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições

Leia mais

TAREFAS GERÊNCIA DE TAREFAS AULA 05 Sistemas Operacionais Gil Eduardo de Andrade

TAREFAS GERÊNCIA DE TAREFAS AULA 05 Sistemas Operacionais Gil Eduardo de Andrade TAREFAS GERÊNCIA DE TAREFAS AULA 05 Sistemas Operacionais Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro do Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero

Leia mais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições

Leia mais

Ferramentas para Programação em Processadores Multi-Core

Ferramentas para Programação em Processadores Multi-Core Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática

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 affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno

Leia mais

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos Aula 2 Gerência de Processos Gerência de Processos O que são Processos e Threads? Porque são necessários? Como são implementados? Como são controlados? Escalonamento Referências: Capítulo 4: 4.1 a 4.5

Leia mais

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens

Leia mais

Programação de Sistemas em Tempo Real

Programação de Sistemas em Tempo Real BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa

Leia mais

SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira

SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Escalonamento e Tempo Real Prof. André Schneider de Oliveira andreoliveira@utfpr.edu.br

Leia mais

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

PROCESSOS. Sistemas Operacionais. Vinícius Pádua PROCESSOS Sistemas Operacionais Processo Conceito mais importante em SO SO também é um processo Multiprogramação Relembrando Execução simultânea de vários processos CPU salta de processo em processo Ilusão

Leia mais

Variância dos Tempos de Resposta

Variância dos Tempos de Resposta Variância dos Tempos de Resposta Rômulo Silva de Oliveira ebook Kindle, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Introdução Fontes da Variância do Tempo de Resposta Variância

Leia mais

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos

Leia mais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Processos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres

Leia mais

SISTEMAS EMBARCADOS. Acesso a recursos compar,lhados. Prof. André Schneider de Oliveira

SISTEMAS EMBARCADOS. Acesso a recursos compar,lhados. Prof. André Schneider de Oliveira Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Acesso a recursos compar,lhados Prof. André Schneider de Oliveira andreoliveira@u6pr.edu.br

Leia mais

CMSIS. RTOS Keil RTX 5 CMSIS-RTOS API v2. Componente CMSIS-RTOS. Principais Componentes. Documentação. Estrutura de Arquivos 25/04/2019

CMSIS. RTOS Keil RTX 5 CMSIS-RTOS API v2. Componente CMSIS-RTOS. Principais Componentes. Documentação. Estrutura de Arquivos 25/04/2019 CMSIS RTOS Keil RTX 5 CMSIS-RTOS API v2 Cortex Microcontroller Software Interface Standard Prof. Hugo Vieira Neto 2019/1 Principais Componentes CMSIS-CORE API para núcleos Cortex-M CMSIS-Driver Drivers

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13 INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANA 13 Conceitos sobre s. Visão geral, s de usuário e de, modelos de multiing, ciclo de vida. Exemplos nos sistemas operacionais. 1 - Introdução Thread

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

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto? LabSO Gerência de AULA 3 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Porque eu preciso entender este assunto? Para entender como um computador consegue executar

Leia mais

Sistemas Operacionais

Sistemas Operacionais Brainstormig Sistemas Operacionais Processos e multiprogramação Aula 2 Quais são os componentes de um programa? Como podemos representar um programa em execução? Onde ele inicia a executar? Como se mapeia

Leia mais

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

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma

Leia mais

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal Sistemas Operacionais Aula 07: Scheduling da CPU Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o Scheduling da CPU, que é a base dos sistemas operacionais multiprogramados

Leia mais

Exclusão Mútua (mutex)

Exclusão Mútua (mutex) 2004-2017 Volnys Bernal 1 Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Tópicos Exclusão Mútua (Mutex)

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

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes 1 Aula 03 - Concorrência por Sediane Carmem Lunardi Hernandes 2 1. Introdução Sistemas operacionais podem ser vistos como um conjunto de rotinas executadas concorrentemente de forma ordenada Princípio

Leia mais

OO Engenharia Eletrônica

OO Engenharia Eletrônica OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à programação multi-thread. Thread: linha de execução de um processo. Multi-thread: execução de múltiplas threads em um processo. Prof.

Leia mais

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos

Leia mais

Processos. Conceitos Básicos

Processos. Conceitos Básicos Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos

Leia mais

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

TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro do Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero

Leia mais

Processos. Conceitos Básicos

Processos. Conceitos Básicos Processos Conceitos Básicos Processo Abstração usada pelo S.O. para designar a execução de um programa. (1) É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos

Leia mais

Programação Concorrente

Programação Concorrente INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica

Leia mais

Threads. Pedro Cruz. EEL770 Sistemas Operacionais

Threads. Pedro Cruz. EEL770 Sistemas Operacionais Threads Pedro Cruz EEL770 Sistemas Operacionais Nas aulas anteriores A thread ou o thread? Não sei. Já vi todos 2 Chamadas de sistema Pedido de um processo ao Sistema Operacional (SO) Bloqueante Deixa

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO À TECNOLOGIA DA PROFESSOR CARLOS MUNIZ O QUE SÃO? Definição: Entidade dinâmica que consiste num programa em execução, os seus valores correntes, informação de estado e recursos utilizados pelo

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

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

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.

Leia mais

Processos. Conceitos Básicos

Processos. Conceitos Básicos Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos

Leia mais

Processos. Adão de Melo Neto

Processos. Adão de Melo Neto Processos Adão de Melo Neto 1 Processos Introdução Para se poder controlar o uso concorrente (ao mesmo tempo) do processador, da memória e dos dispositivos de E/S, um programa deve sempre estar sempre

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

Conceitos Básicos dos Sistemas de Tempo Real

Conceitos Básicos dos Sistemas de Tempo Real Conceitos Básicos dos Sistemas de Tempo Real Rômulo Silva de Oliveira Edição do Autor, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Sistemas computacionais com requisitos de tempo

Leia mais

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada... LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo

Leia mais

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

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia Sistemas Operacionais BSI / UAB 2013 Hélio Crestana Guardia Visão do SO SO: camada de software, executado diretamente sobre o hardware (físico ou virtual) Permite que hardware seja usado de forma eficiente

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade II - Processos 24/04/2014 Prof. Valeria M. Bastos 1 Organização da Unidade Processos Conceituação Estruturas de Controle Modos de execução do S.O. Estados

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 dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Processos [1/3] Conceito:

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

Sistemas Operacionais. Entrada/Saída

Sistemas Operacionais. Entrada/Saída Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras

Leia mais

Disciplina: Sistemas Operacionais

Disciplina: Sistemas Operacionais Curso: Análise e Desenvolvimento de Sistemas Disciplina: Sistemas Operacionais Parte 2: Sistemas Multiprocessos, Características dos Multiprocessadores,Sistemas de Clusters, Operações básica do Sistema

Leia mais

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

Sistemas Operacionais de Tempo Real. Prof. Andre Luis Meneses Silva Sistemas Operacionais de Tempo Real Prof. Andre Luis Meneses Silva andreluis.ms@gmail.com O que é um Sistema Operacional? Provê um ambiente para execução de programas. Abstração de processos para multitarefa/

Leia mais

EEL770 - Sistemas Operacionais Notas de Aula

EEL770 - Sistemas Operacionais Notas de Aula EEL770 - Sistemas Operacionais Notas de Aula Pedro Cruz 1 Universidade Federal do Rio de Janeiro - PEE/COPPE/GTA cruz@gta.ufrj.br 1. Introdução Este texto contém notas de aula sobre a disciplina EEL770

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

Sincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex)

Sincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex) 2004-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Tópicos Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Exclusão Mútua () Objetivo, utilidade, requisitos

Leia mais

Sistemas Operacionais. Processos e Threads

Sistemas Operacionais. Processos e Threads Sistemas Operacionais Processos e Threads Sumário 1. Introdução 2. Estrutura do Processo 1. Contexto de Hardware 2. Contexto de Software 3. Espaço de Endereçamento 3. Estados 1. Mudanças de Estado 2. Criação

Leia mais

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução Plano da aula Noções de Processos Marcelo Johann Introdução Histórico Multiprogramação Noção de processo Definição Ciclo de vida do processo Suporte de Hardware para multi-programação Mecanismo de interrupção

Leia mais

Notas da Aula 7 - Fundamentos de Sistemas Operacionais

Notas da Aula 7 - Fundamentos de Sistemas Operacionais Notas da Aula 7 - Fundamentos de Sistemas Operacionais 1. Organização de um Processo em Memória Quando um processo é criado, o SO aloca uma porção da memória física da máquina para a criação do espaço

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade II - 18/9/2009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 Conceituação Estruturas de Controle Modos de execução do S.O. Estados de um

Leia mais

Leandro Soares de Sousa (DSc.) Página: Aula 04 - desenvolvimento multithread

Leandro Soares de Sousa (DSc.)   Página:   Aula 04 - desenvolvimento multithread Tópicos Especiais Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: http://www.ic.uff.br/~lsousa Aula 04 - desenvolvimento multithread Mais e mais ferramentas! 2 Processos e Threads: desenvolvimento

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

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Introdução a Processos Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução a Processos Threads vs Processos Características dos Processos Estados dos Processos 3

Leia mais

Sistemas de Computação. Processos e escalonamento

Sistemas de Computação. Processos e escalonamento Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas

Leia mais

Escalonamento (Scheduling)

Escalonamento (Scheduling) 1 Escalonamento (Scheduling) César Yutaka Ofuchi ofuchi@utfpr.edu.br (adaptado do prof. André Schneider de Oliveira/ prof. Hugo Vieira) 2 Ciclo de Vida de Serviços 3 Escalonamento de Processos Responsável

Leia mais

Sistemas Multiprogramáveis/Multitarefa

Sistemas Multiprogramáveis/Multitarefa Sistemas Multiprogramáveis/Multitarefa - Programas submetidos são armazenados em fitas/discos onde são executado sequencialmente -A UCP pode processar seqüencialmente cada job (tarefa), diminuindo o tempo

Leia mais

Unidade III Gerência de Processos

Unidade III Gerência de Processos Sistemas Operacionais Unidade III Gerência de Processos http://www.lncc.br/~lrodrigo Professor: Luis Rodrigo lrodrigo@lncc.br Página: 1 de 34 Unidade III: Gerência de Processos Conceito de Processo Materialização

Leia mais

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Introdução 2 Receita do Bolo Programa (Algoritmo) Ingredientes: dados de entrada Quem prepara (confeiteiro): CPU atividade de: Ler a receita Buscar

Leia mais

EEL770 Sistemas Operacionais

EEL770 Sistemas Operacionais EEL770 Sistemas Operacionais Parte 2: Concorrência Conceitos básicos e ciclo de vida de threads Prof. Rodrigo de Souza Couto Concorrência Múltiplas atividades que podem ocorrer ao mesmo tempo Exemplos

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. Aula 06.

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06. Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos 2 1 Processos A gerência de um ambiente multiprogramável é

Leia mais

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

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados Sistemas de Tempo Real: Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC romulo@das.ufsc.br http://www.das.ufsc.br/~romulo Maio/2009 1 Sistemas computacionais com requisitos de real:

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum

Leia mais

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Processos. Pedro Cruz. EEL770 Sistemas Operacionais Processos Pedro Cruz EEL770 Sistemas Operacionais Datas importantes 02 de Abril Proposta de trabalho 09 de Abril Confirmação de proposta 07 de Maio Primeira apresentação do trabalho 09 de Maio Entrega

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: leonardbarreto@gmail.com.br fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread

Leia mais

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Processos. Pedro Cruz. EEL770 Sistemas Operacionais Processos Pedro Cruz EEL770 Sistemas Operacionais Aviso O que vamos falar vale para sistemas de processador/ núcleo único Vale também para cada processador/núcleo de um sistema com múltiplos processadores/núcleos

Leia mais

Sistemas Operacionais Concorrência. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais Concorrência. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Concorrência Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) POSIX Threads... ... POSIX Threads (2) Exercício } Executando n vezes e verificando a ordem

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais ESCALONAMENTO DE PROCESSOS Processos e Recursos Conceito de Escalonamento O S.O. gerencia recursos computacionais em benefício dos diversos processos que executam no sistema. A questão

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMANDO

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Programação Concorrente Introdução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Programa Seqüencial Representado por apenas um processo Existe apenas

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 11ª Aula Threads Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no livro

Leia mais

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads AULA Nº 08 SISTEMAS OPERACIONAIS Threads Contextualizando Na aula passada Sincronização de Processos Aula de hoje Threads O Modelo de Processo 1) Utilizado para agrupar recursos 2) Um espaço de endereço

Leia mais

Laboratório 4 Avaliação 2

Laboratório 4 Avaliação 2 1 Laboratório 4 Avaliação 2 César Yutaka Ofuchi ofuchi@utfpr.edu.br 2 Objetivo 1 Desenvolver a comunicação entre o datalogger 3.0 e um software Supervisório ScadaBR utilizando o protocolo Modbus RTU (simplificado)

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE

LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE Adriana Nery Programação lógica Paradigma Predicados Dedutiva) baseado no Cálculo de (Lógica Matemática Exemplo: Zé Carioca é um papagaio. Todo papagaio é uma

Leia mais

Sistemas Operacionais. Capítulo 5 Processos

Sistemas Operacionais. Capítulo 5 Processos Sistemas Operacionais Capítulo 5 Processos Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado Luiz Paulo Maia Cap. 5 Processo 1

Leia mais

Threads. O que é uma Thread? Paralelismo

Threads. O que é uma Thread? Paralelismo Threads em Java 1 O que é uma Thread? Paralelismo Threads Multi- threading é o mecanismo de concorrência suportado explicitamente pela linguagem Java. Os mecanismos de gerenciamento e sincronização de

Leia mais

Modelos de Programação de Tempo Real

Modelos de Programação de Tempo Real Modelos de Programação de Tempo Real Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Março, 2016 1 / 27 Sumário 1 Características de Tempo Real 2 Multiprogramação

Leia mais

Sistemas Embarcados. César Yutaka Ofuchi (Adaptado do Prof. Hugo Vieira Neto) César Ofuchi

Sistemas Embarcados. César Yutaka Ofuchi (Adaptado do Prof. Hugo Vieira Neto) César Ofuchi 1 Sistemas Embarcados César Yutaka Ofuchi ofuchi@utfpr.edu.br (Adaptado do Prof. Hugo Vieira Neto) 2 O que é um Sistema Embarcado? Sistema Computacional Embarcado/ Embedded Systems Sistema computacional:

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Fundamentos em Sistemas de Computação Davidson Rodrigo Boccardo flitzdavidson@gmail.com Componentes de um SO Gerenciamento de Processos Sistema de Arquivos Gerenciamento de Entrada/Saída Gerenciamento

Leia mais