V JOLIM. C e Linux Dicas e Truques. Márcio Fuckner marciofk@ppgia.pucpr.br
|
|
- Moisés Álvares Carlos
- 8 Há anos
- Visualizações:
Transcrição
1 V JOLIM C e Linux Dicas e Truques Márcio Fuckner marciofk@ppgia.pucpr.br
2 Agenda Introdução Entrada e Saída C em Redes Multithreading Utilidades
3 Introdução Apresentação Márcio Fuckner Bacharel em Sistemas de Informação Professor do Departamento de Computação da PUCPR Mestre em Informática Sun Certified Java Programmer Sun Certified Java Web Component Developer Instrutor do HSBC Bank
4 Por que os temas? Linux é um sistema operacional importante no cenário mundial e nasceu da participação ativa da comunidade open source. É a plataforma de desenvolvimento predileta dos pesquisadores da área de ciência da computação A linguagem C tem uma estreita ligação com o mundo UNIX (suas histórias se confundem) Programas em C/C++ tem ótimo desempenho Pesquisadores precisam extrair o melhor do ambiente para atingir seus objetivos Muitas vezes um shell script nao traz o mesmo desempenho e versatilidade que programas escritos em C
5 Entrada e Saída A linguagem C possui diversas system calls que permitem interagir com o file system do sistema operacional Todos os shells conhecidos fazem uso destas funções (bash, ksh e csh por exemplo) Alguns exemplos que serão apresentados Como obter informações sobre um arquivo? Como saber as permissões de um arquivo? Como caminhar na estrutura de um diretório? Como trabalhar com pipes? Como criar um arquivo temporário?
6 Informações sobre arquivos (1 de 3) Função int stat(char * arquivo, struct stat *) stat permite consultar diversas informações do arquivo Campo st_mode st_ino st_nlink st_uid st_gid st_size st_atime st_mtime st_ctime Descrição Tipo e modo Número do i node Quantidade de links Id do owner Id do grupo owner Tamanho em bytes Data de último acesso Data de modificação Data de criação ExemploES01.c
7 Informações sobre arquivos (2 de 3) Unix possui diversos tipos de arquivos. É possível determinar o tipo usando uma das seguintes macros descritas abaixo Macro S_ISREG ( ) S_ISDIR ( ) S_ISCHR ( ) S_ISBLK ( ) S_ISFIFO ( ) S_ISLNK ( ) S_ISSOCK ( ) Descrição Arquivo comum (regular file) Diretório Arquivo orientado a caractere Arquivo orientado a bloco Arquivo de pipe ou fifo Arquivo de link Arquivo de socket ExemploES02.c
8 Informações sobre arquivos (3 de 3) O st_mode também codifica as permissões do arquivo. Para decodificá lo, é necessário realizar uma operação AND binária com as seguintes constantes que estão na include <sys/stat.h> Constante S_IRUSR S_IWUSR S_IXUSR S_IRGRP S_IWGRP S_IXGRP S_IROTH S_IWOTH S_IXOTH Descrição Leitura Usuário Gravação Usuário Execução Usuário Leitura Grupo Gravação Grupo Execução Grupo Leitura Outros Gravação Outros Execução Outros ExemploES03.c
9 Lendo arquivos de um diretório Diretórios podem ser lidos por qualquer usuário com permissões de leitura. Em sistemas UNIX com padrão POSIX é possível ler diretórios usando as seguintes funções DIR * opendir ( char * path ) struct dirent * readdir ( DIR * dp) rewinddir( DIR * dp ) closedir ( DIR * dp ) ExemploES04.c
10 Trabalhando com pipes Pipe é um recurso poderoso comum em sistemas Unix Com ele é permitido que a saída de um processo seja a entrada de outro Comandos podem ser combinados e programas podem se comunicar através de pipes Exemplo find. name db* sort find sort
11 Fazendo um programa C ler um pipe Comandos como grep, wc e sort quando não recebem nenhuma opção e argumentos fazem leitura da entrada padrão. Isso permite usarmos esses comandos em conjunto com outros Para fazer um programa em C que leia um pipe podemos usar as seguintes técnicas Ler a entrada padrão (stdin), convertendo a para um ponteiro FILE * através da função fdopen Usar a função popen, que permite executar um comando em um processo filho e devolvendo a saída para o programa
12 Lendo a entrada padrão em C Em Unix três descritores ficam abertos para utilização São eles STDIN 0 Entrada padrão STDOUT 1 Entrada padrão STDERR 2 Erro padrão Através da função fdopen podemos transformar esses descritores em um FILE * (stream) IMPORTANTE Um pipe é um fluxo contínuo. Não é possível voltar a ler partes anteriores de um pipe. ExemploES05.c
13 Usando a função popen Também é possível criar um processo filho e comunicar se com ele através de uma stream, que pode ser de saída ou de entrada Sintaxe FILE * popen(char * cmd, char * modo) ExemploES06.c
14 Criando arquivos temporários seguros Arquivos temporários são elementos comuns em programação Em aplicações multitarefa precisamos ainda garantir que estes arquivos sejam únicos para evitar problemas de sobreposição de nomes Em sistemas POSIX é possível usar a função tmpfile que devolve um descritor de arquivo para atualização, equivalente ao fopen com a opção w+ Sintaxe FILE * tmpfile ( ) ExemploES07.c
15 Onde usar? Comandos de manipulação do sistema de arquivos Processamento de arquivos de dados Criação de utilitários de disco Criação de instaladores Comunicação entre processos
16 Redes Necessidade de distribuição de processamento Balanceamento de carga Conectividade Alguns cenários: Como criar um servidor de socket TCP? Como criar um cliente de socket TCP?
17 Criando um servidor Socket (1 de 2) Este exemplo apresenta um servidor de socket TCP que fica ouvindo requisições em uma porta Para se criar um servidor de socket é necessário: Executar a função socket, que tem por objetivo criar um descritor. Sintaxe: int socket ( int domain, int type, int protocol ) Executar a função bind, que permite associar o programa a um endereço e porta. Sintaxe: int bind ( int s, struct sockaddr, int addrlen ) ExemploRede01.c
18 Criando um servidor Socket (2 de 2) Para se criar um servidor de socket é necessário (cont.) Indicar que o programa ficará ouvindo por requisições usando a função listen e ficar aguardando por conexões usando a função accept Sintaxe: int accept ( int fd, struct sockaddr *, int addrlen ) Enviar e receber mensagens através das funções send e recv respectivamente. Fechar a conexão com a função close ( int fd ) ExemploRede01.c
19 Criando um cliente Socket Para se criar uma aplicação que se conecte com um servidor de socket, o desenvolvedor precisa: Executar a função socket, que tem por objetivo criar um descritor de comunicação. Sintaxe: int socket( int domain, int type, int protocol ) Executar a função connect, que tem por objetivo realizar a conexão com o servidor. Sintaxe: int connect ( int fd, struct sockaddr *, int addrlen ) Enviar e receber mensagens através das funções send e recv respectivamente. Fechar a conexão com a função close ( int fd ) ExemploRede02.c
20 Onde usar? Criação de servidores de serviços comuns como: Bancos de dados Servidores web Servidores de aplicação
21 Multithreading Limitações físicas dos processadores Ultimamente o mercado adotou modelos de processadores com múltiplos núcleos (multicore) Quais são as alternativas? Computação quântica, computadores de DNA, chips de carbono (nanotubos ou grafeno) ou uso de fotons E enquanto essas tecnologias nao chegam? Paralelizar ao máximo as aplicações So quando usamos multithreading e multiprocessamento é que aproveitamos mais de um núcleo
22 Multiprocessamento Em sistemas UNIX é possível criar processos a partir de outro, viabilizando o paralelismo No entanto, há um custo alto devido a inicialização e duplicação da área de memória, além do gerenciamento de troca de mensagens necessário Processo A Variáveis globais código pilha fork() Processo B Variáveis globais código pilha
23 Multithreading Thread é um fluxo de controle leve e independente dentro de um processo Permite o compartilhamento de áreas de memória, descritores de arquivos, sinais e variáveis globais Possuem dados próprios: thread ID, registradores, pilha, contadores e variáveis locais Processo A Variáveis globais cõdigo pilha1 pilha2 pilha3
24 Posix Threads Permite a criação de threads pthread_create Permite identificar qual é a thread em execução pthread_self Permite passar argumentos para a thread Permite especificar regiões críticas pthread_mutex_lock e pthread_mutex_unlock Permite sincronizar execuções que são pré requisitos pthread_join
25 Criando uma Thread Para criar uma thread eh necessário executar a função pthread_create Uma vez que a thread foi criada, ela torna se elegível para execução no processo de escalonamento de processos do sistema operacional ExemploThread01.c
26 Criando varias Threads Como a thread pode começar a executar assim que ela é criada, a thread corrente é liberada, configurando assim uma chamada assíncrona A thread corrente pode disparar quantas outras forem necessárias O exemplo 02 apresenta este cenário ExemploThread02.c
27 Passando parametros para Threads Eh possivel passar parâmetros para threads através da mesma função pthread_create Qualquer tipo de dado pode ser passado uma vez que a assinatura da função recebe um ponteiro para void Para flexibilizar a passagem de parâmetros o ideal é criar uma estrutura contendo os parâmetros necessários e enviar o ponteiro desta estrutura como parâmetro para a thread A mesma estrutura pode ser usada para retorno de valores da thread filha para a thread mãe ExemploThread03.c
28 Sincronizando Threads Processos A,B e C podem rodar em paralelo O processo D so pode iniciar se os três terminarem A função pthread_join permite realizar este tipo de controle A B C D ExemploThread04.c
29 Sincronizando Threads (exemplo) O programa precisa saber se um ponto esta em dois polígonos Em um cenário tradicional, o programa verificaria se o ponto está em um polígono, depois em outro O exemplo 04 apresenta a execução paralelizada da verificação usando a função pthread_join ExemploThread04.c
30 Onde usar? Cenários de uso massivo de cálculo Aplicações de engenharia Simuladores Problemas NP completos de busca e otimização Jogos Servidores Serviços de sistema operacional Mineração distribuída de dados Reconhecimento de padrões Dentre vários outros
31 Utilidades Como criar comandos compatíveis com o padrão UNIX? Como ler múltiplos argumentos como ocorre em printf? Como ler e gravar variáveis de ambiente? Como interceptar sinais em um programa C? Como criar um daemon?
32 Criando comandos Unix Like Em geral os comandos Unix obedecem uma padronização da passagem de parâmetros para facilitar o uso e aprendizado Os comandos tem o seguinte formato geral <comando> [ [+ ] opção ]... [ args de opção ] args A ordem e a disposição das opções nao afetam no resultado final. Exemplos: ls la é equivalente a ls l a ou ls a l ou ls al Sistemas compatíveis com POSIX possuem a função getopt que permite ler opções e argumentos no padrão Unix Sintaxe int getopt(int argc, char ** argv, char * opções) ExemploUtil01.c
33 Lendo múltiplos argumentos Funções como printf permitem que o usuário informe múltiplos parâmetros para a função Em C é possível obter o mesmo resultado usando as funções da família va_args Funções va_start ( va_list params, int qtd ) va_arg ( va_list params, void * ) va_end ( va_list params ) ExemploUtil02.c
34 Manipulando variaveis de ambiente Em sistemas operacionais Unix é comum a utilização de variáveis de ambiente, que podem ser personalizadas para cada usuário ou ambiente. Estas variáveis permitem flexibilidade na configuração da aplicação Exemplos típicos de utilização de variáveis de ambiente são: nomes de servidores, portas e diretórios padrões Em C é possível Recuperar variáveis de ambiente com a função getenv Atualizar valores de variáveis através da função setenv ExemploUtil03.c
35 Interceptar sinais em um programa C Processos podem se comunicar através de sinais IPC Alguns sinais no UNIX são bem famosos, como por exemplo o kill 9 (SIGKILL) e o kill HUP (SIGHUP) Um programa C pode especificar um tratador de sinais (signal handler) Neste exemplo, será apresentado um signal handler para o sinal kill HUP, que é uma das maneiras comuns de derrubar servidores de forma amigável ExemploRede03.c
36 Criando um Daemon Um daemon é um programa especial que executa no servidor em modo de serviço ou background, não necessitando interação direta com usuários Tipicamente são serviços de indexação, de banco de dados, servidores web ou de aplicação Criar um daemon significa tornar o processo filho independente do processo pai. Lembre se que em Unix, quando o processo pai morre, o filho também deve morre, senão fica orfão (defunct ou zombie). Para tornar um processo daemon é necessário executar a função setsid ExemploRede04.c
37 Unificando... ExemploRede01.c
38 Obrigado... Para saber mais: Posix Threads TCP sockets em C Unix Advanced Programming Stevens
Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação
Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 1 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Leia maisUnix: Sistema de Arquivos. Geraldo Braz Junior
Unix: Sistema de Arquivos Geraldo Braz Junior 2 Arquivos Um arquivo é visto pelo SO apenas como uma seqüência de bytes: nenhuma distinção é feita entre arquivos ASCII, binários, etc.; Muitos programas
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisSIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)
SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver
Leia maisComunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor
Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do
Leia maisE.E.E.P. Dr. Solon Tavares Sistemas Operacionais Prof. Henrique Cordeiro. Programação Concorrente em Linux
E.E.E.P. Dr. Solon Tavares Sistemas Operacionais Prof. Henrique Cordeiro Programação Concorrente em Linux O Conceito de Processo no Linux O conceito de processo é fundamental para qualquer sistema operacional
Leia maisIMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET
1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com
Leia maisLSOF - LiSt Open Files
LSOF - LiSt Open Files Descrição Como o nome indica, LSOF lida com arquivos abertos em um sistema UNIX. Um arquivo aberto pode ser um arquivo comum, um diretório, uma biblioteca, um stream, ou um soquete
Leia maisSistemas Distribuídos
Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário
Leia maisConceitos de Sistemas Operacionais: Chamadas de Sistema. Prof Rafael J. Sandim
Conceitos de Sistemas Operacionais: Chamadas de Sistema Prof Rafael J. Sandim Conceitos de Sistema Operacional Interface entre o SO e os Programas de usuário é definida pelo conjunto de instruções estendidas
Leia maisProgramaçã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 maisUm Driver NDIS Para Interceptação de Datagramas IP
Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para
Leia maisAula 01 Visão Geral do Linux
Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina Administração de Redes de Computadores Aula 01 Visão Geral do Linux Prof. Gustavo Medeiros de Araujo Profa.
Leia maishttp://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho
vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS
Leia maisGerenciamento de Processos
- Um Processo é um Programa em Execução com todos os recursos necessários para este fim. - Cada Processo, quando em execução, enxergar como sendo possuidor de todos os recursos do sistema. - O Linux é
Leia maisLP 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 maisProcessos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
Leia maisSumário. Introdução ao Universo Linux... 1. Parte I
Sumário Introdução ao Universo Linux... 1 Conhecendo o Linux... 2 Sua História... 2 Conhecendo o Unix... 3 As Variações do Unix... 4 Parte I 1 O Manual de Referências... 9 1.1 Sintaxe do Manual On-line...11
Leia maisComunicação entre Processos
Comunicação entre Processos Comunicação memória compartilhada troca de mensagens base de comunicação em sistemas distribuídos Mensagens básicas send (destino, msg) receive (origem, mensagem) questões semântica
Leia maisSistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Leia maisProcessos (Threads,Virtualização e Migração de Código)
Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem
Leia maisProjeto: Camada Independente de Dispositivo
Projeto: Camada Independente de Dispositivo Introdução Esse documento tem como finalidade demonstrar como será implementada a Camada Independente de Software. Estrutura A camada independente de software
Leia maisSistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com
Sistemas Operacionais 3º bimestre Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistema de Arquivos (1) Todas as aplicações precisam armazenar e recuperar informações. Considerações sobre os processos: Espaço
Leia maisUMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP
UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP Alan Jelles Lopes Ibrahim, alan.jelles@hotmail.com Eduardo Machado Real, eduardomreal@uems.br
Leia maisSistema Operacional LINUX
SISTEMA OPERACIONAL Sistema Operacional LINUX Para que o computador funcione e possibilite a execução de programas é necessária a existência de um sistema operacional. O sistema operacional é uma camada
Leia maisAula Prática. Comunicação em SOCKTS. Disciplina: INF01151
Aula Prática Comunicação em SOCKTS Disciplina: INF01151 Prof. Dr. Cláudio Fernando Resin Geyer Monitor: Julio Anjos Agenda 1 - Objetivo Apresentar na prática a comunicação entre processos usando sockets
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 maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisPROCESSOS COMPONENTES DE UM PROCESSO. A execução de um processo possui vários componentes. PID e PPID
PROCESSOS Um processo é um canal de comunicação entre os programas que estão sendo executados no sistema operacional e o usuário, ou seja um processo é um programa que está sendo executado. No Linux /
Leia maisCapítulo 8 - Aplicações em Redes
Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos
Leia maisProgramação Concorrente Conceitos Multiprogramação Threads
Programação Concorrente Conceitos Multiprogramação Threads Prof. Gibson Pasquini Nascimento gibson.pasquini@gmail.com O que é Concorrência? Uma unidade concorrente é um componente de um programa que não
Leia maisECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO
Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...
Leia maisIntrodução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza
Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo
Leia maisModelo Cliente/Servidor e Introdução a Sockets
Modelo Cliente/Servidor e Introdução a Sockets MC 833 Programação em s de Computadores Instituto de Computação UNICAMP Juliana Freitag Borin O modelo OSI de 7 camadas Nó origem Nó destino Apresentação
Leia maisSistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)
Sistemas Operativos Threads 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Dos Processos para os Threads O conceito de thread foi introduzido na tentativa de
Leia maisMaestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação
Maestro Arthur Kazuo Tojo Costa 317497 Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Introdução Sistema Operacional de Redes Detalhes do hardware Multiplexação
Leia maisESTUDO 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 maisDisciplina de Banco de Dados Introdução
Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.
Leia maisPermite o acesso remoto a um computador;
Telnet Permite o acesso remoto a um computador; Modelo: Cliente/Servidor; O cliente faz um login em um servidor que esteja conectado à rede (ou à Internet); O usuário manipula o servidor como se ele estivesse
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets
Leia maisCONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;
CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.
Leia maisSistemas 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 maisFigura 01 Kernel de um Sistema Operacional
01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisSistemas Operacionais. Introdução
Sistemas Operacionais Prof. Fernando Freitas Introdução O que é um sistema operacional História dos sistemas operacionais Tipos de sistemas operacionais Conceitos sobre sistemas operacionais Chamadas de
Leia maisSenado Federal Questões 2012
Senado Federal Questões 2012 Sistemas Operacionais Prova de Analista de Sistemas Prof. Gustavo Van Erven Senado Federal Questões 2012 Rede Social ITnerante http://www.itnerante.com.br/ Vídeo Aulas http://www.provasdeti.com.br/
Leia maisProgramação de Sockets em C/C++
Programação de Sockets em C/C++ Redes de Comunicação 2011/2012 1 Programação de Sockets em C/C++ 2 TCP 3 UDP Introdução Os sockets são um método de criar conexão entre processos, independente do protocolo.
Leia maisSistemas Operacionais. Conceitos de um Sistema Operacional
Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas
Leia maisNotas da Aula 4 - Fundamentos de Sistemas Operacionais
Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta
Leia maisDocumentação Symom. Agente de Monitoração na Plataforma Windows
Documentação Symom de Monitoração na Plataforma Windows Windows Linux Windows Linux Plataforma Windows Instalação A instalação do de Monitoração do Symom para Windows é feita através do executável setup.exe
Leia maisHardware e Software. Exemplos de software:
Hardware e Software O hardware é a parte física do computador, ou seja, é o conjunto de componentes eletrônicos, circuitos integrados e placas, que se comunicam através de barramentos. Em complemento ao
Leia maisWindows. Introdução. Introdução Sistema Operacional. Introdução Sistema Operacional. Introdução Sistema Operacional. Introdução Sistema Operacional
Windows Prof. Leandro Tonietto Cursos de Informática Unisinos Março-2008 O que é Sistema operacional? O que é Windows? Interface gráfica: Comunicação entre usuário e computador de forma mais eficiente
Leia maisManual de Instalação do Agente Citsmart
16/08/2013 Manual de Instalação do Agente Citsmart Fornece orientações necessárias para efetuar a instalação do Agente Citsmart. Versão 1.9 21/11/2014 Visão Resumida Data Criação 21/11/2014 Versão Documento
Leia maisIntrodução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955
O que vimos Infraestrutura de Software Introdução (cont.) Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma
Leia mais11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador
Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Leia maisTipos de Servidores. Servidores com estado
Tipos de Servidores Com Estado X Sem Estado Sequenciais X Concorrentes Com Conexão X Sem Conexão Servidores com estado Servidores com estado armazenam informação sobre cada cliente. Operações podem ser
Leia maisInfra-Estrutura de Software. Introdução. (cont.)
Infra-Estrutura de Software Introdução (cont.) O que vimos Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como
Leia maisSistemas Operacionais Processos e Threads
Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo
Leia maisSistemas Distribuídos
Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais
Leia maisCONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA
CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA 26. Considerando o sistema de numeração Hexadecimal, o resultado da operação 2D + 3F é igual a: a) 5F b) 6D c) 98 d) A8 e) 6C 27. O conjunto
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 maisIntrodução ao Linux. Professor Breno Leonardo G. de M. Araújo
Introdução ao Linux Professor Breno Leonardo G. de M. Araújo Sistema Operacional Linux Embora o Sistema Operacional Microsoft Windows ainda seja predominante no mercado de desktops e Notebooks,já é, bastante
Leia maisComparativo de desempenho do Pervasive PSQL v11
Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive
Leia mais4 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 maisArquitetura de Computadores. Introdução aos Sistemas Operacionais
Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4
Leia maisOlho por olho, e o mundo acabará cego. Mohandas Gandhi
Sockets Olho por olho, e o mundo acabará cego. Mohandas Gandhi Conectando-se a máquinas remotas. Protocolo Da necessidade de dois computadores se comunicarem surgiram diversos protocolos que permitissem
Leia maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1
UFRJ IM - DCC Sistemas Operacionais I Unidade IV Sistema de arquivos Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1 ORGANIZAÇÃO DA UNIDADE Sistema de Arquivos Gerenciamento de E/S
Leia maisBancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia maisIntrodução aos Computadores
Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas
Leia maisSistemas Operacionais
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Sistemas Operacionais Carga horária total:
Leia maissockets interprocess communication Taisy Weber
sockets interprocess communication Taisy Weber Comunicação entre processos Mecanismos Pipes, FIFO (named pipes), semáforos, message queues. Memória compartilhada. Sockets Definição, chamadas de sistemas,
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
Leia maisSISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas
Leia maisIntrodução à Linguagem Java
Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar
Leia maisAlgoritmos e Programação _ Departamento de Informática
16 ARQUIVOS Um arquivo corresponde a um conjunto de informações (exemplo: uma estrutura de dados-registro), que pode ser armazenado em um dispositivo de memória permanente, exemplo disco rígido. As operações
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de
Leia maisSistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG
Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Marco T. A. Rodrigues*, Paulo E. M. de Almeida* *Departamento de Recursos em Informática Centro Federal de Educação Tecnológica de
Leia maisFaculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.
Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos
Leia maisArquitetura 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 maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisSistemas 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 mais5 Estudo de caso: utilizando o sistema para requisição de material
61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de
Leia mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisConsiderações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Leia maisProgramação com Sockets TCP e UDP - Cliente. Gustavo Leitão
Programação com Sockets TCP e UDP - Cliente Gustavo Leitão 5/24/2010 INTRODUÇÃO Objetivo da Aula OBJETIVO DA AULA Apresentar ao aluno conceitos e prática em sockets INTRODUÇÃO O que é um socket? INTRODUÇÃO
Leia mais