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

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

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

Transcrição

1 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

2 1 Sistemas de Tempo Real Crítico Como no caso de sistemas de controle com múltiplas entradas e múltiplas saídas, sistemas de Tempo Real Crítico não podem perder seus prazos e necessitam ter latências limitadas. Normalmente os requisitos de aplicações de Tempo Real Critico são preenchidos pela utilização CPUs dedicadas, como processadores de sinal digital (DSPs) e microcontroladores. Estes oferecem uma garantia de latência de interrupção no intervalo de alguns poucos ciclos de execução. Já os processadores de uso geral (General Purpuse CPUs (GPCPU)), como os utilizados nos computadores pessoais, são em princípio não utilizáveis para aplicações de tempo real. A utilização de memória virtual, de uma unidade de gerenciamento de memória (MMU), a alta dependência das caches multi-nível para performance, a possibilidade de arbitragem nos barramentos por dispositivos de I/O, a execução em pipelines profundos e utilização de especulação, tudo isto sujeita o sistema a latências e variações não determinísticas no tempo de execução. No entanto se olharmos o problema de execução em tempo real do ponto de vista da tarefa a ser realizada, podemos assumir que o conceito de Tempo Real Crítico é relativo à tarefa em questão. Se o sistema controlado possui uma vazão baixa e o número de amostragens que o sistema de controle consegue garantir por intervalo de tempo é grande o suficiente então para este caso podemos afirmar que o sistema de controle é de tempo real crítico. Como um exemplo, se o dispositivo controlado possui uma vazão de 1KHz e o sistema de controle realiza amostragens em uma frequência próxima de 10KHz, então as variações no período de amostragens causarão atrasos de leitura em um nível aceitável. Aplicações de tempo real geralmente não exercem somente controle mas frequentemente necessitam também se comunicar via links rápidos, receber comandos, supervisionar sua operação, fazer logs em um discos e oferecer visualização complexa de dados. Isto faz com que a possibilidade de utilizar uma infraestrutura conhecida e flexível seja algo a se desejar. A possibilidade de utilizar um SO conhecido e com um conjunto grande de ferramentas como o Linux para o desenvolvimento de sistemas de tempo real crítico sobre um computador pessoal é atrativa. Este é o objetivo do projeto RTAI. Para atingir este objetivo o RTAI [2] utiliza a estratégia de isolar o ambiente de execução de aplicações de tempo real crítico do ambiente de execução das demais aplicações. Ele é um componente que trabalha juntamente com o Linux, lidando com o escalonamento das tarefas de tempo real e permitindo que o Linux provenha todas as demais funcionalidade. Para poder cooperar com o Linux é necessário que o hardware seja compartilhado entre o Linux e o RTAI. Isto é feito pela utilização de um nanokernel, o Adeos. O Adeos assume o controle do hardware e, em particular, repassa as interrupções para os outros componentes. Na denominação utilizada no projeto Adeos, o Linux e o RTAI representam diferentes domínios. 2 Adeos O Adeos[3] (Adaptative Domain Environment for Operating Systems), liberado sob uma licença livre em junho de 2002, provê uma interface entre o kernel do linux e o hardware que permite a execução de múltiplos sistemas operacionais 2

3 sobre a mesma máquina. Diferente de das soluções de simulação preexistentes, como VMWare, Plex86, VirtualPC e SimOS; o ADEOS oferece ao usuário também um controle do SO base. Baseado no projeto SPACE, cada SO sendo executado sobre o Adeos é encapsulado em um domínio sobre o qual possui controle total. Figura 1: Arquitetura de comunicação do Adeos. Replica de figura em [3] No ambiente que o Adeos provê existem quatro categorias de métodos de comunicação. Na categoria A estão os acessos gerais dos domínios a memória e hardware. Como em caso de sucesso esses acessos não geram falta, cada domínio opera como se o Adeos não estivesse presente. Na categoria B o Adeos é envolvido recebendo o controle do hardware devido a uma interrupção de hardware ou software (a maneira como o Adeos gerencia interrupções está descrita a seguir). A categoria C consiste em invocar o tratador de interrupções de um SO provendo a ele as informações sobre a interrupção gerada. E a categoria D envolve comunicação mútua entre um domínio e o Adeos, permitindo que o SO peça ao Adeos o acesso a recursos de outros domínios ou maior prioridade no tratamento de interrupções. Figura 2: Linha de interrupções do Adeos. Replica de imagem em [1]. O Adeos utiliza uma linha de interrupções para propagar as interrupções pelos diferentes domínios sendo executados. Caso um domínio deseje pode requisitar ser o primeiro na linha de interrupções. O Adeos foi implementado como um módulo carregável do Linux. Este módulo quando carregado assume o controle do hardware. Para isto ele utiliza dos níveis de prioridade disponíveis na arquitetura ix86. Por padrão o Linux executa no nível 0, comummente denominado ring-zero. O que o Adeos faz 3

