SlideShare uma empresa Scribd logo
1 de 46
Linux: 
Um estudo de caso 
Tiago Roberti Sampaio 
www.trsampaio.com 
Universidade Federal de Mato Grosso
Linux: 
Um estudo de caso 
Universidade Federal de Mato Grosso
Introdução 
 Sistema de Arquivos 
 Processos 
 Gerenciamento de Memoria 
 Entrada/Saída 
Universidade Federal de Mato Grosso
História do Linux 
 Uma breve história... 
Universidade Federal de Mato Grosso
Licença 
 A liberdade nº 0 
 A liberdade nº 1 
 A liberdade nº 2 
 A liberdade nº 3 
Universidade Federal de Mato Grosso
Família Linux 
Universidade Federal de Mato Grosso
Processos 
 Comunicação Entre Processos 
 Implementação de um processo 
 Escalonamento 
Universidade Federal de Mato Grosso
Processos 
 Único thread de controle inicial (único Program 
Counter) 
 Executa um único programa 
Universidade Federal de Mato Grosso
Processos 
 Daemon 
 Cron 
 Cron é necessário? 
Universidade Federal de Mato Grosso
Processos 
Chamadas relacionadas 
 Fork: Filho = Pid = 0. 
 pid_t fork(void); 
Universidade Federal de Mato Grosso
Processos 
Chamadas relacionadas 
 Getpid: Fornece o Pid do processo. 
 pid_t getpid(void); 
Universidade Federal de Mato Grosso
Processos 
Chamadas relacionadas 
 Waitpid: Chamada bloqueante. 
 pid_t waitpid(pid_t pid, int *status, int options); 
 0, espera qualquer processo do grupo 
 -1, espera qualquer processo 
 >0, espera o processo nº pid 
Universidade Federal de Mato Grosso
Processos 
Chamadas relacionadas 
 Exec: Substitui a imagem. 
 execl, execlp, execle, execv, execvp, execvpe – 
executa um arquivo 
 int execvp(const char *file, char *const argv[]); 
 Cria uma instância do shell para buscar o arquivo 
*file 
 Diretório padrão /usr/bin/ 
Universidade Federal de Mato Grosso
Processos 
Chamadas relacionadas 
 Sigaction: Modifica a ação de um sinal recebido pelo 
processo. 
 Signal vs Sigaction: Interrupções durante a execução 
do *handler. 
Universidade Federal de Mato Grosso
Comunicação 
Inter-Processos 
 Uso do Pipe: Bloqueante. 
 Uso de Signals. 
Universidade Federal de Mato Grosso
Processo 
Implementação 
 Task_struct: Representação de um processo. 
 PCB: Lista duplamente encadeada no núcleo. 
 Criado pela chamada Fork(). 
 Copy on Write 
Universidade Federal de Mato Grosso
Processo 
Implementação 
 Thread: Multi-thread no núcleo. 
 Chamada Clone: Útil na implementação de threads 
Universidade Federal de Mato Grosso
Processo 
Escalonamento 
 Chaveamento. 
 FIFO: Não preemptivo. 
 Circular: Preemptivo e utiliza o quantum. 
 Tempo Compartilhado: Prioridades. 
Universidade Federal de Mato Grosso
Processo 
Escalonamento 
 Runqueue: faz uso de dois vetores. 
 Ativo. 
 Expirado: limite quantum excedido. 
Universidade Federal de Mato Grosso
Gerenciamento de Memoria 
 Chamadas de sistema relacionadas 
 Implementação do Gerenciador 
 Gerenciador de memória física 
 Mecanismo de alocação de memória 
 Paginação no linux 
 PFRA 
Universidade Federal de Mato Grosso
Gerenciamento de Memoria 
 Espaço de endereçamento é composto de código, 
dados e pilha. 
 Código (instruções de máquina, tamanho fixo) 
 Dados (variáveis dinâmicas) 
 Pilha (variáveis de ambiente: argumentos da linha de 
comando) 
Universidade Federal de Mato Grosso
Chamadas de Sistema 
Relacionadas 
 Mmap: mapeia um bloco para a memória 
 Munmap: remove um arquivo mapeado 
 Bkr: Altera o tamanho do segmento de dados 
