OO Engenharia Eletrônica

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "OO Engenharia Eletrônica"

Transcrição

1 OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à Multithreading. Introdução à Multithreading: execução concorrente de tarefas. Exemplos usando a biblioteca pthread que é de acordo com POSIX. Prof. Jean Marcelo SIMÃO

2 Multithreading: execução concorrente de tarefas Obs.: Material inicial elaborado por Murilo S. Holtman no 2o Semestre de O Holtman era então aluno da disciplina em questão e estagiário em projeto do Professor da disciplina.

3 Threads Thread é o nome dado a uma tarefa (e ao conjunto de estruturas associado a ela) que é executada concorrentemente com outras tarefas. São amplamente utilizadas por todo tipo de software: servidores, browsers, jogos, programas que efetuam cálculos e pesquisas demoradas, entre muitos outros.

4 Implementações de execução concorrente Em modelos e sistemas operacionais mais antigos, era comum o uso das chamadas user-level threads (threads implementadas pelos próprios aplicativos). A maioria dos sistemas operacionais modernos suporta a execução de múltiplas tarefas gerenciadas pelo próprio kernel, que lida com sua alocação, destruição e agendamento.

5 Nova thread Espera Nova thread Linha principal

6 Problemas no uso de threads O principal problema em programas com várias linhas de execução paralelas diz respeito à sincronização no acesso a recursos compartilhados (blocos de memória, arquivos, dispositivos, etc.) por várias tarefas. Estes problemas são circundados ao se escrever código seguro (thread-safe) que inclui a utilização de rotinas reentrantes e objetos de sincronização (como semáforos e mutexes).

7 Exemplo de conflito entre threads que acessam um mesmo recurso Tarefa da thread 1: Tarefa da thread 2:... char *s; for (s = ABCDEF ;; *s!= \0 ;; s++) fputc(*s, stdout); char *s; for (s = ;; *s!= \0 ;; s++) fputc(*s, stdout);... Considerando o seguinte contexto: (a) a fatia de tempo destinado a thread 1, pelo sistema operacional, se esgota enquanto ela ainda está executando seu laço de repetição; (b) a thread 2 é então executada de maneira intercalada com a thread 1; (c) isto se repete algumas vezes. Assim sendo, a saída padrão ( tela ) poderá conter algo como: ABC1D2E3F456

8 POSIX Threads (Pthreads) Uma padronização desenvolvida pelo comitê POSIX (Portable Operating System Interface) para tornar os programas que utilizam threads portáveis através de várias plataformas. Inclui suporte à criação e controle de threads e a alguns objetos de sincronização básicos.

9 Elementos Básico de threading na biblioteca Pthreads pthread_create e pthread_exit pthread_create() cria uma nova thread, que pode (ou não) começar a executar imediatamente após a chamada ter sido concluída. int pthread_create ( ); pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg pthread_exit() é chamada no contexto de uma thread criada por pthread_create() e faz com que essa thread seja finalizada. void pthread_exit( ); void *value_ptr

10 Elementos Básico de threading na biblioteca Pthreads join e detach Uma thread pode aguardar pela finalização de outra thread através de pthread_join(). int pthread_join( ); pthread_t thread, void **value_ptr pthread_detach() avisa à implementação subjacente que a thread especificada deve ser liberada assim que terminar. int pthread_detach ( ); pthread_t *thread

11 Mutexes (mutually exclusive) Um mutex permite acesso de uma thread por vez a um recuso através de uma trava mutualmente exclusiva (mutually exclusive). A função pthread_mutex_init() e a função pthread_mutex_destroy() respectivamente criam e liberam um objeto mutex. int pthread_mutex_init ( ); pthread_mutex_t *mutex, const pthread_mutexattr_t *attr int pthread_mutex_destroy ( pthread_mutex_t *mutex ); Mutexes devem ter sido inicializados antes de serem utilizados (no contexto das threads) pelas seguintes funções: int pthread_mutex_lock ( pthread_mutex_t *mutex ); int pthread_mutex_trylock ( pthread_mutex_t *mutex ); int pthread_mutex_unlock ( pthread_mutex_t *mutex );

