SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Roteamento em Rede de Sensores Sem Fio (RSSF)
Roteamento em Rede de Sensores Sem Fio (RSSF)Roteamento em Rede de Sensores Sem Fio (RSSF)
Roteamento em Rede de Sensores Sem Fio (RSSF)Estêvão Bissoli Saleme
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidosHAROLDO MIRANDA DA COSTA JR
 
Fuzzy logic (Logika Fuzzy)
Fuzzy logic (Logika Fuzzy)Fuzzy logic (Logika Fuzzy)
Fuzzy logic (Logika Fuzzy)radar radius
 
Penerapan fuzzy inference system (fis) tsukamoto dalam menganalisa tingkat re...
Penerapan fuzzy inference system (fis) tsukamoto dalam menganalisa tingkat re...Penerapan fuzzy inference system (fis) tsukamoto dalam menganalisa tingkat re...
Penerapan fuzzy inference system (fis) tsukamoto dalam menganalisa tingkat re...BAIDILAH Baidilah
 
Cartilhas uca.6-configuracao-do-ponto-de-acesso
Cartilhas uca.6-configuracao-do-ponto-de-acessoCartilhas uca.6-configuracao-do-ponto-de-acesso
Cartilhas uca.6-configuracao-do-ponto-de-acessoismaelfurtado
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indroduçãoRafael Pinheiro
 
Bab 10 pemampatan citra
Bab 10 pemampatan citraBab 10 pemampatan citra
Bab 10 pemampatan citraSyafrizal
 
Praktikum jaringan komputer 3 dns server eksperimen
Praktikum jaringan komputer 3 dns server eksperimenPraktikum jaringan komputer 3 dns server eksperimen
Praktikum jaringan komputer 3 dns server eksperimenJefri Fahrian
 
Materi PPT AIJ - Media Routing Dinamis.pptx
Materi PPT AIJ - Media Routing Dinamis.pptxMateri PPT AIJ - Media Routing Dinamis.pptx
Materi PPT AIJ - Media Routing Dinamis.pptxHendrikAlfarisi
 
Deadlock materi kuliah
Deadlock materi kuliahDeadlock materi kuliah
Deadlock materi kuliahTika Ristiana
 
Cara Kerja Internet Group Management Protocom (Igmp) versi 2
Cara Kerja Internet Group Management Protocom (Igmp) versi 2Cara Kerja Internet Group Management Protocom (Igmp) versi 2
Cara Kerja Internet Group Management Protocom (Igmp) versi 2Ambar Erna
 
Pertemuan 4 - Color Image Processing - Citra Digital
Pertemuan 4 - Color Image Processing - Citra DigitalPertemuan 4 - Color Image Processing - Citra Digital
Pertemuan 4 - Color Image Processing - Citra Digitalahmad haidaroh
 
MAC Address Table Management menggunakan Cisco Packet Tracer
MAC Address Table Management menggunakan Cisco Packet TracerMAC Address Table Management menggunakan Cisco Packet Tracer
MAC Address Table Management menggunakan Cisco Packet TracerRyandika Alfarishi
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareelliando dias
 
Sharing Data Menggunakan Kabel UTP Croos Over
Sharing Data Menggunakan Kabel UTP Croos OverSharing Data Menggunakan Kabel UTP Croos Over
Sharing Data Menggunakan Kabel UTP Croos OverAbdulloh Aqil
 
Praktikum jaringan komputer 3 dhcp server eksperimen
Praktikum jaringan komputer 3 dhcp server eksperimenPraktikum jaringan komputer 3 dhcp server eksperimen
Praktikum jaringan komputer 3 dhcp server eksperimenJefri Fahrian
 

Tendances (20)

Roteamento em Rede de Sensores Sem Fio (RSSF)
Roteamento em Rede de Sensores Sem Fio (RSSF)Roteamento em Rede de Sensores Sem Fio (RSSF)
Roteamento em Rede de Sensores Sem Fio (RSSF)
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos
 
Servidores de impressão
Servidores de impressãoServidores de impressão
Servidores de impressão
 
Fuzzy logic (Logika Fuzzy)
Fuzzy logic (Logika Fuzzy)Fuzzy logic (Logika Fuzzy)
Fuzzy logic (Logika Fuzzy)
 
Packet Tracer
Packet TracerPacket Tracer
Packet Tracer
 
Penerapan fuzzy inference system (fis) tsukamoto dalam menganalisa tingkat re...
Penerapan fuzzy inference system (fis) tsukamoto dalam menganalisa tingkat re...Penerapan fuzzy inference system (fis) tsukamoto dalam menganalisa tingkat re...
Penerapan fuzzy inference system (fis) tsukamoto dalam menganalisa tingkat re...
 
Cartilhas uca.6-configuracao-do-ponto-de-acesso
Cartilhas uca.6-configuracao-do-ponto-de-acessoCartilhas uca.6-configuracao-do-ponto-de-acesso
Cartilhas uca.6-configuracao-do-ponto-de-acesso
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 
Bab 10 pemampatan citra
Bab 10 pemampatan citraBab 10 pemampatan citra
Bab 10 pemampatan citra
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Praktikum jaringan komputer 3 dns server eksperimen
Praktikum jaringan komputer 3 dns server eksperimenPraktikum jaringan komputer 3 dns server eksperimen
Praktikum jaringan komputer 3 dns server eksperimen
 
Materi PPT AIJ - Media Routing Dinamis.pptx
Materi PPT AIJ - Media Routing Dinamis.pptxMateri PPT AIJ - Media Routing Dinamis.pptx
Materi PPT AIJ - Media Routing Dinamis.pptx
 
Deadlock materi kuliah
Deadlock materi kuliahDeadlock materi kuliah
Deadlock materi kuliah
 
Cara Kerja Internet Group Management Protocom (Igmp) versi 2
Cara Kerja Internet Group Management Protocom (Igmp) versi 2Cara Kerja Internet Group Management Protocom (Igmp) versi 2
Cara Kerja Internet Group Management Protocom (Igmp) versi 2
 
Pertemuan 4 - Color Image Processing - Citra Digital
Pertemuan 4 - Color Image Processing - Citra DigitalPertemuan 4 - Color Image Processing - Citra Digital
Pertemuan 4 - Color Image Processing - Citra Digital
 
Minicurso pygame
Minicurso pygameMinicurso pygame
Minicurso pygame
 
MAC Address Table Management menggunakan Cisco Packet Tracer
MAC Address Table Management menggunakan Cisco Packet TracerMAC Address Table Management menggunakan Cisco Packet Tracer
MAC Address Table Management menggunakan Cisco Packet Tracer
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Sharing Data Menggunakan Kabel UTP Croos Over
Sharing Data Menggunakan Kabel UTP Croos OverSharing Data Menggunakan Kabel UTP Croos Over
Sharing Data Menggunakan Kabel UTP Croos Over
 
Praktikum jaringan komputer 3 dhcp server eksperimen
Praktikum jaringan komputer 3 dhcp server eksperimenPraktikum jaringan komputer 3 dhcp server eksperimen
Praktikum jaringan komputer 3 dhcp server eksperimen
 

Similaire à 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
 

Similaire à 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
 
Aula06 - postfix
Aula06 -  postfixAula06 -  postfix
Aula06 - postfix
 

Plus 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
 

Plus 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