4 é transportar o Linux do ring-zero para o ring-one. Desta maneira todas as instruções privilegiadas, como cli e sti não são mais permitidas e sua execução passa a gerar faltas pelo processador. Essas faltas são tratadas pelo Adeos que as trata de maneira semelhante a como os sistemas de virtualização o fazem. O próprio Adeus necessita ser executado no ring-zero. A maneira como ele realiza sua mudança para o ring-zero e a mudança do Linux para o ring-one é modificando a GDT e alterando os privilégios dos códigos. O registrador IDT (Interrupt Descriptor Table também é modificado para apontar para as tabelas do próprio Adeos. A IDT original é mantida pelo Adeos para que possa invocar a entrada correta quando uma interrupção necessitar ser repassada para o Linux. 3 RTAI Figura 3: Camadas no RTAI. Replica de figura em [1]. O projeto RTAI [] teve inicio no Dipartimento di Ingegneria Aerospaziale del Politecnico di Milano (DIAPM) em 1996/1997. Seu objetivo era tornar disponível uma ferramenta que permitisse o desenvolvimento de atividades de pesquisa relacionadas a controle ativo de atuadores aerodinâmicos, e que isto fosse possível de ser realizado em computadores pessoais 32 bits, placas de aquisição de dados comuns e através da utilização de linguagens de alto nível para permitir fácil uso por estudantes de graduação. Inicialmente o RTAI foi desenvolvido como um conjunto de patches para o Linux. Com o surgimento do Adeos o RTAI passou a utilizá-lo assumindo uma maneira mais estruturada e flexível de suporte a Tempo Real no Linux. Para obter determinismo de Hard Real Time, o RTAI é o domínio de mais alta prioridade na linha de propagação de interrupções do Adeos, sempre processando as interrupções antes do domínio Linux. Desta maneira a aplicação hard real time no RTAI é servida primeiramente ainda que seja necessário fazer preempt de qualquer outro processo não hard real time. 4

5 Além da garantia de determinismo no tratamento de exceções oferecida pelo Adeos, o RTAI provê serviços de escalonamento de tarefas a serem executados em tempo real juntamente com maneiras de permitir interações com as tarefas sendo escalonadas no Linux padrão. Os escalonadores do RTAI são totalmente preemptíveis e podem ser escalonados diretamente dos tratadores de interrupções para que o Linux não tenha de atrasar qualquer atividade de tempo real do RTAI. Tarefas desenvolvidas para executar sobre o RTAI podem ser executadas tanto no espaço de usuário como no espaço do kernel. Para tal o RTAI mantém uma API única para os dois casos. Isto facilita o desenvolvimento de tarefas de controle dentro do kernel, o que permite menor latência de execução evitando a troca de contexto pelas MMUs existentes em processadores de uso geral. Esta funcionalidade adiciona o grande beneficio se poder iniciar um desenvolvimento de maneira segura em espaço de usuário e posteriormente, quando for necessário para obter maior performance, migrar para dentro do kernel. O RTAI dispõe de três diferentes escalonadores: o Uniprocessor (UP), é otimizado para maquinas uniprocessadas; o Symetric Multi Processors (SMP) permite executar qualquer tarefa pronta em qualquer CPU, enquanto permite definir a seleção de uma CPU específica para uma tarefa; o escalonador Multi uniprocessor, diferentemente, impõe que toda tarefa é amarrada a uma CPU especifica desde o momento de sua criação, permitindo a obtenção de melhores performances pela exploração mais eficiente das caches. Também estão disponíveis as seguintes politicas de escalonamento: First in Fisrt Out (FIFO) totalmente preemptível, para escalonamento cooperativo voluntário. Uma tarefa segura a CPU até que a libere ou até que uma tarefa de maior prioridade preempte sua execução. Sob esta politica de escalonamento há uma função de suporte para auxiliar o cumprimento dos prazos de execução utilizando prioridades atribuídas estaticamente de acordo com o conceito de Taxa Monotônica. Round Robin (RR), como o FIFO mas com um limite de tempo por tarefa, depois da qual a CPU pode ser repassada a qualquer outra tarefa de mesma prioridade esperando na fila para execução. Early Deadline First (EDF), para atribuir prioridades dinamicamente de maneira a cumprir o prazo final para término de execução das tarefas. Requer do usuário atribuir estimativas razoavelmente boas para o tempo de execução requerido por cada tarefa periódica. Resumidamente o RTAI oferece os seguintes serviços: Gerenciamento básico de tarefas. Gerenciamento de memória. Memória compartilhada inter-tarefas, espaço de dados compartilhado entre espaços de usuário e kernel. Semáforos. Mecanismos de comunicações inter-processos. Incluindo RPC. Tratamento de interrupções em espaço de usuário. Monitores Watchdog. 5

6 4 Exemplos de aplicações sobre RTAI 4.1 Aplicação em espaço de usuário 6

7 #include <stdio.h> #include <errno.h> #include <fcntl.h> #include <sched.h> #include <signal.h> #include <sys/mman.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <rtai_lxrt.h> #include <rtai_sem.h> #include <rtai_usi.h> #include <sys/io.h> #define PARPORT_IRQ 7 #define BASEPORT 0x378 static SEM *intsem, *dspsem; static volatile int end = 1; static volatile int ovr, intcnt, retval, maxcnt; static void *timer_handler(void *args) { RT_TASK *handler; if (!(handler = rt_task_init_schmod(nam2num("handlr"), 0, 0, 0, SCHED_FIFO, 0xF))) { printf("cannot INIT HANDLER TASK > HANDLR <\n"); exit(1); rt_allow_nonroot_hrt(); mlockall(mcl_current MCL_FUTURE); rt_make_hard_real_time(); end = 0; while (!end) { do { ovr = rt_wait_intr(intsem, (void *)&retval); hard_sti(); if (end) break; // overrun processing, if any, goes here if (ovr > 0) { rt_sem_signal(dspsem); /* normal processing goes here */ intcnt++; rt_sem_signal(dspsem); // notify main() rt_ack_irq(parport_irq); while (ovr > 0); rt_pend_linux_irq(parport_irq); 7

8 rt_make_soft_real_time(); rt_task_delete(handler); intcnt = maxcnt; return 0; static pthread_t thread; int main(void) { RT_TASK *maint; printf("give THE NUMBER OF INTERRUPTS YOU WANT TO COUNT: "); scanf("%d", &maxcnt); if (!(maint = rt_task_init(nam2num("main"), 1, 0, 0))) { printf("cannot INIT MAIN TASK > MAIN <\n"); exit(1); // Create semaphore for notification when interrupt occurs // In the thread we wait with rt_wait_intr until an interrupt occurs if (!(intsem = rt_sem_init(nam2num("irqsem"), 0))) { printf("cannot INIT SEMAPHORE > IRQSEM <\n"); exit(1); // create semaphore to notify main() when interrupt occurs if (!(dspsem = rt_sem_init(nam2num("dspsem"), 0))) { printf("cannot INIT SEMAPHORE > DSPSEM <\n"); exit(1); if (iopl(3)) { // ask for permission to access the parallel port from user-space printf("iopl err\n"); rt_task_delete(maint); rt_sem_delete(intsem); rt_sem_delete(dspsem); exit(1); outb_p(0x10, BASEPORT + 2); //set port to interrupt mode; pins are output // create thread pthread_create(&thread, NULL, timer_handler, NULL); // wait until thread went to hard real time while (end) { usleep(100000); // request the interrupt and bind it to semaphore rt_request_global_irq(parport_irq, intsem, USI_SEM); rt_startup_irq(parport_irq); 8

9 rt_enable_irq(parport_irq); while (intcnt < maxcnt) { rt_sem_wait(dspsem); printf("retval %d, OVERRUNS %d, INTERRUPT COUNT %d\n", retval, ovr, intcnt); end = 1; printf("test ENDS\n"); outb_p(0, BASEPORT); outb_p(255, BASEPORT); // generate final interrupt to unblock rt_wait_intr outb_p(0, BASEPORT); pthread_join(thread, NULL); rt_free_global_irq(parport_irq); rt_task_delete(maint); rt_sem_delete(intsem); rt_sem_delete(dspsem); return 0; 9

10 4.2 Aplicação em espaço de kernel 10

11 #include <linux/kernel.h>/* decls needed for kernel modules */ #include <linux/module.h>/* decls needed for kernel modules */ #include <linux/version.h>/* LINUX_VERSION_CODE, KERNEL_VERSION() */ #include "rtai.h" /* RTAI configuration switches */ #include "rtai_sched.h" /* rt_set_periodic_mode(), start_rt_timer(), nano2count(), RT_LOWEST_PRIORITY, rt_task_init(), rt_task_make_periodic() */ #if! defined(rt_lowest_priority) #if defined(rt_sched_lowest_priority) #define RT_LOWEST_PRIORITY RT_SCHED_LOWEST_PRIORITY #else #error RT_SCHED_LOWEST_PRIORITY not defined #endif #endif #include <linux/errno.h>/* EINVAL, ENOMEM */ #include <asm/io.h>/* may be <sys/io.h> on some systems */ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,0) MODULE_LICENSE("GPL"); #endif static RT_TASK hello_task; /* we ll fill this in with our task */ static RTIME hello_period_ns = ; /* timer period, in nanoseconds */ void hello_function(int arg) { while (1) { printk("hello world"); rt_task_wait_period(); return; int init_module(void) { RTIME hello_period_count; /* requested timer period, in counts */ RTIME timer_period_count; /* actual timer period, in counts */ int retval; /* we look at our return values */ rt_set_periodic_mode(); hello_period_count = nano2count(hellp_period_ns); 11

12 timer_period_count = start_rt_timer(hello_period_count); printk("periodic_task: requested %d counts, got %d counts\n", (int) hello_period_count, (int) timer_period_count); rt_task_init(&hello_task,/* pointer to our task structure */ hello_function, /* the actual timer function */ 0,/* initial task parameter; we ignore */ 1024,/* 1-K stack is enough for us */ RT_LOWEST_PRIORITY, /* lowest is fine for our 1 task */ 0,/* uses floating point; we don t */ 0); /* signal handler; we don t use signals */ rt_task_make_periodic(&hello_task, /* pointer to our task structure */ /* start one cycle from now */ rt_get_time() + hello_period_count, hello_period_count); /* recurring period */ return 0; void cleanup_module(void) { rt_task_delete(&hello_task); return; 12

13 Referências [1] A. Barbalace, A. Luchetta, G. Manduchi, M. Moro, A. Soppelsa, and C. Taliercio. Performance comparison of vxworks, linux, rtai, and xenomai in a hard real-time application. Nuclear Science, IEEE Transactions on, 55(1): , Feb [2] Mantegazza P. Dozio L. Linux real time application interface (rtai) in low cost high performance motion control [3] Karim Yaghmour. Adaptive domain environment for operating systems

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

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 Programa de Pós-Graduação

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

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

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 8, 2012 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos

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

1 System Calls no Linux

1 System Calls no Linux Sistemas Operacionais Laboratorio - System Calls Adaptação do Laboratório 1 - Prof. Eduardo Zambon 1 System Calls no Linux Vamos mencionar aqui alguns pontos já discutidos em aula e introduzir novos conceitos

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

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 2ª Aula Conceitos Básicos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados

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

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

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

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

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

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 4, 2014 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos

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

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

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

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

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

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

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

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

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

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

Leia mais

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais. Gerência de Processador Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento

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

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

6 ESCALONAMENTO DE CPU

6 ESCALONAMENTO DE CPU 6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador

Leia mais

Sumário. Sistemas Operativos 1

Sumário. Sistemas Operativos 1 Sumário Requisitos mínimos do hardware para suportar um SO protegido (ex: Windows/Linux) Mecanismos hardware de suporte nas arquitecturas x86/x64 Sequência de chamada de serviços sistema no Windows a 32

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

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

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

Xenomai Short Intro. Paulo Pedreiras pbrp@ua.pt DETI/University of Aveiro. Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015)

Xenomai Short Intro. Paulo Pedreiras pbrp@ua.pt DETI/University of Aveiro. Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015) Xenomai Short Intro Paulo Pedreiras pbrp@ua.pt DETI/University of Aveiro Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015) Agenda Adeos Xenomai Introdução Estrutura de domínios Interrupções Threads em modo

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

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006 Capítulo 13: Sistemas de E/S Capítulo 13: Sistemas de E/S Hardware de E/S Interface de E/S da aplicação Subsistema de E/S do kernel Transformando requisições de E/S em operações de hardware Fluxos Desempenho

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

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

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

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais Notas da Aula 11 - Fundamentos de Sistemas Operacionais 1. Escalonamento de Tempo Real Em sistemas de tempo real, o objetivo principal do escalonador é garantir que todos os processos sejam executados

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação Profa: Simone Martins Gabarito - Lista 2 1 Considere um protótipo de uma máquina, utilizado

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

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico

Leia mais

Escalonamento no Unix. Sistemas Operacionais

Escalonamento no Unix. Sistemas Operacionais Escalonamento no Unix Projeto do Escalonador O projeto de um escalonador deve focar em dois aspectos: Política de escalonamento estabelece as regras usadas para decidir para qual processo ceder a CPU e

Leia mais

Exemplos de Programas em C para o 8051 para o compilador crossware EEL Prof. Raimes Moraes

Exemplos de Programas em C para o 8051 para o compilador crossware EEL Prof. Raimes Moraes Exemplos de Programas em C para o 8051 para o compilador crossware EEL7030 - Prof. Raimes Moraes /* HELLO.C Programa Exemplo No 1 - Ilustra programa para a escrita de dados na porta serial #include

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

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 Apresentação Introdução Aula 0 INF042 Plano de ensino conforme resolução CEPE /203 Prof. Alexandre CARISSIMI (asc at inf.ufrgs.br) Turma A Objetivos da disciplina Prof. Sérgio CECHIN (cechin at inf.ufrgs.br)

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

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE III: GERÊNCIA DE RECURSOS SUMÁRIO 8. GERÊNCIA DO PROCESSADOR: 8.1 Introdução; 8.2 Funções Básicas; 8.3 Critérios de Escalonamento;

Leia mais

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

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 5 Gerenciamento de Processos Prof. Belarmino Execução de Processos Já vimos que o processador executa os processos entregando uma fatia de tempo (time slice) para

Leia mais

SOP - TADS Processos. Revisão Ultima aula

SOP - TADS Processos. Revisão Ultima aula SOP - TADS Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Revisão de hardware Processador

Leia mais

Infra-Estrutura de Software. Escalonamento

Infra-Estrutura de Software. Escalonamento Infra-Estrutura de Software Escalonamento Processos Concorrentes O Modelo de Multiprogramação Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um

Leia mais

Sistemas Operativos: Escalonamento de Processos

Sistemas Operativos: Escalonamento de Processos Sistemas Operativos: Escalonamento de Processos Pedro F. Souto (pfs@fe.up.pt) March 29, 2011 Sumário Escalonamento de Processos O Problema Algoritmos de Escalonamento de Processos Leitura Adicional Padrão

Leia mais

Sistemas de Tempo Real

Sistemas de Tempo Real Sistemas de Tempo Real Msc.Marcelo de Paiva Guimarães Doutorando da Universidade de São Paulo Laboratório de Sistemas Integráveis Escola Politécnica da Universidade de São Paulo {paiva@lsi.usp.br} Fonte:

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

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

Leia mais

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais. Escalonamento de processos Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas

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

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

6. Mostre os principais modelos de organização interna de um sistema operacional. Trabalho 1 Sistemas Operacionais Embarcados Engenharia Elétrica Prof. Carlos Marcelo Pedroso 1 Problemas 1. O IBM 360 modelo 75 é cerca de 50 vezes mais rápida do que o IBM 360 modelo 30. Todavia, o tempo

Leia mais

Sistemas Operacionais Aula 3

Sistemas Operacionais Aula 3 Sistemas Operacionais Aula 3 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

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

Conceitos básicos e serviços dos Sistemas Operacionais

Conceitos básicos e serviços dos Sistemas Operacionais Conceitos básicos e serviços dos Sistemas Operacionais Prof. Marcos Ribeiro Quinet de Andrade Instituto de Ciência e Tecnologia - ICT Universidade Federal Fluminense - UFF Tipos de serviços do S.O. Um

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

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 5. PROCESSO: 5.1 Introdução; 5.2 Estrutura do Processo; 5.3 Estados do Processo; 5.4

Leia mais

Sistemas Operacionais. Sistema de entrada e Saída

Sistemas Operacionais. Sistema de entrada e Saída Sistemas Operacionais Sistema de entrada e Saída Sistema de Entrada e Saída I/O É uma das principais tarefas de um sistema computacional Como máquina abstrata o S.O. deve oferecer uma visão padronizada

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

ENADE 2011 SISTEMAS OPERACIONAIS

ENADE 2011 SISTEMAS OPERACIONAIS ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas

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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 11: Escalonadores: Estudos de Caso Diego Passos Últimas Aulas Escalonadores Escalonadores não-preemptivos: FIFO. SJF (com e sem previsão). Escalonadores preemptivos:

Leia mais

Introdução a Arquitetura de Sistemas Operacionais. Parte 01

Introdução a Arquitetura de Sistemas Operacionais. Parte 01 Introdução a Arquitetura de Sistemas Operacionais Parte 01 Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Julho / 2017 1/44 Nota Com exceção das figuras

Leia mais

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 31 Sumário 1 Interrupções 2 Camadas de Software de E/S 2 / 31 Interrupções

Leia mais

Sistemas Operacionais. Introdução a Sistemas Operacionais

Sistemas Operacionais. Introdução a Sistemas Operacionais Introdução a arliones.hoeller@ifsc.edu.br baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto 1 Sistemas de computação Hardware CPU + memória + dispositivos de E/S Aplicações Objetivo

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

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

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE I SUMÁRIO 2. PROCESSO: 2.1 Introdução; 2.2 Estrutura do Processo; 2.3 Estados do Processo; 2.4 Mudanças de Estado do Processo; 2.5

Leia mais

EPOS: Um Sistema Operacional Portável para Sistemas Profundamente Embarcados

EPOS: Um Sistema Operacional Portável para Sistemas Profundamente Embarcados EPOS: Um Sistema Operacional Portável para Sistemas Profundamente Embarcados Hugo Marcondes Arliones S. Hoeller Junior, Lucas F. Wanner, Rafael L. Cancian, Danillo Santos, Antônio Augusto M. Fröhlich hugom@lisha.ufsc.br

Leia mais

Introdução aos Sistemas Operacionais

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

Leia mais

LABORATÓRIO SISTEMAS OPERACIONAIS

LABORATÓRIO SISTEMAS OPERACIONAIS FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: SISTEMAS OPERACIONAIS CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2016/02 PROFESSOR: EDUARDO FERREIRA DOS SANTOS HORÁRIOS:

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

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

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior - Capítulo 5 Afirmações Entrada/Saída Introdução Processos se comunicam com o mundo externo através de dispositivos de E/S. Processos não querem ou não precisam entender como funciona o hardware. Funçã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. Escalonamento de Processos

Sistemas Operacionais. Escalonamento de Processos Escalonamento de Processos arliones.hoeller@ifsc.edu.br de fevereiro de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto Gerenciamento de processos Processo É uma instância de um

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

Gerência de Recursos. Gerência do Processador

Gerência de Recursos. Gerência do Processador Gerência de Recursos Gerência do Processador Escalonamento Não-Preemptivos e Preemptivos Preempção - possibilidade de o SO interromper um processo em execução e substituí-lo por um outro. O Escalonamento

Leia mais

Uma proposta para migração de páginas no Linux

Uma proposta para migração de páginas no Linux Uma proposta para migração de páginas no Linux Guilherme A. A. Tesser (HP/PUCRS) Avelino F. Zorzo (PUCRS) PUCRS/HP Porto Alegre - Brazil Sumário Introdução Escalonador do Linux Balanceamento de carga em

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término

Leia mais

Infra-Estrutura de Software. Sistemas Operacionais Revisão

Infra-Estrutura de Software. Sistemas Operacionais Revisão Infra-Estrutura de Software Sistemas Operacionais Revisão Sistema Computacional em Camadas Não pode executar instruções que afetam o controle da máquina ou fazem E/S GUI ou shell Acesso completo a todo

Leia mais

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

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado

Leia mais

Sistemas de Tempo Real: Sistemas Operacionais

Sistemas de Tempo Real: Sistemas Operacionais Escola de Computação 2000 - IME-USP Sistemas de Tempo Real: Sistemas Operacionais Jean-Marie Farines Joni da Silva Fraga Rômulo Silva de Oliveira LCMI - Laboratório de Controle e Microinformática DAS -

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

Sistemas Operativos: Introdução. February 17, 2016

Sistemas Operativos: Introdução. February 17, 2016 Sistemas Operativos: Introdução February 17, 2016 Sumário Introdução aos Sistemas Operativos Organização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Componentes dum Computador Pessoal

Leia mais