SlideShare uma empresa Scribd logo
Kernel GNU/Linux Apresentando arquitetura e implementações internas do kernel open source Linux Líus Fontenelle Carneiro http://hypercast.info/
Agenda Localizando Um pouco de história Arquitetura Linux x Unix clássico Código Fonte Kernel-space e User-space Processos e Threads Virtual Filesystem
Localizando
Um pouco de história Início em 1991, por Linus Torvalds Inspirado no Minix, e não baseado nele Implementação dos mais variados recursos, encontrados nas variantes Unix e BSD Preocupação com portabilidade e escalabilidade
Linha de Tempo
O tamanho do Linux
Arquiteturas de Kernel
Arquitetura GNU/Linux
Kernel Subsystems
Linux x Unix clássico Carregamento dinâmico de módulos; Suporta multiprocessamento; Suporta preempção; Suporta “processos leves”; Modelo de devices sysfs.
Código Fonte Obtendo:  http://www.kernel.org/ Versionamento Explorando diretórios Compilação
Código Fonte Obtendo:  http://www.kernel.org/ Versionamento Explorando diretórios Compilação
Código Fonte Obtendo:  http://www.kernel.org/ Versionamento Explorando diretórios Compilação
Código Fonte Obtendo:  http://www.kernel.org/ Versionamento Explorando diretórios Compilação
Código Fonte Obtendo:  http://www.kernel.org/ Versionamento Explorando diretórios Compilação
Kernel-space e User-space Detalhes de desenvolvimento no kernel-space: Sem acesso à biblioteca C; Codificar em C99 e GNU C, não em ANSI; Sem proteção para acesso à memória; Sem acesso a ponto flutuante; Cuidado com sincronia e concorrência; Nunca esquecer da portabilidade.
Processos e Threads Implementação de processos a nível de kernel; Nível básico da abstração gerenciável de programas em execução; Estrutura  task_struct ; include/linux/sched.h, linha 800 Process ID máximo é um  short int  por default;
Estados dos processos
Criação de Processos Criação em duas etapas: fork() e exec(); Otimização de realocação de recursos; O Linux faz COW! E rápido!
COW?!
COW: Copy-On-Write Aproveitamento de recursos já alocados; Não escreve dados desnecessários ou redundantes; Menor overhead em sistemas orientados a processos; Estrutura  thread_info  e o slab allocator; include/asm-x86_64/thread_info.h Recurso disponibilizado pelo slab allocator.
Threads no Linux Não existem como na forma conceitual; O Linux implementa threads como processos comuns; LWP – Lightweight Processes; Não existem mecanismos de escalonamento especiais ou estruturas de dados específicas; Contraste com outros sistemas; KISS; Assim como um processo, é criada partindo de um fork(), que usa a função clone(): kernel/fork.c As flags da função clone() estão definidas em: include/linux/sched.h
Virtual Filesystem Interface de abstração de sistemas de arquivos; Integração de mídias diferentes, com recursos diferentes, a uma forma de acesso comum; Integração com SCI; Implementação de novos sistemas de arquivos como plug-ins, através de um sistema base, o Linux/Unix Filesystem;
Virtual Filesystem
Virtual Filesystem Suporte a mais sistemas de arquivos através de implementações de caraterísticas de um sistema de arquivos genérico: “Isso é o que um diretório representa para mim”; “Assim é a forma como eu abro arquivos”. Arquitetura Orientada a Objetos, mesmo em C, permite uma solução integrada, limpa e suportável. É um dos cores subsystems mais organizados; Disponibiliza recursos gerais para todos os filesystems implementados abaixo dele, como o  Buffer Cache;
Virtual Filesystem
Virtual Filesystem Principais objetos: superblock object; inode object; dentry object; file object. Principais operações: super_operations; inode_operations; dentry_operations; Operações em  file objects  com read() e write().
E a Engenharia? Vantagens das ferramentas open source em geral; Conhecimento aprofundado e reaproveitável; Custo e fontes disponíveis; Liberdade para escolher; Liberdade para contribuir.
Kernel GNU/Linux Fim Revisão: Lila Maria Borges Silva Contato Página pessoal:  http://hypercast.info/ E-mail:  [email_address]

Mais conteúdo relacionado

PPTX
FreeBSD para leigos
PDF
Apresentando o FreeBSD
PPTX
Free bsd
PPT
Nfs Ppt
PDF
Programação para Kernel Linux - Parte 1
PDF
Escriturário Banco do Brasil - Questões de Informática (Linux)
PPTX
Sistema Operacional Unix.
PPT
Free BSD - Beatriz Monteiro e Fabio da Costa
FreeBSD para leigos
Apresentando o FreeBSD
Free bsd
Nfs Ppt
Programação para Kernel Linux - Parte 1
Escriturário Banco do Brasil - Questões de Informática (Linux)
Sistema Operacional Unix.
Free BSD - Beatriz Monteiro e Fabio da Costa

