V JOLIM. C e Linux Dicas e Truques. Márcio Fuckner

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

Download "V JOLIM. C e Linux Dicas e Truques. Márcio Fuckner marciofk@ppgia.pucpr.br"

Transcrição

1 V JOLIM C e Linux Dicas e Truques Márcio Fuckner

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 https://computing.llnl.gov/tutorials/pthreads/ Unix Advanced Programming Stevens

UMA 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 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 mais

sockets interprocess communication Taisy Weber

sockets 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 mais

Unix: Sistema de Arquivos. Geraldo Braz Junior

Unix: 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 mais

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

SIMULADOR 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 mais

Bibliotecas. Apoio à Programação Distribuída. Socket. Socket. bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas

Bibliotecas. Apoio à Programação Distribuída. Socket. Socket. bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas Apoio à Programação Distribuída bibliotecas bibliotecas+ferramentas linguagens de programação distribuídas flexibilidade de programação disponibilidade da ferramenta facilidade de desenvolvimento e reuso

Leia mais

OO Engenharia Eletrônica

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

Leia mais

Programação Concorrente Processos e Threads

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

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

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 mais

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

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

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Ciclo de Vida de um Processo

Ciclo de Vida de um Processo Nas aulas anteriores Ciclo de Vida de um Processo Marcelo Johann Conceito de Processo Mecanismo de Programação em C/UNIX Continuando Interrupções TRAP Chaveamento de Contexto Chamadas de Sistema INF01142

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (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 mais

Comunicaçã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 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 mais

LSOF - LiSt Open Files

LSOF - 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 mais

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Comunicaçã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 mais

Redes de Computadores (PPGI/UFRJ)

Redes de Computadores (PPGI/UFRJ) Redes de Computadores (PPGI/UFRJ) Aula 1: Apresentação do curso e revisão de interface de sockets 03 de março de 2010 1 2 O que é a Internet 3 4 Objetivos e página do curso Objetivos Apresentar a motivação,

Leia mais

Sistemas Operacionais

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

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

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

Leia mais

Modelo Cliente/Servidor e Introdução a Sockets

Modelo 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 mais

E.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 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 mais

Comunicação entre Processos

Comunicaçã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 mais

Sumário. Introdução ao Universo Linux... 1. Parte I

Sumá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 mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Acesso a ficheiros panorama global Programação de Sistemas Acesso a ficheiros : 1/27 Introdução (1) [Definição]: No Linux, um ficheiro é uma sequência de Bytes. Os ficheiros são

Leia mais

Comunicação entre pai e filho

Comunicaçã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 mais

CAPÍTULO 5 PROJETO DE SEGURANÇA

CAPÍTULO 5 PROJETO DE SEGURANÇA CAPÍTULO 5 PROJETO DE SEGURANÇA 5.1 INTRODUÇÃO Entende-se por projeto de segurança, no contexto desta dissertação, as especificações a serem adotadas, tanto para equipamentos como para programas, para

Leia mais

Tubos ou Pipes de Comunicação

Tubos ou Pipes de Comunicação 1 Tubos ou Pipes de Comunicação 1. Introdução Os tubos (ou pipes) constituem um mecanismo fundamental de comunicação unidirecional entre processos. Eles são um mecanismo de I/O com duas extremidades, ou

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. 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 mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS 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 mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Notas 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 mais

Aula Prática. Comunicação em SOCKTS. Disciplina: INF01151

Aula 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 mais

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

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

Leia mais

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955

Introduçã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 mais

Sistemas Operacionais III-ComunicaçãoentreTarefas

Sistemas Operacionais III-ComunicaçãoentreTarefas Sistemas Operacionais III-ComunicaçãoentreTarefas Prof. Carlos Alberto Maziero PPGIA CCET PUCPR http://www.ppgia.pucpr.br/ maziero 30 dejulho de2008 Resumo Muitas implementações de sistemas complexos são

Leia mais

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,

Leia mais

4 Modelos Alternativos de Concorrência e Sandbox

4 Modelos Alternativos de Concorrência e Sandbox 4 Modelos Alternativos de Concorrência e Sandbox Para evitar inconsistências nas comparações de medidas devido ao efeito de executar testes em plataformas de software diversas, optamos por utilizar uma

Leia mais

Capítulo 2 Processos e Threads. 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.

Capítulo 2 Processos e Threads. 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2. Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas

Leia mais

Conceitos de Sistemas Operacionais: Chamadas de Sistema. Prof Rafael J. Sandim

Conceitos 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 mais

Sistemas Operacionais. Processos. Edeyson Andrade Gomes. edeyson@uol.com.br

Sistemas Operacionais. Processos. Edeyson Andrade Gomes. edeyson@uol.com.br Sistemas Operacionais Processos Edeyson Andrade Gomes edeyson@uol.com.br Roteiro da Aula Conceitos Estados do Processo Controle de Processo Escalonamento Criação e Término de Processos 2 Definição Processo

Leia mais

Programação de Sockets em C/C++

Programaçã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 mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Introdução ao Linux. Professor Breno Leonardo G. de M. Araújo

Introduçã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 mais

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

INF01018 Aula Prática 1 Cliente-Servidor e Multicast 1 / 30 INF01018 Aula Prática 1 Cliente-Servidor e Multicast Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais

Leia mais

Grupo I [4v] executaprograma();

Grupo I [4v] executaprograma(); Número: Nome: LEIC/LERC 2012/13-1º Exame de Sistemas Operativos 15/Janeiro/2013 Identifique todas as folhas. Responda no enunciado, apenas no espaço fornecido. Justifique todas as respostas. Duração: 2h30m

Leia mais

Infra-Estrutura de Software. Introdução. (cont.)

Infra-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 mais

Slide. ! Multiprocessamento! Modelo de processo. Dep. Ciência da Computação. Slide. ! Alternância de processos. ! Relação Programa x Processo

Slide. ! Multiprocessamento! Modelo de processo. Dep. Ciência da Computação. Slide. ! Alternância de processos. ! Relação Programa x Processo Parte II - Sistemas Operacionais Cap. 2 - Processos (1) Prof. Marcelo Moreno moreno@ice.ufjf.br Processos - Motivação! Necessidade de gerenciamento dos programas instanciados para execução! Multiprogramação

Leia mais

Sistemas Operacionais I

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

Leia mais

Arquitetura de Sistemas Operacionais

Arquitetura de Sistemas Operacionais Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia Processo Profº Antonio Carlos dos S. Souza Estrutura do Processo Contexto de Software Contexto de Hardware Programa Espaço

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas 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 mais

SISTEMAS OPERACIONAIS

SISTEMAS 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 mais

SO Sistemas Operacionais

SO Sistemas Operacionais GOVERNO DO ESTADO DO RIO DE JANEIRO FUNDAÇÃO DE APOIO A ESCOLA TÉCNICA ESCOLA TÉCNICA ESTADUAL REPÚBLICA SO Sistemas Operacionais Curso de Informática ETE REPÚBLICA - Rua Clarimundo de Melo, 847, Quintino

Leia mais

S.O.: Conceitos Básicos

S.O.: Conceitos Básicos S.O.: Conceitos Básicos Camada de software localizada entre o hardware e os programas que executam tarefas para o usuário; Acessa os periféricos Entrada e Saída Esconde os detalhes do hardware para o programador

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 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 mais

Programação com Sockets TCP e UDP - Cliente. Gustavo Leitão

Programaçã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

Cliente/Servidor. Programação com Sockets. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Programação com Sockets. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Programação com Sockets Graça Bressan Graça Bressan/LARC 2000 1 Interface através de Sockets Socket é uma API ( Aplication Program Interface ) para acesso aos serviços do protocolo de

Leia mais

Programação Sistemas

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

Leia mais

Aula 01 Visão Geral do Linux

Aula 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 mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas 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 mais

Redes de Computadores (RCOMP 2014/2015)

Redes de Computadores (RCOMP 2014/2015) Redes de Computadores (RCOMP 2014/2015) Desenvolvimento de aplicações de rede UDP e TCP 1 Protocolo UDP ( User Datagram Protocol ) Tal como o nome indica, trata-se de um serviço de datagramas, ou seja

Leia mais

Sistema Operacional LINUX

Sistema 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 mais

Sistema de Entrada/Saída

Sistema 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 mais

SO: Gerenciamento de Processos

SO: Gerenciamento de Processos SO: Gerenciamento de Processos Adriano J. Holanda http://holanda.xyz 10/8/2015 O que é um processo Um processo é um programa (código objeto armazenado em alguma mídia) em. O que é um processo Um processo

Leia mais

Maestro. 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 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 mais

Sistemas de Operação Sockets

Sistemas de Operação Sockets Sistemas de Operação Sockets O que é um socket? Uma interface de comunicação entre processos que podem ou não residir na mesma máquina, mas que não precisam estar relacionados. É usado normalmente para

Leia mais

Uso Eficiente da Linha de Comando com os Shells do Unix. Fábio Olivé (fabio.olive@gmail.com)

Uso Eficiente da Linha de Comando com os Shells do Unix. Fábio Olivé (fabio.olive@gmail.com) Uso Eficiente da Linha de Comando com os Shells do Unix Fábio Olivé (fabio.olive@gmail.com) GUI CLI Tópicos História da Linha de Comando Shells mais comuns Interpretação e transformações da linha digitada

Leia mais

6. Comunicação entre processos - Pipes

6. 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 mais

Sistemas Operacionais Distribuídos e Multiprocessados

Sistemas Operacionais Distribuídos e Multiprocessados Tópicos em Sistemas Operacionais Sistemas Operacionais Distribuídos e Multiprocessados Por André Macedo, Marcelo Moraes, Thaís Fernandes Sumário Teoria: Sistemas Multiprocessados Estudo de caso:k42 Teoria:

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura 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 mais

Introduçã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 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 mais

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática Sistema de Arquivos Prof. João Paulo de Brito Gonçalves Introdução É com o sistema de arquivos que o usuário mais nota a presença do sistema operacional.

Leia mais

Gerenciamento de Processos

Gerenciamento 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 mais

LEIC/LERC 2012/13 2º Teste de Sistemas Operativos 15/Janeiro/2013

LEIC/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 mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Software Sistema de Entrada/Saída Princípios de Software Tratadores (Manipuladores) de Interrupções Acionadores de Dispositivos (Device Drivers)

Leia mais

PROCESSOS COMPONENTES DE UM PROCESSO. A execução de um processo possui vários componentes. PID e PPID

PROCESSOS 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 mais

Sistemas Distribuídos 59. Sistemas Distribuídos 61. "Receive não-bloqueante:

Sistemas Distribuídos 59. Sistemas Distribuídos 61. Receive não-bloqueante: Comunicação entre processos! Memória Compartilhada: " os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Área Compartilhda!

Leia mais

Sobre a apresentação (About(

Sobre a apresentação (About( Capítulo 4: Threads Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada por Cristiaino

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

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

Leia mais

Lsof List Open Files. O que é o Lsof? Opções Conclusão

Lsof List Open Files. O que é o Lsof? Opções Conclusão Lsof List Open Files O que é o Lsof? Opções Conclusão O que é o Lsof? Lsof é um comando UNIX que lista informações sobre qualquer arquivo aberto. Um arquivo aberto pode ser um arquivo comum, um diretório,

Leia mais

3. Projeto e implementação de Servidores

3. Projeto e implementação de Servidores 3. Projeto e implementação de Servidores 3.1 Introdução Este capítulo discute questões fundamentais relacionadas ao projeto de software servidor, incluindo acesso com conexão vs. sem conexão a servidores

Leia mais

Sistemas 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) 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 mais

TROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão

TROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão TROCA DE MENSAGENS SOCKETS Comunicando processos através de SOCKETS SOCKETS com conexão SOCKETS sem conexão SOCKETS Princípios dos sockets: 2. Fornecer uma interface geral permitindo a construção de aplicações

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas 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 mais

7 Processos. 7.1 Introdução

7 Processos. 7.1 Introdução 1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO 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 mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Estrutura de S.O. Roteiro. BC1518 - Sistemas Operacionais. Prof. Marcelo Z. do Nascimento. Aula 02 2 Quadrimestre. de 2010

Estrutura de S.O. Roteiro. BC1518 - Sistemas Operacionais. Prof. Marcelo Z. do Nascimento. Aula 02 2 Quadrimestre. de 2010 BC1518 - Sistemas Operacionais Estrutura de S.O. Aula 02 2 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: marcelo.nascimento@ufabc.edu.br Roteiro Serviço do sistema operacional Interface Chamadas

Leia mais

Acesso direto. canal. System call. System call S.O.

Acesso direto. canal. System call. System call S.O. Inter-process Comunicação Communication(IPC) Memória entre compartilhada processos Java Sockets Sinais Pipes Comunicação Processos RMI Hardware Um processo oferece executam entre não acessa proteção processos

Leia mais

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com

Sistemas 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 mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

P5 P3. interrupçãocorrespondente. Sistemas Operacionais 2008/1 Profa. Patricia D. CostaLPRM/DI/UFES 3 Sistemas Operacionais 2008/1

P5 P3. interrupçãocorrespondente. Sistemas Operacionais 2008/1 Profa. Patricia D. CostaLPRM/DI/UFES 3 Sistemas Operacionais 2008/1 Conceitos Processos Básicos (Aula 4) Profa. É Provoca Constitui Mecanismo Patricia informa evento controle, a multiprogramação. Ex: rotina um a base de Interrupção de um (1) sistema de D. CostaLPRM/DI/UFES

Leia mais

Computação II Orientação a Objetos

Computaçã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 mais

UFRJ 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 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 mais

Um processo sob UNIX ocupa uma área de memória formada basicamente por 3 partes:

Um 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 mais

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti ESTRUTURAS DE DADOS I Notas de Aula 1 SUMÁRIO 1. INTRODUÇÃO... 2 1.1 Array (vetores)... 2 2. BUSCA DE ELEMENTOS... 3 2.1 Busca Seqüencial... 3 2.2 Busca Binária... 3 2.3 Busca Indexada... 3 2.4 Busca Hash...

Leia mais

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

CONHECIMENTOS 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 mais

06/10/2015. Modelo TCP/IP Camada de Transporte DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES. UDP User Datagram Protocol. UDP User Datagram Protocol

06/10/2015. Modelo TCP/IP Camada de Transporte DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES. UDP User Datagram Protocol. UDP User Datagram Protocol Tecnologia em Jogos Digitais Modelo TCP/IP Camada de Transporte DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES O transporte dos dados na INTERNET é realizado por dois protocolos. PROTOCOLOS TCP E UDP

Leia mais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema Sistemas Operacionais I Parte III Estrutura dos SOs Prof. Gregorio Perez gregorio@uninove.br 2007 Roteiro Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais