Comunicação entre Processos 9/21/17 1
|
|
|
- William Carneiro Diegues
- 8 Há anos
- Visualizações:
Transcrição
1 Comunicação entre Processos 9/21/17 1
2 Introdução l Um sinal é uma notificação assíncrona transmitida entre processos através do Sistema Operacional Fluxo normal do programa l l Quando um processo termina, ele usualmente gera um sinal indicando o que deu errado Programas C (e o Unix) podem captar estes sinais para diagnósticos O fluxo normal continua aqui Rotina de tratamento de sinal (handler) l Sinais tb podem ser usados como forma (primitiva) de comunicação entre processos
3 Sinais l Sinais são interrupções geradas por software (o núcleo, em nome de um processo) que são enviadas para um processo quando acontece um evento l Cada sinal tem uma ação default que pode ser, entre outras: l O sinal é descartado após ser recebido l O processo é terminado após o sinal ser recebido
4 Macros são definidas em <signal.h> l Sinais são numerados de 1 até 31 (não há sinal de número 0) l Todos os sinais tem um nome representando uma constante inteira positiva l SIGHUP 1 /* hangup */ l SIGINT 2 /* interrupt */ l SIGQUIT 3 /* quit */ l SIGILL 4 /* instrução ilegal */ l SIGABRT 6 /* usado por aborto */ l SIGKILL 9 /* kill de verdade */ l SIGALRM 14 /* alarme do relógio */ l SIGCONT 19 /* continuar um processo parado */ l SIGCHLD 20 /* parar o pai quando o filho parar ou terminar */ l Atenção: Os nomes podem diferir em versões do UNIX. l Use $ kill l para ver os nomes.
5 Macros são definidas em <signal.h> Signal Value Action Comment Signal Value Action Comment SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process SIGURG 16 Ign Urgent condition on socket (4.2BSD) SIGINT 2 Term Interrupt from keyboard SIGSTOP 17 Stop Stop process SIGQUIT 3 Core Quit from keyboard SIGTSTP 18 Stop Stop typed at tty SIGILL 4 Core Illegal Instruction SIGCONT 19 Cont Continue if stopped SIGTRAP 5 Core Trace/breakpoint trap SIGCHLD 20 Ign Child stopped or terminated SIGABRT 6 Core Abort signal from abort(3) SIGTTIN 21 Stop tty input for background process SIGIOT 6 Core IOT trap. A synonym for SIGABRT SIGTTOU 22 Stop tty output for background process SIGEMT 7 Term SIGIO 23 Term I/O now possible (4.2BSD) SIGFPE 8 Core Floating point exception SIGXCPU 24 Core CPU time limit exceeded (4.2BSD) SIGKILL 9 Term Kill signal SIGXFSZ 25 Core File size limit exceeded (4.2BSD) SIGBUS 10 Core Bus error (bad memory access) SIGVTALRM 26 Term Virtual alarm clock (4.2BSD) SIGSEGV 11 Core Invalid memory reference SIGPROF 27 Term Profiling timer expired SIGSYS 12 Core Bad argument to routine (SVr4) SIGWINCH 28 Ign Window resize signal (4.3BSD, Sun) SIGPIPE 13 Term Broken pipe: write to pipe with no readers SIGPWR 29 Term Power failure (System V) SIGALRM 14 Term Timer signal from alarm(2) SIGUSR1 30 Term User-defined signal 1 SIGTERM 15 Term Termination signal SIGUSR2 31 Term User-defined signal 2 Term: o processo é terminado Core: o processo é terminado e um arquivo core é gerado Ign: o sinal é ignorado Stop: o processo pára (não termina vai dormir) Cont: continuar depois de um Stop Erro Aplicativos Controle Alarme outros
6 Enviando sinais l Existem duas formas de enviar sinais a partir de um processo: l int kill(pid_t pid, int sig) Uma system call que envia um sinal para o processo pid Se pid > 0, o sinal é enviado ao processo pid Se pid = 0, o sinal é enviado a todos os processos do grupo ao qual pertence o processo corrente Se pid = -1, o sinal é enviado a todos os processos para os quais o processo atual tem permissão de fazer (exceto para o processo 1) Se pid < -1, o sinal é enviado a todos os processos do grupo -pid l int raise(int sig) Envia um sinal para o próprio processo l Definidos em <signal.h> l Retornam: l Em caso de sucesso: 0 (zero) l Em caso de falha: kill retorna -1
7 Enviando sinais l Existe também um comando Unix chamado kill que pode ser utilizado para enviar sinais a partir da linha de comando l $ kill s sinal pid l Exemplo: l $ kill s SIGUSR1 985 /* envio para pid 985 */
8 Enviando sinais l Sinais podem ser enviados a um processo através do teclado l l l Ctrl-C l Envia o sinal SIGINT l Causa o término imediato do processo Ctrl-Z l Envia o sinal SIGTSTP l Causa a suspensão do processo Ctrl-\ l Envia o sinal SIGABRT l Causa o término imediato do processo l Ctrl-\ possui o mesmo efeito que Ctrl-C através de outro sinal l Somente afetam processos em foreground
9 Manipulação de sinais l Um processo pode tratar sinais das seguintes formas: l O processo pode deixar que a ação default aconteça (SIG_DFL) l O processo pode bloquear o sinal (SIG_IGN) (SIGKILL não pode ser ignorado) l O processo pode capturar o sinal através de um handler (um tratador) l Um handler é uma função que um processo especificou para manipular determinado sinal
10 Manipulação de sinais l Uma função handler é executada através de uma chamada implícita de função (quando um sinal é recebido) l A função retorna para o ponto de execução onde ocorreu a interrupção O fluxo normal continua aqui Fluxo normal do programa Handler / tratador l O handler executa no mesmo contexto de memória do processo normal
11 Função signal( ) l Configura o tratamento de sinais l Definida em <signal.h> void (*signal(int signum, void (*func)(int)))(int); l Onde: l signum: número do sinal a ser tratado l func: endereço da função de tratamento do sinal ou SIG_IGN (ignorar o sinal) ou SIG_DFL (tratamento default). l Retorna l Em caso de sucesso, o endereço da antiga função de tratamento l Em caso de falha, -1
12 Configurando manipuladores l Exemplos: l Para ignorar um Ctrl-C: signal(sigint, SIG_IGN); /* ignorando sinal */ l Para permitir que o processo volte a aceitar Ctrl-C para terminar o processo: signal(sigint, SIG_DFL); /* tratamento defaut */ l Para desviar para uma função quando Ctrl-C for digitado: signal(sigint, tratactrlc); /* tratando sinal */
13 Exemplo: configurar rotina de tratamento #include <...> int main (void) // captura Ctrl-C if (signal(sigint, rotinadeatendimento) == SIG_ERR) // erro ao instalar a rotina de atendimento do sinal SIGINT void rotinadeatendimento(int sinal) // tratamento do(s) sinal(is)...
14 Exemplo: mesma rotina para tratar vários sinais #include <...> int main (void) signal(sigint, rotinadeatendimento); signal(sigusr1, rotinadeatendimento);... void rotinadeatendimento(int sinal) // tratamento do(s) sinal(is) switch(sinal) case SIGINT:... break; case SIGUSR1:... break;
15 #include <stdio.h> #include <signal.h> #include <stdlib.h> #define EVER ;; void inthandler(int sinal); void quithandler(int sinal); int main (void) void (*p)(int); // ponteiro para função que recebe int como // parâmetro p = signal(sigint, inthandler); printf("endereco do manipulador anterior %p\n", p); p = signal(sigquit, quithandler); printf("endereco do manipulador anterior %p\n", p); puts ("Ctrl-C desabilitado. Use Ctrl-\\ para terminar"); for(ever); void inthandler(int sinal) printf("você pressionou Ctrl-C (%d) \n", sinal); void quithandler(int sinal) printf("terminando o processo...\n"); exit (0); ctrl-c.c
16 Parar um processo l Coloca o processo corrente para dormir até que este receba um sinal que o termine ou cause a sua continuação l Definido em <unistd.h> int pause(void); l Retorna: l Em caso de erro, -1 l Em caso de sucesso, não retorna J
17 Exemplo de pause( ) #include <stdio.h> #include <unistd.h> int main (void) puts ("vou parar..."); pause(); puts ("Continuei!"); return 0;
18 Exemplo de pause( ) #include <stdio.h> #include <unistd.h> #include <signal.h> void handler(int sinal); int main (void) signal(sigusr1, handler); puts ("vou parar..."); pause(); puts ("Continuei!"); return 0; void handler(int sinal) printf ("Sinal %d recebido\n", sinal);
19 Uso de alarme l Agenda a entrega de um sinal SIGALARM ao processo ao final de n segundos l Definida em <unistd.h> unsigned alarm( unsigned alarm); l Onde: l alarm: tempo em segundos para disparar o alarme l Se alarm = 0, desarma o alarme l Retorna l O tempo em segundos até a ativação do alarme
20 Exemplo de alarme #include <stdio.h> #include <signal.h> #include <unistd.h> #define TEMPO 10 #define EVER ;; void trataalarme(int sinal); int main (void) signal (SIGALRM, trataalarme); alarm (TEMPO); for(ever); return 0; void trataalarme(int sinal) printf ("%d segundos\n", TEMPO); alarm (TEMPO);
21 Função sleep( ) l Coloca o processo corrente para dormir até passar o tempo especificado ou até o processo receber um sinal que não seja ignorado l Definida em <unistd.h> unsigned sleep(int segundos);
22 Tratamento de sinais após fork ()/exec l Após fork() l O tratamento dos sinais é herdado pelo filho l O filho pode alterar o tratamento do sinal l Após exec l Se o sinal estiver programado para ser ignorado l O processo continua a ignorar o sinal l Se o sinal não estiver programado para ser ignorado l O sinal terá o tratamento padrão
23 Exemplo l Programa que executa um outro e espera determinado tempo para que o programafilho termine. Se o programa filho não terminar, o pai mata o filho l Exemplo: $ filhocidio tempo programafilho arg1 arg2... argn
24 #include < > void childhandler(int signo); int delay; int main (int argc, char *argv[]) pid_t pid; signal(sigchld, childhandler); if ((pid = fork()) < 0) fprintf(stderr, "Erro ao criar filho\n"); exit(-1); if (pid == 0) /* child */ while(1); /* ou sleep(3);*/ else /* parent */ sscanf(argv[1], "%d", &delay); /* read delay from command line */ sleep(delay); printf("program %s exceeded limit of %d seconds!\n", argv[2], delay); kill(pid, SIGKILL); sleep(1); /* necessary for SIGCHLD to arrive */ return 0; void childhandler(int signo) /* Executed if child dies before parent */ int status; pid_t pid = wait(&status); printf("child %d terminated within %d seconds com estado %d.\n", pid, delay, status); exit(0); filhocidio.c
25 Execução de filhocidio.c #include <stdio.h> #include <unistd.h> int main (void) fprintf(stdout, "indo dormir...\n"); sleep(5); fprintf(stdout, "Acordei!\n"); return 0; #include <stdio.h> #include <unistd.h> int main (void) fprintf(stdout, "indo dormir...\n"); sleep(15); fprintf(stdout, "Acordei!\n"); return 0;
26 Perguntas?
27 Exercícios sobre sinais 1) Execute o programa ctrl-c.c. Digite Ctrl-C e Ctrl-\. Analise o resultado. Neste mesmo programa, remova os comandos signal( ) e repita o teste anterior observando os resultados.
28 Exercícios sobre sinais 2) Tente fazer um programa para interceptar o sinal SIGKILL. Você conseguiu? Explique. 3) Execute e explique o funcionamento de filhocidio.c 4) Usando SIGSTOP e SIGCONT faça um programa que crie 2 processos filho e alterne a execução dos filhos. Após 10 trocas de contexto, o processo pai mata os processos filho. OBS: Os processos filho são formados por loops infinitos.
29 Exercícios sobre sinais Lab 4 5) Faça um programa que leia 2 números e imprima o resultado das 4 operações básicas sobre estes 2 números. l Verifique o que acontece se o 2º. número da entrada for 0 (zero) l Capture o sinal de erro de floating point (SIGFPE) e repita a experiência anterior
30 Exercícios sobre sinais Lab 4 6) Faça um programa para monitorar e informar o preço de chamadas telefônicas. O programa deverá ser executado em background. l O início e o término de uma chamada são informados através dos sinais SIGUSR1 e SIGUSR2, respectivamente. l O custo da ligação é de 2 centavos por segundo, para ligações de até 1 minuto ou de 1 centavo por segundo a partir do 2º. minuto, ou seja, uma ligação de 1m30s custa R$1,50.
31 Exercício sobre sinais Lab 4 7) Elabore três programas I/O bound que não terminem (loop de msgs no vídeo). l Elabore um programa que seja capaz de executar os 3 programas indicados anteriormente e que simule o compartilhamento da CPU entre os 3 processos com escalonamento Round-Robin com uma fatia de tempo de 1 segundo para o primeiro processo e de 2 segundos para os demais processos. Execute os programas e relate o que aconteceu
5. Comunicação entre processos - Sinais
5. Comunicação entre processos - Sinais 5.1 Definição dos sinais Os sinais são uma espécie de interrupção ao processo corrente. Podem ter diversas origens e são uma forma de tratar certos acontecimentos
Eventos. 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
Processos. Volnys Borges Bernal. Edson Toshimi Midorikawa
Volnys & Midorikawa (c) 1 Processos Volnys Borges Bernal [email protected] http://www.lsi.usp.br/~volnys Edson Toshimi Midorikawa [email protected] http://www.lsi.usp.br/~emidorik Laboratório de Sistemas
3. Criação e terminação de processos
3. Criação e terminação de processos 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) é através da invocação,
Criação de Processos Fork( ) Exec( )
Criação de Processos Fork( ) Exec( ) 8/23/18 1 Chamadas de Sistema: Process Management 2 Chamada fork( ) / exec( ) 3 Esboço de uma shell while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt
Gestão de processos. Processos. Processo Comando ps Comando top Comando nice Comando kill. José Pedro Oliveira ([email protected])
Conteúdo ([email protected]) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos 2005-2006 1 2 s s Identificador de processo pid - process
SVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais
SVCs para Controle de Processos no Unix (cont.) Término de Processos no Unix Um processo pode terminar normalmente ou anormalmente nas seguintes condições: Normal: Executa return na função main(), o que
1 System Calls no Linux
Sistemas Operacionais Laboratorio - System Calls Adaptação do Laboratório 1 - Prof. Eduardo Zambon 1 System Calls no Linux Vamos mencionar aqui alguns pontos já discutidos em aula e introduzir novos conceitos
MC514 Sistemas Operacionais: Teoria e Prática 1s2010. Processos e sinais
MC514 Sistemas Operacionais: Teoria e Prática 1s2010 Processos e sinais Processos e threads Process 1 Process 1 Process 1 Process User space Thread Thread Kernel space Kernel (a) Kernel (b) fork() Cria
Comunicaçã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,
Controlo de processos e sinais
Controlo de processos e sinais 8 Este capítulo aborda os processos e os sinais O controlo de processos com os comandos do sistema operativo disponíveis e em particular o bash shell. Os comandos ps, kill,
Processos. 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 ([email protected]) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos I 006-007 3 Referências
LEIC/LERC 2008/09. Repescagem do Primeiro Teste de Sistemas Operativos
Nome: Número: LEIC/LERC 2008/09 Repescagem do Primeiro Teste de Sistemas Operativos Identifique o cabeçalho de todas as folhas da prova. 10 de Fevereiro de 2009 Duração: 1h30m O teste é resolvido no espaço
Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software
Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições
Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software
Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições
Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos
Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos
Processos. Conceitos Básicos
Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos
SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios
SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes ([email protected]) 2ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. SINAIS 1. Qual a diferença
Modelo de Eventos (1)
Sinais no UNIX Modelo de Eventos (1) Os processos de nível usuário interagem com o kernel através de chamadas de sistema. Essas caracterizam-se por serem síncronas. Entretanto, acontecimentos esporádicos,
Comunicação entre Processos Memória Compartilhada
Comunicação entre Processos Memória Compartilhada 8/30/18 1 Métodos de comunicação entre processos Memória compartilhada Sinais Pipes Troca de mensagens Memória Compartilhada Memória compartilhada Permite
5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.
3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos
LABORATÓRIO SISTEMAS OPERACIONAIS
FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: SISTEMAS OPERACIONAIS CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2016/02 PROFESSOR: EDUARDO FERREIRA DOS SANTOS HORÁRIOS:
Sistemas Operacionais INF 09344 Prof. José Gonçalves
Sistemas Operacionais INF 09344 Prof. José Gonçalves 1 o Trabalho de Programação Período: 2014/1 Data de Entrega: 2/6/2014 Parte I. Usando Fork e Wait Você deve criar um programa C partei.c. Durante a
SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes ([email protected]) 2ª. Lista de Exercícios Data
SVCs 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
Computação 2. Aula 8. Profª. Fabiany Arquivos
Computação 2 Aula 8 Arquivos Profª. Fabiany [email protected] 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
Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz ([email protected]) Jorge Cavalcanti Fonsêca ([email protected]) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
Comunicação entre Processos Memória Compartilhada
Comunicação entre Processos Memória Compartilhada 3/23/17 1 Métodos de comunicação entre processos Memória compartilhada Sinais Pipes Troca de mensagens Memória Compartilhada Memória compartilhada Permite
Administração de sistemas Linux. Administração de processos.
Administração de sistemas Linux Administração de processos. Programas e processos Programas são arquivos em disco contendo instruções para execução pelo processador, enquanto processos são as execuções
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)
Estruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
http://www.csl.mtu.edu/cs4411/www/notes/process/fork/create.html
http://www.csl.mtu.edu/cs4411/www/notes/process/fork/create.html FORK() SYSTEM CALL * UTILIZADO PARA CRIAR SUBPROCESSO * PROCESSO QUE CRIA É PAI * PROCESSO CRIADO É O FILHO * APÓS A CRIAÇÃO AMBOS OS PROCESSO
PCS2042 Sistemas Operacionais. Visão geral de processos no Minix
PCS2042 Sistemas Operacionais Projeto2 Visão geral de processos no Minix Grupo: 8 Os sinais e o Minix. Professor: Jorge Kinoshita Equipe: Oduvaldo Vick Pedro d'aquino F. F. de Sá Barbuda Pedro Monteiro
Sistemas Operacionais Aula 4
Sistemas Operacionais Aula 4 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Exceções no Fluxo de Execução: Interrupções e Traps
Exceções no Fluxo de Execução: Interrupções e Traps 1 Fluxo de Controle Fluxo de controle de um programa: a 0 a 1 a 2 a n sequência de endereços I 0 I 1 I 2 I n sequência de instruções O fluxo mais simples
Segurança de Software: Testes de Caixa Preta
Luiz Gustavo C. Barbato 1 2 Antonio Montes 1 2 1 Laboratório Associado de Computação e Matemática Aplicada Instituto Nacional de Pesquisas Espaciais 2 Divisão de Segurança de Sistemas de Informação Centro
1 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
ENG-1450 Microcontroladores e Sistemas Embarcados. Lab03 Execução Experiência 01, Keypad, 7-seg, Exercícios
ENG-1450 Microcontroladores e Sistemas Embarcados Lab03 Execução Experiência 01, Keypad, 7-seg, Exercícios Agenda Execução da Experiência 01 no Proteus Teclado por interrupção Display 7-segmentos OBS:
Introdução aos Sistemas Operacionais
Introdução aos Sistemas Operacionais Eleri Cardozo FEEC/Unicamp 1 Definição de Sistema Operacional Um sistema operacional é um gerenciador de recursos de hardware ou uma máquina virtual que oferece uma
Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Processador INTRODUÇÃO Projetado apenas para executar instruções Não é capaz de distinguir qual programa está em execução Processo
Interrupções, Exceções e Chamadas ao SO
Interrupções, Exceções e Chamadas ao SO Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Fluxo de Controle Fluxo de controle de um programa a 0 a 1 a 2 a n sequência de endereços i
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
Computação I - C Prova /10/ Profs. Adriano Cruz e Valeria Bastos
Computação I - C Prova 2 2016-2 14/10/2016 - Profs. Adriano Cruz e Valeria Bastos Nome: DRE: Observação: Justifique todas as respostas dadas. Some nte serão aceitas respostas com justificativas. Questão
Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas
Computação 2 Aula 10.1 Listas Duplamente Encadeadas Profª. Fabiany [email protected] ListaEncadeada.h #ifndef _LISTAENCADEADA_H_ #define _LISTAENCADEADA_H_ #include #include #include
Trabalhando com Processos e Threads em Ambiente LINUX
Objetivo Universidade Federal do ABC Disciplina: BC 1518 Sistemas Operacionais (SO) Prática: Processo/Threads Atividade 3 Trabalhando com Processos e Threads em Ambiente LINUX 1.Trabalhar com comandos
