manip kernel linux

44
Manipulação de Kernel Linux David Jourdain - [email protected]

Upload: armando-guerrero

Post on 11-Dec-2015

287 views

Category:

Documents


0 download

DESCRIPTION

comados de linux

TRANSCRIPT

Page 1: Manip Kernel Linux

Manipulação de Kernel LinuxDavid Jourdain - [email protected]

Page 2: Manip Kernel Linux

Conteúdo da apresentação● Kernel 3.X.XX

● Diretórios e Arquivos

● Arquitetura Monolítica

● Estrutura da Kernel Linux

– Gerenciamento de Tarefas● Modelos de Interrupção● Estados de Tarefas

– Gerenciamento de Memória● Paginação

– Gerenciamento de Entrada e Saída

● 2a. Parte – Manipulação da Kernel

● Requisitos de Manipulação

● Manipulação da Kernel

● menuconfig

● O quê tem lá dentro?

● Compilar Kernel e gerar Pacotes

● Arquivo initrd

● Instalação da Kernel

● Mapa da Kernel Linux

● Referências

Page 3: Manip Kernel Linux

Kernel 3.X - Diretórios e Arquivos

● A Kernel usada como base é a Kernel 3.X.XX, do repositório do Github

● O diretório padrão para manipulação da Kernel é o /usr/src. Neste diretório, descompactamos o pacote do código fonte da Kernel

● Nosso foco será no diretório usr/src/linux-source-3.X.XX/, de onde partiremos para analisar diversos outros diretórios, como o acpi/ e o staging/

Page 4: Manip Kernel Linux

Kernel 3.X - Diretórios e Arquivos

● No caso do diretório acpi/, temos os arquivos para uso do Advanced Configuration and Power Interface ● Arquivos: ac.c (gerencia o uso compartilhado da energia),

battery.c (gerencia o consumo da bateria) e o fan.c (gerencia o cooler do notebook), entre outros

● O Advanced Configuration and Power Interface tem como objetivo consolidar e melhorar a alimentação de energia existentes e os padrões de configuração para os dispositivos de hardware.

Page 5: Manip Kernel Linux

Kernel 3.X - Diretórios e Arquivos

● No caso do diretório staging/, temos um diretório para testes de novas funcionalidades ● Arquivos: diversos, divididos em sub-diretórios.

● O Staging Driver tem como objetivo unir em um único diretório, para permitir que patchs para hardwares ainda em fase de testes, possam ser avaliados, testados, corrigidos e compilados, como módulo interno ou externo da Kernel.

Page 6: Manip Kernel Linux

Kernel 3.X - Diretórios e Arquivos

● Citamos até o momento o diretório de manipulação da Kernel. Contudo, este diretório /usr/src faz parte de um contexto maior, mais amplo, onde temos a organização de toda uma gama de diretórios e arquivos, acessíveis ao usuário com nível pleno, ou normalmente chamado como 'usuário com poderes de root'.

● Esta estrutura de diretórios e arquivos segue a Filesystem Hierarchy Standard (FHS), padrão de organização de diretórios recomendado para sistemas clones-unix, como o Linux.

Page 7: Manip Kernel Linux

Kernel 3.X - Diretórios e Arquivos

Esta organização para diretórios e arquivos, utilizada no Linux, segue o padrão proposto pelo Filesystem Hierarchy Standard (FHS).

Algumas distribuições Linux agregam outros diretórios a esta estrutura padrão. Outros, alteram a estrutura padrão, e não seguem a FHS.

Debian GNU/Linux é uma das distribuições Linux que segue a FHS.

Page 8: Manip Kernel Linux

Kernel 3.X – Arquitetura Monolítica

● No Linux, todos os serviços centrais residem em uma kernel central, que é o núcleo do sistema operacional.

● Esta kernel mantém todos os componentes básicos juntos e elimina a espera por mudanças de operação e/ou contexto.

● Apesar de ter arquitetura monolítica, a estrutura da Kernel Linux é integralmente modular, permitindo adicionar ou remover componentes (ou módulos) conforme necessidade e/ou demanda.

Page 9: Manip Kernel Linux

Kernel 3.X – Estrutura da Kernel Linux

Camada de Aplicativos

Interface para Chamadas do Sistema

Gerenciamento de Entrada e SaídaGerenciamento

de MemóriaGerenciamento

de Tarefas

Driver de Dispositivos

EspaçoDo Usuário

Kernel

