• 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 <gustavo.padovan@collabora.co.uk> 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 <gustavo.padovan@collabora.co.uk> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Greg Hackmann <ghackmann@google.com>

Acked-by: Rob Clark <robdclark@gmail.com>

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

(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

gustavo@padovan.org

Referências

Documentos relacionados

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

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

[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,

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

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