12 #include <stdio.h> #include <pthread.h> pthread_mutex_t meu_mutex; struct limite int baixo; int alto; ; struct limite limite_1, limite_2; void* encontra_primos ( void *param ); int main ( ) pthread_t thd1, thd2; pthread_mutex_init( &meu_mutex, NULL ); limite_1.baixo = 0; limite_1.alto = 1000; pthread_create ( &thd1, NULL, encontra_primos, &limite_1); limite_2.baixo = 1000; limite_2.alto = 2000; pthread_create ( &thd2, NULL, encontra_primos, &limite_2); pthread_join ( thd1, NULL ); pthread_join ( thd2, NULL ); pthread_mutex_destroy ( &meu_mutex ); system ( "pause" ) ; return 0; void* encontra_primos( void *param ) struct limite *aux; aux = (struct limite *) param; int n, k; int primo; for ( n = aux->baixo; n <= aux->alto; n++ ) primo = 1; for ( k = 2; k < n; k++ ) if ( (n % k) == 0 ) primo = 0; break; if ( primo ) pthread_mutex_lock ( &meu_mutex ); printf ( " %u \n ", n ); pthread_mutex_unlock( &meu_mutex ); pthread_exit ( NULL );

13 pthread_create() pthread_create() Primos de 0 a 1000 Primos de 1001 a 2000 pthread_join()

14

15 Mais informações (técnicas) Para instalar em Dev C++ Ir no menu Ferramentas e depois no sub-menu Atualizações (++). No campo Select devpack server selecionar devpaks.org Community Devpacks e então clicar no botão Check for updates. Após as atualizações, selecionar item relativo a Pthreads e clicar no botão Download selected. Uma vez realizando o download ativa-se um instalador. Ao compilar um projeto com pthread, pode acontecer um erro causado pela falta dos arquivos libpthreadgc2.a e pthreadgc2.dll. O primeiro se encontra no diretório (default):...\devc++\dev-cpp\lib e o segundo pode ser encontrado no link: ftp://sourceware.org/pub/pthreads-win32/dll-latest/lib/. (último acesso em 20/05/2010). O arquivo libpthreadgc2.a deve ser adicionado ao projeto indo no menu Projeto, depois no sub-menu Opções de Projeto e clicando-se em Adicionar Biblioteca. O arquivo pthreadgc2.dll deve ser adicionado aos arquivos do Dev C++ (\DevC++\Dev- Cpp\bin) ou as pastas do sistema operacional, como C:\Windows\System32, que além de não ser recomendado, ainda pode ser mais trabalhoso, devido aos sistemas de segurança dos sistemas operacionais modernos.

16 Mais informações (técnicas) Para instalar Pthread em outros... Pesquisar na internet... Talvez em: Obs. : Último acesso foi em 19/05/2008, às 21:05. Infos Obs. : Último acesso foi em 19/05/2008, às 21:05. Infos Todas as man pages relativas a Pthreads. Obs. : Último acesso foi em 19/05/2008, às 20:07.

17 Apenas Lembrando: Número primo Número primo é um número inteiro com apenas quatro divisores inteiros: 1, -1, seu oposto e ele mesmo. Por exemplo, o número 3 é um número primo pois seus dois únicos divisores inteiros são 1 e 3, -1 e -3. Se um número inteiro tem módulo maior que 1 e não é primo, diz-se que é composto. Os números 0 e 1 não são considerados primos nem compostos. O conceito de número primo é muito importante na teoria dos números. Um dos resultados da teoria dos números é o Teorema Fundamental da Aritmética, que afirma que qualquer número natural pode ser escrito de forma única (desconsiderando a ordem) como um produto de números primos (chamados fatores primos): este processo se chama decomposição em fatores primos (fatoração). Os 25 primeiros números primos positivos são: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, Origem: Wikipédia, a enciclopédia livre.