PCI IDE I2C USB SCSI BLOCK CHAR . . . . . .

Camada do Usuário

Camada da BIOS

Monitoria dos Sinais de Identificação de Hardware

VFS

Sistema de Arquivos

EXT2 EXT3

EXT4

btrfs

iso9660

PROC

NTFS

TMPFS

SYS

REDEAgendamento

De I/O

criptografia

SOM

V4L

Kernel

Hardware

Energia

Timekeeping

Agendamento multicore

Agendamento singlecore

Inicialização

CPUSET

SLAB

Buddysystem

ASLR

Paginação Nivel 2 e 3

SWAP

DEP

Page 10: Manip Kernel Linux

Gerenciamento de Tarefas

● É responsável pelo processamento simultâneo de vários programas (multitarefa), pela compatibilidade com múltiplos núcleos (processadores) e pelo agendamento de serviços.

● Agendamento de serviços é o gerenciamento de qual tarefa é executada e quanto tempo em cada núcleo. O agendamento de serviços é dividido em duas etapas:

Page 11: Manip Kernel Linux

Gerenciamento de Tarefas

● Agendamento de serviços:● Etapa 1: O agendador de múltiplos núcleos agrupa

processadores individuais ou os núcleos de uma máquina multicore. Nestes grupos, as tarefas são designadas para as CPUs.

● Etapa 2: Cada processador gerencia as tarefas que serão executadas por ele, conforme agendamento de serviços. O Stack Pointer de cada núcleo fornece o endereçamento da cada bloco de dados a ser analisado.

Page 12: Manip Kernel Linux

Gerenciamento de Tarefas

● Modelo de Interrupção● A Kernel Linux distingue em 4 níveis distintos para processar código.

Usuários está restritos ao nível do usuário e ao nível dos aplicativos; Em computadores com múltiplos núcleos, as funções podem executar múltiplas tarefas em paralelo.

● Chamadas de sistema e threads da Kernel: tem prioridade similares e ficam no 'espaço da Kernel'. Podem trabalhar com modo de preempção (interrupções bloqueadas).

● O nível mais inferior é ocupado pelas rotinas de interrupção de serviços, que podem interromper toda e qualquer operação nas camadas superiores. É onde temos os 'as monitorias dos sinais de identificação de hardware'.

Page 13: Manip Kernel Linux

Gerenciamento de Tarefas● Modelo de Interrupção

EspaçoDo Usuário

Kernel

Kernel

Hardware

Aplicativo Aplicativo

Função da Kernel Função da Kernel

Soft IRQ

Hard IRQSA_SHIRQ

Hard IRQ

Instância de driverProcesso da Kernel

Fila de Tabalho

Soft IRQTasklet

Timer

ISR

Obs.: Programadores de Kernel precisam conhecer o modelo de interrupção para identificar áreas críticas e desenvolver código de forma a protegê-las corretamente.

Arquivo 01 Arquivo 02

Page 14: Manip Kernel Linux

Gerenciamento de Tarefas● Modelo de Interrupção

● Chamadas de sistema e threads da Kernel (Tarefas):

Atual

Executando

Hibernação

Ocioso

Parado

Traçado

Wakekill

Interrompível

N/Interropível

AcordandoExecutável

Ativo

SIGSTOP

Traçar

Dormir

Dormir

Dormir

SIGCONT

SIGCONT

Acordar, Sinal

Acordar, Sinal

Acordar

Estados de Repouso

AgendadorWait ()

Fork ()Clone ()

Aplicativos e threads da Kernel passam por diversos estados.

Compreender os diversos estados dos serviços da Kernel permite saber 'como' e 'porquê' fazer um patch para a Kernel, bem como permite ter a compreensão sobre o funcionamento da Kernel.

Page 15: Manip Kernel Linux

Gerenciamento de Tarefas

● Modelo de Interrupção● Estados de Tarefas: 'Tarefas' podem ter diversos estados (gráfico

anterior). Uma nova tarefa sempre é criada por uma chamada de sistema clone() como uma cópia exata de seu processo-mãe. A nova tarefa tem o estado TASK_RUNING. O agendador escolhe a próxima tarefa a ser processada, considerando as tarefas disponíveis. Uma mudança de contexto ativa a 'tarefa', que muda o estado para ativo.

Page 16: Manip Kernel Linux

Gerenciamento de Memória

● É o segundo maior componente da Kernel.

● Responsável por implementar o endereçamento e a paginação.

● Garante que todo e qualquer conjunto de código tenha acesso a memória principal.

● O registro do endereçamento utilizado pelos conjuntos de códigos (aplicativos, libs, módulos, a própria kernel, etc...) é SEMPRE aleatório, considerando os registros heap, stack e as bibliotecas compartilhadas. Este processo de endereçamento aleatório de instruções de código é chamado de Address Space Layout Randomization, ou ASLR e é um dos fatores que garante a segurança de acesso exclusivo da Kernel, bem como determina o processo hierárquico de acesso aos códigos em processamento.

Page 17: Manip Kernel Linux

Gerenciamento de Memória

● Ciclo de vida dos objetos da Kernel na memória (via 'Paginação')● Este 'ciclo' impede ataques maliciosos, vindos de fora da Kernel

Usar Conjunto de Código – CC

Liberar CC

Finalizar CC

Memória Livre

Reservar CC

Pré-inicializar CC

Alocar Memória

Paginação

Aplicativo/Componenteda Kernel

Alocador 'SLAB'

Sistema Parceiro

Objeto (CC)

Página(Blocos de Conjunto de Código)

A Kernel depende destes CC's tipificados e se beneficia da reciclagem destes CC's graças ao alocador SLAB. A Kernel fornece diversos CC's pré-inicializados.

Essa abordagem tem benefícios para o desempenho: A inicialização simultânea de diversos CC's otimiza o uso do cache do processador.

Podemos visualizar este tipo de dados com o comando cat /proc/slabinfo

Page 18: Manip Kernel Linux

Gerenciamento de Memória

● Paginação● O gerenciamento de memória converte os endereços lógicos

usados pelos aplicativos para manipulação de dados em endereços físicos. O método utilizado para isso é conhecido como 'paginação'. A paginação divide a memória principal em 'páginas' do mesmo tamanho. Neste contexto, uma 'pagina' tipicamente tem 4KB. Em outras palavras, 4GB de RAM são divididos em um milhão de páginas de memória.

Page 19: Manip Kernel Linux

Gerenciamento de Memória

● PaginaçãoO mapeamento da memória virtual para a memória física ocorre por meio de tabelas de página, implementadas no hardware subjacente.

O hardware fornece o mapeamento, mas é a kernel que gerencia as tabelas e sua configuração. Um processo pode ter um grande espaço de endereço, mas é esparso, ou seja, pequenas regiões (páginas) do espaço se referem à memória física através das tabelas de página.

Isso permite que um processo tenha um enorme espaço de endereço que é definido apenas para as páginas necessárias em um dado momento.

Tabelas de página fornecem o mapeamento de endereços virtuais para endereços físicos

Espaço deEndereço Físico

Arquivo 'SWAP' / PartiçãoPaginação no disco

(HD, PenDrive)

Espaço deEndereço

Virtual

Processo A Processo B

Paginação (Tabela de Páginas)

Page 20: Manip Kernel Linux

Gerenciamento de Memória

● Paginação A capacidade de definir memória para processos de forma esparsa significa que a memória física subjacente pode ser confirmada em excesso.

Por meio de um processo chamado paginação, páginas pouco usadas são movidas dinamicamente para um dispositivo de armazenamento mais lento (por exemplo, um disco) para acomodar outras páginas que precisam ser acessadas. Isso permite que a memória física do computador forneça páginas que um aplicativo precisa imediatamente, e migre páginas menos necessárias para o disco para melhor uso da memória física.

Observe que algumas páginas podem se referir a arquivos, outras a binários executáveis.

A troca permite melhor uso do espaço da memória física. ao migrar páginaspouco usadas para armazenamento mais lento e menos necessárias

MemóriaFísica

Mapeamentode Páginas

MemóriaVirtual

SWAPPER / Permutador

Paginação (Tabela de Páginas)

Arquivo SWAP / Partição DiscoPáginas em DiscoGarantidas/Protegidas

Page 21: Manip Kernel Linux

Gerenciamento de Memória

