Vil vi ha en ny kjerne til jul? Jeg husker lurer på at tilbake i 1998 da 2,2 var i horisonten. Ting har endret seg mye siden da i kernel utvikling, og med Greg Kroah-Hartman kunngjøring i forrige uke om endringer i stallen kjernen utgivelsen prosedyre, er det en god tid til å se på hvordan stallen treet fungerer.
Litt bakgrunnshistorien
Kernel utvikling har ikke alltid jobbet på denne måten. Hvis du er relativt ny på Linux, kan du ikke huske i lang, lang, lang ventetid for utviklings kjerner til å bli stabil i løpet av tidlig 2.x-serien. Kjerneutviklere ville opprettholde en stabil kjerne med et enda mindre antall (2.0.x, 2.2.x, 2.4.x) og en utvikling kjerne med et odde mindre antall (2.1.x, 2.3.x, 2.5.x).
Når det gjelder 2.2.0, for eksempel, Linus Torvalds snakket om å slippe 2.2.0 kernel i juni eller juli 1998. Måneder gikk, og spørsmålet ble " vil vi ha 2,2 til jul? " Vi gjorde ikke det. Den 2.2.0 kernel kom ut i januar 1999, en god stund etter at 2.0.0-kjernen som ble lansert i juni 1996. 2.2.0 gjennomført noen store funksjoner folk var ivrige etter å komme — . som forbedringer i SMP (flere prosessorer) og støtte for PowerPC-prosessorer
Det tok en god stund for funksjoner som gjør det til stabile kjerner – slik at bedriftene ville port funksjoner fra utviklingen serien inn i stallen serien, og som Kroah-Hartman sier at det var ikke lett:
2.5 var vanskelig. Virkelig hardt. Vi hadde alle disse ideer om ting vi ønsket å gjøre, vi innført nye verktøy og var å finne ut hvordan du bruker dem, vi fikk alle slags gal utvikling som et stort antall av oss ble nå blir betalt for å gjøre denne utviklingen, så vi hadde mer tid til å gjøre det.
Og, fordi vi alle hadde mer tid til å gjøre dette arbeidet, tok det enda lengre. 2.6.0 kom ikke ut før nesten 3 år senere, tar 86 utgivelser
På grunn av den lange utviklingen syklus, selskaper virkelig ønsket å bruke deler av 2.5-kjernen i deres ". Stabil " utgivelser. Så de backported ting fra 2,5 treet inn i 2.4 trær, og begynte å kalle dem " enterprise " kernel utgivelser. Disse utgivelsene ble _hard_ å gjøre ved de distroer og utviklerne som har ansvaret for dem. Vanligvis samme utbygger måtte gjøre endringer i 2.5-kjernen og deretter snu og prøve å finne ut hvordan de skal anvende i en eldre endringene i 2.4-kjernen for en distro å bruke. Det var et mareritt for utviklere, noe som ingen av dem som levde gjennom det noen gang ønsket å gjøre igjen.
Så ble det gradvis innført en rekke endringer etter at 2.6.0-kjernen ble sluppet. I stedet for å starte en 2,7 utvikling treet, ville Linus slippe en -rc som hadde gradvise forandringer fra den tidligere kjernen. Utgivelser kom ut raskt – hver to til tre måneder – men det var mer beskjedne endringer mellom utgivelser.
Dette er Kernel Development. Det finnes regler
Den eneste innvendingen mot at stilen til utvikling var mangel på en " stabil " tre som kunne ha feilrettinger, sikkerhetsoppdateringer, og så videre. Tre måneder er ikke lang tid å vente på SMP – tre måneder er evigheten venter på et sikkerhetsoppdateringen!
Så Kroah-Hartman startet opp stallen kernel treet for å bygge bro over gapet mellom utviklingen kernel og stabil kjerne. Akkurat nå, for eksempel, er den stabil kernel 2.6.36.1. Men også 2.6.35.9 og 2.6.34.7, og flere andre. Hvis dette høres forvirrende, er det. Mer om det i et sekund.
Så hva går inn i -stable kjerner? Det er noen retningslinjer som brukes til å holde forstyrrelser i -stable kjernen til et minimum. Det kan ikke være en stor oppdatering, det kan ikke være en ny funksjon eller et unødvendig triviell endring (som stave endringer), og det må bli akseptert av delsystemet vedlikehold. Sikkerhetsendringer er selvsagt høy prioritet og hensiktsmessig for -stable treet.
Men et par kjerner har blitt opprettholdt som stabil lenger enn andre. Spesifikt, 2.6.27 og 2.6.32 kjerner. Hvorfor? Vel disse kjerner har blitt brukt av store foretak distribusjoner. 2.6.32, for eksempel, ble brukt for SUSE Linux Enterprise 11, til Red Hat Enterprise Linux 6, og Ubuntu 10.04 LTS, nevne noen. Slik at kjernen vil være på bedriftens systemer for en stund. Men de andre kjerner ble opprettholdt noe ujevnt, og det var litt forvirring over hvor lenge kjerner vil bli opprettholdt og hvilken som skal brukes.
Stabil Kjerner nå, og Longterm
Så Kroah- Hartman har avklart hvordan utgivelser vil bli opprettholdt. Kroah-Hartman har introdusert begrepet " longterm " kjerner – som vil omfatte 2.6.27 og 2.6.32, og kommer til å legge 2.6.35 til listen over langsiktige kjerner. Det vil bli opprettholdt av Andi Kleen.
Men Kroah-Hartman vil bare være å opprettholde den siste kjernen utgitt som -stable.
Har du spørsmål eller ønsker å hoppe inn på stabil kernel utvikling? Det er nå en stabil mailingliste alle kan abonnere på å se eller arbeide med stabil utvikling
Så, samlet &mdash.; ikke en massiv endring i ordningen ting. Men det er viktig, og vil ytterligere forbedre måten Linux-kjernen er utviklet og brukt, og fortsetter den lange tradisjonen med åpen utvikling som Linux-brukere har hatt i nesten 20 år. Anmeldelser