18 À quem interessar possa outra versão do mesmo programa. #include <stdio.h> #include <pthread.h> pthread_mutex_t console_mutex; struct nrange unsigned low; unsigned high; range1, range2; void *find_primes(void *param); int main(int argc, char **argv) pthread_t thd1, thd2; pthread_mutex_init(&console_mutex, NULL); range1.low = 0; range1.high = 1000; pthread_create ( range2.low = 1000; range2.high = 2000; pthread_create ( pthread_join ( thd1, NULL ); pthread_join ( thd2, NULL ); &thd1, NULL, find_primes, &range1); &thd2, NULL, find_primes, &range2); pthread_mutex_destroy ( &console_mutex ); fgetc ( stdin ); return 0; void *find_primes( void *param ) struct nrange *range = (struct nrange*)param; unsigned n, k; int prime; for (n = range->low; n <= range->high; n++) prime = 1; for (k = 2; k < n; k++) if ( (n % k) == 0 ) prime = 0; break; if (prime) pthread_mutex_lock(&console_mutex); printf ( "%u\n", n ); pthread_mutex_unlock(&console_mutex); pthread_exit(null);

19 Atividades Exercícios Estudar Semáforos em Pthread. Pesquisar/Estudar como programar com Pthread de maneira orientada a objetos. Vide

20 Threads Windows

21 Threads em Windows Além de pthread, na programação (C/C++) para S.O. Windows, pode-se utilizar as seguintes alternativas: C run-time libraries (que faz parte da Microsoft Run-time Library). Win 32 API. Veja a próxima aula. Veja a bibliografia indicada em uma próxima transparência (abaixo)

22 C run-time libraries C run-time libraries faz parte da Microsoft Run-time Library. O Microsoft run-time library provê rotinas para programar o sistema operacional Microsoft Windows. Estas rotinas automatizam muitas tarefas comuns de programação que não são providas pelas linguagens C e C++ [Microsoft Visual C++ Help].

23 Win 32 API O Win32 API (também conhecido como Windows API) é um arquétipo (framework) baseado em C para a criação de aplicações Windows, e já estava disponível à partir das primeiras versões do Windows.

24 Bibliografias relativas a Threads. SCHILDT, H.: The Art of C++. McGraw-Hill Osborne Media. 1ª Edição (Paperback) ISBN-10: RICHARD, H. C.; KUO-CHUNG, T.: Modern Multithreading: Implementing, Testing, and Debugging Multithreaded Java and C++/Pthreads/Win32 Programs. Wiley-Interscience (Paperback) ISBN-10: HUGHES C; HUGHES T.: Object-Oriented Multithreading Using C++. Wiley; (Paperback) ISBN-10: HUGHES C; HUGHES T.: Professional Multicore Programming: Design and Implementation for C++ Developers. Wrox (Paperback) ISBN-10:

OO Engenharia Eletrônica

OO Engenharia Eletrônica OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à Multithreading. Introdução à Multithreading: execução concorrente de tarefas. Exemplos usando a biblioteca pthread que é de acordo

Leia mais

OO Engenharia Eletrônica

OO Engenharia Eletrônica OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à Multithreading. Introdução à Multithreading: execução concorrente de tarefas. Exemplos usando a biblioteca C Run-time library. Prof.

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 I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade II - Threads 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Threads Processos Threads Conceituação Descrição e Imagem de uma Thread Tipos de thread

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Pai Natal Programação de Sistemas Pai Natal : 1/16 Problema (1) Considere o Pai Natal ( Santa Claus ) se encontra a dormir na sua loja em Rovaniemi-Lapónia finlandesa, sendo acordado

Leia mais

Pthreads. O que são threads? Mario João Junior. Uma thread é um fluxo de execução de instruções que pode ser escalonado pelo sistema operacional.

Pthreads. O que são threads? Mario João Junior. Uma thread é um fluxo de execução de instruções que pode ser escalonado pelo sistema operacional. Pthreads Mario João Junior O que são threads? Uma thread é um fluxo de execução de instruções que pode ser escalonado pelo sistema operacional. O que são threads? No UNIX, uma thread: Existe no interior

Leia mais

Programação de Sistemas Carris