Universidade Federal de Mato Grosso
Implementação do 
Gerenciador 
 Cada processo recebe 3GB de espaço virtual. (32 
bits) 
 E 1GB reservado para a tabela de páginas e dados do 
núcleo. 
 Um novo espaço pode ser criado com Fork+Escrita e 
modificado pelo Exec. 
Universidade Federal de Mato Grosso
Gerenciamento de Memória 
Física 
 Três zonas de memória: 
 ZONE_DMA: para operações DMA. 
 ZONE_NORMAL: páginas normais. 
 ZONE_HIGHMEM: páginas com endereços altos e não 
permanentemente mapeadas. 
 O kernel mantém um estrutura de zonas para cada 
um. 
Universidade Federal de Mato Grosso
Gerenciamento de Memória 
Física 
 Memória Principal formada por: 
 Núcleo. 
 Mapa de Memória. 
 Moldura de páginas. 
Universidade Federal de Mato Grosso
Mecanismo de alocação de 
Memória 
 O espaço de endereçamento se encontra dividido em 
áreas homogêneas contíguas e alinhadas em página. 
 Separa e gerencia unidades fatiadas . 
Universidade Federal de Mato Grosso
Paginação no Linux 
 Implementada pelo núcleo e outra parte por um 
processo chamado daemon de paginação 
 O Linux faz distinção entre quatro tipos de páginas: 
 Não recuperáveis; 
 Trocável; 
 Sincronizável; 
 Descartável; 
Universidade Federal de Mato Grosso
PFRA 
 Responsável por manter o reabastecimento de 
páginas livres a serem usadas . 
 Ele tenta recuperar as páginas mais fáceis e depois 
as mais difíceis. 
 Durante o PFRA as páginas ficam ativas ou inativas. 
 As inativas podem sofrer despejo. 
Universidade Federal de Mato Grosso
Entrada e Saída 
 Transmissão de rede 
 Chamada de sistema para E/S 
 Implementação E/S 
 Módulos 
Universidade Federal de Mato Grosso
Entrada e Saída 
 Arquivos especiais (/dev). 
 Esses arquivos são divididos em duas categorias: 
Blocos; 
Caracteres; 
 Cada dispositivo tem um número associado 
(primário/secundário) 
Universidade Federal de Mato Grosso
Dispositivos 
Universidade Federal de Mato Grosso
Transmissão de Rede 
 Implementada em soquetes. Estes são os tipos mais 
comuns: 
 1) Fluxo confiável de bytes orientado a conexão; 
 2) Fluxo confiável de pacotes orientado à conexão; 
 3) Transmissão não confiável de pacotes; 
 TCP e UDP 
Universidade Federal de Mato Grosso
E/S 
Chamadas de Sistema 
 Apesar de cada dispositivo ter um arquivo especial 
associado a ele, não necessita sempre de chamadas 
especiais para ser acessado. 
Universidade Federal de Mato Grosso
Implementação E/S 
 Feita por um conjuntos de drivers e cada dispositivo 
tem seu próprio. Sua função é interfacear o 
dispositivo e o núcleo. 
Universidade Federal de Mato Grosso
Módulos 
 Módulos são trechos de códigos que podem ser 
carregados enquanto o sistema está em execução 
Universidade Federal de Mato Grosso
Sistemas de arquivos 
 História 
 I-Nodes 
 Implementação 
 Principais Sistemas de arquivos suportados 
Universidade Federal de Mato Grosso
Estrutura dos I-Nodes 
 Permissões do arquivo 
 Tipo 
 identificação do grupo relativo e do dono 
 tempos (último acesso, última alteração do i-node, 
última alteração do arquivo, etc.) 
 contador de referências (quando uma referência do 
arquivo é apagada o contador de referências é 
decrementado, quando esse contador chega a zero, o i-node 
e os blocos alocados para o arquivo são liberados) 
 tamanho em bytes e endereço dos blocos alocados para 
o arquivo. 
Universidade Federal de Mato Grosso
Implementação 
 VFS (Virtual File System) 
 Superbloco 
 Dentry 
 I-Node 
 Estrutura de dados Arquivo 
 Suporte a diversos sistemas de arquivos 
Universidade Federal de Mato Grosso
Principais Sistemas de 
Arquivos Suportados 
 EXT 
 EXT2 
 EXT3 
 EXT4 
 NFS 