Mais procurados (18)

PPT
PDF
FreeBsd com Alta Disponibilidade
PDF
Apresentação sobre o kernel Linux v2.0
PDF
PDF
Por que FreeBSD?
PPTX
Sistemas Operacionais - Virtual File System
PDF
Linux como funciona esta fera
PDF
Linux: Kernel, Runlevels e Virtualização
PPSX
NFS – Network File System
PPTX
FreeBSD - O guia completo para o SO
PPT
Módulo 12 linux
PPT
Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...
DOCX
Ficha de trabalho so 6 m4 linux comandos
PPTX
Protocolo ipx spx-francisco
PDF
Palestra 2º Café com Software Livre - David Jourdain - Receita: Aprenda a coz...
PDF
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquitetura NA...
PDF
Slackware Linux
PPTX
Protocolos Ipx
FreeBsd com Alta Disponibilidade
Apresentação sobre o kernel Linux v2.0
Por que FreeBSD?
Sistemas Operacionais - Virtual File System
Linux como funciona esta fera
Linux: Kernel, Runlevels e Virtualização
NFS – Network File System
FreeBSD - O guia completo para o SO
Módulo 12 linux
Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas n...
Ficha de trabalho so 6 m4 linux comandos
Protocolo ipx spx-francisco
Palestra 2º Café com Software Livre - David Jourdain - Receita: Aprenda a coz...
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquitetura NA...
Slackware Linux
Protocolos Ipx
Anúncio

Destaque (20)

PPT
Case Study business
PPT
Test Putting Presentations On N O S
PDF
Poslovno Okolje Vaje 01
PDF
Weltbibliotheken um 1900
PDF
Het Zoeken Voorbij Hans Van Der Meer
PDF
Presentazione Cpm3
PDF
Poetika
PDF
La Historia De La ComunicacióN
PDF
D2 11 Ultimus Human Centric Bpm
PDF
Ttwiki
PDF
Life Train
PDF
Rutas
PDF
Economia presentacion tema 1 Pani y Jesus
PDF
A1 Mc1 Visuals
PDF
D1 5 200710 Poznan+Paris Conformance
PPT
Power Point 2000 Advanced
PDF
Funny
ODP
tema 1 economia
PDF
Power To The People Theo Rinsema
PDF
St. James
Case Study business
Test Putting Presentations On N O S
Poslovno Okolje Vaje 01
Weltbibliotheken um 1900
Het Zoeken Voorbij Hans Van Der Meer
Presentazione Cpm3
Poetika
La Historia De La ComunicacióN
D2 11 Ultimus Human Centric Bpm
Ttwiki
Life Train
Rutas
Economia presentacion tema 1 Pani y Jesus
A1 Mc1 Visuals
D1 5 200710 Poznan+Paris Conformance
Power Point 2000 Advanced
Funny
tema 1 economia
Power To The People Theo Rinsema
St. James
Anúncio

Semelhante a Kernel Linux (20)

PDF
Sistemas operacionais1
PDF
01.01 - Introdução ao Linux.pdf
ODP
Oficinalinux Comotudo Começou
ODP
Linux Como Tudo Começou
PPTX
1 - Introdução ao linux
DOC
Linux completo
PDF
Sistema operacional-1-ano-de-informatica-completa
PDF
Primeiros Passos no Linux - Principais Conceitos e Termos
PDF
Módulo 6 - Gnu/Linux
PPTX
Sistemas operativos linux e suas versões
PPTX
Sistemas operativos linux e suas versões
PDF
Linux - Sobre a Disciplina + Introdução ao Linux
PPT
Linux
ODP
Aspectos do kernel Linux e Instalação
PDF
Linux para leigos
PPTX
A.S.O 2 - Linux
ODP
GNU/Linux - uma alternativa (nova versão)
ODP
Linux Conceitos Design
PDF
Núcleo do Linux (Kernel Linux)
Sistemas operacionais1
01.01 - Introdução ao Linux.pdf
Oficinalinux Comotudo Começou
Linux Como Tudo Começou
1 - Introdução ao linux
Linux completo
Sistema operacional-1-ano-de-informatica-completa
Primeiros Passos no Linux - Principais Conceitos e Termos
Módulo 6 - Gnu/Linux
Sistemas operativos linux e suas versões
Sistemas operativos linux e suas versões
Linux - Sobre a Disciplina + Introdução ao Linux
Linux
Aspectos do kernel Linux e Instalação
Linux para leigos
A.S.O 2 - Linux
GNU/Linux - uma alternativa (nova versão)
Linux Conceitos Design
Núcleo do Linux (Kernel Linux)

Mais de Líus Fontenelle Carneiro (17)