Programação de Sistemas Carris Programação de Sistemas Carris Programação de Sistemas Carris : 1/18 Problema (1) A fim de incentivar os alfacinhas a deslocar na cidade de Volvo, a Carris-Companhia de Carris de Ferro de Lisboa decidiu

Leia mais

Programação de Sistemas Cafetaria

Programação de Sistemas Cafetaria Programação de Sistemas Cafetaria Programação de Sistemas Cafetaria : 1/14 Problema Uma cafetaria vende duas classes de café, cada um servido por uma fila dedicada: local e levar ( take away ). Ao entrar

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Exercício : Museus Programação de Sistemas Museu: 1/11 Problema (1) A Fundação Calouste Gulbenkian vai organizar uma exposição temporária com quadros de Vincent van Gogh e Gustav

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

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Exemplo: Explorar Templates e Exceções Incrementar com o uso de STL 2 Crie uma função verificarpalindromo()

Leia mais

OO Engenharia Eletrônica

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

Leia mais

Processos. Threads POSIX. A noção de thread. O processo é. Nas aulas anteriores. Plano da aula. A imagem do processo.

Processos. Threads POSIX. A noção de thread. O processo é. Nas aulas anteriores. Plano da aula. A imagem do processo. Nas aulas anteriores Threads POSIX Marcelo Johann Processos INF01142 - Sistemas Operacionais I N - Marcelo Johann - 2010/2 Aula 07 : Slide 2 Plano da aula Introdução: do processo às threads Duas categorias

Leia mais

Threads Aula 04 2 Quadrimestre

Threads Aula 04 2 Quadrimestre BC1518 - Sistemas Operacionais Threads Aula 04 2 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: marcelo.nascimento@ufabc.edu.br Roteiro Threads: Visão Geral Benefícios Tipos Modelos de multithread

Leia mais

Programação Sistemas

Programação Sistemas Programação Sistemas Fios de Execução Programação de Sistemas Threads : 1/28 Porquê o paralelismo? (1) 1. Crescentes necessidades de computação têm sido satisfeitas com aumento do número de transístores

Leia mais

MANUAL DE INSTALAÇÃO DOS PROGRAMAS NOVA GIA DECLARAÇÃO DO SIMPLES PARA WINDOWS VISTA

MANUAL DE INSTALAÇÃO DOS PROGRAMAS NOVA GIA DECLARAÇÃO DO SIMPLES PARA WINDOWS VISTA MANUAL DE INSTALAÇÃO DOS PROGRAMAS NOVA GIA E DECLARAÇÃO DO SIMPLES PARA WINDOWS VISTA Equipe Nova GIA Janeiro/2008 1 O Funcionamento do sistema operacional Windows Vista apresenta algumas diferenças com

Leia mais

É a associação de mais de um fluxo de execução em um único processo.

É a associação de mais de um fluxo de execução em um único processo. Profa. Rita Rodorigo Threads Um processo é uma abstração que reúne uma série de atributos como espaço de endereçamento descritores de arquivos abertos, quotas, etc. Um processo possui ainda uma área de

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

Cadastramento de Computadores. Manual do Usuário

Cadastramento de Computadores. Manual do Usuário Cadastramento de Computadores Manual do Usuário Setembro 2008 ÍNDICE 1. APRESENTAÇÃO 1.1 Conhecendo a solução...03 Segurança pela identificação da máquina...03 2. ADERINDO À SOLUÇÃO e CADASTRANDO COMPUTADORES

Leia mais

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

MÓDULO 02 PROCESSOS E THREADS PROCESSOS e THREADS

MÓDULO 02 PROCESSOS E THREADS PROCESSOS e THREADS MÓDULO 02 PROCESSOS E THREADS PROCESSOS e THREADS 1. ATIVIDADE 01 Verificar a criação de um processo filho (que imprime de 51 a 100) que rodará concorrentemente com o processo pai (que imprime de 1 a 50)

Leia mais

Sistemas Operativos Cap. IV Threads. Prof. José Rogado jose.rogado@ulusofona.pt Universidade Lusófona

Sistemas Operativos Cap. IV Threads. Prof. José Rogado jose.rogado@ulusofona.pt Universidade Lusófona Sistemas Operativos Cap. IV Threads Prof. José Rogado jose.rogado@ulusofona.pt Universidade Lusófona Threads Necessidades e Conceito Modelos de Multithreading Problemas de Threading As Pthreads Windows

Leia mais

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

Programação concorrente usando threads POSIX e Java

Programação concorrente usando threads POSIX e Java Programação concorrente usando threads POSIX e Java MAC 431 / MAC 5742 Introdução à Computação Paralela e Distribuída Daniel Cordeiro DCC - IME - USP 13 de agosto de 2012 Introdução Por que escrever programas

Leia mais

Procedimentos para Instalação do SISLOC

Procedimentos para Instalação do SISLOC Procedimentos para Instalação do SISLOC Sumário 1. Informações Gerais...3 2. Instalação do SISLOC...3 Passo a passo...3 3. Instalação da Base de Dados SISLOC... 11 Passo a passo... 11 4. Instalação de

Leia mais

PROCESSOS. Prof. Maicon A. Sartin mapsartin@gmail.com

PROCESSOS. Prof. Maicon A. Sartin mapsartin@gmail.com PROCESSOS Prof. Maicon A. Sartin mapsartin@gmail.com Cenários em Sistemas Multitarefas Um usuário pode executar diversas atividades simultâneas Música Editoração de texto Navegar na Internet Servidor pode

Leia mais

Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet

Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet 1. Autores Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet Luciano Eugênio de Castro Barbosa Flavio Barbieri Gonzaga 2. Resumo O custo de licenciamento

Leia mais

2 Um Primeiro Programa em C

2 Um Primeiro Programa em C 2 Um Primeiro Programa em C Ronaldo F. Hashimoto, Carlos H. Morimoto e José A. R. Soares OobjetivodessaaulaéintroduzirvocêàlinguagemCemambienteLinux,primeiramentemostrandoasua estrutura, e a seguir com

Leia mais

Cadastramento de Computadores. Manual do Usuário

Cadastramento de Computadores. Manual do Usuário Cadastramento de Computadores Manual do Usuário Agosto 2006 ÍNDICE 1. APRESENTAÇÃO 1.1 Conhecendo a solução...03 Segurança pela identificação da máquina...03 2. ADERINDO À SOLUÇÃO e CADASTRANDO COMPUTADORES

Leia mais

Autoridade Certificadora Notarial CONFIGURAÇÃO DA MÁQUINA DA AR COM WINDOWS VISTA E WINDOWS 7 AC NOTARIAL. Página 1 de 14

Autoridade Certificadora Notarial CONFIGURAÇÃO DA MÁQUINA DA AR COM WINDOWS VISTA E WINDOWS 7 AC NOTARIAL. Página 1 de 14 Página 1 de 14 CONFIGURAÇÃO DA MÁQUINA DA AR COM WINDOWS VISTA E WINDOWS 7 AC NOTARIAL Página 2 de 14 Página 3 de 14 ECD Emissor de Certificados Digitais Conteúdo 1. INTRODUÇÃO... 4 2. PRÉ-REQUISITOS DE

Leia mais

Manual de Instalação Software do Cartão Inteligente

Manual de Instalação Software do Cartão Inteligente Manual de Instalação Software do Cartão Inteligente (Safesign 3.0.11) Sistemas operacionais: Microsoft Windows 2000; Microsoft Windows XP; Microsoft Windows Vista Outubro/2008 Proibida a reprodução total

Leia mais

Instruções para Instalação dos Utilitários Intel

Instruções para Instalação dos Utilitários Intel Instruções para Instalação dos Utilitários Intel Estas instruções ensinam como instalar os Utilitários Intel a partir do CD nº 1 do Intel System Management Software (liberação somente para os dois CDs

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

COMO INSTALAR O CATÁLOGO

COMO INSTALAR O CATÁLOGO Este guia tem por finalidade detalhar as etapas de instalação do catálogo e assume que o arquivo de instalação já foi baixado de nosso site. Caso não tenho sido feita a etapa anterior favor consultar o

Leia mais

Introdução à Linguagem C/C++ Parte I

Introdução à Linguagem C/C++ Parte I Linguagem de Programação I Introdução à Linguagem C/C++ Parte I Professor Mestre Ricardo Alexandre Carmona SÃO PAULO - 2014 Introdução à Linguagem C/C++ - Parte I 1 - HISTÓRICO A Linguagem de Programação

Leia mais

Threads. 8 de janeiro de 2015

Threads. 8 de janeiro de 2015 1 / 24 Erick Nilsen Pereira de Souza T002 - Sistemas Operacionais e Org. Computadores Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 8 de janeiro de 2015 2 / 24 Agenda Tópicos

Leia mais

Procedimentos para Instalação do Sisloc

Procedimentos para Instalação do Sisloc Procedimentos para Instalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Instalação do Sisloc... 3 Passo a passo... 3 3. Instalação da base de dados Sisloc... 16 Passo a passo... 16 4. Instalação

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

Programação Estruturada I

Programação Estruturada I Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização:

Leia mais

Java Server Pages: Apresentação e Instalação

Java Server Pages: Apresentação e Instalação 1 Java Server Pages: Apresentação e Instalação Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Apresentar a tecnologia Java Server Pages; Instalar e configurar

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

DCC 003 Algoritmos e Estruturas de Dados I Tutorial de instalação do GCC e do TextPad

DCC 003 Algoritmos e Estruturas de Dados I Tutorial de instalação do GCC e do TextPad DCC 003 Algoritmos e Estruturas de Dados I Tutorial de instalação do GCC e do TextPad Semestre: 2012-2 Professor: Daniel Fernandes Macedo Introdução Durante as aulas práticas, iremos utilizar nos laboratórios

Leia mais

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos.

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos. AULA 4: DIRETIVAS DE GRUPO Objetivo: Conhecer e aplicar conceitos sobre restrições de acesso ao sistema operacional Windows através de diretivas de grupo. Diretivas de Grupo: Computadores com mais de um

Leia mais

Introdução a Computação

Introdução a Computação Sistemas Operacionais: Software Oculto Introdução a Computação Sistemas Operacionais Serve como um intermediário entre o hardware e os softwares aplicativos. Sistema Operacional Software de sistemas Kernel

Leia mais

AULA 02 2. USO DE FERRAMENTAS DE SUPORTE DO SISTEMA

AULA 02 2. USO DE FERRAMENTAS DE SUPORTE DO SISTEMA AULA 02 2. USO DE FERRAMENTAS DE SUPORTE DO SISTEMA 2.1 Desfragmentador de Disco (DFRG.MSC): Examina unidades de disco para efetuar a desfragmentação. Quando uma unidade está fragmentada, arquivos grandes

Leia mais

BIT 0006-12 Atualização de Sistema Android 2.3 para Android 4.0

BIT 0006-12 Atualização de Sistema Android 2.3 para Android 4.0 BIT 0006-12 Atualização de Sistema Android 2.3 para Android 4.0 Família: TAB200 Data Elaboração: 29/06/2012 Elaborador: Enviado para o SAC? XXXXX ( x )Sim ( )Não Data do envio: 02/07/2012 DESCRIÇÃO TÉCNICA

Leia mais

Estrutura, Processos e Threads

Estrutura, Processos e Threads Estrutura, Processos e Threads Prof. Edwar Saliba Júnior Março de 2007 1 Sistema computacional A p l i c a t i v o s U t i l i t á r i o s N ú c l e o d o S i s t e m a O p e r a c i o n a l H a r d w

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Infra-Estrutura de Software

Infra-Estrutura de Software Infra-Estrutura de Software Processos, Threads e Concorrência Threads O Modelo de Thread (1) Razões para ter processos leves (threads) Em muitas aplicações, várias atividades acontecem ao mesmo tempo mundo

Leia mais

Programação com Pthreads

Programação com Pthreads Programação com Vinícius Alves Hax Engenharia de Computação Furg Abril/2008 Índice Conceitos básicos Programação com threads POSIX threads API 2 Lembrete Não use códigos desta apresentação em ambiente

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

Download e Instalação

Download e Instalação Download e Instalação Sistema Declaração eletrônica de Serviços Acesso a Página do Download...03 JRE Java Runtime Enviroment 5.0...05 Adobe Acrobat Reader...10 DeS - Declaração Eletrônica de Serviços...13

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS Disciplina de Nivelamento - 2000/1: ALGORITMOS & ESTRUTURAS DE DADOS Professor Responsável: Prof. Fernando Santos

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

José Romildo Malaquias 2011-1

José Romildo Malaquias 2011-1 Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

ÍNDICE. 1. Introdução...2. 2. O que é o Sistema Mo Porã...2. 3. Como acessar o Site Mo Porã...3. 4. Cadastro do Sistema Mo Porã...

ÍNDICE. 1. Introdução...2. 2. O que é o Sistema Mo Porã...2. 3. Como acessar o Site Mo Porã...3. 4. Cadastro do Sistema Mo Porã... ÍNDICE 1. Introdução...2 2. O que é o Sistema Mo Porã...2 3. Como acessar o Site Mo Porã...3 4. Cadastro do Sistema Mo Porã...4 5. Navegando no Site Mo Porã...6 5. 1 Manual de ajuda do sistema Mo Porã...7

Leia mais

Microsoft Lync Manual de Instalação e Uso

Microsoft Lync Manual de Instalação e Uso Microsoft Lync Manual de Instalação e Uso Sumário Introdução_... 3 Detalhamento_... 5 Importação_... 8 Funcionalidades na Intranet_... 13 Geração de nova senha... 14 Lembrete de expiração da senha... 15

Leia mais

COMO INSTALAR ZIM 8.50 WINDOWS

COMO INSTALAR ZIM 8.50 WINDOWS ZIM TECHNOLOGIES DO BRASIL COMO INSTALAR ZIM 8.50 WINDOWS Próx Antes de Iniciar O objetivo deste documento é apresentar os passos necessários para instalar a versão mais recente do Zim 8.50 para Windows.

Leia mais

Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2

Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2 Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2 Artigo escrito por Walter Teixeira wteixeira.wordpress.com Sumário Cenário Proposto... 3 Preparação do Servidor SQL Server

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais

MANUAL DE INSTALAÇÃO DO SISTEMA BDS PROPOSTA

MANUAL DE INSTALAÇÃO DO SISTEMA BDS PROPOSTA MANUAL DE INSTALAÇÃO DO SISTEMA BDS PROPOSTA 1 - INFORMAÇÕES SOBRE O SISTEMA 2 2 - INSTALAÇÃO DO FIREBIRD 3...5 3 - INSTALAÇÃO DO JAVA 6 4 - INSTALAÇÃO DO SISTEMA 7 5 - UTILIZANDO O SISTEMA 8...12 LER

Leia mais

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7) SafeNet Authentication Client 8.2 SP1 (Para MAC OS 10.7) 2/28 Sumário 1 Introdução... 3 2 Pré-Requisitos Para Instalação... 3 3 Ambientes Homologados... 4 4 Tokens Homologados... 4 5 Instruções de Instalação...