Universidade Federal de Mato Grosso
EXT 
 Surgiu a partir do MINIX FS 
 Extended File System 
 Nomes de arquivos de até 255 caracteres 
 Sistema de Arquivos de até 2GiB 
 Tamanho de Arquivos de até 2GiB 
Universidade Federal de Mato Grosso
EXT2 
 Evolução do EXT 
 Second Extended File System 
 Nomes de arquivos de até 255 caracteres 
 Sistema de Arquivos de até 4TiB 
 Tamanho de Arquivos de até 2GiB 
Universidade Federal de Mato Grosso
EXT2 
 Superbloco 
 I-Node 
 Grupo de Blocos 
 Mapa de bits de blocos 
 Mapa de bits de I-Nodes 
 tabelas de I-Nodes 
Universidade Federal de Mato Grosso
EXT3 
 Evolução do EXT2 
 Third Extended File System 
 Implementa Jornaling ( Diario ) 
 Nomes de arquivos de até 255 caracteres 
 Sistema de Arquivos de até 16TiB ( blocos de 4KiB ) 
 Tamanho de Arquivos de até 2TiB ( blocos de 4KiB ) 
Universidade Federal de Mato Grosso
EXT4 
 Surgiu a partir de uma bifurcação no 
desenvolvimento do EXT3 
 Fourth Extended File System 
 Nomes de arquivos de até 255 caracteres 
 Sistema de Arquivos de até ~2EiB 
 Tamanho de Arquivos de até 16TiB 
Universidade Federal de Mato Grosso
NFS 
 Sistema de arquivos distribuido 
 Criado para facilitar acesso remoto de arquivos 
 Utiliza protocolos Cliente/Servidor 
Universidade Federal de Mato Grosso
Bibliografia 
 CARRIER, Brian. File system forensic analysis. Upper 
Saddle River: Addison-Wesley, 2005. 
 TANENBAUM, Andrew S. - Sistemas Operacionais 
Modernos - Tradução Ronaldo A. L. Gonçalves, Luís A. 
Consularo, Luciana do Amaral Teixeira - Revisão 
técnica Raphael Y. de Camargo - São Paulo: Pearson 
Prentice Hall, 2009. 3. ed. 
Universidade Federal de Mato Grosso

Mais conteúdo relacionado

Mais procurados

Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linuxRogério Cardoso
 
Servidores Web
Servidores Web Servidores Web
Servidores Web bastosluis
 
Aula 01 meios de comunicação de dados
Aula 01 meios de comunicação de dadosAula 01 meios de comunicação de dados
Aula 01 meios de comunicação de dadosJorge Ávila Miranda
 
Tipos de Cablagens de Rede
Tipos de Cablagens de RedeTipos de Cablagens de Rede
Tipos de Cablagens de Redescb.carlos
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosMauro Tapajós
 
Equipamentos passivos e activos.pptx
Equipamentos passivos e activos.pptxEquipamentos passivos e activos.pptx
Equipamentos passivos e activos.pptxManuelAdao1
 
Aula03 camada física - meios de transmissão
Aula03  camada física - meios de transmissãoAula03  camada física - meios de transmissão
Aula03 camada física - meios de transmissãoCarlos Veiga
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresJakson Silva
 
Estudo de caso do windows
Estudo de caso do windowsEstudo de caso do windows
Estudo de caso do windowsJocelma Rios
 
Projeto final instalação e configuração de redes locais
Projeto final  instalação e configuração de redes locaisProjeto final  instalação e configuração de redes locais
Projeto final instalação e configuração de redes locaisMarcoSoaresGI
 
Gerência de Redes SNMP
Gerência de Redes SNMPGerência de Redes SNMP
Gerência de Redes SNMPIsraelCunha
 
Internet das Coisas - Conectando você e tudo ao seu redor
Internet das Coisas - Conectando você e tudo ao seu redorInternet das Coisas - Conectando você e tudo ao seu redor
Internet das Coisas - Conectando você e tudo ao seu redorAndré Curvello
 
Curso básico fibras óticas módulo1-teoria
Curso básico fibras óticas módulo1-teoriaCurso básico fibras óticas módulo1-teoria
Curso básico fibras óticas módulo1-teoriaWELLINGTON MARTINS
 
