Real Time Application Interface
|
|
- Anderson Carmona
- 5 Há anos
- Visualizações:
Transcrição
1 Real Time Application Interface RTAI-3.x Walter Fetter Lages Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia Elétrica ELE213 Programação de Sistemas de Tempo Real Copyright (c) Walter Fetter Lages p.1
2 Introdução Desenvolvido por Paolo Mantegazza no Instituto Politécnico de Milão a partir do RT-Linux Utiliza o conceito de HAL e pipeline de interrupções Mais ênfase a aplicabilidade do sistema do que à índices de desempenhos teóricos Suporta programação em tempo real a nível de usuário (LXRT) e ponto flutuante desde as primeiras versões Copyright (c) Walter Fetter Lages p.2
3 RTAI Chaveamento entre RTAI e kernel padrão Se o RTAI não está montado o kernel normal do Linux é utilizado Suporta SMP Interface estilo POSIX threads Copyright (c) Walter Fetter Lages p.3
4 Módulos Básicos rtai_hal Serviços básicos, despacho de interrupções e timer. rtai_ksched Escalonamento de tarefas no kernel link para rtai_up.ko rtai_smp.ko rtai_mup.ko rtai_lxrt Escalonamento nos espaços do kernel e do usuário Copyright (c) Walter Fetter Lages p.4
5 IPC rtai_bits - sincronização composta rtai_fifos - fifos rtai_mbx - mailboxes rtai_mq - fila de mensagens POSIX rtai_msg - mensagens rtai_netrpc - RPC rtai_sem - semáforos rtai_shm - memória compartilhada rtai_tbx - typed mailboxes Copyright (c) Walter Fetter Lages p.5
6 Utilitários rtai_leds - bits de I/O rtai_math - funções matemáticas rtai_serial - comunicação serial rtai_tasklets - tarefas temporizadas rtai_usi - interrupções no espaço do usuário rtai_wd - watchdog rtai_rtdm - driver de tempo real rtai_16550a - driver para 16550A rtai_calibrate - calibração do timer rtai_signal - tratamento de sinais rtai_smi - SMI workaround Copyright (c) Walter Fetter Lages p.6
7 Escalonadores UP scheduler Máquinas monoprocessador Baseado no 8254 SMP scheduler Máquinas SMP Baseado no 8254 ou APIC timer MUP scheduler Máquinas SMP com apenas 1 processador Baseado no 8254 ou APIC timer LXRT scheduler Escalonamento uniforme nos espaços do kernel e do usuário Copyright (c) Walter Fetter Lages p.7
8 Modos do Timer One-shot Tarefas temporizadas arbitrariamente Timer programado para gerar interrupção no próximo instante Apropriado para processadores com TSC Periódico Tarefas temporizadas em múltiplos do período do timer Período definido na inicialização do timer Apropriado para processadores em TSC Copyright (c) Walter Fetter Lages p.8
9 APIs API nativa API definida pelo RTAI POSIX Threads API pthreads API comum API de compatibilidade entre o RTLinux e o RTAI LXRT Permite a implementação de tarefas de tempo real no espaço de usuário Copyright (c) Walter Fetter Lages p.9
10 Exemplo Piscar um led no bit 0 da porta 0x378 a 0.5 Hz CONN1 Piscar um led no bit 1 da porta 0x3f8+4=0x3fc a 0.5 Hz R1 D k3 CONN S DSR RTS 1 R1 2 D1 D DTR 3k3 1N MALE FEMALE Copyright (c) Walter Fetter Lages p.10
11 Modo kernel API Nativa #include <linux/module.h> #include <asm/io.h> #include <rtai_sched.h> MODULE_AUTHOR("Walter Fetter Lages MODULE_DESCRIPTION("Exemplo de tarefa com API nativa do RTAI"); MODULE_VERSION("1.0.0"); MODULE_LICENSE("GPL"); #define DESIRED_TICK /* 1ms */ static int ioport=0x378; module_param(ioport,int,0664); MODULE_PARM_DESC(ioport,"Porta para I/O"); static RT_TASK blink_task; Copyright (c) Walter Fetter Lages p.11
12 Modo kernel API Nativa static void blink_thread(long port) { char data=0; } for(;;) { } outb(data,port); data=data^0x01; rt_task_wait_period(); Copyright (c) Walter Fetter Lages p.12
13 Modo kernel API Nativa int init_module(void) { RTIME tick; } rt_set_oneshot_mode(); tick=start_rt_timer(nano2count(desired_tick)); rt_task_init(&blink_task,blink_thread,ioport,2048,1,0,null); rt_task_make_periodic(&blink_task,rt_get_time(),1000*tick); return 0; void cleanup_module(void) { stop_rt_timer(); rt_task_delete(&blink_task); outb(0,ioport); } Copyright (c) Walter Fetter Lages p.13
14 Makefile Modo Kernel TARGET=led.ko SRCS=$(TARGET:.ko=.c) RUNINFO=.runinfo CINCLUDE=-I/usr/realtime/include KERNEL_SOURCE=/lib/modules/ uname -r /build EXTRA_CFLAGS+=-D KERNEL -DMODULE $(CINCLUDE) obj-m+=$(target:.ko=.o) all: $(TARGET) $(RUNINFO) $(TARGET): $(TARGET:.ko=.c) $(MAKE) -C $(KERNEL_SOURCE) O=. M= pwd modules $(RUNINFO): Makefile echo "led:sched:push led;sleep 60;popall:" > $(RUNINFO) Copyright (c) Walter Fetter Lages p.14
15 Modo Kernel com Thread POSIX #include <linux/module.h> #include <asm/io.h> #include <rtai_posix.h> MODULE_AUTHOR("Walter Fetter Lages MODULE_DESCRIPTION("Exemplo de tarefa com thread POSIX"); MODULE_VERSION("1.0.0"); MODULE_LICENSE("GPL"); #define DESIRED_TICK /* 1ms */ static int ioport=0x378; module_param(ioport,int,0664); MODULE_PARM_DESC(ioport,"Porta para I/O"); static RTIME rttick; volatile static int end=0; Copyright (c) Walter Fetter Lages p.15
16 Modo Kernel com Thread POSIX static void *blink_thread(void *port) { char data=0; } rt_task_make_periodic(rt_whoami(),rt_get_time(),1000*rttick) while(!end) { rt_task_wait_period(); outb(data,*((int*)port)); data=data^0x01; } pthread_exit(0); return NULL; Copyright (c) Walter Fetter Lages p.16
17 Modo Kernel com Thread POSIX int init_module(void) { pthread_t blink_id; } rt_set_oneshot_mode(); rttick=start_rt_timer(nano2count(desired_tick)); pthread_create(&blink_id,null,blink_thread,(void *)&ioport); return 0; void cleanup_module(void) { end=1; stop_rt_timer(); outb(0,ioport); } Copyright (c) Walter Fetter Lages p.17
18 Modo Kernel com API POSIX #include <linux/module.h> #include <asm/io.h> #include <rtai_posix.h> MODULE_AUTHOR("Walter Fetter Lages MODULE_DESCRIPTION("Exemplo de tarefa com API POSIX"); MODULE_VERSION("1.0.0"); MODULE_LICENSE("GPL"); static int ioport=0x378; module_param(ioport,int,0664); MODULE_PARM_DESC(ioport,"Porta para I/O"); static timer_t timerid; Copyright (c) Walter Fetter Lages p.18
19 Modo Kernel com API POSIX static void blink_thread(union sigval port) { static char data=0; } outb(data,port.sival_int); data=data^0x01; Copyright (c) Walter Fetter Lages p.19
20 Modo Kernel com API POSIX int init_module(void) { struct sigevent sevp; struct itimerspec value; } start_rt_timer(0); sevp.sigev_notify=sigev_thread; sevp.sigev_value.sival_int=ioport; sevp.sigev_notify_function=blink_thread; sevp.sigev_notify_attributes=null; timer_create(clock_monotonic,&sevp,&timerid); value.it_interval.tv_sec=1; value.it_interval.tv_nsec=0; value.it_value.tv_sec=0; value.it_value.tv_nsec=1; timer_settime(timerid,0,&value,null); return 0; Copyright (c) Walter Fetter Lages p.20
21 Modo Kernel com API POSIX void cleanup_module(void) { timer_delete(timerid); stop_rt_timer(); outb(0,ioport); } Copyright (c) Walter Fetter Lages p.21
22 Modo LXRT com API Nativa #include <sys/io.h> #include <rtai_lxrt.h> #define DESIRED_TICK #define IOPORT 0x378 int main(int argc,char *argv[]) { RT_TASK *maintsk; RTIME tick; int i; char data=0; Copyright (c) Walter Fetter Lages p.22
23 Modo LXRT com API Nativa rt_allow_nonroot_hrt(); rt_set_oneshot_mode(); tick=start_rt_timer(nano2count(desired_tick)); maintsk=rt_task_init(nam2num("led"),1,0,0); rt_make_hard_real_time(); rt_task_make_periodic(maintsk,rt_get_time(),1000*tick); for(i=0; i < 60; i++) { rt_task_wait_period(); outb(data,ioport); data=data^0x01; } rt_make_soft_real_time(); rt_task_delete(maintsk); stop_rt_timer(); return 0; } Copyright (c) Walter Fetter Lages p.23
24 Makefile Modo LXRT TARGET=led SRCS=$(TARGET).c RUNINFO=.runinfo FLAGS=-O2 -Wall -MMD INCLUDE=-I. -I$(HOME)/include -I/usr/realtime/include LIBDIR=-L$(HOME)/lib LIBS= CC=gcc CFLAGS=$(FLAGS) $(INCLUDE) LDFLAGS=$(LIBDIR) $(LIBS) all: $(TARGET) $(RUNINFO) Copyright (c) Walter Fetter Lages p.24
25 Makefile Modo LXRT $(TARGET): $(SRCS:.c=.o) $(CC) -o $^ $(LDFLAGS) %.o: %.c $(CC) $(CFLAGS) -c -o $< -include $(SRCS:.c=.d) $(RUNINFO): Makefile echo "$(TARGET):lxrt:./$(TARGET);popall:" > $(RUNINFO) clean: rm -f *~ *.bak *.o *.d distclean: clean rm -f $(TARGET) $(RUNINFO) Copyright (c) Walter Fetter Lages p.25
26 Modo LXRT com Threads POSIX #include <sys/io.h> #include <rtai_posix.h> static volatile int end=0; static void *blink_thread(void *port) { char data=0; struct timespec delay; struct timespec period; rt_allow_nonroot_hrt(); pthread_setschedparam_np(1,sched_fifo,0,0xff, PTHREAD_HARD_REAL_TIME_NP); delay.tv_sec=delay.tv_nsec=0; period.tv_sec=1; period.tv_nsec=0; pthread_make_periodic_np(pthread_self(),&delay,&period); Copyright (c) Walter Fetter Lages p.26
27 Modo LXRT com Threads POSIX } while(!end) { pthread_wait_period_np(); outb(data,*((int*)port)); data=data^0x01; } outb(0,*((int*)port)); pthread_soft_real_time_np(); return NULL; Copyright (c) Walter Fetter Lages p.27
28 Modo LXRT com Threads POSIX int main(int argc,char *argv[]) { pthread_t blink_id; const int ioport=0x378; } start_rt_timer(0); pthread_create(&blink_id,null,blink_thread,(void *)&ioport); sleep(60); end=1; stop_rt_timer(); return 0; Copyright (c) Walter Fetter Lages p.28
29 Makefile Modo LXRT POSIX TARGET=led SRCS=$(TARGET).c RUNINFO=.runinfo RTAIDIR=/usr/realtime FLAGS=-O2 -Wall -MMD INCLUDE=-I. -I$(HOME)/include -I$(RTAIDIR)/include LIBDIR=-L$(HOME)/lib LIBS=-lpthread CC=gcc POSIXWRAP=$(shell $(RTAIDIR)/bin/rtai-config --posix-wrap) CFLAGS=$(FLAGS) $(INCLUDE) LDFLAGS=$(LIBDIR) $(LIBS) $(POSIXWRAP) Copyright (c) Walter Fetter Lages p.29
30 Makefile Modo LXRT POSIX all: $(TARGET) $(RUNINFO) $(TARGET): $(SRCS:.c=.o) $(CC) -o $^ $(LDFLAGS) %.o: %.c $(CC) $(CFLAGS) -c -o $< -include $(SRCS:.c=.d) $(RUNINFO): Makefile echo "$(TARGET):lxrt:./$(TARGET);popall:" > $(RUNINFO) clean: rm -f *~ *.bak *.o *.d distclean: clean rm -f $(TARGET) $(RUNINFO) Copyright (c) Walter Fetter Lages p.30
31 Runinfo Para executar aplicações de tempo real pode-se utilizar o script /usr/realtime/bin/rtai-load Informação de como executar a aplicação é obtida do arquivo.runinfo Arquivo oculto no diretório corrente Descreve os módulos que devem ser carregados e os programas no espaço do usuário que devem ser executados Copyright (c) Walter Fetter Lages p.31
32 Formato do.runinfo Cada linha do.runinfo tem a forma target_name:module_dependencies:run_actions:init_comment target_name é um nome para o alvo O default é o primeiro alvo module_dependencies é a lista de módulos a ser carregada Os módulos são separados por + e sem o prefixo rtai_ O módulo rtai_hal é carregado sempre e não precisa ser listado run_actions é a lista dos comandos do shell a serem executados, separados por ponto-e-vírgula Copyright (c) Walter Fetter Lages p.32
33 Ações push <module> pop [<module-list>] popall flush klog exec Comandos precedidos por! são executados por sudo Copyright (c) Walter Fetter Lages p.33
34 init comment Mensagem a ser exibida antes da execução das ações control_c Mensagem para pressionar ˆC Copyright (c) Walter Fetter Lages p.34
35 Exemplo led:lxrt:./led;popall: Copyright (c) Walter Fetter Lages p.35
36 /proc/rtai Informações sobre o funcionamento do sistema Arquivos ASCII Útil para debug hal: temporizador de escalonamento e interrupções scheduler: escalonamento e detalhes das tarefas names: nomes dos objetos do RTAI watchdog: tarefas com problemas fifos: uso das FIFOs pqueue: uso das filas de mensagens POSIX Copyright (c) Walter Fetter Lages p.36
Real Time Application Interface
Real Time Application Interface RTAI-3.x 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
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 2 Ambiente de Desenvolvimento
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 05 Interrupções Prof.
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 3 General Purpose
Leia maisAmbiente de Desenvolvimento
Ambiente de Desenvolvimento 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 mais2 Configuração do Ambiente de Desenvolvimento
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 2 Ambiente de Desenvolvimento
Leia maisAmbiente de Desenvolvimento de Programas
Ambiente de Desenvolvimento de Programas Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 04 Convenções de Chamada
Leia maisLinguagem C. Walter Fetter Lages
Linguagem C Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Microprocessadores II Copyright (c) Walter Fetter Lages
Leia maisMecanismos de Comunicação no RTAI
Mecanismos de Comunicação no RTAI Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia
Leia maisRTAI - Uma implementação de Tempo Real Crítico em Linux
RTAI - Uma implementação de Tempo Real Crítico em Linux Sistemas Operacionais - INE5355 Professor Antônio Augusto Fröhlich Alunos Andreu Carminati Pedro H. R. Ribeiro Novembro de 2008 1 1 Sistemas de Tempo
Leia mais2 Configuração do Ambiente de Desenvolvimento
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 2 Ambiente de Desenvolvimento
Leia maisAmbiente de Desenvolvimento
Ambiente de Desenvolvimento Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 13 Drivers Prof. Walter
Leia maisEntrada e Saída. Walter Fetter Lages.
Entrada e Saída 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 (c) Walter
Leia maisNetRPC. Walter Fetter Lages
NetRPC 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 (c) Walter Fetter
Leia maisSistemas 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 maisAula 3. Executivos (kernels) de tempo-real. Sistemas de Tempo-Real
Sistemas de Tempo-Real Aula 3 Executivos (kernels) de tempo-real Os estados de uma tarefa Arquitectura genérica de um executivo de tempo-real Estruturas e funções típicas do executivo Adaptado dos slides
Leia maisReal Time Linux. Walter Fetter Lages
Real Time Linux Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia Elétrica
Leia maisSistemas 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 maisBásico: estrutura de programa, sintaxe Interface com linha de comando
Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências
Leia maisProcessos 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 maisDesenvolvimento para Sistemas Embarcados (CEA 513) Sistema de Arquivos Raiz & Componentes do Kernel
Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Desenvolvimento para Sistemas Embarcados (CEA 513) Sistema de Arquivos Raiz & Vicente Amorim vicente.amorim.ufop@gmail.com
Leia maisEntrada e Saída. Walter Fetter Lages
Entrada e Saída Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia Elétrica
Leia maisSistemas de Tempo-Real
Sistemas de Tempo-Real Aula 3 Executivos (kernels) de tempo-real Os estados de uma tarefa Arquitectura genérica de um executivo de tempo-real Estruturas e funções típicas do executivo Sistemas de Tempo-Real
Leia maisDISCIPLINA: ELE213 Programação de Sistemas de Tempo Real. Créditos: 4. Caráter: Eletiva. Professor Regente: Prof. Walter Fetter Lages
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL ESCOLA DE ENGENHARIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA PLANO DE ENSINO PERÍODO LETIVO 201/1 DISCIPLINA: ELE213
Leia maisSistemas 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 maisPOSIX Threads. Walter Fetter Lages.
POSIX Threads 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 (c) Walter
Leia maisAspectos Construtivos dos Sistemas Operacionais de Tempo Real
Aspectos Construtivos dos Sistemas Operacionais de Tempo Real Rômulo Silva de Oliveira Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-UFSC Caracterização Sistemas computacionais
Leia maisFerramentas 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 Programação multithread Prática
Leia maisThreads. 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 maisEstrutura 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 maisAmbiente de Desenvolvimento
Ambiente de Desenvolvimento Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Microprocessadores II Copyright (c)
Leia maisUnidade 2. Processos Threads Concorrência em Java
Unidade 2 Programação Concorrente Processos Threads Concorrência em Java Processos Definição Um programa em execução em uma máquina. Identificado pelo seu PID (Process Identifier). A unidade de processamento
Leia maisINE 5645 Programação Paralela e Distribuída
INE 5645 Programação Paralela e Distribuída Prof. João Bosco M. Sobral INE - UFSC bosco@inf.ufsc.br Urian K. Bardemaker PPGCC - INE - UFSC uriank@gmail.com Unidade 2 Programação Concorrente Processos Threads
Leia maisProgramação com Posix Threads
9 Programação com Posix Threads Revisão: Data: 11-03-2016 Cap. 9 1/6 Programação multi-threaded com Pthreads 9.1. O que é uma thread? Um processo represente a execução pelo sistema operativo dum programa.
Leia maisSistemas Operacionais Aula 7
Sistemas Operacionais Aula 7 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Leia maisChamadas de Sistema (SYSCALL)
Chamadas de Sistema (SYSCALL) Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 26 Sumário 1 Estrutura dos Sistemas Operacionais 2 System Calls
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 7 Conversor Analógico/Digital
Leia maisSistemas Operacionais de Tempo Real. Sérgio Campos
Sistemas Operacionais de Tempo Real Sérgio Campos 1 / 21 Sistemas Operacionais de Tempo Real Escalonador, Threads, Tasks Tarefas periódicas Tarefas aperiódicas Microkernel Interrupções Relógios e temporização
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 10 Inter Integrated
Leia maisNa Aula Anterior... O Conceito de Threads
GSI018 Sistemas Operacionais 12/09/2016 Na Aula Anterior... Nesta Aula Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Comunicação entre Processos Pipes;
Leia maisAula 3. Executivos (kernels) de tempo-real. Sistemas de Tempo-Real
Sistemas de Tempo-Real Aula 3 Executivos (kernels) de tempo-real Os estados de uma tarefa Arquitetura genérica de um executivo de tempo-real Estruturas e funções típicas do executivo Adaptado dos slides
Leia maisProcessos no Minix 3.1.7
Processos no Minix 3.1.7 Prof. Alexandre Beletti Conteúdo do Material Visão de Geral Processos no Minix (2.5 3ª ed.) Implementação de Processo (2.6 3ª ed.) Estrutura do Código Fonte Arquivos de include
Leia maisORGANIZAÇÃ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 maisExclusã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 maisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Leia maisThreads em Ambiente LINUX. Estudo e testes com a biblioteca pthreads
Universidade Federal do ABC Disciplina: BC 1518 Sistemas Operacionais (SO) Prática: Threads Atividade 3 Threads em Ambiente LINUX Objetivo Estudo e testes com a biblioteca pthreads Threads Como vimos em
Leia maisCapítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition
Capítulo 5: Escalonamento da CPU Capítulo 5: Escalonamento de CPU Conceitos Básicos Critérios de Escalonamento Algoritmos de Escalonamento Escalonamento de Threads Escalonamento de Multiprocessadores Exemplos
Leia maisUniversidade Federal de Pernambuco Centro de Informática. Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R.
Sistemas RTAI Universidade Federal de Pernambuco Centro de Informática Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R. Maciel Agenda Introdução O que é um SOTR Como funciona Exemplo
Leia maisSincronização e Comunicação Baseada em Mensagens
Sincronização e Comunicação Baseada em Mensagens Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação
Leia maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisRoteiro de Laboratório 8 Serial Peripheral Interface (SPI) Prof. Walter Fetter Lages 21 de outubro de 2015
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia Curso de Extensão Semana Acadêmica 2015 Engenharia de Controle e Automação 1 Objetivo
Leia maisSistemas Operacionais. Laboratório 1 (Ambiente de Aprendizado)
Sistemas Operacionais Laboratório 1 () Roteiro Linux em modo texto Acesso Interpretador de comandos Comandos Básicos Tratamento de Arquivos e Diretórios (Pasta*) Permissões Processos Editor de Texto Criação
Leia maisno Xenomai 2.5.x 1 Introdução ao desenvolvimento de aplicações de tempo real Aplicações Hardware Xenomai
1 Introdução ao desenvolvimento de aplicações de tempo real no Xenomai 2.5.x O Xenomai foi desenvolvido a partir da versão fusion do RTAI (Real Time Application Interface) e adiciona uma camada de abstracção
Leia maisINSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem
Leia maisRetrofitting de Robôs. Walter Fetter Lages Universidade Federal do Rio Grande do Sul Departamento de Engenharia Elétrica
Retrofitting de Robôs Walter Fetter Lages Universidade Federal do Rio Grande do Sul Departamento de Engenharia Elétrica fetter@eletro.ufrgs.br 1 Introdução Robôs Manipuladores Robôs Industriais Móveis
Leia maisNoçõ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 maisSISTEMAS OPERATIVOS I
Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática SISTEMAS OPERATIVOS I Ficha 6 Abril de 2006 Nuno Malheiro Maria João Viamonte Berta Batista Luis Lino Ferreira Sugestões
Leia maisIntrodução aos Sistemas Operacionais. Threads
Introdução aos Sistemas Operacionais Threads Eleri Cardozo FEEC/Unicamp O que é uma Thread? Uma thread (linha de controle) é uma unidade de execução e de controle, alocação e compartilhamento de recursos
Leia maisSistemas Operacionais. Estrutura do Sistema Operacional
Sistemas Operacionais Estrutura do Sistema Operacional Sumário 1. Introdução 2. Funções do Núcleo 3. Modo Acesso 4. Mecanismos de Proteção 5. Grupos de Funções 6. Terminologia e Portabilidade 7. Linguagem
Leia maisSistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores
Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia de Electrónica e Telecomunicações
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache
Leia maisSemáforos. Walter Fetter Lages
Semáforos Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ELE213 Programação de Sistemas de Tempo Real Copyright
Leia maisEstrutura 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 maisSistemas 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 maisBibliotecas são arquivos que contêm módulos reutilizáveis pré-compilados que serão usados por desenvolvedores de aplicações.
19. - Biblioteca de funções Os arquivos.c estão associados aos headers correspondentes, logo tem-se que: arquivo.h + arquivo.c = arquivo.o Bibliotecas são arquivos que contêm módulos reutilizáveis pré-compilados
Leia maisArquitetura de Computadores Sistemas Operacionais II
Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa
Leia maisEEL770 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 maisThreads ou Processos Leves
Threads ou Processos Leves Sistemas Operacionais Tradicionais Sistemas com Multithreading Legenda: processo thread Contador de programa Threads Processos que compartilham espaço de endereçamento: P1 threads
Leia maisLeandro 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 maisEstrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional é formado
Leia maisBreve introdução ao Real Time Application Interface (RTAI)
Breve introdução ao Real Time Application Interface (RTAI) Sistemas de Tempo-Real DETI/UA Paulo Pedreiras DETI/UA Set/2012 DETI/UA STR 12/13 1 Conteúdo Requisitos Kernel Linux O RTAI Como carregar uma
Leia maisEstrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD
Estrutura do SO Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Introdução 2 Usuários Aplicações Utilitários Linguagem de Comandos Núcleo do Sistema ou kernel Rotinas do Sistema Operacional Hardware
Leia maisSistemas Operacionais II
Sistemas Operacionais II Windows Conceitos Básicos Geraldo Braz Junior Departamento de Informática - UFMA 2 Introdução Job Coleção de um ou mais processos gerenciados como uma unidade; Define cotas e limites
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 8 Serial Peripheral
Leia maisProgramando com Threads em C
Programando com Threads em C AEDS III Bruno Diniz de Paula (diniz@dcc.ufmg.br) e-commerce System Performance Evaluation and Experimental Development Lab O que são Threads? Linhas de execução concorrentes
Leia maisCONHECIMENTOS ESPECÍFICOS
ONHEIMENTOS ESPEÍFIOS Julgue os itens seguintes, acerca de arquiteturas e objetos de software comumente empregados em sistemas operacionais de tempo real. 26 Em um sistema operacional de tempo real de
Leia maisSISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 2ª. Lista de Exercícios Data
Leia maisLaboratório de Programação - Exercício 30
Laboratório de Programação - Exercício 30 Testes automáticos João Araujo Ribeiro jaraujo@uerj.br Universidade do Estado do Rio de Janeiro Departamento de Engenharia de Sistemas e Computação João Araujo
Leia maisSistemas 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 maisEscalonamento de Processos Estratégias de Escalonamento de Processos
Estratégias de Escalonamento de s Rossano Pablo Pinto, MSc. FATEC - Americana 15/0/008 O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham
Leia maisProgramação de Sistemas
Programação de Sistemas Módulos do núcleo Programação de Sistemas Módulos : 1/15 Introdução (1) Desenvolvimentos do núcleo, como a criação de novos dispositivos, podem ser incorporados no Linux em duas
Leia maisEstratégias de Escalonamento de Processos
Estratégias de Escalonamento de Processos Rossano Pablo Pinto, MSc. FATEC - Americana 15/02/2008 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 1 O que é um sistema multiprogramável? compartilha a CPU entre
Leia maisUniversidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula Tópicos Conceitos Modelos multithreads Bibliotecas Opções de criação
Leia maisUniversidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG04056 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG04056 Microcontroladores 1 Objetivo Roteiro de Laboratório 9 Comunicação Serial
Leia maisSistemas 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 maisMétodos Sincronizados
Métodos Sincronizados 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 maisBravas shield sample app 2017
Funcionamento A aplicação exemplo executa a leitura de duas entradas digitais da Shield Bravas e escreve nas saídas a relé da seguinte forma: Entrada digital 1 ativa: Reles são acionados, um a um, do relé
Leia mais18/08/2015. Funções dos sistemas operacionais. Capítulo 3: Sistemas Operacionais
Capítulo 3: Sistemas Operacionais Ciência da computação: Uma visão abrangente 11a Edition Autor J. Glenn Brookshear Editora Bookman Copyright 2012 Pearson Education, Inc. Capítulo 3: Sistemas Operacionais
Leia maisSistemas 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 maisSistemas Operacionais
Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache
Leia maisReal Time Clock MC146818A,DS12C887
Real Time Clock MC146818A,DS12C887 Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Microprocessadores II Copyright
Leia maisSistemas Operacionais
Biblioteca de threads cthreads 16.2 Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Trabalho Prático 1 Compact Threads (cthreads) Compilação, ligação e makefile Primitivas context Aula
Leia maisA ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão
A - Introdução O C é orientado para a produção de aplicações informáticas de grande dimensão Na geração de aplicações informáticas há ficheiros gerados a partir de outros: logo, os segundos têm obrigatoriamente
Leia maisMultiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo
Sumário Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. 1 Padrão de Execução dum Processo Processos (e threads) alternam: execução de instruções;
Leia mais