Leia mais

DESENVOLVIMENTO DE SOFTWARE AULA 1

DESENVOLVIMENTO DE SOFTWARE AULA 1 DESENVOLVIMENTO DE SOFTWARE AULA 1 CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014 1 Características da Plataforma.NET A plataforma.net Framework 4.0 (.NET 4.0) é uma plataforma de softwares que fornece

Leia mais

Orientação a Objetos Programação em C++

Orientação a Objetos Programação em C++ OO - Engenharia de Computação/Eletrônica Orientação a Objetos Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) - Exemplificado

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Manual de Instalação

Manual de Instalação Manual de Instalação Sumário 1. Sobre este documento...3 2. Suporte técnico...3 3. Requisitos de hardware...3 3.1. Estação...3 3.2. Servidor...4 4. Instalação...4 4.1. Instalação do Group Folha no servidor...6

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Exemplo: Explorar Templates e Exceções Incrementar com o uso de STL "2 Crie uma função verificarpalindromo()

Leia mais

Threads em Java. Sistemas Operacionais - Laboratório Professor Machado

Threads em Java. Sistemas Operacionais - Laboratório Professor Machado Threads em Java Sistemas Operacionais - Laboratório Professor Machado 1 Conceitos de Programação Concorrente Uma unidade concorrente é um componente de um programa que não exige a execução seqüencial,