Informática aplicada a gestão - Material 1
Informática aplicada a gestão   - Material 1Informática aplicada a gestão   - Material 1
Informática aplicada a gestão - Material 1João Filho
 

Mais procurados (20)

Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linux
 
Servidores Web
Servidores Web Servidores Web
Servidores Web
 
Aula 01 meios de comunicação de dados
Aula 01 meios de comunicação de dadosAula 01 meios de comunicação de dados
Aula 01 meios de comunicação de dados
 
Tipos de Cablagens de Rede
Tipos de Cablagens de RedeTipos de Cablagens de Rede
Tipos de Cablagens de Rede
 
FIBRA ÓPTICA
FIBRA ÓPTICA FIBRA ÓPTICA
FIBRA ÓPTICA
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de Dados
 
Equipamentos passivos e activos.pptx
Equipamentos passivos e activos.pptxEquipamentos passivos e activos.pptx
Equipamentos passivos e activos.pptx
 
Aula03 camada física - meios de transmissão
Aula03  camada física - meios de transmissãoAula03  camada física - meios de transmissão
Aula03 camada física - meios de transmissão
 
Projeto de Rede Local (LAN)
Projeto de Rede Local (LAN)Projeto de Rede Local (LAN)
Projeto de Rede Local (LAN)
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Redes Convergentes
Redes ConvergentesRedes Convergentes
Redes Convergentes
 
FIBRA ÓPTICA
FIBRA ÓPTICA FIBRA ÓPTICA
FIBRA ÓPTICA
 
Estudo de caso do windows
Estudo de caso do windowsEstudo de caso do windows
Estudo de caso do windows
 
Projeto de redes
Projeto de redesProjeto de redes
Projeto de redes
 
Projeto final instalação e configuração de redes locais
Projeto final  instalação e configuração de redes locaisProjeto final  instalação e configuração de redes locais
Projeto final instalação e configuração de redes locais
 
Gerência de Redes SNMP
Gerência de Redes SNMPGerência de Redes SNMP
Gerência de Redes SNMP
 
Internet das Coisas - Conectando você e tudo ao seu redor
Internet das Coisas - Conectando você e tudo ao seu redorInternet das Coisas - Conectando você e tudo ao seu redor
Internet das Coisas - Conectando você e tudo ao seu redor
 
Curso básico fibras óticas módulo1-teoria
Curso básico fibras óticas módulo1-teoriaCurso básico fibras óticas módulo1-teoria
Curso básico fibras óticas módulo1-teoria
 
Malware
MalwareMalware
Malware
 
Informática aplicada a gestão - Material 1
Informática aplicada a gestão   - Material 1Informática aplicada a gestão   - Material 1
Informática aplicada a gestão - Material 1
 

Semelhante a Linux - Um estudo de caso

Bit-Torrent em redes locais: Solução para transferir imagens de instalação
Bit-Torrent em redes locais: Solução para transferir imagens de instalaçãoBit-Torrent em redes locais: Solução para transferir imagens de instalação
Bit-Torrent em redes locais: Solução para transferir imagens de instalaçãoRicardo Pinheiro
 
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Julio Oliveira
 
Unidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxUnidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxJuan Carlos Lamarão
 
Sistemas de arquivos feito em latex
Sistemas de arquivos feito em latexSistemas de arquivos feito em latex
Sistemas de arquivos feito em latexBruno Teixeira
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação MonografiaLeon Homar
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhsAnderson Lago
 
Icprl12_1-Servidores
Icprl12_1-ServidoresIcprl12_1-Servidores
Icprl12_1-Servidorespjpascoa
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
Perícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosPerícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosSofia Trindade
 
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOSPERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOSVanessa Finoto
 
Sist operacionais
Sist operacionaisSist operacionais
Sist operacionaiskanatto
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Faculdade Mater Christi
 
Perícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosPerícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosThaís Favore
 
Carlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixCarlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixHeber Souza
 

Semelhante a Linux - Um estudo de caso (20)

Bit-Torrent em redes locais: Solução para transferir imagens de instalação
Bit-Torrent em redes locais: Solução para transferir imagens de instalaçãoBit-Torrent em redes locais: Solução para transferir imagens de instalação
Bit-Torrent em redes locais: Solução para transferir imagens de instalação
 
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
Material sobre sistemas de arquivos do Windows,como é a organização e o supor...
 
Unidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxUnidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios Linux
 
dotNet framework foundation
dotNet framework foundationdotNet framework foundation
dotNet framework foundation
 
Sistemas de arquivos feito em latex
Sistemas de arquivos feito em latexSistemas de arquivos feito em latex
Sistemas de arquivos feito em latex
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação Monografia
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs
 
Sistemas de arquivos
Sistemas de arquivosSistemas de arquivos
Sistemas de arquivos
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
Sgf
SgfSgf
Sgf
 
Icprl12_1-Servidores
Icprl12_1-ServidoresIcprl12_1-Servidores
Icprl12_1-Servidores
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Perícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosPerícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de Arquivos
 
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOSPERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
 
Sist operacionais
Sist operacionaisSist operacionais
Sist operacionais
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)
 
Perícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de ArquivosPerícia Forense - Análise dos Sistemas de Arquivos
Perícia Forense - Análise dos Sistemas de Arquivos
 
Aula06 - postfix
Aula06 -  postfixAula06 -  postfix
Aula06 - postfix
 
Carlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixCarlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - Postfix
 

Mais de Tiago R. Sampaio

Sincronização de um sistema distribuído
Sincronização de um sistema distribuídoSincronização de um sistema distribuído
Sincronização de um sistema distribuídoTiago R. Sampaio
 
Padrão de projeto de software Composite
Padrão de projeto de software CompositePadrão de projeto de software Composite
Padrão de projeto de software CompositeTiago R. Sampaio
 
Web Semantica - Simple HTML Ontology Extension SHOE
Web Semantica - Simple HTML Ontology Extension SHOEWeb Semantica - Simple HTML Ontology Extension SHOE
Web Semantica - Simple HTML Ontology Extension SHOETiago R. Sampaio
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERLTiago R. Sampaio
 

Mais de Tiago R. Sampaio (8)

Sincronização de um sistema distribuído
Sincronização de um sistema distribuídoSincronização de um sistema distribuído
Sincronização de um sistema distribuído
 
Padrão de projeto de software Composite
Padrão de projeto de software CompositePadrão de projeto de software Composite
Padrão de projeto de software Composite
 
Web Semantica - Simple HTML Ontology Extension SHOE
Web Semantica - Simple HTML Ontology Extension SHOEWeb Semantica - Simple HTML Ontology Extension SHOE
Web Semantica - Simple HTML Ontology Extension SHOE
 
Diagrama UML Pergamum
Diagrama UML PergamumDiagrama UML Pergamum
Diagrama UML Pergamum
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Banco de Dados XML
Banco de Dados XMLBanco de Dados XML
Banco de Dados XML
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERL
 
Bioinformática
BioinformáticaBioinformática
Bioinformática
 