● Paginação (API's da Kernel para Manipulação de Memória)

● Manipulação de memória do usuário. Esta seção cobre a interface da Kernel e do espaço do usuário. As funções de acesso à memória do espaço do usuário estão listadas no próximo slide.

● Estas API's específicas (ou Interface de Programação de Aplicativo) são instruções da Kernel, que asseguram que toda e qualquer manipulação da memória sejam tratadas corretamente.

● Com isso, podemos avaliar os métodos de movimentação de dados entre a Kernel e o espaço do usuário (com a Kernel iniciando a operação e gerenciando todo o processo).

Page 22: Manip Kernel Linux

Gerenciamento de Memória

● Paginação (Funções de Manipulação de Memória do Usuário)

a implementação dessas funções depende da arquitetura. Em arquiteturas x86, é possível achar essas funções e símbolos definidos em:

./linux-source-3.X.XX/arch/x86/include/asm/uaccess.h, com origem em ./linux-source-3.X.XX/arch/x86/lib/usercopy_32.c e usercopy_64.c.

Page 23: Manip Kernel Linux

Gerenciamento de Entrada e Saída

● É responsável pelo acesso a arquivos e dispositivos periféricos. O ponto de distribuição central é o Virtual Filesystem Switch (VFS), que distribui o acesso e repassa as chamadas de disco para o agendador. Ele é responsável por organizar e otimizar as chamadas, para que a cabeça de leitura (no caso dos discos rígidos) faça o menor número possível de movimentos.

● O gerenciamento da cabeça de leitura é irrelevante para SSD's (memórias flash). Por isso, a Kernel passa os dados diretamente para o disco, se estiver configurada para este tipo de ação.

Page 24: Manip Kernel Linux

Gerenciamento de Entrada e Saída

● O VFS também utiliza o mesmo modelo hierárquico que a Kernel usa para gravar ou ler dados de um disco. Este modelo registra os meta-dados de cada arquivo. São estes os meta-dados: tamanho do arquivo, data de criação, último acesso, provilégios de acesso, propriedade, aplicativo que podem manipular o arquivo, etc... Este registro do meta-dado é associado a um inode (nó de índice de registro, que é um número identificador de cada arquivo e de seus meta-dados).

● Podemos listas os inodes e as demais informações associadas a ele e ao arquivos, a partir do comando ls -lai.

Page 25: Manip Kernel Linux

Gerenciamento de Entrada e Saída

● Exemplo de execução e resultado do 'ls -lai'

brlix@brlix$ ls -lai

1321328 drwxr-xr-x 4 brlix brlix 4096 Dez 17 21:11 .

1319023 drwxr-xr-x 59 brlix brlix 4096 Dez 18 11:28 ..

1311518 -rw-r—r-- 1 brlix brlix 61996 Dez 8 13:46 CV-en.odt

1332258 -rw------- 1 brlix brlix 56 Set 24 14:48 .directory

1853167 drwxr-xr-x 2 brlix brlix 4096 Set 19 10:29 Epidemus

1349300 drwxr-xr-x 2 brlix brlix 4096 Dez 6 16:31 impressos

1321712 -rw-r--r-- 1 brlix brlix 36889 Dez 17 21:11 notes.txt

1337519 -rw-r—r-- 1 brlix brlix 280 Set 27 15:17 patrocinio-latinoware.txt

1341827 -rw-r—r-- 1 brlix brlix 2801 Set 20 13:31 sources.list-model

1339328 -rwxr-xr-x 1 brlix brlix 191 Set 25 20:10 wireless-lan-up

Page 26: Manip Kernel Linux

Gerenciamento de Entrada e Saída

● Ainda sobre o VFS, ele possui um conjunto de interfaces padrão para aplicativos, que se destina a reconhecer e executar E/S de arquivo, por meio de um conjunto de sistemas de arquivos que estiverem disponíveis na Kernel e combina isso com o suporte a um ou mais dispositivos.

● Os sistemas de arquivos não são estáticos. Estes sistemas de arquivos podem ir e vir conforme a natureza transitória dos dispositivos de armazenamento.

Page 27: Manip Kernel Linux

Gerenciamento de Entrada e Saída

● Um desktop Linux tem suporte ao sistema de arquivos ext3 no disco rígido e ao sistema de arquivos ISO 9660, em um CD-ROM/DVD-ROM, com o CDFS. Conforme mídias são inseridas e removidas, a Kernel Linux se adapta a esses novos sistemas de arquivos com diferentes conteúdos e estrutura. Um sistema de arquivo remoto é acessado através do Network File System (NFS). Ao mesmo tempo, o Linux 'monta' uma partição NT File System (NTFS) com Windows e a utiliza para leituras e gravações.

● Paralelamente, uma USB flash drive (UFD) removível é conectada, fornecendo outro sistema de arquivos, bem como o mesmo conjunto de interfaces de E/S de arquivo pode ser usado por todo esses dispositivos, permitindo que o sistema de arquivos subjacente e o dispositivo físico sejam removidos pelo usuário.

● O VFS cria uma 'camada de abstração uniforme', que permite a interação transparente entre as camadas manipuláveis pelo usuário ('aplicativos' e 'usuário') e a camada da BIOS e os dispositivos (hardware).

Page 28: Manip Kernel Linux

Gerenciamento de Entrada e Saída

Camada de Aplicativos Espaçodo Usuário

Kernel

Camada do Usuário

Camada da BIOS

Monitoria dos Sinais de Identificação de Hardware

Kernel

Hardware

Camada de Abstração

VFS

Sistema de Arquivos

ISO 9660 EXT3

EXT4

btrfs

CDFS

PROC

NTFS

NFS

USBFS

REDEAgendamento

De I/O

criptografia

SOM

V4L

Camada de Blocos / Controladores de Dispositivos

A 'Camada de Abstração' oferece uma interface uniforme, por meio de distintos sistemas de arquivos, para estabelecer o vínculo entre os arquivos manipulados pelo usuário e os locais de armazenamento.

Este processo é considerado para a primeira gravação ou para simplesmente 'salvar' o arquivo, atualizando os dados, onde ele já se encontrava.

Page 29: Manip Kernel Linux

2a. Parte – Manipulação da Kernel

● A partir deste ponto, iniciamos o processo de instalação dos pacotes mínimos necessários para manipulação da Kernel, que pode ser feita diretamente, arquivo por arquivo, ou através de configuradores que integrem todos os módulos da Kernel em uma única interface de configuração, permitindo visualização de todos os itens disponíveis para uso.

● Um dos fatores indispensáveis para a manipulação da Kernel é conhecer os dispositivos do computador utilizado. Para isso, usamos os comandos lspci, lsusb e lshw.

Page 30: Manip Kernel Linux

Requisitos para Manipulação

● LIBNCURSES5-DEV● Conjunto de bibliotecas de funções da família ncurses (new curses), que

gerenciam programas, extensões, lib's e manuais para programação, sob GNU/GPL. Oferece um método independente para atualizar caracteres na tela.

● MAKE● O MAKE pode ser usado para descrever qualquer tarefa em que alguns arquivos

possam ser atualizados automaticamente com os outros, sempre que os outros mudarem. Para usar o MAKE, é necessário escrever um arquivo chamado "makefile", que descreve as relações entre os arquivos em seu programa, e o estado dos comandos para atualizar cada arquivo.

Page 31: Manip Kernel Linux

Requisitos para Manipulação

● GCC● O GCC é o compilador padrão para C, C++, Objective-C, Objective-C++, Ada,

Fortran 95, e Java em todas as arquiteturas. O pacote do GCC também provê libgcc1, libgcc2 (m68k) e libgcc4 (hppa) que contêm as GCC intrinsics e libstdc++6.

● KERNEL-PACKAGE● Um pacote Debian de utilitários para construir uma Kernel Linux. Possui arquivos

“.config” pré-configurados para diversas arquiteturas. O comando para compilação e empacotamento “make-kpkg” está dentro deste pacote.

Page 32: Manip Kernel Linux

Requisitos para Manipulação

● BUILD-ESSENTIAL● Referencia todos os pacotes essenciais para efetuar a

construção/manipulação/edição de pacotes para Debian's-Like

● INITRAMFS-TOOLS● Pacote de scripts que facilita a criação de arquivos initrd. O initrd é um arquivo

que é responsável pelo processo de inicialização da Kernel, usado para preparar as tarefas a serem inicializadas antes de execução do sistema de arquivos

● GIT (para usarmos a kernel do Ubuntu)● Git é um sistema de controle de versão distribuído com ênfase em velocidade. O

Git foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux.

Page 33: Manip Kernel Linux

Requisitos para Manipulação

● KERNEL SOURCE● Código fonte da kernel a ser utilizada no processo de manipulação

Podemos utilizar um “Linux Source” de qualquer origem, desde que o “source” possua os módulos que sejam compatíveis com o ambiente em uso. Exemplo:

- Ambiente Debian-Like

- Podemos usar “Linux Source” da kernel.org

- Podemos usar “Linux Source” do Ubuntu, via 'git'

# git clone git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git source

- Podemos usar “Linux Source” do Debian

- Entre outras fontes... (procure fontes confiáveis!!)

Page 34: Manip Kernel Linux

Manipulação da Kernel

● Via “make menuconfig”, podemos manipular a partir de uma ferramenta, a habilitação e/ou desabilitação de módulos para suporte a hardware e sistemas de arquivos

● Além do “menuconfig”, temos o “xconfig” e o “gconfig”, que são ferramentas gráficas que também permitem a manipulação do configurador para a Kernel

● Outro caminho (mais complexo) é a manipulação do arquivo “.config”, utilizado para determinar quais módulos serão compilados e se serão internos ou externos

Page 35: Manip Kernel Linux

Manipulação da Kernel - menuconfig

Page 36: Manip Kernel Linux

O quê tem lá dentro?

● Bom,.... só usando o menuconfig para descobrir!● Vamos executar

● ~$ cd /usr/src/linux-source-3.X.XX/● ~$ sudo su● ~# make menuconfig

Page 37: Manip Kernel Linux

Compilar Kernel e gerar Pacotes

● Após todo o processo de edição, podemos executar o comando abaixo, para compilar e gerar pacotes de instalação do “fonte” editado (linux-source), da “imagem” (linux-image) da Kernel e dos “cabeçalhos” (linux-headers) de interação com a Kernel.

# make-kpkg kernel_image kernel_source kernel_headers

Page 38: Manip Kernel Linux

Arquivo initrd

● O arquivo initrd é um bloco de dispositivos somente de leitura. Também é uma memória RAM virtual que é inicializada pelo gerenciador de boot (grub ou lilo) antes que a kernel seja inicializada. A kernel então pode usar o conteúdo do initrd para iniciar o sistema em duas etapas.

● Na primeira etapa da inicialização, a kernel inicia-se e monta um sistema de arquivos raiz inicial, a partir do conteúdo do initrd. Na segunda etapa, os drivers adicionais e outros módulos são carregados. Depois de carregar os módulos adicionais, um novo sistema de arquivos root é disponibilizado.

Page 39: Manip Kernel Linux

Instalação da Kernel

● Com os arquivos gerados, podemos instalar a imagem da kernel e os cabeçalhos, com o seguinte comando:

# dpkg -i kernel*.deb

● Criar o arquivo initrd (caso não seja criado na compilação)

# mkinitramfs -o /boot/initrd.img-3.X.XX /lib/modules/3.X.XX

● Atualizar o gerenciador de boot (no caso, o grub)

# update-grub

Page 40: Manip Kernel Linux

Instalação da Kernel

● Após atualizar, podemos verificar o arquivo de gerenciamento de boot do grub, para verificar todas as kernels disponíveis.

# nano /boot/grub/grub.cfg (para grub 2)

● Obs.: devemos verificar a presença das linhas de inicialização da kernel, bem como a linha de inicialização do initrd correspondente a cada kernel.

Page 41: Manip Kernel Linux

Mapa da Kernel Linux

Page 42: Manip Kernel Linux

Referências

● Kernel GitHub● https://github.com/torvalds/linux

● Thorsten Leemhuis “Kernel Log – Coming in 3.1” Articles● http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-1-Part-1-Networking-1323463.html?page=1

● http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-1-Part-2-Storage-and-filesystems-1338160.html

● http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-1-Part-3-Architecture-infrastructure-virtualisation-1345178.html

● http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-1-Part-4-Drivers-1346605.html

● Microsoft contributes a lot of changes to Linux kernel 3.0 ● http://www.h-online.com/open/news/item/Microsoft-contributes-a-lot-of-changes-to-Linux-kernel-3-0-1280528.html

● Security breach at kernel.org● http://www.h-online.com/open/news/item/Security-breach-at-kernel-org-1334642.html

Page 43: Manip Kernel Linux

Referências

● Advanced Configuration and Power Interface - ACPI● http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface

● Virtual Filesystem Switch (VFS)● http://www.ibm.com/developerworks/linux/library/l-virtual-filesystem-switch/

● Debian Package Tracking System - Kernel 3.X.XX● http://packages.qa.debian.org/l/linux-2.6.html

● Ubuntu Packages Search System - Kernel 3.X.XX● http://packages.ubuntu.com/precise/linux-source-3.2.0

● Linux Kernel Map● http://www.makelinux.net/kernel_map/

● Demais referências: Arquivos PDF disponíveis no mini-curso

Page 44: Manip Kernel Linux

معنا تحدث