Leia mais

MANUAL DO USUÁRIO. Software de Ferramenta de Backup

MANUAL DO USUÁRIO. Software de Ferramenta de Backup MANUAL DO USUÁRIO Software de Ferramenta de Backup Software Ferramenta de Backup Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. Este manual serve como referência para

Leia mais

MULTIACERVO - VERSÃO 17.*

MULTIACERVO - VERSÃO 17.* MULTIACERVO - VERSÃO 17.* MANUAL PARA CONVERSÃO DA VERSÃO 16.* PARA 17.* CONTEÚDO: A) Procedimentos comuns para todas as arquiteturas B) Procedimentos exclusivos arquitetura Cliente/Servidor MS-SQL-SERVER

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL WINDOWS 7

ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL WINDOWS 7 ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL WINDOWS 7 OBJETIVO Conhecer as funcionalidades do software VMware Player implantando o sistema operacional Windows 7 e trabalhando em algumas ferramentas nativas

Leia mais

Nota Fiscal Paulista. Manual do TD REDF (Transmissor de Dados Registro Eletrônico de Documentos Fiscais) GOVERNO DO ESTADO DE SÃO PAULO

Nota Fiscal Paulista. Manual do TD REDF (Transmissor de Dados Registro Eletrônico de Documentos Fiscais) GOVERNO DO ESTADO DE SÃO PAULO Nota Fiscal Paulista Manual do TD REDF (Transmissor de Dados Registro Eletrônico de Documentos Fiscais) Versão 1.1 15/02/2008 Página 1 de 17 Índice Analítico 1. Considerações Iniciais 3 2. Instalação do

Leia mais

Manual de Instalação Software do etoken Aladdin pro 72k

Manual de Instalação Software do etoken Aladdin pro 72k Manual de Instalação Software do etoken Aladdin pro 72k (SafeNet Authentication Client 8.0) Para o funcionamento do etoken Aladdin pro 72k, deve ser instalado o gerenciador do token disponível na área

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados

Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipo de dados, tipo abstrato de dados, estruturas de dados Termos parecidos, mas com significados diferentes Tipo de dado Em linguagens de programação

Leia mais

Manual de Instalação Corporate

Manual de Instalação Corporate Manual de Instalação Corporate Sumário 1. Sobre este documento...3 2. Suporte técnico...3 3. Requisitos de hardware...3 3.1. Estação...3 3.2. Servidor...4 4. Instalação...4 4.1. Instalação do Imobiliária21

Leia mais

Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014

Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014 Aula 06 Introdução à Teste de Módulos II e Exercícios Alessandro Garcia LES/DI/PUC-Rio Março 2014 Princípios Discutidos até aqui Cada módulo deveria implementar uma única abstração similarmente: cada função

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 1 Linguagens de Programação Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto

Leia mais

Manual de instalação e configuração da Ferramenta Android SDK

Manual de instalação e configuração da Ferramenta Android SDK Trabalho de Programação para Dispositivos Móveis Turma: 1011 Camila Botelho camilacunhabotelho@gmail.com Manual de instalação e configuração da Ferramenta Android SDK Introdução O Android é uma ferramenta

Leia mais

Manual de Instalação Seguros iseg

Manual de Instalação Seguros iseg Manual de Instalação Seguros iseg Sumário 1. Instalação para Notebooks e Desktop... 2 Pré-Requisito para instalação... 2 Obtendo o Download do arquivo de instalação do aplicativo Seguros iseg... 2 Versão

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS CST em Análise e Desenvolvimento de Sistemas 3ª Série Programação Estruturada II A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Continuando as aulas sobre os fundamentos

Leia mais