Exercícios Avaliativos Memória Compartilhada
|
|
- Maria dos Santos Palhares Caldas
- 6 Há anos
- Visualizações:
Transcrição
1 1ª Avaliação Faculdades Integradas de Caratinga Sistemas Distribuídos Jacson RC Silva Exercícios Avaliativos Memória Compartilhada Uma posição de memória compartilhada é identificada por uma chave. Essa chave pode ser IPC_PRIVATE para que somente o pai e seus filhos consigam acessar, ou pode ser um número para que vários processos diferentes consigam acessar. Encontramos um problema nessa implementação: se um outro processo souber minha chave, ou se ele coincidentemente colocar minha chave, ele conseguirá acessar minha posição de memória, o que causará muitos erros. Para isso, torna-se necessário a utilização da função ftok(). Ela cria uma chave através do nome do seu programa e de um número que você passe. 1. Execute o código abaixo e descreva o que você entendeu. // armazenamento da chave int i; // para utilizarmos todos os valores possíveis // de chaves para um pathname for ( i=0 ; i<=255 ; i++ ) // syntaxe: key_t ftok ( char *pathname, char proj ) chave = ftok ( argv[0], i ); if (chave == -1) perror("erro ao criar a chave"); else printf("valor da chave: %#x\n", chave); 2. Troque o número 255 para um número maior e indique o que aconteceu Para que a chave não fique vinculada somente ao nome do seu programa ( argv[0] ), podemos utilizar um outro nome de arquivo. 3. Modifique o valor de argv[0] para outro_nome.chave. Depois, compile e execute novamente seu programa. O que aconteceu? Qual o erro informado? (obs: o perror serve para escrever na tela o erro retornado pela função de sistema chamada, no nosso caso, o ftok() ) 4. Bom, agora simplesmente crie um arquivo com o nome outro_nome.chave na pasta do seu programa e execute-o novamente. O erro aconteceu novamente? Por que?
2 Agora que já aprendemos a criar chaves, vamos aprender a criar e utilizar memórias compartilhadas. A memória compartilhada é uma posição de memória alocada pelo sistema operacional e identificada por uma ID. A função que pede ao sistema operacional para criar a chave chama-se shmget(). Esta função que será responsável por alocar uma posição de memória e retornar seu ID. Vamos criar uma posição de memória: 1. Execute o programa abaixo e dê o comando ipcs -m. Por que sua memória não apareceu? typedef struct valores; if (chave == -1) perror("erro ao criar a chave"); exit(1); if (mem_id == -1) perror("erro ao criar memoria");exit(2); 2. Será que ela não foi criada? Bom, mudando um pouco de pau pra cavaco, para um outro programa utilizar essa memória criada, ele tem que utilizar a mesma chave e a mesma função do programa que acabamos de fazer, ou seja, seu início deve ser idêntico ao que fizemos. Para garantir que a posição de memória é do seu programa, ou seja, que já não existia na memória uma outra posição com a chave que você utilizou, temos que adicionar a diretiva IPC_EXCL. Faça isso e execute novamente seu programa, basta alterar IPC_CREAT por IPC_CREAT IPC_EXCL. Execute novamente seu programa. Qual o erro apresentado? O erro File Exists quando relacionado a memória, significa que essa posição já existe. 3. Bom, já que vimos que ela existe, vamos agora trabalhar com sua permissão. Vamos dar permissão ao dono (usuário que criou) de leitura e escrita. Faça os passos: remova a memória com o comando: ipcrm -m ID_QUE_SEU_PROGRAMA_ESCREVEU Adicione o include: #include <sys/stat.h> Modifique
3 de: IPC_CREAT IPC_EXCL para: IPC_CREAT IPC_EXCL S_IRUSR S_IWUSR Execute novamente o programa e verifique a memória criada com o comando ipcs 3. Agora, encontre e sua memória dentre os segmentos listados pelo ipcs e responda: qual a relação entre a sua chave e a memória criada? qual a relação entre a sua ID e a memória criada? qual a relação de permissão entre seu usuário e a memória criada? 4. Agora vamos escrever valores em nossa memória. Execute o programa abaixo e faça outro programa para ler essas informações e escrevê-las na tela: #include <string.h> typedef struct valores; // acesso a nossa memória valores *minhamemoria; if (chave == -1) perror("erro ao criar a chave"); exit(1); if (mem_id == -1) perror("erro ao criar memoria");exit(2); minhamemoria = (valores*) shmat(mem_id, NULL, NULL); if ( ((int) minhamemoria) == -1 ) perror("erro ao obter endereço da mem");exit(3); printf("colocando na memória o nome \"Jeiks\"\n"); strcpy( minhamemoria->nome, "Jeiks" ); printf("colocando na memória a idade 25\n"); minhamemoria->idade = 25; printf("desassociando da memória\n"); if ( shmdt( minhamemoria ) == -1 ) perror("erro no shmdt()");exit(3);
4 Agora temos que apagar a memória através de nosso programa, pois é feio sempre utilizar o ipcrm. [ ;) ] 5. Compile e execute o programa abaixo e descreva seu funcionamento. #include <string.h> typedef struct valores; if (chave == -1) perror("erro ao criar a chave"); exit(1); if (mem_id == -1) perror("erro ao criar memoria");exit(2); // syntaxe: // int shmctl(int shmid, int cmd, struct shmid_ds *buf); if ( shmctl( mem_id, IPC_RMID, NULL) == -1 ) perror("erro ao destruir a memória"); exit(3); printf("memória removida\n"); Como vocês puderam notar, podemos ter vários programas diferentes: um para criar a memória; outro para colocar os valores; outro para ler os valores; e outro para remover a memória. A implementação é bem livre para o usuário, para assim ele conseguir utilizar esse sistema de memórias compartilhadas à vontade. 6. Como último exercício de memória compartilhada, crie um semáforo para garantir o acesso a memória como seção crítica. Para isso, faça: crie um semáforo; antes de entrar na seção crítica, chame a função shm_wait(); após utilizar a seção crítica, chame a função shm_post().
5 As filas de mensagens seguem os mesmos conceitos da memória compartilhada. Com esses conceitos, obtenha o arquivo fila_mensagens.zip, compile e execute os arquivos que ele contém e descreva como utilizar uma fila de mensagens.
Sincronização e memória compartilhada no Linux
Sincronização e memória compartilhada no Linux Memória compartilhada Modelo de memória UNIX Processo aloca (allocate) um segmento no qual deseja compartilhar Processos que desejam acessar o segmento alocado,
Leia maistime_t shm_ctime; /* hora da última alteração de atributod da MP através de shmctl + IPC_SET */
Página 1 de 6 Memória Partilhada Pedaço de memória virtual que dois ou mais processos podem incluir no seu espaço de endereçamento, permitindo a comunicação entre eles. È o mecanismo mais rápido de comunicação
Leia maistutorial. man fork man pthread_create man pthread_join man wait man sleep
Abaixo, você encontrá dicas para lhe ajudar a fazer o 1º trabalho de SOI, que está descrito na página do curso. Lembrando que essas dicas visam apenas o auxilio nas partes mais problemáticas do trabalho
Leia maisMemória partilhada em Unix SysV
Memória partilhada em Unix SysV A forma mais geral de comunicação entre processos é através de memória partilhada. segmento de memoria partilhada Processo A Processo B p q Criação de um segmento de memória
Leia maisSemáforos em Unix. Criar um conjunto (vetor) de semáforos: semid = semget ( chave, nsems, flag); onde:
Semáforos em Unix Criar um conjunto (vetor) de semáforos: onde: semid = semget ( chave, nsems, flag); semid identificador de acesso ao vetor de semáforos. chave identificador global que identifica este
Leia maisComunicação Inter-Processo em Unix. Pipes FIFO (Named Pipes) Pipes
Comunicação Inter-Processo em Unix Pipes FIFO (Named Pipes) 1 Pipes 2 1! Comunicação entre pai e filho Ao chamar um fork(), processos pai e filho deixam de compartilhar memória Como fazer então para que
Leia maisEste pdf contém o código, em linguagem C, de 6 ficheiros.
Este pdf contém o código, em linguagem C, de 6 ficheiros. Os 3 primeiros ficheiros correspondem à solução do exercício 3 do capítulo 4 (solução para o problema do buffer limitado utilizando apenas 2 semáforos).
Leia mais1 Escrita de Arquivos Binário
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula prática sobre arquivos binários 1 Escrita de Arquivos Binário Esta aula será sobre escrita e leitura de arquivos binários. Nesta
Leia maisCapítulo 6: Arquivos
Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 04 Alocação Dinâmica Edirlei Soares de Lima Vetores - Declaração e Inicialização Declaração de um vetor: int meu_vetor[10]; Reserva um espaço de memória
Leia maisPermissionamento (Parte 3)
ICO60801 Introdução à Computação Aula 25 Permissionamento (Parte 3) Professores: Maria Claudia Castro / Bruno Fontana Semestre letivo: 2014-2 Resolução do exercício 14 Organize as permissões de acesso
Leia maisListas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {
Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item
Leia maisINF 1620 P3-29/06/04 Questão 1 Nome:
INF 1620 P3-29/06/04 Questão 1 Considere um arquivo texto que descreve um conjunto de retângulos e círculos. Cada linha do arquivo contém a descrição de uma figura. O primeiro caractere da linha indica
Leia maisEstruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisGilberto A. S. Segundo. 24 de agosto de 2011
Exercícios - Alocação Dinâmica Gilberto A. S. Segundo Programação Aplicada de Computadores Engenharia Elétrica Universidade Federal do Espírito Santo - UFES 24 de agosto de 2011 1 / 23 Grupo de e-mail
Leia maisCurso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012
urso de à urso de à Universidade Federal Fluminense July 16, 2012 Indrodução urso de à O é uma linguagem de programação criada por Dennis Ritchie, em 1972 e que continua a ser muito utilizada até os dias
Leia maisAULA 14 ESTRUTURA DE DADOS
AULA 14 ESTRUTURA DE DADOS Matriz esparsa Norton T. Roman & Luciano A. Digiampietri Matriz Uma matriz bidimensional é um conjunto de elementos (ou tabela) composta por m linhas e n colunas. Matriz Uma
Leia maisCapítulo 06: Arquivos
Capítulo 06: Arquivos INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Funções de entrada e saída em arquivos Motivação: quando um programa precisa processar
Leia maisVariável Composta Homogênea Unidimensional e Multidimensional - ARRAY
Variável Composta Homogênea Unidimensional e Multidimensional - ARRAY 1. Introdução Agora que já estudamos as estruturas de controle (sequencial, condicional e de repetição) estudaremos as variáveis compostas
Leia maisAula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU
Aula 9 Oficina de Programação Matrizes Profa. Elaine Faria UFU - 26 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral
Leia maisAlocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR)
Alocação de Memória Linguagem de Programação Estruturada 1 Alocação dinâmica e ponteiros Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR) Sumario Introdução Alocação Estática
Leia maisTrabalho Linguagem e Programação de Compiladores
Trabalho Linguagem e Programação de Compiladores Responda as questões. Os exercícios deverão ser desenvolvidos utilizando as estruturas apresentadas em aula e adequadas para cada problema. Forma de entrega:
Leia maisAlocação Dinâmica de Memória
Alocação Dinâmica de Memória Luiz Chaimowicz, Raquel O. Prates, Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados II DCC UFMG Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática
Leia maisMESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS
Funções As funções são blocos de instruções que facilitam o entendimento do código. Porque usar funções? Para permitir o reaproveitamento de código já construído (por você ou por outros programadores);
Leia maisVetores e Strings. 4. Funções Básicas para manipulação de Strings. A função gets() lê uma string do teclado. Sua forma geral é:
4. Funções Básicas para manipulação de Strings - gets A função gets() lê uma string do teclado. Sua forma geral é: gets (nome_da_string); 187 - gets (continuação) Exemplo: Vetores e Strings 188 #include
Leia maisESTRUTURA DE DADOS CIÊNCIA E TECNOLOGIA DO RIO. Curso de Tecnologia em Sistemas para Internet
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ESTRUTURA DE DADOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia
Leia maisBLOGS. Blogs AMBIENTE VIRTUAL DE APRENDIZAGEM TUTORIAL DO. Autor(es) Scarlat Pâmela Silva
TUTORIAL DO BLOGS AMBIENTE VIRTUAL DE APRENDIZAGEM Blogs Autor(es) Scarlat Pâmela Silva 1 1. Blogs. 2. Tipos de Blogs 3. Como criar um Blog 4. Como editar e gerenciar um Blog 5. Como criar uma postagem
Leia maisINF 1620 P1-04/10/03 Questão 1 Nome:
INF 1620 P1-04/10/03 Questão 1 a) Implemente uma função para calcular as raízes de uma equação do segundo grau do tipo ax 2 +bx+c=0. O protótipo dessa função deve ser: void raizes (float a, float b, float
Leia maisMódulo 5 Vetores e Alocação Dinâmica
Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Leia maisLinguagem C: Ponteiros - Alocação Dinâmica
Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Ponteiros Alocação Dinâmica de Memória 2 3 4 Organização Ponteiros Alocação
Leia maisAnexo 1 Processos UNIX Anexo 2 Pipes UNIX Anexo 3 IPC UNIX ANEXOS
Anexo 1 Processos UNIX Anexo 2 Pipes UNIX Anexo 3 IPC UNIX ANEXOS ANEXO 1 PROCESSOS NO UNIX Processos são o coração do sistema UNIX. A grande maioria é gerada a partir da chamada de sistema fork. Quando
Leia maisTrabalho 2 Matriz Esparsa
Trabalho 2 Matriz Esparsa SCC-502 Algoritmos e Estruturas de Dados 1 M. Cristina/Jorge 1 Introdução O trabalho deverá ser feito individualmente e submetido para o sistema SSP (Sistema de Submissão de Programas),
Leia maisLinguagem e Técnicas de Programação
Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,
Leia maisOutline. 33. Manipulação de arquivos DIM
Outline 33. Manipulação de arquivos DIM031 015.1 Leitura e escrita 3 s DIM031 33. Manipulação de arquivos 015.1 1 / 4 DIM031 33. Manipulação de arquivos 015.1 / 4 Arquivo = entidade de armazenamento de
Leia maisP2 Programação II Departamento de Informática/PUC-Rio
P2 Programação II 2012.2 Departamento de Informática/PUC-Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente
Leia maisLista Encadeada (Linked List)
Lista Encadeada (Linked List) As listas ou listas encadeadas são a estrutura de dados mais simples concebível excetuando-se naturalmente os arrays. Listas encadeadas nada mais são que uma seqüência de
Leia maisTipos Abstratos de Dados
Tipos Abstratos de Dados Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1 Índice Introdução Definição de Tipos Abstratos de Dados Exemplos de TADs Implementação de TADs Implementação em C Exemplo
Leia maisExercícios. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal
Exercícios 1) Crie uma função que recebe os coeficientes de uma função do 2o. grau e retorna as raízes sem usar vetor. 2) Faça um programa que acha o maior e o menor inteiro dentro de um vetor de 10 inteiros,
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 02: Alocação Dinâmica de Memória Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Leia maisSistemas Operacionais e Introdução à Programação. Programação com linguagem C
Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Variáveis na linguagem C: tipo char O tipo char representa um caractere ASCII (ocupa só 1 byte) int main(int argc, char **
Leia maisINF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 2 Alocação Dinâmica 17/02/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Alocação dinâmica Vetores locais e funções 17/02/2014 (c) Dept. Informática - PUC-Rio 2 Alocação Dinâmica
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin (daniel.martin@ufabc.edu.br) Aula 9 (laboratório) O Labirinto Descrição do problema O problema é achar o caminho entre dois pontos de interesse
Leia maisEstruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 15 - Arquivos 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisMétodos Computacionais. Listas Encadeadas
Métodos Computacionais Listas Encadeadas Vetores Declaração de vetor implica na especificação de seu tamanho Não se pode aumentar ou diminuir tamanho Outra alternativa no uso de vetores é alocar dinamicamente
Leia maisLista de Exercícios para P1 INF1007 (Prog2) 15/04/2013. ATENÇÃO: O material a seguir não sofreu revisão e pode conter erros.
EXERCÍCIO 1: Lista de Exercícios para P1 INF1007 (Prog2) 15/04/2013 ATENÇÃO: O material a seguir não sofreu revisão e pode conter erros. Considere as informações dos candidatos inscritos em um concurso.
Leia maisÁrvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura
Árvores B Prof. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Fonte: Material da Prof a Ana Eliza Lopes Moura Situação Problema Memória Principal Volátil e limitada Aplicações Grandes
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Prof. Renato Pimentel 1 Introdução Tipos de variáveis vistos
Leia mais1 Exercícios com ponteiros
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Oitava Aula Prática - 29 de outubro de 2010 O objetivo desta aula prática é exercitar ponteiros e funções. 1 Exercícios com ponteiros
Leia maisSistema Rodoviário Tabajara
Universidade Federal do Espírito Santo Departamento de Informática Est. de Informação (INF02827) & Est. de Dados (INF01906) 2 o Trabalho Prático Período: 2008/2 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br
Leia maisÁrvores Binárias. 16/11 Representação e Implementação: Encadeada Dinâmica O TAD
Árvores Binárias 16/11 Representação e Implementação: Encadeada Dinâmica O TAD ED AB, encadeada dinâmica Para qualquer árvore, cada nó é do tipo info esq dir typedef int elem; typedef struct arv *Arv;
Leia mais7. Memória partilhada e sincronização em UNIX
7. Memória partilhada e sincronização em UNIX 7.1. Memória partilhada Os sistemas Unix derivados do Unix System V, e outros compatíveis (quase todos), definem serviços que permitem partilhar entre vários
Leia maisTratamento de Erros. Sérgio Luiz Ruivace Cerqueira
Tratamento de Erros Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:
Leia mais1 Exercícios com ponteiros
Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática
Leia maisAs notícias são recebidas no formato texto, contendo o nome da fonte geradora (agência):
MAC122 Princípios de Desenvolvimento de Algoritmos Segundo Semestre de 2013 BMAC IMEUSP Prof. Marcilio EXERCÍCIO PROGRAMA II Entregar 27/Out/2013 O programa recebe mensagens da rede. As mensagens podem
Leia maisManual do Professor AVA - Moodle/Unesp (versão 3.0) Grupos e agrupamentos
Manual do Professor AVA - Moodle/Unesp (versão 3.0) Grupos e agrupamentos O Moodle permite trabalhar com grupos entre os alunos, não necessariamente a composição dos grupos que irão desenvolver uma atividade
Leia maisFTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Flávio Dantas
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas Competências a serem trabalhadas nessa aula Revisão dos comandos INSERT INTO SELECT Comando WHERE Comando Excluir (DELETE)
Leia maisÁrvores. Sérgio Carlos Portari Júnior
Árvores Sérgio Carlos Portari Júnior Árvores São estruturas de dados adequadas para apresentação de hierarquias. Uma árvore é composta por um conjunto de nós. Existe um nó r, denominado raiz, que contém
Leia maisEstruturas de Dados. Parte dos slides a seguir são adaptações, extensões e recodificações em C dos originais:
Estruturas de Dados Listas Dinâmicas Simplesmente Encadeadas Prof. Ricardo J. G. B. Campello Créditos Parte dos slides a seguir são adaptações, extensões e recodificações em C dos originais: disponíveis
Leia maisTécnicas de Programação:
Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB Classes e Objetos Classe É uma estrutura de dados que pode conter: Objeto Dados, e Funções. É uma instância de uma classe.
Leia maisInstalando Servidor de Arquivos
Este tuto é referente a instalação e configuração do Servidor de Arquivos do Windows Server 2008 R2. ================================================== ===== Instalando Servidor de Arquivos 1. Abra o Gerenciador
Leia maisThreads em Ambiente LINUX. Estudo e testes com a biblioteca pthreads
Universidade Federal do ABC Disciplina: BC 1518 Sistemas Operacionais (SO) Prática: Threads Atividade 3 Threads em Ambiente LINUX Objetivo Estudo e testes com a biblioteca pthreads Threads Como vimos em
Leia maisArquivos em C Parte 2
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Arquivos em C Parte 2 Profa Rosana Braga Material preparado pela profa Silvana Maria Affonso de Lara 1º semestre de
Leia mais1. Listas sequenciais versus listas ligadas. Lista sequencial
Alocação Dinâmica Listas Ligadas 1. Listas sequenciais versus listas ligadas Lista sequencial Uma lista sequencial é um conjunto de elementos contíguos na memória. Um vetor é o melhor exemplo de lista
Leia maisFábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença
C++ Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença Primeiro Programa //Primeiro Programa C++ #include int main() { std::cout
Leia maisUm processo sob UNIX ocupa uma área de memória formada basicamente por 3 partes:
Processos O UNIX é um sistema operacional multitarefa (suporta multiprogramação). Isso significa que ele é capaz de gerenciar a execução simultânea de vários programas. O termo processo é usado para caracterizar
Leia maisTipos Abstratos de Dados. Estrutura de Dados
Tipos Abstratos de Dados Tipo Abstrato de Dados ou TAD Idéia principal: desvincular o tipo de dado (valores e operações) de sua implementação: O que o tipo faz e não como ele faz! Vantagens da desvinculação:
Leia mais2º Roteiro de Laboratório Estruturas condicionais
2º Roteiro de Laboratório Estruturas condicionais Tópicos abordados 1. Estruturas if e if/ 1.1. Sintaxe 1.2. Exemplo: par_impar.c 2. Aplicação 2.1. Problema resolvido: [PR 1] 2.2. Problemas propostos:
Leia mais1ª Lista de Exercícios
Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule
Leia maisCURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho
CURSO BÁSICO DE PROGRAMAÇÃO AULA 15 Revisão Vetores e Matrizes Trabalho Definição: Introdução a Linguagem C Vetores Estrutura que permite armazenar um conjunto de dados do mesmo tipo na mesma variável;
Leia maisProgramaçã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 maisSumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?
Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros
Leia maisSumário. 1 Tutorial: Ferramentas do Clickideia Editor de Jornal - Básico. O jornal na sala de aula... 2
1 Tutorial: Ferramentas do Clickideia Editor de Jornal - Básico Sumário O jornal na sala de aula... 2 Objetivo:... 2 Como entrar na Ferramenta Editor de Jornal Básico?... 2 Criando um Jornal... 5 Editar
Leia maisINF1007: Programação 2 8 Listas Encadeadas. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 8 Listas Encadeadas (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Motivação Listas encadeadas Implementações recursivas Listas de tipos estruturados (c) Dept. Informática
Leia maisDepartamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente
Leia maisponteiros INF Programação I Prof. Roberto Azevedo
ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência
Leia maisUniversidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e
Leia maisCAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:
CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta
Leia maisIntrodução à Programação C
Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Vetores de ponteiros Podemos também ter vetores de qualquer tipo, inclusive ponteiros A sintaxe é a mesma para
Leia maisComunicação entre pai e filho
Comunicação entre pai e filho Ao chamar um fork(), processos pai e filho deixam de compartilhar memória Como fazer então para que o resultado de um processo possa ser recebido pelo outro? Exemplos: Processo
Leia maisIntrodução à Engenharia ENG1000
Introdução à Engenharia ENG1000 Aula 04 Introdução ao Visual Studio 2010 Prof. Augusto Baffa 1. Execute o MS-Visual Studio 2010. Experimente o caminho: Start All Programs Microsoft
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisMódulo 10 Listas Encadeadas
Estruturas de Dados Módulo 10 Listas Encadeadas 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus
Leia maisProfessora Jeane Melo
Professora Jeane Melo Roteiro Lista Encadeada Alocação: Estática x Dinâmica O que são Ponteiros? Ponteiros Variáveis que Armazenam Endereços de Memória Mas, toda variável não é armazenada na memória? Ponteiros
Leia mais4ª Lista de Exercícios de Programação I
4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores
Leia maisO que é um apontador em C (type pointer in C)?
O que é um apontador em C (type pointer in C)? Um apontador é uma variável que contém um endereço de outra variável. int x = 10;//variável inteira iniciada com o valor 10 int *px = &x;//variável apontadora
Leia maisSobre o Visual C++ 2010
O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas
Leia maisINF 1620 P1-14/04/07 Questão 1 Nome:
INF 1620 P1-14/04/07 Questão 1 Considerando o critério de aprovação de uma disciplina que determina que um aluno está aprovado se a média ponderada de suas três provas for maior ou igual a 5.0, onde a
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação
Leia maisINF P3-23/06/07 Questão 1 Nome:
INF 1620 - P3-23/06/07 Questão 1 Considere a implementação de listas encadeadas para armazenar inteiros dada pelo tipo abaixo: struct lista { int info; struct lista* prox; typedef struct lista Lista; Escreva
Leia maisSemáforos. Walter Fetter Lages.
Semáforos Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright (c) Walter Fetter
Leia maisLP II Estrutura de Dados Estruturas Heterogêneas e Listas Lineares Estáticas. Prof. José Honorato Ferreira Nunes
LP II Estrutura de Dados Estruturas Heterogêneas e Listas Lineares Estáticas Prof. José Honorato Ferreira Nunes eu@honorato.eu Estruturas (struct) Ao manusearmos dados muitas vezes deparamos com informações
Leia maisManipulação de Arquivos
394 Podemos escrever e ler blocos de dados em um determinado arquivo. Para tanto, a linguagem C, disponibiliza as funções fread() e fwrite(). - fread Manipulação de Arquivos O protótipo de fread() é: unsigned
Leia maisINF 1620 P3-25/11/05 Questão 1 Nome:
INF 1620 P3-25/11/05 Questão 1 Dizemos que uma matriz quadrada é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos de sua diagonal principal
Leia maisArquivos. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
Arquivos Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Arquivos Um arquivo é uma coleção homogênea de itens que reside em disco. teclado
Leia maisLista com descritor (continuação)
Lista com descritor (continuação) Rotina para remover o eiro elemento de uma LLSECD: char removeiniciollsecd(tdescritor *l, TInfo val) { p = l->; l->=p->prox; if (l->==1) Rotina para remover o último nó
Leia maisVolnys Bernal 1. Trabalho Chat UDP. PSI 2653 Meios Eletrônicos Interativos I
2007-2017 Volnys Bernal 1 Trabalho PSI 2653 Meios Eletrônicos Interativos I 2007-2017 Volnys Bernal 2 Objetivo: Desenvolvimento de um programa chat UDP (cliente e servidor) Grupo Cada grupo deve escolher
Leia maisSCC122 - Estruturas de Dados. Lista Estática Seqüencial
SCC122 - Estruturas de Dados Lista Estática Seqüencial Lista Uma lista é uma estrutura que armazena elementos de forma alinhada, ou seja, com elementos dispostos um após o outro. Ex.: Listas de nomes,
Leia maisAula : Permissões de acesso a arquivos e diretórios. 2 Conceito de permissões de acesso a arquivos e diretórios
Oficina Linux / / Aula : Permissões de acesso a arquivos e diretórios Professor: Eraldo e Evandro Cantú eraldo@ifsc.edu.br 1 Objetivos Expor os conceitos associados as permissões de acesso a arquivos e
Leia mais