Linux - Um estudo de caso

  • 1. Linux: Um estudo de caso Tiago Roberti Sampaio www.trsampaio.com Universidade Federal de Mato Grosso
  • 2. Linux: Um estudo de caso Universidade Federal de Mato Grosso
  • 3. Introdução  Sistema de Arquivos  Processos  Gerenciamento de Memoria  Entrada/Saída Universidade Federal de Mato Grosso
  • 4. História do Linux  Uma breve história... Universidade Federal de Mato Grosso
  • 5. Licença  A liberdade nº 0  A liberdade nº 1  A liberdade nº 2  A liberdade nº 3 Universidade Federal de Mato Grosso
  • 6. Família Linux Universidade Federal de Mato Grosso
  • 7. Processos  Comunicação Entre Processos  Implementação de um processo  Escalonamento Universidade Federal de Mato Grosso
  • 8. Processos  Único thread de controle inicial (único Program Counter)  Executa um único programa Universidade Federal de Mato Grosso
  • 9. Processos  Daemon  Cron  Cron é necessário? Universidade Federal de Mato Grosso
  • 10. Processos Chamadas relacionadas  Fork: Filho = Pid = 0.  pid_t fork(void); Universidade Federal de Mato Grosso
  • 11. Processos Chamadas relacionadas  Getpid: Fornece o Pid do processo.  pid_t getpid(void); Universidade Federal de Mato Grosso
  • 12. Processos Chamadas relacionadas  Waitpid: Chamada bloqueante.  pid_t waitpid(pid_t pid, int *status, int options);  0, espera qualquer processo do grupo  -1, espera qualquer processo  >0, espera o processo nº pid Universidade Federal de Mato Grosso
  • 13. Processos Chamadas relacionadas  Exec: Substitui a imagem.  execl, execlp, execle, execv, execvp, execvpe – executa um arquivo  int execvp(const char *file, char *const argv[]);  Cria uma instância do shell para buscar o arquivo *file  Diretório padrão /usr/bin/ Universidade Federal de Mato Grosso
  • 14. Processos Chamadas relacionadas  Sigaction: Modifica a ação de um sinal recebido pelo processo.  Signal vs Sigaction: Interrupções durante a execução do *handler. Universidade Federal de Mato Grosso
  • 15. Comunicação Inter-Processos  Uso do Pipe: Bloqueante.  Uso de Signals. Universidade Federal de Mato Grosso
  • 16. Processo Implementação  Task_struct: Representação de um processo.  PCB: Lista duplamente encadeada no núcleo.  Criado pela chamada Fork().  Copy on Write Universidade Federal de Mato Grosso
  • 17. Processo Implementação  Thread: Multi-thread no núcleo.  Chamada Clone: Útil na implementação de threads Universidade Federal de Mato Grosso
  • 18. Processo Escalonamento  Chaveamento.  FIFO: Não preemptivo.  Circular: Preemptivo e utiliza o quantum.  Tempo Compartilhado: Prioridades. Universidade Federal de Mato Grosso
  • 19. Processo Escalonamento  Runqueue: faz uso de dois vetores.  Ativo.  Expirado: limite quantum excedido. Universidade Federal de Mato Grosso
  • 20. Gerenciamento de Memoria  Chamadas de sistema relacionadas  Implementação do Gerenciador  Gerenciador de memória física  Mecanismo de alocação de memória  Paginação no linux  PFRA Universidade Federal de Mato Grosso
  • 21. Gerenciamento de Memoria  Espaço de endereçamento é composto de código, dados e pilha.  Código (instruções de máquina, tamanho fixo)  Dados (variáveis dinâmicas)  Pilha (variáveis de ambiente: argumentos da linha de comando) Universidade Federal de Mato Grosso
  • 22. Chamadas de Sistema Relacionadas  Mmap: mapeia um bloco para a memória  Munmap: remove um arquivo mapeado  Bkr: Altera o tamanho do segmento de dados Universidade Federal de Mato Grosso
  • 23. Implementação do Gerenciador  Cada processo recebe 3GB de espaço virtual. (32 bits)  E 1GB reservado para a tabela de páginas e dados do núcleo.  Um novo espaço pode ser criado com Fork+Escrita e modificado pelo Exec. Universidade Federal de Mato Grosso
  • 24. Gerenciamento de Memória Física  Três zonas de memória:  ZONE_DMA: para operações DMA.  ZONE_NORMAL: páginas normais.  ZONE_HIGHMEM: páginas com endereços altos e não permanentemente mapeadas.  O kernel mantém um estrutura de zonas para cada um. Universidade Federal de Mato Grosso
  • 25. Gerenciamento de Memória Física  Memória Principal formada por:  Núcleo.  Mapa de Memória.  Moldura de páginas. Universidade Federal de Mato Grosso
  • 26. Mecanismo de alocação de Memória  O espaço de endereçamento se encontra dividido em áreas homogêneas contíguas e alinhadas em página.  Separa e gerencia unidades fatiadas . Universidade Federal de Mato Grosso
  • 27. Paginação no Linux  Implementada pelo núcleo e outra parte por um processo chamado daemon de paginação  O Linux faz distinção entre quatro tipos de páginas:  Não recuperáveis;  Trocável;  Sincronizável;  Descartável; Universidade Federal de Mato Grosso
  • 28. PFRA  Responsável por manter o reabastecimento de páginas livres a serem usadas .  Ele tenta recuperar as páginas mais fáceis e depois as mais difíceis.  Durante o PFRA as páginas ficam ativas ou inativas.  As inativas podem sofrer despejo. Universidade Federal de Mato Grosso
  • 29. Entrada e Saída  Transmissão de rede  Chamada de sistema para E/S  Implementação E/S  Módulos Universidade Federal de Mato Grosso
  • 30. Entrada e Saída  Arquivos especiais (/dev).  Esses arquivos são divididos em duas categorias: Blocos; Caracteres;  Cada dispositivo tem um número associado (primário/secundário) Universidade Federal de Mato Grosso
  • 32. Transmissão de Rede  Implementada em soquetes. Estes são os tipos mais comuns:  1) Fluxo confiável de bytes orientado a conexão;  2) Fluxo confiável de pacotes orientado à conexão;  3) Transmissão não confiável de pacotes;  TCP e UDP Universidade Federal de Mato Grosso
  • 33. E/S Chamadas de Sistema  Apesar de cada dispositivo ter um arquivo especial associado a ele, não necessita sempre de chamadas especiais para ser acessado. Universidade Federal de Mato Grosso
  • 34. Implementação E/S  Feita por um conjuntos de drivers e cada dispositivo tem seu próprio. Sua função é interfacear o dispositivo e o núcleo. Universidade Federal de Mato Grosso
  • 35. Módulos  Módulos são trechos de códigos que podem ser carregados enquanto o sistema está em execução Universidade Federal de Mato Grosso
  • 36. Sistemas de arquivos  História  I-Nodes  Implementação  Principais Sistemas de arquivos suportados Universidade Federal de Mato Grosso
  • 37. Estrutura dos I-Nodes  Permissões do arquivo  Tipo  identificação do grupo relativo e do dono  tempos (último acesso, última alteração do i-node, última alteração do arquivo, etc.)  contador de referências (quando uma referência do arquivo é apagada o contador de referências é decrementado, quando esse contador chega a zero, o i-node e os blocos alocados para o arquivo são liberados)  tamanho em bytes e endereço dos blocos alocados para o arquivo. Universidade Federal de Mato Grosso
  • 38. Implementação  VFS (Virtual File System)  Superbloco  Dentry  I-Node  Estrutura de dados Arquivo  Suporte a diversos sistemas de arquivos Universidade Federal de Mato Grosso
  • 39. Principais Sistemas de Arquivos Suportados  EXT  EXT2  EXT3  EXT4  NFS Universidade Federal de Mato Grosso
  • 40. EXT  Surgiu a partir do MINIX FS  Extended File System  Nomes de arquivos de até 255 caracteres  Sistema de Arquivos de até 2GiB  Tamanho de Arquivos de até 2GiB Universidade Federal de Mato Grosso
  • 41. EXT2  Evolução do EXT  Second Extended File System  Nomes de arquivos de até 255 caracteres  Sistema de Arquivos de até 4TiB  Tamanho de Arquivos de até 2GiB Universidade Federal de Mato Grosso
  • 42. EXT2  Superbloco  I-Node  Grupo de Blocos  Mapa de bits de blocos  Mapa de bits de I-Nodes  tabelas de I-Nodes Universidade Federal de Mato Grosso
  • 43. EXT3  Evolução do EXT2  Third Extended File System  Implementa Jornaling ( Diario )  Nomes de arquivos de até 255 caracteres  Sistema de Arquivos de até 16TiB ( blocos de 4KiB )  Tamanho de Arquivos de até 2TiB ( blocos de 4KiB ) Universidade Federal de Mato Grosso
  • 44. EXT4  Surgiu a partir de uma bifurcação no desenvolvimento do EXT3  Fourth Extended File System  Nomes de arquivos de até 255 caracteres  Sistema de Arquivos de até ~2EiB  Tamanho de Arquivos de até 16TiB Universidade Federal de Mato Grosso
  • 45. NFS  Sistema de arquivos distribuido  Criado para facilitar acesso remoto de arquivos  Utiliza protocolos Cliente/Servidor Universidade Federal de Mato Grosso
  • 46. Bibliografia  CARRIER, Brian. File system forensic analysis. Upper Saddle River: Addison-Wesley, 2005.  TANENBAUM, Andrew S. - Sistemas Operacionais Modernos - Tradução Ronaldo A. L. Gonçalves, Luís A. Consularo, Luciana do Amaral Teixeira - Revisão técnica Raphael Y. de Camargo - São Paulo: Pearson Prentice Hall, 2009. 3. ed. Universidade Federal de Mato Grosso