Unnamed Pipes. Chamada ao sistema pipe. Pipes. Comunicação entre processos. Unnamed Pipes Chamada so sistema. José Pedro Oliveira
|
|
- Vasco Godoi Castilhos
- 5 Há anos
- Visualizações:
Transcrição
1 Conteúdo Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos I Exercícios 3 Referências Pipes Chamada ao sistema Pipes Pipes são a forma mais antiga de comunicação entre processos em sistemas UNIX. Limitações 1 historicamente as s são half-duplex, isto é, a informação só flui numa direcção. s só podem ser usadas entre processos que tenham um processo ancestral comum. Normalmente a é criada por um processo, que em seguida invoca a chamada ao sistema fork, e em que a é usada entre processo pai e filho. Synopsis #include <unistd.h> int (int filedes[]); Valores de retorno -1 - erro 0 - ok Descritores de ficheiros filedes[0] aberto em modo de leitura filedes[1] aberto em modo de escrita
2 Exemplo de criação de uma Pipe half-duplex Extracto de código 1 #include <unistd. h> 3 / /... 5 i n t fd [ ] ; 6 7 i f ( ( fd ) == 1) { 8 p e r r o r ( ) ; 9 e x i t ( 1 ) ; 10 } 11 1 / /... processo processo ou fd[0] fd[1] fd[0] fd[1] kernel Pipe half-duplex depois de um fork Pipe half-duplex: canal de comunicação pai -> filho pai filho fork fd[0] fd[1] fd[0] fd[1] pai filho fd[0] fd[1] fd[0] fd[1] kernel kernel
3 Pipe half-duplex: canal de comunicação pai -> filho Pipe half-duplex: canal de comunicação pai -> filho 1 i n t paifilho [ ] ; 3 i f ( ( paifilho ) == 1) { / erro / } 5 switch ( f o r k ( ) ) { 6 case 1: 7 p e r r o r ( f o r k ) ; e x i t ( ) ; 8 case 0: / f i l h o / 9 close ( p a i f i l h o [ 1 ] ) ; 10 / / read ( p a i f i l h o [ 0 ],...,... ) 11 break ; 1 default : / pai / 13 close ( p a i f i l h o [ 0 ] ) ; 1 / / w r i t e ( p a i f i l h o [ 1 ],...,... ) 15 wait (NULL ) ; 16 break ; 17 } 1 i n t p ai f i lh o [], i ; 3 i f ( ( paifilho ) == 1) { / erro / } 5 switch ( f o r k ( ) ) { 6 case 1: 7 p e r r o r ( f o r k ) ; e x i t ( ) ; 8 case 0: / f i l h o / 9 close ( p a i f i l h o [ 1 ] ) ; 10 read ( p a i f i l h o [ 0 ], &i, sizeof ( i n t ) ) ; 11 break ; 1 default : / pai / 13 close ( p a i f i l h o [ 0 ] ) ; 1 i = 13; 15 w r i t e ( p a i f i l h o [ 1 ], &i, sizeof ( int ) ) 16 wait (NULL ) ; 17 break ; 18 } Sinal SIGPIPE SIGPIPE Um dos extremos da está fechado Quando um dos extremos da é fechado, aplicam-se as seguintes regras: 1 quando se tenta ler de uma cuja extremidade de escrita já se encontra fechada, a chamada ao sistema read retorna 0 (zero) para indicar o fim do ficheiro. quando se tenta escrever numa cuja extremidade de leitura já se encontra fechada, é gerado o sinal SIGPIPE. Se o sinal for ignorado ou apanhado, a chamada ao sistema write retorna -1 com errno igual a EPIPE. 1 / / includes : s t d i o.h, s t d l i b.h, unistd.h 3 i n t main ( void ) { 5 i n t fd [ ] ; 6 7 i f ( ( fd ) == 1) { 8 p e r r o r ( ) ; e x i t ( 1 ) ; 9 } close ( fd [ 0 ] ) ; 1 w r i t e ( fd [ 1 ], Teste\n, 6 ) ; 13 close ( fd [ 1 ] ) ; 1 15 w r i t e (STDOUT FILENO, Fim\n, ) ; return 0; 18 }
4 Sinal SIGPIPE Comunicação via unnamed s SIGPIPE 1 / / includes : s t d i o.h, s t d l i b.h, unistd.h, signal.h 3 i n t main ( void ) { 5 i n t fd [ ] ; 6 7 s i g n a l ( SIGPIPE, SIG IGN ) ; 8 9 i f ( ( fd ) == 1) { p e r r o r ( ) ; e x i t ( 1 ) ; } close ( fd [ 0 ] ) ; 1 i f ( w r i t e ( fd [ 1 ], Teste\n, 6) == 1) p e r r o r ( w { r i t e ) ; } 13 close ( fd [ 1 ] ) ; 1 15 w r i t e (STDOUT FILENO, Fim\n, ) ; return 0; 18 } Passos 1 criar as s necessárias gerar o(s) processo(s) filho 3 fechar/duplicar descritores de ficheiros para associar correctamente os extremos das s fechar os extremos não necessários 5 realizar as actividades de comunicação 6 fechar restantes descritores de ficheiros 7 se necessário, esperar que os processos filhos terminem Comunicação via unnamed s Exemplo: cat /etc/passwd grep bash Implementar 1 cat /etc/passwd grep bash cat /etc/passwd grep bash wc -l 3 rpm -qa grep ˆvim xargs rpm -ql grep /bin wc -l 1 i n t fd [ ] ; 3 i f ( ( fd ) == 1) { p e r r o r ( ) ; e x i t ( 1 ) ; } 5 switch ( f o r k ( ) ) { 6 case 1: 7 p e r r o r ( f o r k ) ; e x i t ( ) ; 8 case 0: / i l h o / f 9 close ( fd [ 0 ] ) ; 10 dup ( fd [ 1 ], STDOUT FILENO ) ; 11 close ( fd [ 1 ] ) ; 1 execlp ( cat, cat, / etc / passwd, NULL ) ; 13 e x i t ( 3 ) ; 1 default : / pai / 15 close ( fd [ 1 ] ) ; 16 dup ( fd [ 0 ], STDIN FILENO ) ; 17 close ( fd [ 0 ] ) ; 18 execlp ( grep, grep, bash, NULL ) ; 19 e x i t ( ) ; 0 }
5 Exemplo: cat /etc/passwd grep bash Conteúdo Exercícios 1 i f ( ( fd ) == 1) { p e r r o r ( ) ; e x i t ( 1 ) ; } 3 for ( i =0; i <; i ++) { p = f o r k ( ) ; 5 i f ( p == 1) { 6 p e r r o r ( f o r k ) ; e x i t ( ) ; 7 } else i f ( p == 0) { 8 switch ( i ) { 9 case 0: / p r i m e i r o f i l h o / 10 / / e x t ( 3 i ) ; 1 case 1: / segundo f i l h o / 13 / /... 1 e x t ( i ) ; 15 } 16 } 17 } close ( fd [ 0 ] ) ; close ( fd [ 1 ] ) ; 0 for ( i =0; i <; i ++) { wait (NULL ) ; } 1 Exercícios 3 Referências Exercícios Comunicação via unnamed s Conteúdo Referências Enunciados 1 Processo pai envia um número inteiro para o processo filho. Este multiplica o valor recebido por dois e devolve o resultado ao processo pai. Processo pai envia dois números inteiros para o processo filho. Este adiciona-os e devolve o resultado ao processo pai. 3 Processo pai envia um array de n números inteiros para o processo filho. Este adiciona todos os elementos do array e devolve o resultado ao processo pai. Processo pai envia uma string para o processo filho. Este converte todos os caracteres da string recebida para maiúsculas e devolve a string resultante ao processo pai. 1 Exercícios 3 Referências
6 Referências Referências Bibliografia Advanced Programming in the UNIX Environment, nd ed. W. Richard Steven, Stephen A. Rago Capítulo 15 - Interprocess Communication Advanced UNIX Programming, nd ed. Marc J. Rochkind Capítulo 6 - Basic Interprocess Communication Linux Programming by Example: The Fundamentals Arnold Robbins Capítulo 9 - Process Management and Pipes
Duplicação e partilha de ficheiros
(jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos I 006-007 : ficheiros abertos Dois processos independentes com
Leia maisProcessos. Programas e Processos. Aula 1 - Chamadas ao sistema. José Pedro Oliveira fork exit getpid, getppid wait, waitpid
Conteúdo Programas e Aula 1-1 Programas e (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos I 006-007 3 Referências
Leia maisSinais. Sinais e fork. Sinais e exec. Segunda aula. Chamada ao sistema fork Chamada ao sistema execve. José Pedro Oliveira
e chamadas ao sistema fork e exec Segunda aula (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos I 2006-2007 1
Leia maisComunicação baseada em canais de I/O e Pipelines no sistema Unix. José C. Cunha, DI-FCT/UNL
Comunicação baseada em canais de I/O e Pipelines no sistema Unix José C. Cunha, DI-FCT/UNL Mecanismos de comunicação Ficheiros em disco (geridos pelo SO) Pipes (buffers geridos pelo SO) Mensagens (filas
Leia maisSistema de Entrada/Saída
Conteúdo Ficheiros (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos 2006-2007 2 Descritores de ficheiros Descritores
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 maisProgramação de Sistemas. Tubos
Programação de Sistemas Tubos Programação de Sistemas Pipes : 1/18 Tubos - introdução APUE 15.2 No Unix, os tubos ( pipes ) constituem o mecanismo original de comunicação entre processos. Mensagens limitadas
Leia maisComunicação entre Processos
Comunicação entre Processos Pipes Redirecionamento de entrada e saída 4/19/18 1 O Pipe: Características (1) Canal de comunicação entre processos parentes, usando a politica First-In-First-Out (FIFO) Tipicamente,
Leia maisChamada ao sistema: sbrk. Chamada ao sistema: brk. brk sbrk. Generalidades. José Pedro Oliveira calloc e malloc free
Generalidades (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos I 2006-2007 1 s Chamada ao sistema: Chamada ao
Leia mais6. Comunicação entre processos - Pipes
6. Comunicação entre s - Pipes 6.1 O que são pipes Os pipes em UNIX constituem um canal de comunicação unidirecional entre s com um ascendente comum (entre um pai e um seu descendente). Uma vez estabelecido
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 maisSISTEMAS OPERATIVOS I
Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática SISTEMAS OPERATIVOS I Programação Concorrente em Linux: Memória Partilhada e Semáforos Versão 1.03 Maio de 2006 Luís Lino
Leia maisComunicação entre Processos Canal de comunicação Arquitetura da comunicação Modelos de comunicação
Comunicação entre Processos Canal de comunicação Arquitetura da comunicação Modelos de comunicação Sistemas Operativos 2015-2016 O que construímos até agora... A abstração de processo 2 A possibilidade
Leia maisTratamento de Sinais
Tratamento de Sinais Luiz Affonso Guedes 1 Ivanovitch Silva 1 affonso@dca.ufrn.br ivan@dca.ufrn.br 1 Universidade Federal do Rio Grande do Norte 25 de setembro de 2009 Sinais DCA0109 - Prática de programação
Leia maisCanos (Pipes) As pipes são um mecanismo de comunicação unidirecional entre dois ou mais processos. Um exemplo do uso de pipes na shell é:
Canos (Pipes) As pipes são um mecanismo de comunicação unidirecional entre dois ou mais processos. Um exemplo do uso de pipes na shell é: ± Û Ó Û ¹Ð O programa Û Ó gera uma linha por utilizador e envia-a
Leia maisGrupo I [5 Val] Suponha que, ao correr comando ls l whoami, se obtinha o seguinte output: -rwxr-xr-x 1 root root Sep whoami
Número: Nome: LEIC/LETI 2017/18-1º Teste de Sistemas Operativos 21 de Novembro de 2018 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I [5 Val] 1.
Leia mais1/24 FICHEIROS DE TEXTO
1/24 FICHEIROS DE TEXTO Hardware de entrada/saída 2/24 Hardware de entrada/saída Grande variedade de dispositivos de E/S (Input/Output) - de memória: disco interno e externo, DVD, pen, CD,... - de transmissão:
Leia maisIPC Interprocess communication
IPC Interprocess communication conceitos de IPC, pipes Taisy Weber Comunicação entre processos Pipes e FIFO Defição, chamadas de sistemas, utilização de Message queues. Memória compartilhada. Sockets.
Leia maisAPI de Sockets. Modelo Cliente/Servidor (2/2) Modelo Cliente/Servidor (1/2) José Pedro Oliveira Sistemas Operativos I
Conteúdo (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho 1 Sistemas Operativos I 2006-2007 Modelo Cliente/Servidor (1/2) Modelo
Leia mais1 o Trabalho de Programação Período: 2008/1 Prof a Patrícia Dockhorn Costa
Sistemas de Programação II INF 02828 (Engenharia de Computação / Elétrica) Sistemas Operacionais INF 02780 (Ciência da Computação) 1 o Trabalho de Programação Período: 2008/1 Prof a Patrícia Dockhorn Costa
Leia maisPesquisa por nome. Pesquisa por nome Pesquisa por tipo Pesquisa por tamanho. Pesquisa de ficheiros. José Pedro Oliveira
Pesquisa de ficheiros (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos 2005-2006 1 2 3 4 Procura ficheiros numa
Leia maisComputação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Prova - 14 de junho de 2017
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Prova - 14 de junho de 2017 1. (30 Pontos) Bolas de futebol são muito fáceis de transportar, já que elas saem das fábricas vazias
Leia maisSistemas de Operação (2018/2019) Teste de Auto-Avaliação Prática
Sistemas de Operação (2018/2019) Teste de Auto-Avaliação Prática (duração 1 hora) Resolva as 3 questões que se seguem da forma mais independente possível, evitando consultar a Internet ou os materiais
Leia maisSistemas Operacionais II
Sistemas Operacionais II Aula 3 - BASH e Redirecionamento de entrada/saída Autor: Renê de Souza Pinto Orientação: Prof. Dr. Francisco José Monaco rene@grad.icmc.usp.br, monaco@icmc.usp.br Universidade
Leia maisSistemas Operativos, 3. o MIEIC 2009/10, FEUP
Sistemas Operativos, 3. o MIEIC 2009/10, FEUP RMA, JVV, HSF December 20, 2009 2. o Trabalho Prático: SO Shell Stats (sosh s) Objectivos Completando com sucesso todas as fases deste trabalho, os alunos
Leia maisSVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais
SVCs para Controle de Processos no Unix (cont.) A Família de SVC's exec() As primitivas exec() constituem, na verdade, uma famılia de funções (execl, execlp, execle, execv, execvp, execve) que permitem
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 maisSVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais
SVCs para Controle de Processos no Unix (cont.) A Família de SVC's exec() As primitivas exec() constituem, na verdade, uma famılia de funções que permitem a um processo executar o código de outro programa.
Leia maisProgramação de Sistemas
Programação de Sistemas FIFOs Programação de Sistemas FIFOs : 1/13 Introdução APUE 15.5 Os tubos só podem ser usados por processos que tenham um antecessor comum. Para resolver a limitação dos tubos, o
Leia maisIntrodução aos Sistemas Operativos
Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução
Leia maisJoão Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1
Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução
Leia maisInter-process Communication (IPC)
Inter-process Communication (IPC) Comunicação entre processos (2) Filas (FIFOs, Named Pipes) Fila (FIFO, Named Pipe) Trata-se de uma extensão do conceito de pipe. Pipes só podem ser usados por processos
Leia maisInterpretadores de comandos. Interpretadores de comandos de login válidos. Caracteres especiais. José Pedro Oliveira
Conteúdo Utilização (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos 2005-2006 1 2 3 4 de login válidos Programa
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Ficheiros e estruturas http://tele1.dee.fct.unl.pt
Leia maisSumário. Ficheiros. Ficheiros
Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções
Leia maisControlo de Execução. K&R: Capitulo 3
Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010
Leia maisComputação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas
Computação 2 Aula 10.1 Listas Duplamente Encadeadas Profª. Fabiany fabianyl@utfpr.edu.br ListaEncadeada.h #ifndef _LISTAENCADEADA_H_ #define _LISTAENCADEADA_H_ #include #include #include
Leia maisLinguagens de Programação I
Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler
Leia maisSVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais
SVCs para Controle de Processos no Unix (cont.) Primitivas exec..() As primitivas exec constituem, na verdade, uma família de funções que permitem a um processo executar o código de outro programa. Não
Leia maisSistemas Operativos 2015 / Corpo Docente
1 Sistemas Operativos 2015 / 2016 leic-so-alameda@disciplinas.tecnico.ulisboa.pt Corpo Docente Tagus Paulo Ferreira (responsável, teóricas) José Costa Francisco Raposo Alameda: João Barreto (responsável,
Leia maisLicenciatura em Eng.ª Informática Sistemas Operativos - 2º Ano - 1º Semestre. Trabalho Nº 4 Desenvolvimento de um mini-shell
Trabalho Nº 4 Desenvolvimento de um mini-shell (baseado no exercício presente em http://www.cs.huji.ac.il/~davidt/course/os/ex10.html) 1. Notas sobre criação de processos A criação de processos é uma das
Leia maisLEIC/LERC 2012/13 2º Teste de Sistemas Operativos 15/Janeiro/2013
Número: Nome: LEIC/LERC 2012/13 2º Teste de Sistemas Operativos 15/Janeiro/2013 Identifique todas as folhas. Responda no enunciado, apenas no espaço fornecido. Justifique todas as respostas. Duração: 1h30m
Leia maisSistemas Operacionais
Sistemas Operacionais Programação Concorrente Introdução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Programa Seqüencial Representado por apenas um processo Existe apenas
Leia maisProgramação de Sistemas
Programação de Sistemas FIFOs Programação de Sistemas FIFOs : 1/13 Introdução APUE 15.5 Os tubos só podem ser usados por processos que tenham um antecessor comum. Para resolver a limitação dos tubos, o
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 maisI/O de baixo-nível em ficheiros
7 I/O de baixo-nível em ficheiros Sumário: Introdução Funções de entrada/saída de baixo-nível Referência bibliográfica: W. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1992 (cap.3,
Leia maisEscreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.
Engenharia informatica Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função. #include Int e_caracter (char c) { Return(
Leia maisSistemas Operacionais II
Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II Comunicação inter-processos Aula 09 Programação concorrente surgiu com a multiprogramação Mecanismos básicos supõem memória compartilhada,
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA Prof. Dr. Daniel Caetano 2013-1 Objetivos Entender o que são decisões múltiplas Compreender como implementar decisões múltiplas Capacitar
Leia maisProgramação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre
Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros
Leia maisArquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Um processo é uma instância em execução de um programa. No sistema operativo Unix a única forma de se criar um novo processo (processo-filho)
Leia maisProgramação de Sistemas
Programação de Sistemas Arquitectura dos Sistemas Operativos Programação de Sistemas Arquitectura : 1/25 Introdução (1) Um sistema operativo de uso geral é formado por diversas componentes: Gestor de processos
Leia maisA linguagem C (visão histórica)
A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,
Leia maisESTRUTURA COM DECISÃO COMPOSTA
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO COMPOSTA Prof. Dr. Daniel Caetano 2018-1 Objetivos Entender o que são decisões compostas Compreender como implementar decisões compostas Capacitar
Leia maisManipulação de Ficheiros
Manipulação de Ficheiros Utilização de ficheiros Programas normalmente necessitam de ler e/ou escrever em ficheiros de dados Tipicamente um ficheiro representa uma sequência qualquer de bytes Redirecionamento
Leia maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisInter-process Communication (IPC) Comunicação entre processos (1) Introdução Tubos (Pipes)
Inter-process Communication (IPC) Comunicação entre processos (1) Introdução Tubos (Pipes) Comunicação entre Processos (1) Os sistemas operacionais implementam mecanismos que asseguram a independência
Leia maisSISTEMAS OPERATIVOS I
Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática SISTEMAS OPERATIVOS I Ficha 2 Fevereiro de 2006 Berta Batista Luis Lino Ferreira Maria João Viamonte Nuno Malheiro Sugestões
Leia maisIntrodução à Programação com Sockets. Fernando Jorge Silveira Filho Daniel Sadoc Menasché
Introdução à Programação com Sockets Fernando Jorge Silveira Filho fernando@land.ufrj.br Daniel Sadoc Menasché sadoc@land.ufrj.br Visão Geral Objetivos: Realizar comunicação entre processos. Entender como
Leia mais1 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 maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA 1º Semestre 2003/2004 Introdução à Programação 21/2/2004 Correcção 1. Qual o objectivo dos comentários em C++ e o que
Leia maisMestrado em Engenharia Física Tecnológica
5 a Aula - Ciclo for. Leitura e Escrita em Ficheiros. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física Instituto Superior Técnico
Leia maisInter-process Communication (IPC)
Inter-process Communication (IPC) Comunicação entre processos (1) Introdução Tubos (Pipes) Filas (FIFOs, Named Pipes) Comunicação entre Processos (1) Os sistemas operacionais implementam mecanismos que
Leia maisEstruturas de dados. IPC2 1999/2000 F. Nunes Ferreira
Estruturas de dados IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 Estruturas de dados Introdução 2 Arrays
Leia mais3 Introdução às chamadas ao sistema
3 Introdução às chamadas ao sistema 3.1 Chamadas ao sistema e à BIOS As chamadas ao sistema ou System Calls consistem nos serviços disponibilizados pelo núcleo do sistema operativo. O principio é semelhante
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Linguagem C Arquivos Seqüências ou de Texto. Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO 1 Arquivo de Escrita 1 fopen ( nome.txt", "w" ); fputc ( caracter, arquivo); 2 #include
Leia maisIntrodução à Programação em C
Introdução à Programação em C Funções Resumo Aula Anterior Tabelas Strings (Tabelas de Caracteres) 2 1 Resumo Funções Definição Protótipo e implementação return e void Passagem por valor Exemplos 3 Funções
Leia maisC/C++; biblioteca stdio
INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA Sistemas Operativos ETI - IGE C/C++; biblioteca stdio 2º Semestre 2005/2006 Ficha 3 1. A biblioteca stdio engloba o conjunto de funções que são normalmente
Leia maisInstituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA
Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Guia para codificação em JAVA Disciplina de Introdução à Programação Ano Lectivo 2003/2004 CONTEÚDO
Leia maisIntrodução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 07 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação ARGUMENTOS POR LINHA DE COMANDO 2 Argumento por linha de comando Na
Leia maisProgramação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral
Programação I PRG29002 Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral 2016-1 Revisão da aula anterior Linguagens compiladas vs interpretadas Para que servem as bibliotecas? O que
Leia maisLEIC/LERC 2011/12-1º Exame de Sistemas Operativos 16/Janeiro/2012
Número: Nome: LEIC/LERC 2011/12-1º Exame de Sistemas Operativos 16/Janeiro/2012 Identifique todas as folhas. Responda no enunciado, apenas no espaço fornecido. Justifique todas as respostas. Duração: 2h30m
Leia maisPCS-2042 Sistemas Operacionais. Projeto 3: Drivers
PCS-2042 Sistemas Operacionais Projeto 3: Drivers Mark Hodgkin Pedro d Aquino Rafael da Silva 13/07/2008 CONTEÚDO Objetivo... 3 Drivers no Minix... 4 Criando um Driver... 4 Proposta do Projeto... 5 Bibliografia...
Leia maisEstácio-FIC Graduação em Redes de Computadores
Estácio-FIC Graduação em Redes de Computadores Disciplina Programação para Servidores Aula 7 Substituição de comandos, redirecionamento, pipe e manipulação de strings Sumário Substituição de comandos;
Leia maisTeste de Sistemas de Operação 15 de Abril de 2010
Teste de Sistemas de Operação 15 de Abril de 2010 Duração: 1 h (prática + teórica) D NOME: Indique apenas uma das alternativas. Respostas erradas descontam na nota. 1. Em um sistema que suporta multiprogramação
Leia maisAmbientes de Execução
KERNEL Conceitos Conceitos POSIX Portable Operating System Interface for UNIX. Um conjunto de padrões da IEEE e ISO que definem como programas e sistemas operacionais de interface com os outros. Sistemas
Leia maisExercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento
1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
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 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2007/2008
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2007/2008 Introdução à Programação em C 28/01/2008 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Descreva,
Leia maisComunicação entre Processos. 1. Pipes 2. Fifos 3. Sockets
Comunicação entre Processos 1. Pipes 2. Fifos 3. Sockets Pipes Implementa um canal de comunicação associado a um processo Limitações: Os dados apenas fluem num sentido Só podem ser usados entre processos
Leia maisProgramação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 11 Gestão de Memória Dinâmica
Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 11 Gestão de Memória Dinâmica 1 Sumário : Utilização de memória Alocação Estática de Memória Alocação Dinâmica de Memória
Leia mais3.1 - Funções para manipular dados de entrada e saída padrão
1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado
Leia maisProgramação. Cap. 12 Gestão de Memória Dinâmica
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 12 Gestão de Memória Dinâmica Sumário : Utilização de memória Alocação
Leia maisComputação 2. Aula 8. Profª. Fabiany Arquivos
Computação 2 Aula 8 Arquivos Profª. Fabiany fabianyl@utfpr.edu.br E/S com Arquivos A linguagem C não possui nenhum comando de E/S. Todas as operações de E/S ocorrem mediante chamadas a funções de biblioteca
Leia maisEventos. Rotinas Assíncronas
Eventos Rotinas Assíncronas para Tratamento de acontecimentos assíncronos e excepções Rotinas Assíncronas Certos acontecimentos devem ser tratados pelas aplicações, embora não seja possível prever a sua
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014 Programação em C 30/06/2014 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Qual o objetivo de um
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 maisSinais: eventos assíncronos
Sinais: eventos assíncronos Um sinal é um evento assíncrono que pode ser enviado a um processo, avisando-o de que algo de inesperado ou anormal aconteceu. Evento Assíncrono significa que pode ocorrer a
Leia maisLEIC/LERC 2009/10 1º Exame de Sistemas Operativos
Número: Nome: LEIC/LERC 2009/10 1º Exame de Sistemas Operativos 16 de Janeiro de 2010 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m Grupo I [4,2v] Considere
Leia maisManipulação de processos
Manipulação de processos Luiz Affonso Guedes 1 Ivanovitch Silva 1 affonso@dca.ufrn.br ivan@dca.ufrn.br 1 Universidade Federal do Rio Grande do Norte 17 de setembro de 2009 Processos DCA0109 1 / 18 Sumário
Leia maisIntrodução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 04 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL LINGUAGEM IREMOS ESTUDAR? 2 Introdução à Programação Linguagens
Leia maisElementos de entrada e saída com arquivos
Elementos de entrada e saída com arquivos David Deharbe 1 1 Conceitos Por enquanto vimos como realizar entradas (leitura): do teclado e saídas (impressão): na tela. Em geral, pode-se usar rotinas muito
Leia maisIntrodução à Programação (CC111)
Introdução à Programação (CC111) 1.Ano LCC-MIERSI Nelma Moreira Aula 11 Tipos de inteiros em C Os inteiros em C podem ser com sinal ou sem sinal: int i; unsigned int u; E cada um pode ter vários tamanhos:
Leia maisLinguagens de Programação
Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas
Leia maisInter-process Communication (IPC)
Inter-process Communication (IPC) Comunicação entre processos (1) Introdução Tubos (Pipes) Filas (FIFOs, Named Pipes) Comunicação entre Processos (1) Os sistemas operacionais implementam mecanismos que
Leia maisTé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 maisSistemas de Operação (2018/2019) Ficha 4
Sistemas de Operação (2018/2019) Ficha 4 Q1. Considere a seguinte implementação de um comando mycat (semelhante ao cat da shell Bash) utilizando directamente a API do Unix (system calls) em vez da Biblioteca
Leia mais