SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Como Funciona o Kernel Linux




                                Fábio Olivé Leite
                             fabio.olive@gmail.com




1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Tópicos
●
    O que é um Sistema Operacional
●
    Onde está o Kernel
●
    O que é o Kernel Linux
●
    Como ele é carregado
●
    Do boot ao init



1° Workshop de Desenvolvimento TcheLinux    http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
O que é um Sistema Operacional
●
    Conjunto de programas responsável por 
    gerenciar o hardware, fornecendo às 
    aplicações uma interface virtualizada, 
    padronizada e controlada aos recursos da 
    máquina.
●
    Composto de:
      –   Boot loader, kernel, bibliotecas e utilitários

1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Onde está o Kernel
●
    Entre o hardware e as bibliotecas, utilitários e 
    aplicações
●
    Qualquer acesso ao “mundo externo” passa 
    pelo kernel
●
    O kernel cria uma “máquina virtual” para os 
    processos
●
    Chamadas de sistema (syscalls)
1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
O que é o Kernel Linux
●
    Kernel criado por Linus Torvalds
      –   Inicialmente era um hobby
●
    Segue os padrões Unix (POSIX, SUS, etc)
      –   Sistema Unix­like
●
    Criado para o i386, para explorar as 
    possibilidades do processador
●
    Baseado no minix
1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
O que é o Kernel Linux
●
    Mas é só um kernel!
●
    Faltava todo o resto do sistema
      –   Projeto GNU!
●
    O nascimento do GNU/Linux
●
    Portado para outras arquiteturas
●
    Distribuições de Linux
      –   Coleções de programas de fácil instalação
1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Como ele é carregado
●
    Arquitetura i386 (x86, Intel, etc)
●
    Boot do PC
●
    Modo Real, BIOS
●
    Boot Loader
      –   Sistemas de Arquivos
●
    Carga do kernel

1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Como ele é carregado
●
    O boot loader “prepara” os detalhes do modo 
    protegido (ou privilegiado)
●
    Cada arquitetura tem um ponto de entrada 
    específico
●
    O kernel é linkado de forma a cair no ponto 
    certo


1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Como ele é carregado
●
    O boot loader prepara um modelo de memória 
    básico
●
    Carrega o kernel pro ponto certo da arquitetura
●
    Salta para o endereço mágico
●
    O kernel assume o controle



1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Do boot ao init
●
    Inicialização básica do hardware
      –   Flags e modos do processador de boot
      –   Interrupções
      –   Gerência de memória
      –   Outros processadores
            ●
                Controladores locais de interrupção



1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Do boot ao init
●
    Drivers de dispositivos
●
    Protocolos
●
    Kernel threads
●
    Monta o /
●
    Roda o /sbin/init



1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Do boot ao init
●
    /sbin/init
      –   Estruturas iniciais hard­coded no kernel
      –   Imagem uselevel do init é carregada
      –   Salta para o endereço inicial do init em userlevel
            ●
                Saiu do modo protegido
            ●
                Primeira instrução em userlevel
            ●
                Fork()/exec() outros processos
            ●
                “O Linux que a gente vê”
1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre
Demonstração / Perguntas




       A única pergunta boba é a não perguntada.




1° Workshop de Desenvolvimento TcheLinux   http://www.tchelinux.org
31/03/2007 – FTEC – Porto Alegre

Mais conteúdo relacionado

Semelhante a Como o Kernel Linux Carrega

Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé LeiteComo Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé LeiteTchelinux
 
Como Escrever Módulos Para o Kernel - Fábio Olivé Leite
Como Escrever Módulos Para o Kernel - Fábio Olivé LeiteComo Escrever Módulos Para o Kernel - Fábio Olivé Leite
Como Escrever Módulos Para o Kernel - Fábio Olivé LeiteTchelinux
 
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPALinux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPAMarcelo Veiga Neves
 
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesDesenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesTchelinux
 
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009Marcelo Veiga Neves
 
Detalhamento entrega linux4.0
Detalhamento entrega linux4.0Detalhamento entrega linux4.0
Detalhamento entrega linux4.0Gaddiel Lemos
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafTchelinux
 
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Embarcados
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do LinuxMauro Tapajós
 
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...Tchelinux
 
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...Tchelinux
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicosRobson Ferreira
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcadotdc-globalcode
 
Prog shell
Prog shellProg shell
Prog shellTiago
 
Arquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxArquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxIvani Nascimento
 
Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema OperacionalAnderson Favaro
 