PDF
Microcontroladores AVR
PDF
PDF
Rtai Apresentacao
PDF
Apresentacao sobre o KURT
PDF
Apresentacao sobre o QNX Neutrino
PDF
Sistemas Operacionais de Tempo Real
PDF
Programação para Redes de Computadores: Multithread e Multicast
PDF
Sistemas Distribuídos: RMI, CORBA e SOA
Microcontroladores AVR
Rtai Apresentacao
Apresentacao sobre o KURT
Apresentacao sobre o QNX Neutrino
Sistemas Operacionais de Tempo Real
Programação para Redes de Computadores: Multithread e Multicast
Sistemas Distribuídos: RMI, CORBA e SOA

Último (19)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula04-Academia Heri- Tecnologia Geral 2025
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Processos na gestão de transportes, TM100 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula 18 - Manipulacao De Arquivos python
Apple Pippin Uma breve introdução. - David Glotz
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
COBITxITIL-Entenda as diferença em uso governança TI
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...

Kernel Linux

  • 1. Kernel GNU/Linux Apresentando arquitetura e implementações internas do kernel open source Linux Líus Fontenelle Carneiro http://hypercast.info/
  • 2. Agenda Localizando Um pouco de história Arquitetura Linux x Unix clássico Código Fonte Kernel-space e User-space Processos e Threads Virtual Filesystem
  • 4. Um pouco de história Início em 1991, por Linus Torvalds Inspirado no Minix, e não baseado nele Implementação dos mais variados recursos, encontrados nas variantes Unix e BSD Preocupação com portabilidade e escalabilidade
  • 6. O tamanho do Linux
  • 10. Linux x Unix clássico Carregamento dinâmico de módulos; Suporta multiprocessamento; Suporta preempção; Suporta “processos leves”; Modelo de devices sysfs.
  • 11. Código Fonte Obtendo: http://www.kernel.org/ Versionamento Explorando diretórios Compilação
  • 12. Código Fonte Obtendo: http://www.kernel.org/ Versionamento Explorando diretórios Compilação
  • 13. Código Fonte Obtendo: http://www.kernel.org/ Versionamento Explorando diretórios Compilação
  • 14. Código Fonte Obtendo: http://www.kernel.org/ Versionamento Explorando diretórios Compilação
  • 15. Código Fonte Obtendo: http://www.kernel.org/ Versionamento Explorando diretórios Compilação
  • 16. Kernel-space e User-space Detalhes de desenvolvimento no kernel-space: Sem acesso à biblioteca C; Codificar em C99 e GNU C, não em ANSI; Sem proteção para acesso à memória; Sem acesso a ponto flutuante; Cuidado com sincronia e concorrência; Nunca esquecer da portabilidade.
  • 17. Processos e Threads Implementação de processos a nível de kernel; Nível básico da abstração gerenciável de programas em execução; Estrutura task_struct ; include/linux/sched.h, linha 800 Process ID máximo é um short int por default;
  • 19. Criação de Processos Criação em duas etapas: fork() e exec(); Otimização de realocação de recursos; O Linux faz COW! E rápido!
  • 20. COW?!
  • 21. COW: Copy-On-Write Aproveitamento de recursos já alocados; Não escreve dados desnecessários ou redundantes; Menor overhead em sistemas orientados a processos; Estrutura thread_info e o slab allocator; include/asm-x86_64/thread_info.h Recurso disponibilizado pelo slab allocator.
  • 22. Threads no Linux Não existem como na forma conceitual; O Linux implementa threads como processos comuns; LWP – Lightweight Processes; Não existem mecanismos de escalonamento especiais ou estruturas de dados específicas; Contraste com outros sistemas; KISS; Assim como um processo, é criada partindo de um fork(), que usa a função clone(): kernel/fork.c As flags da função clone() estão definidas em: include/linux/sched.h
  • 23. Virtual Filesystem Interface de abstração de sistemas de arquivos; Integração de mídias diferentes, com recursos diferentes, a uma forma de acesso comum; Integração com SCI; Implementação de novos sistemas de arquivos como plug-ins, através de um sistema base, o Linux/Unix Filesystem;
  • 25. Virtual Filesystem Suporte a mais sistemas de arquivos através de implementações de caraterísticas de um sistema de arquivos genérico: “Isso é o que um diretório representa para mim”; “Assim é a forma como eu abro arquivos”. Arquitetura Orientada a Objetos, mesmo em C, permite uma solução integrada, limpa e suportável. É um dos cores subsystems mais organizados; Disponibiliza recursos gerais para todos os filesystems implementados abaixo dele, como o Buffer Cache;
  • 27. Virtual Filesystem Principais objetos: superblock object; inode object; dentry object; file object. Principais operações: super_operations; inode_operations; dentry_operations; Operações em file objects com read() e write().
  • 28. E a Engenharia? Vantagens das ferramentas open source em geral; Conhecimento aprofundado e reaproveitável; Custo e fontes disponíveis; Liberdade para escolher; Liberdade para contribuir.
  • 29. Kernel GNU/Linux Fim Revisão: Lila Maria Borges Silva Contato Página pessoal: http://hypercast.info/ E-mail: [email_address]

Notas do Editor