• Nenhum resultado encontrado

O Ciclo de Desenvolvimento do Kernel do Linux

N/A
N/A
Protected

Academic year: 2021

Share "O Ciclo de Desenvolvimento do Kernel do Linux"

Copied!
26
0
0

Texto

(1)

O Ciclo de Desenvolvimento

do Kernel do Linux

(2)

Agenda

O que é o Linux?Estatísticas de DesenvolvimentoHistóriaCiclos de DesenvolvimentoHierarquia de Mantenedores

Árvore estáveis e de desenvolvimentoLinux-next

Revisão de Código

(3)

O que é o Linux?

● Linux é o Linux Kernel

● Sistema Operacional UNIX

● Criado em 1991 por Linus Torvalds ● Suporta ~30 aquiteturas

● Licenciado em GPLv2

(4)
(5)

● ~200 commits/dia ou 1 commit a cada 7 minutos

Estatísticas

versão do kernel número de commits v4.7* 12.073 v4.6 13.258 v4.5 12.080 v4.4 13.071 v4.3 12.274 v4.2 13.694 v4.1 11.916 v4.0 10.346

(6)

● Média de 8 contribuições por desenvolvedor ● Recorde de 1679 desenvolvedores na v4.6 ● * v4.7 ainda não foi lançada

Estatísticas

versão do kernel desenvolvedores v4.7* 1556 v4.6 1679 v4.5 1538 v4.4 1576 v4.3 1625 v4.2 1591 v4.1 1539 v4.0 1458

(7)

● ~200 organizações por versão Estatísticas # organização commits v4.6 1 Intel 2009 (15.0%) 2 (unknown) 1358 (10.2%) 3 Red Hat 1043 (7.8%) 4 (None) 647 (4.8%) 5 Linaro 588 (4.4%) 6 Outreachy 413 (3.1%) 7 Samsung 390 (2.9%) 8 SUSE 364 (2.7%)

(8)

Ciclo de Desenvolvimento – pré v2.6 ● Versão 1.0 em 1994 ● Versão 2.0 em 1996 ● Versão 2.2 em 1999 ● Versão 2.4 em 2001 ● Versão 2.6 em 2003

(9)

Ciclo de Desenvolvimento – pré v2.6

● Até o lançamento v2.6 ciclo de ~2 anos ● Branch estável

Somente bug fix

– Sem hardware e funcionalidades novas

Branch de desenvolvimento

(10)

Ciclo de Desenvolvimento – pré v2.6

● Problemas:

– Ciclo muito longo

– Gerenciamento complicado e confuso

Backport de funcionalidades para o v2.4 – Introdução de bugs

(11)

Ciclo de Desenvolvimento – v2.6..hoje

● Ciclos curtos de menos de 3 meses ● Release early, release often

● Mais testes, mais estável

(12)

Ciclo de Desenvolvimento – v2.6..hoje

2 semanas de merge window

– Inclusão de novas funcionalidades

● 6-8 semanas de estabilização

● Lançamento de uma versão marca o início da próxima merge window

(13)

Ciclo de Desenvolvimento – v2.6..hoje 4.6 merge window rc1 rc2 rc3 rc4 rc5 rc6 rc7 v4.6 4.7 merge window rc1 rc2 v4.5 novas

features featuresnovas

(14)

Hierarquia de Mantenedores

● Mantenedores para cada subsistema

● Cada subsistema tem submantenedores

● Árvore pra cada subsistema

● Enviam contribuições para cima

(15)

Hierarquia de Mantenedores mainline

net dri

bluetooth netfilter i915 nouveau

(16)

Novas features

Incorporado a cada merge window

branch -next (próxima versão) ● Acontece durante todo o ciclo

(17)

Ciclo de Desenvolvimento - -next 4.6 merge window rc1 rc2 rc3 rc4 rc5 rc6 rc7 v4.6 4.7 merge window rc1 rc2 v4.5 pull request v4.6 net-next bluetooth-next

(18)

Versão Estável

Cada versão tem um branch estável

Somente patches que estão no mainline ● Mantido por Greg KH

Uma versão longterm (LTS) por ano ● LTS são mantidas por 2 anos

(19)

Ciclo de Desenvolvimento - stable

4.6 merge

window rc1 rc2 rc3 rc4 rc5 rc6 rc7 v4.6 4.7 mergewindow rc1 rc2

v4.5 v4.6

net-next

bluetooth-next

(20)

Revisão de Código - tags

● Signed-off-by: autores e mantenedores ● Reviewed-by:

● Acked-by: ● Tested-by:

● Reported-by: ● Suggested-by:

(21)

tags

commit 2d75c88fefb228aedfb135228acb6620db8f0e40

Author: Gustavo Padovan <[email protected]> Date: Tue Apr 26 12:32:28 2016 -0300

staging/android: refactor SYNC IOCTLs

Change SYNC_IOC_FILE_INFO (former SYNC_IOC_FENCE_INFO) behaviour to avoid future API breaks and optimize buffer allocation.

Signed-off-by: Gustavo Padovan <[email protected]> Reviewed-by: Maarten Lankhorst <[email protected]> Acked-by: Greg Hackmann <[email protected]>

Acked-by: Rob Clark <[email protected]>

Acked-by: Daniel Vetter <[email protected]>

(22)

git

● Nenhum VCS era bom o suficiente

● Bitkeeper era ineficiente e proprietário ● Em 2005 o Linus Torvalds criou o git

● Distribuído, Eficiente e a Prova de falhas ● Revolucionou a colaboração de software

(23)

linux-next

● Faz merge diário das árvores -next

● Criada em 2008 por Stephen Rothwell ● Indentifica problemas antes do mainline

merge conflict

compiler error/warning

(24)

Como contribuir para o Kernel?

● Não sei por onde começar!?

– Leia o código/documentação

– Procure bugs que afetam a sua máquina – Assine as listas de e-mail (LKML e

outras)

(25)

Submetendo Patches

● RTFM! Documentation/SubmittingPatches

● Descubra quem são os mantenedores

– scripts/get_maintainer.pl

(26)

Obrigado!

Gustavo Padovan

[email protected]

Referências

Documentos relacionados

The reason is a wide variety of application as pigments, refractories and also as a model structure to studies that evaluate the relative stability of ions in octahedral

III – a sobra de vagas da cota universal será transferida para a cota dos candidatos das escolas públicas do mesmo curso, turno, local de oferta e edição do concurso

[5] Na base nacional (INPI) não foram encontrados dispositivos semelhantes ao proposto, mesmo considerando as diferentes combinações de termos de pesquisa. Diante disso,

Fernandes, morador no lugar de Ourentã, termo da Vila de Cantanhede e de Francisco Afonso, morador no lugar de Fornos, termo da cidade de Coimbra, para fornecimento de

Na questão que abordou o conhecimento sobre a localização da doença, o deficiente saber quanto à percepção sobre a saúde bucal foi comprovado quando somente 30 indivíduos

Portanto, deve-se reconhecer que o tipo de movimento ortodôntico pode influenciar no risco de desenvolvimento de recessão óssea e gengival, como nos casos de movimento

REDES INSTALACAO E COMERCIO DE REDES

Haveria agora algo que dizer -e haverá muito mais que estudar, pois não têm sido regiões que tenham merecido particular atenção por parte dos historiadores- sobre certas