Semelhante a Como o Kernel Linux Carrega (20)

Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé LeiteComo Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
Como Colaborar no Desenvolvimento do Kernel Linux - Fábio Olivé Leite
 
Como Escrever Módulos Para o Kernel - Fábio Olivé Leite
Como Escrever Módulos Para o Kernel - Fábio Olivé LeiteComo Escrever Módulos Para o Kernel - Fábio Olivé Leite
Como Escrever Módulos Para o Kernel - Fábio Olivé Leite
 
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPALinux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
 
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesDesenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
 
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
 
Detalhamento entrega linux4.0
Detalhamento entrega linux4.0Detalhamento entrega linux4.0
Detalhamento entrega linux4.0
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
 
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do Linux
 
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
Introdução ao Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilli...
 
So-mod-4
So-mod-4So-mod-4
So-mod-4
 
Linux
LinuxLinux
Linux
 
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman  - ...
Rodando e instalandosistemas operacionaispela rede - Nasser Othman Rahman - ...
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicos
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
Prog shell
Prog shellProg shell
Prog shell
 
O processador
O processadorO processador
O processador
 
Arquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxArquivos de Inicialização do Linux
Arquivos de Inicialização do Linux
 
Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema Operacional
 
A.S.O 2 - Linux
A.S.O 2 - LinuxA.S.O 2 - Linux
A.S.O 2 - Linux
 

Mais de Tchelinux

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Tchelinux
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeTchelinux
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Tchelinux
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Tchelinux
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeTchelinux
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Tchelinux
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeTchelinux
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeTchelinux
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Tchelinux
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...Tchelinux
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...Tchelinux
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Tchelinux
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Tchelinux
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.Tchelinux
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Tchelinux
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygameTchelinux
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Tchelinux
 

Mais de Tchelinux (20)

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
 

Como o Kernel Linux Carrega

  • 1. Como Funciona o Kernel Linux Fábio Olivé Leite fabio.olive@gmail.com 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 2. Tópicos ● O que é um Sistema Operacional ● Onde está o Kernel ● O que é o Kernel Linux ● Como ele é carregado ● Do boot ao init 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 3. O que é um Sistema Operacional ● Conjunto de programas responsável por  gerenciar o hardware, fornecendo às  aplicações uma interface virtualizada,  padronizada e controlada aos recursos da  máquina. ● Composto de: – Boot loader, kernel, bibliotecas e utilitários 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 4. Onde está o Kernel ● Entre o hardware e as bibliotecas, utilitários e  aplicações ● Qualquer acesso ao “mundo externo” passa  pelo kernel ● O kernel cria uma “máquina virtual” para os  processos ● Chamadas de sistema (syscalls) 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 5. O que é o Kernel Linux ● Kernel criado por Linus Torvalds – Inicialmente era um hobby ● Segue os padrões Unix (POSIX, SUS, etc) – Sistema Unix­like ● Criado para o i386, para explorar as  possibilidades do processador ● Baseado no minix 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 6. O que é o Kernel Linux ● Mas é só um kernel! ● Faltava todo o resto do sistema – Projeto GNU! ● O nascimento do GNU/Linux ● Portado para outras arquiteturas ● Distribuições de Linux – Coleções de programas de fácil instalação 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 7. Como ele é carregado ● Arquitetura i386 (x86, Intel, etc) ● Boot do PC ● Modo Real, BIOS ● Boot Loader – Sistemas de Arquivos ● Carga do kernel 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 8. Como ele é carregado ● O boot loader “prepara” os detalhes do modo  protegido (ou privilegiado) ● Cada arquitetura tem um ponto de entrada  específico ● O kernel é linkado de forma a cair no ponto  certo 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 9. Como ele é carregado ● O boot loader prepara um modelo de memória  básico ● Carrega o kernel pro ponto certo da arquitetura ● Salta para o endereço mágico ● O kernel assume o controle 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 10. Do boot ao init ● Inicialização básica do hardware – Flags e modos do processador de boot – Interrupções – Gerência de memória – Outros processadores ● Controladores locais de interrupção 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 11. Do boot ao init ● Drivers de dispositivos ● Protocolos ● Kernel threads ● Monta o / ● Roda o /sbin/init 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 12. Do boot ao init ● /sbin/init – Estruturas iniciais hard­coded no kernel – Imagem uselevel do init é carregada – Salta para o endereço inicial do init em userlevel ● Saiu do modo protegido ● Primeira instrução em userlevel ● Fork()/exec() outros processos ● “O Linux que a gente vê” 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  • 13. Demonstração / Perguntas A única pergunta boba é a não perguntada. 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre