Real Time Application Interface

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

Download "Real Time Application Interface"

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 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 mais

Universidade 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 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 mais

Universidade 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 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 mais

Universidade 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 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 mais

Ambiente de Desenvolvimento

Ambiente 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 mais

2 Configuração do Ambiente de Desenvolvimento

2 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 mais

Ambiente de Desenvolvimento de Programas

Ambiente 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 mais

Universidade 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 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 mais

Linguagem C. Walter Fetter Lages

Linguagem 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 mais

Mecanismos de Comunicação no RTAI

Mecanismos 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 mais

RTAI - Uma implementação de Tempo Real Crítico em Linux

RTAI - 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 mais

2 Configuração do Ambiente de Desenvolvimento

2 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 mais

Ambiente de Desenvolvimento

Ambiente 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 mais

Universidade 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 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 mais

Entrada e Saída. Walter Fetter Lages.

Entrada 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 mais

NetRPC. Walter Fetter Lages

NetRPC. 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 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

Aula 3. Executivos (kernels) de tempo-real. Sistemas de Tempo-Real

Aula 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 mais

Real Time Linux. Walter Fetter Lages

Real 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 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

Básico: estrutura de programa, sintaxe Interface com linha de comando

Bá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 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

Desenvolvimento para Sistemas Embarcados (CEA 513) Sistema de Arquivos Raiz & Componentes do Kernel

Desenvolvimento 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 mais

Entrada e Saída. Walter Fetter Lages

Entrada 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 mais

Sistemas 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 Sistemas de Tempo-Real

Leia mais

DISCIPLINA: ELE213 Programação de Sistemas de Tempo Real. Créditos: 4. Caráter: Eletiva. Professor Regente: Prof. Walter Fetter Lages

DISCIPLINA: 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 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

POSIX Threads. Walter Fetter Lages.

POSIX 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 mais

Aspectos Construtivos dos Sistemas Operacionais de Tempo Real

Aspectos 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 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 Programação multithread Prática

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

Estrutura do Sistema Operacional

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

Leia mais

Ambiente de Desenvolvimento

Ambiente 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 mais

Unidade 2. Processos Threads Concorrência em Java

Unidade 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 mais

INE 5645 Programação Paralela e Distribuída

INE 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 mais

Programação com Posix Threads

Programaçã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 mais

Sistemas Operacionais Aula 7

Sistemas 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 mais

Chamadas de Sistema (SYSCALL)

Chamadas 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 mais

Universidade 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 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 mais

Sistemas Operacionais de Tempo Real. Sérgio Campos

Sistemas 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 mais

Universidade 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 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 mais

Na Aula Anterior... O Conceito de Threads

Na 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 mais

Aula 3. Executivos (kernels) de tempo-real. Sistemas de Tempo-Real

Aula 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 mais

Processos no Minix 3.1.7

Processos 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 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

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

Estruturas de Sistemas Operacionais

Estruturas 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 mais

Threads em Ambiente LINUX. Estudo e testes com a biblioteca pthreads

Threads 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 mais

Capítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition

Capí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 mais

Universidade Federal de Pernambuco Centro de Informática. Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R.

Universidade 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 mais

Sincronização e Comunicação Baseada em Mensagens

Sincronizaçã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 mais

Linguagem C Princípios Básicos (parte 1)

Linguagem 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 mais

Roteiro de Laboratório 8 Serial Peripheral Interface (SPI) Prof. Walter Fetter Lages 21 de outubro de 2015

Roteiro 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 mais

Sistemas Operacionais. Laboratório 1 (Ambiente de Aprendizado)

Sistemas 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 mais

no Xenomai 2.5.x 1 Introdução ao desenvolvimento de aplicações de tempo real Aplicações Hardware Xenomai

no 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 mais

INSTITUTO 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 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 mais

Retrofitting 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 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 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

SISTEMAS OPERATIVOS I

SISTEMAS 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 mais

Introdução aos Sistemas Operacionais. Threads

Introduçã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 mais

Sistemas Operacionais. Estrutura do Sistema Operacional

Sistemas 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 mais

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

Sistemas 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 mais

Sistemas Operacionais

Sistemas 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 mais

Semáforos. Walter Fetter Lages

Semá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 mais

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

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

Leia mais

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

Bibliotecas são arquivos que contêm módulos reutilizáveis pré-compilados que serão usados por desenvolvedores de aplicações.

Bibliotecas 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 mais

Arquitetura de Computadores Sistemas Operacionais II

Arquitetura 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 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

Threads ou Processos Leves

Threads 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 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

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Estrutura dos Sistemas Operacionais. Adão de Melo Neto Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional é formado

Leia mais

Breve introdução ao Real Time Application Interface (RTAI)

Breve 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 mais

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Estrutura 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 mais

Sistemas Operacionais II

Sistemas 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 mais

Universidade 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 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 mais

Programando com Threads em C

Programando 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 mais

CONHECIMENTOS ESPECÍFICOS

CONHECIMENTOS 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 mais

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios

SISTEMAS 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 mais

Laboratório de Programação - Exercício 30

Laborató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 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

Escalonamento de Processos Estratégias de Escalonamento de Processos

Escalonamento 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 mais

Programação de Sistemas

Programaçã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 mais

Estratégias de Escalonamento de Processos

Estraté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 mais

Universidade 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 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 mais

Universidade 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 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 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

Métodos Sincronizados

Mé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 mais

Bravas shield sample app 2017

Bravas 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 mais

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

18/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 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

Sistemas 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 mais

Real Time Clock MC146818A,DS12C887

Real 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 mais

Sistemas Operacionais

Sistemas 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 mais

A ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão

A 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 mais

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

Multiprocessamento. 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