1 / 103

Genômica e Proteômica

Genômica e Proteômica. Sistema Operacional, Linguagem de Programação Perl e Banco de Dados. ?. ?. ?. ?. Introdução. Sistemas operacionais, linguagem de programação e banco de dados: O que são ? Para que servem ? Precisamos entender como funcionam e / ou como os utilizamos ?.

Download Presentation

Genômica e Proteômica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Genômica e Proteômica Sistema Operacional, Linguagem de Programação Perl e Banco de Dados

  2. ? ? ? ? Introdução • Sistemas operacionais, linguagem de programação e banco de dados: • O que são ? • Para que servem ? • Precisamos entender como funcionam e / ou como os utilizamos ? LABINFO – LNCC / MCT

  3. Sistema operacional • Introdução • Classificação dos sistemas operacionais • Estrutura do sistema operacional LABINFO – LNCC / MCT

  4. Sistema operacional – introdução • Coleção de programas que controla a operação de um computador • Facilitar o acesso aos recursos do sistema • Compartilhar os recursos de forma organizada e protegida LABINFO – LNCC / MCT

  5. Utilitários Aplicativos Sistema operacional Dispositivos físicos Sistema operacional – introdução LABINFO – LNCC / MCT

  6. Sistema operacional – introdução • Organização genérica de um computador LABINFO – LNCC / MCT

  7. Sistema operacional – classificação • Monoprogramáveis / monotarefa • Recursos são dedicados a execução de um único programa • Subutilização dos recursos • Implementação simples • Monousuário LABINFO – LNCC / MCT

  8. Sistema operacional – classificação • Multiprogramáveis / multitarefa • Compartilhamento dos recursos entre diferentes programas • A CPU é utilizada por cada programa em intervalos de tempo (time sharing) • Implementação mais complexa • Monousuário ou multiusuário • Controle de entrada e saída • Níveis de proteção do sistema LABINFO – LNCC / MCT

  9. Sistema operacional – classificação • Múltiplos processadores • Duas ou mais CPUs interligadas • CPUs executam programas diferentes ou o mesmo programa • Implementação complexa • Tipicamente multiusuário LABINFO – LNCC / MCT

  10. Sistema operacional – estrutura • O núcleo do sistema deve realizar: • Criação e eliminação de processos • Tratamento de interrupções • Sincronização e comunicação entre processos • Escalonamento e controle de processos • Gerência de memória • Operações de entrada e saída • Gerência de dispositivos • Contabilização e segurança LABINFO – LNCC / MCT

  11. Sistema operacional – processos • É o ambiente onde se executa um programa • O SO mantém informações sobre os processos: • Contexto de hardware • Contexto de software (identificação do processo e do usuário, quotas de recursos e privilégios) • Espaço de endereçamento (área da memória onde estão o código do programa e os dados utilizados LABINFO – LNCC / MCT

  12. Sistema operacional – processos • Um processo assume diferentes estados • Execução: Quando o processo está sendo processado pela CPU • Pronto: Quando o processo está aguardando a CPU para ser processado • Espera: Quando aguarda algum evento externo ou por algum recurso para prosseguir o seu processamento LABINFO – LNCC / MCT

  13. Sistema operacional – processos • Tipos: • CPU-bound  Quando o processo passa a maior parte do tempo utilizando o processador • I/O-bound  Quando o processo passa a maior parte do tempo no estado de espera, pois realiza um elevado número de operações de entrada e a saída LABINFO – LNCC / MCT

  14. Sistema operacional – gerência de memória • Memória principal • É a área onde estão armazenados as instruções e o dados de um programa • Pode ser volátil ou não volátil • Memória secundária • É a área onde ficam armazenados, de forma perene, os programas e arquivos. É uma memória não volátil. LABINFO – LNCC / MCT

  15. Sistema operacional – gerência de memória • Memória virtual  Técnicas que, através do uso de partes da memória secundária, simulam a memória principal LABINFO – LNCC / MCT

  16. Sistema operacional – entrada e saída • Realiza as funções que são comuns a todos os dispositivos • Aspectos específicos de cada dispositivo ficam a cargo dos respectivos drivers • Garante que os programas possam se comunicar com qualquer dispositivo conectado ao computador LABINFO – LNCC / MCT

  17. Processos Independente do dispositivo Operações de E/S Subsistemas de E/S Device drivers Software Dependente do dispositivo Controladores Hardware Dispositivos Sistema operacional – entrada e saída LABINFO – LNCC / MCT

  18. Sistema operacional – sistema de arquivos • Arquivo: Conjunto de informações logicamente relacionadas, podendo representar programas ou dados • O sistema de arquivos oferece um conjunto de chamadas ao sistema operacional que permitem a realização de operações de entrada e saída LABINFO – LNCC / MCT

  19. Sistema operacional – sistema de arquivos • Atributos: São as informações de controle sobre o arquivo • Nome • Tamanho • Proteção (privilégios para usuário, grupo e outros) • Dono e o grupo • Data de criação e modificação LABINFO – LNCC / MCT

  20. Sistema operacional – referências • Arquitetura de Sistemas Operacionais • Francis B. Machado e Luiz Paulo Maia. Livros Técnicos e Cientifícos Editora S.A. ISBN 85-216-1097-1 • Sistemas Operacionais Modernos • Andrew S. Tanenbaum Prentice Hall do Brasil ISBN 85-7054-059-0 LABINFO – LNCC / MCT

  21. Linguagem • Linguagem  É o uso da palavra articulada e escrita como meio de expressão e comunicação • Léxico  Conjunto de palavras de uma língua • Sintaxe  Estudo da disposição das palavras na frase e a das frases no discurso, bem como a relação lógica das frases entre si • Semântica  O significado do discurso LABINFO – LNCC / MCT

  22. Linguagem de programação • Conjunto de instruções e regras de composição e encadeamento, por meio do qual se expressam ações executáveis por um computador, seja diretamente, seja por meio de processo de compilação, interpretação ou montagem LABINFO – LNCC / MCT

  23. Linguagem de programação • Montagem  Conversão de um programa fonte, escrito em linguagem assembly, para o código de máquina • Compilação  Conversão de um programa fonte em um programa executável • Interpretação Conversão, em tempo de execução, de um programa fonte em um programa executável LABINFO – LNCC / MCT

  24. Perl • Interpretada • Alto nível • Suporte a várias plataformas  Unix, Windows, Mac OS, BeOS ... • Modular e orientada o objetos LABINFO – LNCC / MCT

  25. Perl • Tipo de dados • variáveis • Operadores • Declarações • de controle e de laço • Funções • Manipulação de arquivos e E/S • Expressões regulares LABINFO – LNCC / MCT

  26. Perl – tipo de dados • Tipos de dados  Define que tipo de valores podem ser utilizados no do programa • Valores escalares • Lista de valores • arrays • hashes LABINFO – LNCC / MCT

  27. Perl – tipo de dados • Scalars • Armazena uma cadeia de caracteres ou números. Ex.: • Cadeia de caracteres  “perl” • Números  2, 3.14 LABINFO – LNCC / MCT

  28. Perl – tipo de dados • Array de scalars • É uma lista ordenada de scalars acessados através de um índice. Ex.: • array1 = (“c”, “c++”, “perl”) • array2 = (1, 3, 5, 7, 9) • O índice sempre começa com o número “0” • array1[0] = “c” • array2[3] = 7 LABINFO – LNCC / MCT

  29. Perl – tipo de dados • Hash de scalars • É um conjunto não ordenados de pares chave/valor que podem ser acessados usando uma cadeia de caracteres, que é a chave, como índice, para recuperar um scalar que é o valor correspondente para esta chave. Ex.: • hash = (ling1 => “c”, ling2 => “perl”) LABINFO – LNCC / MCT

  30. Perl – variáveis • Variável  Porção de memória que contém um valor de determinado tipo de dado • Variável do tipo scalar • $x = “perl” • $y = 3.14 • $x = 1.41 • $y = “c++” • $y = 2 • $x = 10/$y  $x = 5 • $y = “teste” • $x = 10/$y  $x = ??? • Erro em tempo de execução (Illegal division by zero at line nnn) LABINFO – LNCC / MCT

  31. Perl – variáveis • Variável do tipo array • @x = (“a”, “b”, “c”) • @y = (1, 2, 4) • $a = $x[0] • O conteúdo de $a é igual a “a” • $b = $y[1] • O conteúdo de $b é igual a 2 LABINFO – LNCC / MCT

  32. Perl – variáveis • Variável do tipo hash • %tabela = (Jan => 31 , Fev => 28) • $par1 = $tabela{‘Jan’} • O conteúdo de $par1 é igual a 31 • $par2 = $tabela{‘Fev’} • O conteúdo de $par2 é igual a 28 LABINFO – LNCC / MCT

  33. Perl – operadores • Operadores  Símbolos que representam as operações possíveis sobre variáveis e arquivos. Podem ser classificados: • de acordo com o número de operandos • unários, binários, ternários • ou pelo tipo de operação • aritmética, lógica etc LABINFO – LNCC / MCT

  34. Perl – operadores • Unário e aritmético • $a = 5 • ++$a  incrementa $a e retorna 6 • $a = $a + 1 • $a++  retorna 6 e incrementa $a • --$a • $a-- LABINFO – LNCC / MCT

  35. Perl – operadores • Binário e aritmético • $a + $b, adição • $a - $b, subtração • $a * $b, multiplicação • $a / $b, divisão • $a % $b, resto da divisão • $a ** $b, potenciação LABINFO – LNCC / MCT

  36. Perl – operadores • Binário e string • $a . $b, concatenação • $a = “abc” • $b = “cde” • $c = $a . $b  $c = “abccde” • $a x $b, multiplicação • $a = “abc” • $b = 3 • $c = $a x $b  $c = “abcabcabc” • $b = “c” • $c = $a x $b  $c = ??? LABINFO – LNCC / MCT

  37. Perl – operadores • Atribuição • $a = 5 • $b = $a  $b = 5 • $a *= 3  $a = 15 • $a .= $a $a = “1515” • $a x= 3  $a = “151515151515” • $a -= 1000000  $a=151514151515 LABINFO – LNCC / MCT

  38. Perl – operadores • Lógicos • $a && $b (and) • falso e falso = falso • falso e verdadeiro = falso • verdadeiro e falso = falso • verdadeiro e verdadeiro = verdadeiro • $a || $b (or) • falso ou falso = falso • falso ou verdadeiro = verdadeiro • verdadeiro ou falso = verdadeiro • verdadeiro ou verdadeiro = verdadeiro • !$a (not) LABINFO – LNCC / MCT

  39. Perl – operadores • Comparação (números) • == igual • !=  diferente • <  menor • >  maior • <=  menor ou igual • >=  maior ou igual • <=>  comparação • retorna: 0 se igual, 1 se operando 1 é maior, -1 se operando 2 é maior LABINFO – LNCC / MCT

  40. Perl – operadores • Comparação (string) • eq igual • ne  diferente • lt  menor • gt  maior • le  menor ou igual • ge  maior ou igual • cmp  comparação • retorna: 0 se igual, 1 se operando 1 é maior, -1 se operando 2 é maior LABINFO – LNCC / MCT

  41. Perl – operadores • Teste de arquivos • -e existe • -r  permissão de leitura • -w  permissão de escrita • -d  verifica se é diretório • -f  verifica se é um arquivo • -T  verifica se é um arquivo texto LABINFO – LNCC / MCT

  42. Perl – declarações • Declarações representam ações que desejamos realizar. Podem ser: • Simples  sempre finalizada com um “;” • print “teste”; • Composta  um seqüência de declarações dentro de um mesmo bloco • {$a =5; $b = 6; $c = $a*$b; print $c} Obs.: a) Um bloco é delimitado por “{}” b) A última declaração de um bloco não precisa ser finalizada com “;” LABINFO – LNCC / MCT

  43. Perl – declarações • Declarações de controle Declarações utilizadas para decidir a seqüência de comandos a ser executada pelo programa • ifAvalia se uma condição é verdadeira e executa um bloco de comandos • unless Avalia se uma condição é falsa e executa um bloco de comandos LABINFO – LNCC / MCT

  44. interpolação de variáveis Perl – declarações if ($a == $b) { print “$a é igual a $b”; $a-- } else { print “$a é diferente de $b” } LABINFO – LNCC / MCT

  45. Caractere especial de quebra de linha Perl – declarações unless ($a == $b) { print “$a é diferente que $b\n” } LABINFO – LNCC / MCT

  46. if (($a == $b) && ($c == $d)) { print “Todos os números são iguais\n” } elsif ($a != $b) { print “$a é diferente de $b\n” } elsif ($c != $d) { print “$c é diferente de $d\n” } if ($a == 1) { print “$a é igual a 1\n” } elsif ($a == 2) { print “$a é igual a 2\n” } else { print “$a é diferente de 1\n”; print “e diferente de 2\n”; } Perl – declarações LABINFO – LNCC / MCT

  47. Perl – declarações • Declarações de laço (loop) Utilizadas para decidir quantas vezes um bloco de comandos será executado • whileAvalia se a condição é verdadeira e executa um bloco de comandos • until Avalia se a condição é falsa e executa um bloco de comandos • No while e no until uma condição inicial é determinada antes do início do loop e é modificada dentro do bloco de comandos LABINFO – LNCC / MCT

  48. Perl – declarações • for Avalia se a condição é verdadeira e executa um bloco de comandos. A condição inicial é determinada e modificada na declaração do for • foreach  Executa um bloco de comandos para cada elemento de uma lista de scalars LABINFO – LNCC / MCT

  49. caracter especial de tabulação Perl – declarações while ($i < 10) { print “$i\t”; $i++ } print “\n” LABINFO – LNCC / MCT

  50. abertura de arquivo atribuindo-o para o filehandle “FILE” faz o loop enquanto não chegar ao final do arquivo variável predefinida, que recebe a linha corrente do arquivo Perl – declarações open FILE, “<teste.txt” if (-e “teste.txt”); while (<FILE>) { print “$_” } LABINFO – LNCC / MCT

More Related