Linux (nùcleu)

Dae Wikipedia, s'entziclopedia lìbera.
Jump to navigation Jump to search
bùssola Disambiguatzione – Si ses chirchende sa famìlia de sistemas operativos chi impreant custu nùcleu, càstia Linux.


Custu artìculu est iscritu cun sa grafia Flag of Sardinia, Italy.svgLimba Sarda ComunaFlag of Sardinia, Italy.svg. Abbàida sas àteras bariedades gràficas:

campidanesu · logudoresu · nugoresu

Tux, sa mascotte ofitziale de Linux

Linux est unu nùcleu de sistema operativu creadu in su 1991 de Linus Torvalds de sa famìlia de UNIX. Distribuidu a suta de lissèntzia lìbera GNU GPLv2, imbetzes chi comente a programma propietàriu, cumprendet diversos firmware a suta de lissèntzias no-lìberas. Impreadu in paris cun su sistema operativu GNU, pensadu dae Richard Stallman, at dadu vida a su sistema operativu Linux, difundende·si in vàrias distributziones.[1][2] S'isvilupu est promòvidu dae sa Linux Foundation chi at batidu a un'istandardizatzione nòdida comente a Linux Standard Base, mentras unu tentativu de implementazione de unu nùcleu de s'in totu lìberu est Linux-libre.

Istòria[modìfica | modìfica su còdighe de orìgine]

In s'abrile de su 1991 Linus Torvalds, un'istudiante finlandesu de informàtica in s'Universidade de Hèlsinki, a s'edade de 21 annos at incumentzadu a traballare in unas cantas ideas simpres pro unu sistema operativu[3]. At incumentzadu cun unu càmbiu de contestu programmadu in assembly subra protzessore Intel 80386 e unu pilota de terminale. A custu puntu, su 25 austu 1991, Torvalds at iscritu unu messàgiu:[4]

« So programmende unu sistema operativu (gratùitu e pro hobby isceti, non bolet èssere mannu e professionale comente a GNU) pro clones de AT 386(486). Est in preparatzione de abrile, e est incumentzende a funtzionare. Mi diat pràghere a ischire ite bos praghet e non bos praghet in Minix, sigomente su Sistema Operativu meu dd'assimìgiat in alas (intre sas àteras cosas, sa matessi impostatzione fìsica de su sistema de is archìvios, pro resones pràticas). Apo cunvertidu sa shell bash (v.1.08) e GCC (v.1.40), e parent funtzionare. Custu bolet nàrrere chi apo a otènnere carchi cosa funtzionende in unos cantos meses e mi diat pràghere a ischire cales funtzionalidades bolet sa majoria de sa gente. Onni impòsitu est bene agradèssidu, mancari chi non bos potza promìtere chi l'apo a pònnere in òpera. »

Linus aiat incumentzadu a programmare su nùcleu in un'architetura MINIX, unu sistema operativu lìberu programmadu dae su professore universitàriu Andrew S. Tanenbaum, chi a pustis at però criticadu meda su traballu de s'istudiante finlandesu.

A pustis de sa publicatzione de custu messàgiu, medas persones ant collaboradu a s'isvilupu de su progetu, e su 5 santugaine 1991 Linus pùblicat sa versione 0.02 de su nùcleu, belle unu mese a pustis de sa publicatzione de sa versione 0.01, chi però no at tentu resèssida manna. Issu at iscritu, in ocasione de sa publicatzione, su messàgiu sighente:[5]

« Surrungiades is dies bellas de Minix 1.1, cando is òmines fiant òmines e iscreiant a solos is pilotas de dispositivu?

Bos mancat unu bellu progetu e morides de sa gana de bos truncare sos ossos cun unu Sistema Operativu chi podides proare a modificare segundu sas netzessidades bostras? Agatades infadosu chi subra Minix funtzionet totu? Non passades prus notes intreas pro otènnere unu programma chi traballat a manera meravigiosa? Tando custu annùntziu diat dèpere èssere fatu a posta pro bois.

Comente a apo naradu unu mese a oe, so traballende a una versione lìbera de unu clone de Minix pro elaboradores AT-386. At in fines segudadu un'istàdiu in cale est impreàbile (mancari chi non potzat dipèndere de su chi bolides), e so favorèvole a fàghere una distributzione prus manna de su còdighe de orìgine. Est isceti sa versione 0.02 (est giai pronta una curretzione minore), ma apo aviadu cun sutzessu sa shell bash/GCC/GNU-make/GNU-sed/compress etzètera.

Su còdighe de custu progetu meu podent èssere iscarrigados dae nic.funet.fi in sa cartella /pub/OS/Linux. Sa cartella cuntenet fintzas carchi archìviu README e una pariga de binàrios de esecutare cun Linux (bash, update e gcc.) Est frunidu su còdighe cumpletu de su nùcleu, giai chi no est istadu impreadu còdighe de Minix. Su còdighe de is librerias est isceti in parte lìberu e no est tando pro como distribuìbile. Est possìbile compilare su sistema aici comente est e est paret funtzionare. Heh. Su còdighe de is binàrios (bash e gcc) podet èssere agatadu in su matessi locu in /pub/gnu.

ATENTU! NOTA! Custu còdighe netzèssitat de minix-386 pro èssere compiladu (e gcc-1.40, o, no est istadu testadu, 1.37.1), e impostados bene pro su funtzionamentu, tando no est àncora unu sistema indipendente pro is de boisàteros chi no tenent Minix. Nche so traballende. Depes èssere puru una ratza de hacker pro dd'assetiare, tando pro sos chi isperaiant in un'alternativa a minix-386, pro praghere disconnoschide·mi. Pro como est indiritzadu a espertos interessados a sos sistemas operativos e 386 cun atzessu a Minix.

Su sistema netzèssitat de unu discu fissu AT-cumpatìbile (IDE andat bene) e EGA/VGA. Si seis interessados, pro praghere iscarrigade su README e sas notas de distributzione e/o imbiade·mi unu messàgiu pro àteras informatziones.

Potzo (agiomai) a bos intèndere mentras si pedides "pro ite?". Hurd at a essire tra un'annu (o 2, o su mese imbeniente, chie l'ischit), e tèngio giai Minix. Custu est unu programma pro programmadores iscritu de unu programmadore. Mi est pràghidu a dd'iscrìere, e a calicunu diat pòdere pràghere a nche dare un'ograda e fintzas a ddu modificare pro sos bisòngios suos. Est bastante piticu de cumprèndere, impreare e modificare, e abeto is cummentos bostros.

Mi diat pràghere puru a ddos intèndere de chie si siat apat iscritu un'utilidade o funtzione de libreria pro Minix. Si sos isfortzos bostros sunt distribuìbiles a manera lìbera (a suta de copyright o fintzas de pùblicu domìniu), mi diat pràghere bos intèndere, de manera chi ddos potzat agiùnghere a su sistema. So impreende Earl Chews estdio pro como (gràtzias pro unu sistema belligheddu e funtzionante Earl), e traballos pretzisos diant a èssere benebènnidos.

Su C bostru at a èssere lassadu intatu. Iscreide·mi duas rigas si mi bolides lassare impreare su còdighe bostru. »

Est istadu abertu unu newsgroup alt.os.linux e su 19 ghennàrgiu 1992 est istadu insertadu su primu messàgiu.[6] In su 31 martzu 1992, alt.os.linux est essidu comp.os.linux.[7]

Luego X Window System est istadu portadu subra Linux. Sa prima versione de Linux a èssere capatzu de esecutare X est istada sa 0.95 in su martzu de su 1992. Custu sàrtidu mannu de versione (de 0.1x a 0.9x) est istadu dèpidu a su fatu chi una versione 1.0 pariat acanta a sa publicatzione. Nointames custa sensatzione fiat tropu otimista e de su 1993 finas sos cumintzos de su 1994 sunt istados emìtidas 15 suta-versiones de sa 0.99.

Su 14 martzu 1994 est istadu publicadu Linux 1.0.0, cun 176.250 lìnias de còdighe. A martzu de su 1995, est istadu publicadu Linux 1.2.0 (310 950 lìnias de còdighe).

Sa versione 2 de Linux, publicada su 9 làmpadas 1996, est istada sighida dae unas àteras versiones majores a suta de su prefissu de versione 2:

  • 25 ghennàrgiu 1999 - Publicatzione de Linux 2.2.0 (1 800 847 lìnias de còdighe).
  • 18 nadale 1999 - Sunt istados publicados is càmbios pro mainframe IBM 2.2.13, chi ant permìtidu a Linux de èssere installadu subra màchinas de livellu professionale.
  • 4 ghennàrgiu 2001 - Publicatzione de Linux 2.4.0 (3 377 902 lìnias de còdighe).
  • 17 nadale 2003 - Publicatzione de Linux 2.6.0 (5 929 913 lìnias de còdighe).
  • 9 santugaine 2008 - Publicatzione de Linux 2.6.27 (9 709 868 lìnias de còdighe).[8]
  • 24 nadale 2008 - Publicatzione de Linux 2.6.28 (10 195 402 lìnias de còdighe).
  • 20 santugaine 2010 - Publicatzione de Linux 2.6.36 (13 499 457 lìnias de còdighe).[9]
  • trìulas 2011, pro festare su de 20 anniversàriu de sa nàschida de Linux, Torvalds at detzìdidu de colare a unu sistema de numeratzione a 2 tzifras, publichende sa versione 3.0 de su nùcleu. S'ùrtima publicatzione de sa sèrie 2.6 est istada sa 2.6.39. Sa prima versione de su sistema nou de numeratzione adotadu - sa 3.0 - publicada cuntenet 14 646 952 rigas de còdighe.
  • 8 martzu 2015 - Benit publicada sa prima beta de sa versione noa 4.0 de su nùcleu.
  • 12 martzu 2015 - Benit publicada sa vesrione istàbile de Linux 4.0 e dae immoe sa numeratzione tenet unu nùmeru detzimale isceti.

Su dibatu Tanenbaum-Torvalds[modìfica | modìfica su còdighe de orìgine]

Su fatu chi Linux siat unu nùcleu monolìticu e no unu micro-nùcleu est istadu s'argumentu de su dibatu Tanenbaum-Torvalds. Su dibatu a pitzus de Linux e s'architetura de su nùcleu in generale est incumentzadu in su 1992 in su grupu de discussione Usenet comp.os.minix.[10]

Andrew Tanenbaum sustentaiat chi is micro-nùcleos esserent superiores a is nùcleos monolìticos e chi pro custu Linux esseret antigu. A diferèntzia de is nùcleos monolìticos traditzionales, is pilotas de dispositivu sunt cunfigurados comente a mòdulos de su nùcleu e carrigados cando serbint mentras su sistema est in esecutzione. De custu argumentu s'est torradu a chistionare su 9 maju 2006 e su 12 maju 2006.[11][12]

Descritzione[modìfica | modìfica su còdighe de orìgine]

Carrigamentu de su nùcleu Linux 2.6.24.4 in su sistema Knoppix 5.3.1

Su nùcleu Linux, unu de is esèmpios mellus arrenèschidos de programmas a còdighe abertu, format su nùcleu de is sistemas operativos de sa famìlia de Linux, duncas sas distributziones Linux.[13][14]

Publicadu, iscarrigàbile [1] e modificàbile a manera lìbera a suta de sa lissèntzia lìbera GNU GPL[15] (paris cun carchi firmware cun lissèntzias vàrias), est isvilupadu dae collaboradores de totu su mundu pro mèdiu de sa relativa comunidade, cun s'isvilupu chi ogni die acontesset isfrutende sa relativa mailing list, a sa pròpiu manera ca si sunt isvilupados sos protocollos de Internèt. Su còdighe de orìgine de Linux est duncas disponìbile a totus e est personalizàbile a manera ampra, a su puntu ca est possìbile, in fase de cumpiladura, a esclùdere su còdighe ca no serbit.

Comente a ogni programma lìberu, fintzas su nùcleu Linux est duncas in evolutzione contina cun sa dimensione chi creschet a manera esponentziale, agiunghende mòdulos noos, hardware nou suportadu etc.[16] Su ramu de isvilupu printzipale de su nùcleu Linux previdet chi issu cuntèngiat fintzas carchi ala no-lìbera, comente unos pilotas de dispositivu. Su progetu Linux-libre si proponet imbetzes comente a variante de s'in totu lìbera de Linux, dae cale sunt nàschidas unas distributziones.[17]

Comente "coro" de unu sistema operativu frunit totu is funtziones essentziales pro su sistema, ispetzialmente sa gestione de sa memòria primària, de sas risursas hardware de su sistema e de is dispositivos, assignende·ddas de bia in bia a sos protzessos in esecutzione. Sa contraparte de su nùcleu est s'interfàtzia de impitadore de su sistema, s'ala prus esterna. Is programmas pedint sas risursas a su nùcleu pro mèdiu de unas mutidas e non podent atzèdere a is dispositivos eletrònicos a manera dereta.

S'òcupat tando de gestire su tempus de protzessore, sa comunicatzione e sa memòria distribuende·ddas a is protzessos in cursu a segunda de sa prioridade (pranificatzione) realizende aici su multi-protzessu. In prus, est multi-impitadore: custu permitit chi prus impitadores (cun privilègios diferentziados) potzant esecutare in su matessi sistema prus protzessos de programmas a manera simultànea. Atualmente Linux suportat sa majoria de is dispositivos disponìbiles pro PC e suportat unu nùmeru mannu meda de architeturas (comente SPARC, PowerPC, ARM e sas prus modernas CPU a 64 bit).

Linux suportat su multi-protzessu cun prelatzione (siat in modalidade impitadore, siat in modalidade nùcleu), memòria virtuale, librerias cumpartzidas, carrigamentu a rechesta, esecutàbiles copy-on-write cumpartzidos, gestione de sa memòria, sa pila de protocollos Internèt, e is filos de esecutzione. Sa flessibilidade de custu nùcleu ddu faghet adatu a totu is tecnologias achiridos emergentes e fintzas pro is tzentros de càrculu distribuidu (comente a su cluster Beowulf) finas èssere achiridu in carchi video-registratore digitale e in sos telèfonos tzellulares.

Interfàtzia de is tzarradas de sistema e Linux Istandard Base

Architetura[modìfica | modìfica su còdighe de orìgine]

Mapa de su nùcleu de Linux e sa versione interativa sua.

Linux est unu nùcleu monolìticu. Mancari chi oe su nùcleu potzat èssere compiladu in modu de tènnere un'immàgine binària reduida a su mìnimu e is pilotas de dispositivu potzant èssere carrigados comente mòdulos esternos, s'architetura originària est bene visìbile: totu is pilotas difatis depent tènnere un'ala esecutada in modalidade nùcleu, fintzas cussos pro cales custu non diat èssere netzessàriu (a esèmpiu sos driver de sos documentos system).

Is pilotas de is dispositivos e is estensiones de su nùcleu traballant in s'ispàtziu nùcleu (aneddu 0 in sa majoria de is protzessores), cun atzessu prenu a s'hardware, mancari chi carchi etzetzione traballet in s'ispàtziu impitadore. Su sistema gràficu chi sa majoria is persones impreat cun Linux non traballat in s'ispàtziu nùcleu. In sa versione 2.6 est istada introduida sa prelatzione in su nùcleu. Custu bolet nàrrere ca fintzas is protzessos esecutados in modalidade nùcleu podent èssere interrùmpidos pro dare a àteros protzessos sa possibilidade de èssere esecutados.[18]

Portabilidade[modìfica | modìfica su còdighe de orìgine]

iPodLinux mentras carrigat su nùcleu.

Mancari chi in comintzu non fiat progetadu pro èssere portàbile, Linux est unu de is nùcleos de sistema operativu prus portàbiles, capassu de funtzionare in un'ampra gama de sistemas de s'iPAQ (unu elaboradore palmare) a s'IBM System z9 (unu sistema tzentrale ca podet esecutare centinaia o migliaia de istàntzias de Linux cuntemporàneas). Linux est su sistema operativu printzipale de sos super-elaboradores Blue Gene de IBM. Linux est su sistema operativu de prus de su 97% de is sistemas in sa classìfica Top 500 de is super-elaboradores.[19] In prus, Linux est istadu compiladu in mesas dispositivos portàtiles comente a TuxPhone e s'iPod de Apple.

Limbàgios de programatzione[modìfica | modìfica su còdighe de orìgine]

Linux est iscritu in sa versione de su limbàgiu de programmatzione C suportada dae su compiladore GCC (chi at introduidu medas estensiones e mudadas a su C istandard), paris cun unu tzertu nùmeru de setziones breves de còdighe iscritas in limbàgiu Assembly (sintassi GCC cun istile "AT&T"). Gràtzias a is estensiones de C chi suportat, GCC pro meda tempus est istadu s'ùnicu compiladore bonu a compilare Linux. In su 2004, Intel at decraradu de àere modificadu su nùcleu a manera chi fintzas su compiladore suo C esseret in gradu de ddu compilare.

In carchi manera benint impreados medas àteros limbàgios, mescamente in su protzessu de cumpiladura de su nùcleu. Custos includent Perl, Python e unos limbàgios shell. Is pilotas de dispositivu podent fintzas èssere iscritos in C++, Fortran o unos àteros limbàgios, ma custa pràtica est iscoragiada. Su sistema de cumpiladura de Linux suportat a manera ufitziale isceti GCC comente a compiladore siat de su nùcleu siat de sos pilotas.

Sèberos de Cumpiladura[modìfica | modìfica su còdighe de orìgine]

Su nùcleu Linux tenet sèberos de cumpiladura chi permitint de agiùnghere o rimòvere caraterìsticas de su nùcleu durante sa cumpiladura initziale. Durante custa ùrtima fase podent fintzas èssere cunfigurados unos paràmetros personalizados.

Ogetos de su nùcleu[modìfica | modìfica su còdighe de orìgine]

Sos ogetos de su nùcleu (kernel items) sunt funtzionas, variàbiles, archìvios de intestatzione e macro.[20]

Intestatziones de su nùcleu[modìfica | modìfica su còdighe de orìgine]

Is intestatziones de su nùcleu sunt archìvios header C chi frunint su cumpartzimentu de carchi definitzione de su nùcleu livellu bàsciu ABI intra nùcleu e aplicatziones de s'ispàtziu impitadore. Sa majoria de is aplicatziones non netzèssitat de custas intestatziones: issas serbint feti pro s'impreu deretu dae librerias de sistema, utilidades e dimònios de livellu bàsciu.

Su cumandu "make headers_install", cando esecutadu in s'àrbore de su còdighe de orìgine de su nùcleu, esportat is archìvios de intestatzione de su nùcleu in una forma adata a s'impreu de is programmas in s'ispàtziu impitadore.[21] Cando esportados, sa majoria de is intestatziones de su nùcleu s'agatant in sas cartellas /usr/include/asm e /usr/include/linux

Kernel panic[modìfica | modìfica su còdighe de orìgine]

Kernel Panic

In Linux, unu "panic" est una faddina de sistema individuada dae su nùcleu ca no podet èssere curreta, a su contràriu de errores pretzisos individuados in modalidade impitadore. Su còdighe de su nùcleu modas podet indicare una cunditzione de custu tipu mutinde sa funtzione panic decrarada in s'intestatzione sys/system.h. Comente si siat sa majoria de sos kernel panic sunt su resurtadu de etzetziones in su còdighe de su nùcleu, comente, pro esempru, riferimentos a indiritzos de memòria non bàlidos. Custu est de sòlitu inditu de

  • unu faddina in carchi ala de sa cadena de tzarradas de funtziones chi giughet a su kernel panic;
  • unu disacatu a livellu hardware, comente a una tzella de RAM iscalabrada o errores in sas funtziones aritmèticas in su protzessore provocados dae una faddina de su protzessore, unu protzessore subra-callentadu o iscalabradu;
  • una faddina a livellu programma;
  • un'errore in sos paràmetros frunidos dae su boot loader, a esèmpiu s'immàgine initrd.

Formados binàrios suportados[modìfica | modìfica su còdighe de orìgine]

Linux 1.0 suportaiat su formadu binàriu a.out e s'ELF, chi semplìficat sa creatzione de librerias cumpartzidas (medas impreadas dae sos modernos ambientes de iscrivania comente a KDE e GNOME[22]). ELF est su formadu istandard impreadu dae GCC fintzas dae sa versione 2.7.0. Pro custu oe in die a.out benit impreadu pagu.[23]

Linux suportat medas àteros formados binàrios, inclùdidos binfmt misc pro assotziare un'archìviu a unu programma (comente a un'intèrprete) pro esecutare o ammustrare cussu documentu.

Architeturas de sas màchinas virtuales[modìfica | modìfica su còdighe de orìgine]

Su nùcleu Linux tenet unu suportu estensivu e funtzionat subra numerosas architeturas de màchinas virtuales siat comente a sistema operativu "server", siat "client". Sas màchinas virtuales de sòlitu emulant sa famìlia de protzessores cun architetura x86 o AMD64, mancari chi in carchi casu siant emulados fintzas sos protzessores PowerPC o àteros.

Versiones[modìfica | modìfica su còdighe de orìgine]

Mentras isvilupat su còdighe suo e intregat sas mudas creadas dae unos àteros programmadores, Linus Torvalds sighit a publicare versiones noas de su nùcleu Linux. Custas sunt mutidas versiones "vanilla", a indicare chi non sunt istadas modificadas dae niunu àteru. Medas distributziones Linux modìficant su nùcleu pro su sistema issoro, maschetotu pro agiùnghere su suportu pro pilotas de dispositivu o caraterìsticas chi non sunt istadas publicadas comente a istàbiles, mentras unas àteras distributziones impreant unu nùcleu vanilla.

Su mollu de isvilupu pro Linux 2.6 diferit meda de su de Linux 2.5. In antis, esistiat unu ramu istàbile (2.4), in ue beniant atuadas isceti is mudadas minores e is ca fiant retentas seguras, e unu ramu instàbile (2.5), in ue imbetzes mudadas prus cunsistentes fiant permìtidas. Custu significaiat chi sos impitadores teniant semper una versione cun sas curretziones prus reghentes, ma depiant arreare pro sas agiuntas noas benende de su ramu 2.5. S'aspetu malu de custu protzedimentu, fiat chi sa versione istàbile de su nùcleu, cun su colare de su tempus, non suportaiat prus s'hardware reghente, e mancaiat de sas caraterìsticas chi a pagu a pagu resurtaiant netzessàrias.

Cara a sa fine de sa sèrie 2.5.x, unos isvilupadores ant detzìdidu de fàghere carchi muda in su ramu istàbile, ma custu at provocadu un'aumentu de is problemas in sa sèrie 2.4.x de su nùcleu. Su ramu 2.5 est istadu insandus decraradu istàbile e su nùmene cambiadu in 2.6. Imbetzes de abèrrere unu ramu 2.7 instàbile, sos sviluppatori ant sighidu a insertare mudas de importu in su ramu istàbile. In custa manera si sunt tentos a suta de controllu cun majore pretzisione sas mudadas, dividende·ddas in partes prus piticas, publichende sas caraterìsticas noas prus in presse, e ammaniende su nùmeru de persones chi proant su còdighe prus reghente.

Su mollu nou de isvilupu chi caraterizat su 2.6, in prus faghet a manera chi no esistat unu ramu istàbile pro is persones chi chircant isceti curretziones de faddinas o megioros de sa seguridade e non netzèssitant de sas ùrtimas caraterìsticas. Sas curretziones benint aplicadas isceti in sa versione prus reghente, aici si un'impitadore bolet una versione cun totu is faddinas nòdidas curregidas, otenet in su pròpiu tempus totu sas ùrtimas caraterìsticas, ma arriscat (in carchi casu) de non fàghere funtzionare prus carchi cosa chi in sa versione pretzedente funtzionaiant. Una curretzione partziale de custu problema est istada in antis mentovada (si bidat sa de bator tzifras de su nùmeru de sa versione): issa caraterizat sos nùcleos noos, ma non risolvet a manera cumprida carchi netzessidade chi non si diant a tènnere impreende unu ramu istàbile.

Comente risposta a sa farta de unu ramu istàbile de su nùcleu (cumprèndidu comente a ramu in ue non benint annantas mudadas, ma isceti curretziones), Adrian Bunk, in su nadale 2005, at annuntziadu chi diat àere sighidu a publicare nùcleos 2.6.16.y fintzas a cando esseret istada emìtida sa versione 2.6.17.[24] In prus, at progetadu de inclùdere agiornamentos relativos a is pilotas de dispositivu, fadende assimigiare s'isvilupu de sa sèrie 2.6.16 a su de sa betza 2.4.[25]

Su 10 santugaine 2008, est istada publicada sa versione istàbile 2.6.27.[26]. In su freàrgiu de su matessi annu, is isvilupadores ant a pustis tentu s'idea de unu ramu de su nùcleu instàbile, ca ddi narant linux-next: unu locu in ue acasagiare is mudas, cun s'intentu de ddas inclùdere in su tziclu de isvilupu imbeniente.[27]

In su trìulas de su 2011, pro festare su de 20 anniversàriu de sa nàschida de Linux, Torvalds at detzìdidu de publicare sa versione 3.0 de su nùcleu colende a unu sistema de numeratzione a 2 tzifras. S'ùrtima versione de sa sèrie 2.6 est istada sa 2.6.39.

In passadu su còdighe de orìgine de su nùcleu Linux fiat gestidu sena s'impreu de unu sistema automàticu de controllu versione, prus che totu pro ite a Torvalds non praghiant is sistemas de controllu tzentralizados.

In su 2002 s'isvilupu de su nùcleu est coladu a BitKeeper, unu sistema chi satisfaghiat sos recuisitos tècnicos rechertos dae Torvalds e chi funtzionaiat, a tzertos livellos, in paris cun unos àteros sistemas comente a CVS e Subversion. Mancari chi Torvalds e unos àteros isvilupadores otennerent BitKeeper in manera gratùita, su fatu chi no esseret programma lìberu at causadu contierras.

Su tentativu de ingegneria a sa revessa de Andrew Tridgell subra BitKeeper ant aconcadu BitMover, sa cumpangia chi gestiat BitKeeper, a acabbare s'amparu suo a sa comunidade de isvilupu de Linux. Duncas, Torvalds e àteros ant iscritu unu sistema nou de controllu de versione, ca ddi narant git; su programma nou est istadu iscritu in pagu chidas, e duos meses a pustis est istada publicada sa prima versione ufitziale de Linux ca at impreadu git.[28] Pagu a pustis, git est divenidu unu progetu indipendente, balangende·si un'ampra difusione in sa comunidade de su programma lìberu.

Mantenidura[modìfica | modìfica su còdighe de orìgine]

Linus Torvalds est su controllore de is mudadas e de sa publicatzione de sas ùrtimas versiones de su nùcleu: at delegadu sa mantenidura de sas versiones prus datadas a unos àteros programmadores. Carchi versiones betzas comente a sa 2.0 (ufitzialmente essida betza dae sa publicatzione de Linux 2.2.0 in su ghennàrgiu 1999) sunt agiornadas isceti cando custu paret netzessàriu e sas mudadas sunt raras meda.

Sèrie de su nùcleu Versione currente Controllore
2.0 2.0.40 David Weinehall[29]
2.2 2.2.27-rc2 Marc-Christian Petersen[30] (in antis, Alan Cox)
2.4 2.4.37-rc2 Willy Tarreau[31] (in antis, Marcelo Tosatti)
2.6.16 2.6.16.62 Adrian Bunk[32]
2.6.17+ (mudadas fitianas) Linus Torvalds
2.6.x-mm (càmbiat a manera lestra) Andrew Morton

Unos àteros programmadores de Linux connotos sunt Robert Love e Ingo Molnár.[33]

Numeratzione de sas versiones[modìfica | modìfica su còdighe de orìgine]

Pro meda tempus sa versione de su nùcleu de Linux fiat assentada dae tres nùmeros, ma in manera reghente custu sistema est istadu modificadu e oras sa versione cunsistet de bator tzifras, in sa forma "A.B.C[.D]", pro esempru 2.2.1, 2.4.13, opuru 2.6.12.3;

  • sa 'A' indicat sa versione de su nùcleu, chi benit modificada pagu bortas e isceti cando ddoe at mudadas radicales de su còdighe (fintzas a su 2008 custu est acontèssidu solu duas bortas, in su 1994, cun s'introdutzione de sa versione 1.0, e in su 1996 cun sa versione 2.0) o pro resones tzelebrativas (versione 3, in su 2011, pro sos 20 annos de su nùcleu Linux);
  • sa 'B' indicat sa revisione "majore" de su nùcleu:
    • in antis de sa sèrie 2.6.x, is nùmeros paris (comente a 1.2, 2.4, opuru 2.6) indicaiant unu ramu istàbile e is nùmeros dìspari (comente a 1.1 opuru 2.5) indicaiant ramos de isvilupu, in ue fiant isperimentadas caraterìsticas noas e pilotas de dispositivu fintzas a cando custas non fiant pariant prontas a èssere inclùdidas in su ramu istàbile;
    • cumintzende dae sa sèrie 2.6.x, sa diferèntzia tra nùmeros paris e dìspari perdet de significadu, ca s'isvilupu de caraterìsticas noas acontesset a s'internu de su matessi ramu, pro otènnere un'isvilupu prus lineare;
  • sa 'C' indicat sa revisione "minore" de su nùcleu: in s'ischema betzu de numeratzione, custu nùmeru creschiat cando beniant ativados annoaduras chi pertocaiant sa seguridade, curretziones de carchi faddina, caraterìsticas noas, o pilotas noos de dispositivu; segundu su mollu atuale custu nùmeru benit cambiadu isceti cando pilotas noos o caraterìsticas diferentes sunt introduidas, ca is curretziones minores sunt contadas dae su nùmeru signadu cun 'D';
  • s'impreu de sa 'D' est incumentzadu cando unu problema sèriu, chi recheriat una curretzione immediata, est istadu agatadu in su còdighe NFS de sa versione 2.6.8. No ddoe fiat su bisòngiu de mudadas chi giustificaiant sa publicatzione de una revisione minore (chi diat èssere divenida sa versione 2.6.9), aici, sa 2.6.8.1 est istada publicada cun sa curretzione de custu errore isceti. De ss 2.6.11, custu mollu est istadu adotadu comente a paradigma ufitziale nou. Curretziones de seguridade como so contadas de aici, cun sa de bator tzifras, mentras si ddoe at mudadas prus cunsistentes, s'impreat sa de tres tzifras. In prus, sa tzifra 'D' est assotziada cun su nùmeru de bortas chi su compiladore at costrùidu su nùcleu, e est denominada "build number".

In prus, a bortas si podent agatare unas àteras lìteras a pustis de sa versione, comente a 'rc1' o 'mm2'; 'rc' est una versione candidada pro èssere adotada comente a istàbile, e indicat una publicatzione no ufitziale. Unas àteras lìteras, imbetzes, sunt a s'ispissu (ma non semper) sas initziales de una persone: custu signalat unu fork de su nùcleu fatu dae custa persone. Pro esempru, 'ck' bolet nàrrere Cun Kolivas, 'ac' Alan Cox, mentras 'mm' indicat Andrew Morton. A bortas, sas lìteras sunt collegadas a sa caraterìstica printzipale de su nùcleu. Pro esempru, 'wl' indicat una versione de proa pro sas retzes sena filos.

Versiones istòricas[modìfica | modìfica su còdighe de orìgine]

Sa prima versione de su nùcleu est istada sa 0.01. A pustis sunt bènnidas sa 0.02, 0.03, 0.10, 0.11, 0.12 (sa prima versione a suta de lissèntzia GNU Generale Public License), 0.95, 0.96, 0.97, 0.98, 0.99, e de sa 1.0. De sa versione 0.95 a is imbenientes, sunt istadas publicadas medas suta-versiones.

Cronologia de sa versione istàbile[modìfica | modìfica su còdighe de orìgine]

Ddoe sunt istadas duas versiones majores istàbiles de Linux 1.x: sa 1.0 e sa 1.2. Sa versione 1.0 est istada publicada su 14 martzu 1994.[34] Custa versione fiat cumpatìbile isceti cun is sistemas a protzessore sìngulu i386. A pustis nche sunt istados pensamentos in contu de sa portabilidade, e aici sa versione 1.2 (publicada su 7 martzu 1995) at achiridu su suportu pro sos sistemas basados subra architeturas DEC Alpha, SPARC, e MIPS.[35] Custa est istada s'ùrtima versione istàbile emìtida in sa sèrie 1.x de Linux.

Sa versione 2.x de Linux at bidu unu nùmeru mannu de mudadas, prus che totu in sa sèrie 2.6 e in sa manera de dda isvilupare, mantènnere e publicare. Sas versiones 2.0, 2.2, e 2.4 sunt istados costrùidas impreende su sistema betzu de isvilupu in ue onniunu de is nùcleos fiat basadu subra sa versione istàbile de su pretzedente. Sa versione 2.0 est istada publicada su 9 làmpadas 1996.[36] Ddoi sunt istados 41 publicatziones in custa sèrie. Sa caraterìstica printzipale de su nùcleu 2.0 fiat su suportu a is sistemas multi-protzessore simmètricos e su suportu pro prus genias de protzessores.

Dae sa versione 2.2 (publicada su 26 ghennàrgiu 1999) est istadu bogadu su spinlock globale. Fiat frunidu unu mègius suportu a su multi-protzessore simmètricu e est istadu agiuntu su suportu pro sas architeturas m68k e PowerPC, ultres a s'annanta de sistemas de archìvios noos (inclùdidu su suportu in sola letura pro su sistema de sa Microsoft, NTFS).[37][38] Sa sèrie 2.4.x incluit caraterìsticas noas. Sa versione 2.4.0, publicada su 4 ghennàrgiu 2001, cunteniat su suportu pro ISA Plug and play, USB, e PC Card.[39][40] In prus, includiat su suportu pro sos protzessores PA-RISC de s'Hewlett-Packard. Durante s'isvilupu de sa sèrie 2.4.x sunt istadas agiuntas unas àteras caraterìsticas includende: suportu Bluetooth, Logical Volùmene Manager (LVM) versione 1, suportu RAID, InterMezzo FS e ext3 FS.

Cun s'arribu de sa sèrie 2.6.x, su sistema de numeratzione est cambiadu de manera chi nche poderent èssere 4 tzifras in su nùmeru de versione de su nùcleu, donende·ddi su formadu 2.6.x.y (in ue .y est optzionale). Is caraterìsticas noas benint immoe agiuntas tra unu nùmeru x e s'àteru, mentras is nùmeros y sunt a parusu riservados a sa curretziones de faddinas. Sa versione 2.6.0 est istada publicada su 18 nadale 2003.[41]. Tra is mudadas fatas in custa sèrie ddoe ant: s'integratzione de µClinux in su còdighe de orìgine printzipale de su nùcleu, su suportu a sa PAE, su suportu a diversas noas lìnias de CPU, s'integratzione de ALSA in su còdighe de orìgine printzipale, su suportu a unu nùmeru de impitadores finas 232 (216 in sas versiones in antis), su suportu a unu nùmeru de protzessos finas 230 (215 in sas versiones in antis), una crèschida sustantziale de su nùmeru de tipos de dispositivu e de su nùmeru de aparatos pro ogni tipu, suportu a sos protzessores a 64 bit megioradu, suportu de sistemas de archìvios finas 16 terabytes, prelatzione in su nùcleu, suportu a sa libreria Native POSIX Thread Library, integratzione in de andLinux e de SELinux in su còdighe de orìgine printzipale de su nùcleu, suportu a Infiniband, e meda àteru. Importante a su pròpriu est s'annanta de diversos sistemas de archìvios durante is publicatziones de sa sèrie 2.6.x: FUSE, JFS, XFS, ext4 e àteros.[42]

In su trìulas de su 2011, pro festare su 20º anniversàriu de sa nàschida de Linux, Torvalds at detzìdidu de colare a unu sistema de numeratzione a 2 tzifras, publichende sa versione 3.0 de su nùcleu. S'ùrtima versione de sa sèrie 2.6 est istada sa 2.6.39.

Su 12 martzu 2015 benit publicadu Linux 4.0.

Costu istimadu pro s'isvilupu[modìfica | modìfica su còdighe de orìgine]

Su costu pro torrare a isvilupare sa versione 2.6.0 de Linux comente a programma propietàriu est istadu istimadu in su 2004 pari a 612 milliones de dollaros (467 milliones de èuros) impreende su mollu de istima òmine-mese COCOMO.[43]

In su 2006, un'istùdiu finantziadu dae s'Unione europea at istimadu chi, isvilupare de zero (in un' òtica propietària) su nùcleu 2.6.8 o superiore, diat costare 882 milliones de èuros.[44]

Aspetos legales[modìfica | modìfica su còdighe de orìgine]

Màrchiu registradu[modìfica | modìfica su còdighe de orìgine]

Linux est unu màrchiu registradu de Linus Torvalds in sos Istados Unidos e in unos àteros paisos. Custu est su resurtadu de un'intzidente in ue William Della Croce Jr., chi non partetzipaiat a s'isvilupu de su progetu Linux, at registradu su nùmene e posca at rechertu una royalty pro s'impreu suo. Unos cantos sustenidores de Linux ant pedidu cussìgiu legale e ant fatu càusa contra Della Croce, chi at acunsentidu in su 1998 a assignare su màrchiu a Torvalds.

Cunditziones de lissèntzia[modìfica | modìfica su còdighe de orìgine]

In comintzu, Torvalds at publicadu Linux cun una lissèntzia chi nde proibiat s'isfrutamentu cumertziale. Custa però at lassadu chitzo su locu a sa GNU Generale Public License (GPL) de sa versione 0.12. Custa lissèntzia permitet sa distributzione e sa bèndida de versiones modificadas o non modificadas de Linux a cunditzione chi siant publicadas cun sa matessi lissèntzia e chi siat frunidu su còdighe de orìgine.

Torvalds at descritu s'adotzione de sa lissèntzia GPL comente a "sa mègius faina chi apa mai fatu."[45]

GPL versione 3[modìfica | modìfica su còdighe de orìgine]

A tempos de oe, Linux adotat sa versione 2 de sa lissèntzia GPL, sena sèberu perunu (a diferèntzia de medas programmas publicados cun lissèntzia GPL) chi permitet s'impreu de una versione prus sobrada, e ddoe ant contierras subra sa sa fatzilidade cun sa cale si diant pòdere impreare versiones imbenientes comente a sa 3 (e subra cantu disìgiu ddoe siat).[46] Torvalds matessi at ispetzificadu durante sa publicatzione de sa versione 2.4.0 chi su còdighe suo adotat feti sa versione 2 de sa lissèntzia.[47] De ogni manera, sos tèrmines de sa lissèntzia GPL afirmant chi, si non benit ispetzificada peruna versione, podet èssere impreada cale si chi siat, e Alan Cox at fatu notare chi isceti pagos de cussos chi contribuint a Linux ant ispetzificadu una versione de sa lissèntzia GPL.[48] Unu bloger at concruidu chi belle su 40% de su còdighe de Linux est emìtidu cun lissèntzia ispetzìfica "GPL2 o superiora", e un'àteru belle 10% cun lissèntzia "GPL" (cun versione no ispetzificada). In su cabudanni 2006, un'iscumbata subra 29 isvilupadores importantes de su nùcleu at indicadu chi 28 de custos preferiant GPLv2 a sa GPLv3, insandus in istadu de botza. Torvalds at cummentadu: «Penso chi unu nùmeru mannu de persones esternas creiant chi essere deo s'ùnicu istròlicu, pro su fatu chi apo decraradu publicamente de no èssere un'ammiradore mannu de sa GPLv3».[49]

Mòdulos de nùcleu carrigàbiles e firmware[modìfica | modìfica su còdighe de orìgine]

No est craru si is mòdulos de nùcleu (LKM) depant èssere cunsiderados òpera derivada pro sa lege de su copyright, e duncas intrent in sos tèrmines de sa lissèntzia GPL. Torvalds at afirmadu chi sos mòdulos, impreende isceti unu grupu limitadu de interfàtzias "pùblicas" de su nùcleu, podent a bias no èssere cunsiderados òperas derivadas, e est tando possìbile tènnere carchi pilota de dispositivu in formatu binàrios a manera esclusiva e unos àteros mòdulos chi no impreant sa lissèntzia GPL. Unos cantos cuntribuidores a s'isvilupu de Linux però non sunt de acòrdiu cun custa interpretatzione, e fintzas Torvalds etotu ammitet chi medas mòdulos sunt de seguru òperas derivadas, e difatis at iscritu chi "Is mòdulos de nùcleu SUNT òperas derivadas 'pro default'".

A prus de custu, Torvalds at naradu puru chi "Un'àrea murra est carchi cosa comente a unu pilota de dispositivu iscritu dae printzìpiu pro un'àteru sistema operativu (duncas, de seguru no un' òpera derivada dae Linux in orìgine). [...] CUDDA est un'àrea murra, e _cudda_ est s'àrea in ue personalmente penso chi carchi mòdulu diat pòdere no èssere cunsideradu òpera derivada, pro ite non sunt istados progetados pro Linux e non dipendent de perunu cumportamentu ispetziale de Linux." Is pilotas gràficos propietàrios prus che totu sunt a su tzentru de unu dibatu. In definitiva, est dàbile chi custas chistiones potzant èssere risòlvidas feti de unu tribunale.

Unu puntu de contierra subra a sa lissèntzia est s'impreu in Linux de firmware "binàriu" pro suportare carchi dispositivos hardware. Richard Stallman afirmat chi custos programmas faghent de Linux unu programma in parte no abertu, e chi distribuire Linux diat pòdere fintzas violare sa lissèntzia GPL (chi recheret sa presèntzia de totu su còdighe de orìgine).[50]

In risposta a custu, sa Free Software Foundation Latin America (FSFLA) at aviadu unu progetu, denominadu Linux-libre, pro creare unu nùcleu de s'in totu lìberu, sena mòdulos propietàrios, pro pòdere èssere impreadu in distributziones cun còdighe lìberu isceti, comente a Trisquel GNU/Linux.

Notas[modìfica | modìfica su còdighe de orìgine]

  1. COPYING, in kernel.org. URL consultadu su 24 martzu 2016.
  2. index : kernel/git/stable/linux-stable.git, in git.kernel.org (archiviadu dae s'url originale s'8 nadale 2016).
  3. Marjorie Richardso, Intervista: Linus Torvalds, Linux Journal, 1º santandria 1999. URL consultadu su 20 austu 2009.
  4. Linus Torvalds, What would you like to see most in minix?, in comp.os.minix, 26 austu 1991. URL consultadu su 25 nadale 2008.
  5. Linus Torvalds, Free minix-like kernel sources for 386-AT, in comp.os.minix, 5 santugaine 1991. URL consultadu su 25 nadale 2008.
  6. David W Summers, Troubles with Partitions, in alt.os.linux / comp.os.minix, 19 ghennàrgiu 1992. URL consultadu su 24 nadale 2008 (archiviadu su 24 nadale 2008).
  7. Alan B Clegg, It's here!, in comp.os.linux, 31 martzu 1992. URL consultadu su 24 nadale 2008 (archiviadu su 24 nadale 2008).
  8. "Linux Kernel Data."
  9. "Linux Kernel Data."
  10. Andrew Stuart Tanenbaum, LINUX is obsolete, in comp.os.minix, 29 ghennàrgiu 1992. URL consultadu su 25 nadale 2008 (archiviadu dae s'url originale su 25 nadale 2008).
  11. Linus Torvalds, Hybrid kernel, not NT, in realworldtech.com, 9 maju 2006. URL consultadu su 6 ghennàrgiu 2007.
  12. Andy Tanenbaum, Tanenbaum-Torvalds Debate: Part II, in cs.vu.nl, 12 maju 2006. URL consultadu su 6 ghennàrgiu 2007.
  13. Linus Torvalds, Re: GPLv3 Position Statement, in lkml.org, 25 cabudanni 2006.
  14. File README, git.kernel.org. URL consultadu su 12 santandria 2010.
  15. File COPYING, git.kernel.org. URL consultadu su 16 freàrgiu 2011 (archiviadu dae s'url originale su 21 nadale 2012).
  16. Le nuove release sono reperibili sul sito kernel.org
  17. GNU Linux-libre, Free as in Freedo, in Free Software Foundation Latin America. URL consultadu su 21 ghennàrgiu 2015.
    «Linux, the kernel developed and distributed by Linus Torvalds et al, contains non-Free Software, i.e., software that does not respect your essential freedoms, and it induces you to install additional non-Free Software that it doesn't contain.».
  18. Driver porting: the preemptible kernel [LWN.net], lwn.net, https://lwn.net/Articles/22912/. URL consultadu su 18 austu 2019.
  19. Top 500 Supercomputer Sites, https://www.top500.org/statistics/details/osfam/1.
  20. Linux Device Drivers, 2nd Edition: Chapter 2: Building and Running Modules
  21. Linux Kernel Documentation :: make : headers_install.txt
  22. ldd /usr/bin/kwin lists 40 shared libraries (kwin 3.5.5a); ldd /usr/bin/gnome-panel lists 68 (gnome-panel 2.14.3).
  23. Daniel Barlow, The Linux ELF HOWTO, in ibiblio.org, 13 cabudanni 1995. URL consultadu su 19 trìulas 2007 (archiviadu dae s'url originale su 12 santugaine 2007).
  24. Linux: 2.6.16.y Lives On | KernelTrap
  25. Linux: Maintaining A 2.6.16.y Tree | KernelTrap
  26. The Linux Kernel Archives
  27. linux-next and patch management process [LWN.net]
  28. Linux Kernel Mailing List, Linux 2.6.12, in marc.info, 17 làmpadas 2005.
  29. David Weinehall, [ANNOUNCE] Linux-kernel 2.0.40 aka ``The Moss-covered Tortoise, in kerneltrap.org, 8 freàrgiu 2004 (archiviadu dae s'url originale su 30 maju 2012).
  30. Marc-Christian Petersen, Linux 2.2.27-rc2, in kerneltrap.org, 13 ghennàrgiu 2005 (archiviadu dae s'url originale su 30 maju 2012).
  31. Willy Tarreau, Linux 2.4.37-rc1, in marc.info, 7 cabudanni 2008.
  32. Adrian Bunk, linux-kernel, in marc.info, 21 trìulas 2008.
  33. Per l'elenco completo vedi Linux MAINTAINERS file.
  34. Kernel 1.0 Source Code Release, in kernel.org. URL consultadu su 27 santugaine 2008.
  35. Kernel 1.2 Source Code Release, in kernel.org. URL consultadu su 27 santugaine 2008.
  36. Kernel 2.0.x Source Code Releases, in kernel.org. URL consultadu su 27 santugaine 2008.
  37. Kernel 2.2.x Source Code Releases, in kernel.org. URL consultadu su 27 santugaine 2008.
  38. The Wonderful World of Linux 2.2, in kniggit.net. URL consultadu su 27 santugaine 2008 (archiviadu dae s'url originale su 18 santandria 2005).
  39. Kernel 2.4.x Source Code Releases, in kernel.org. URL consultadu su 27 santugaine 2008.
  40. The Wonderful World of Linux 2.4, in kniggit.net. URL consultadu su 27 santugaine 2008 (archiviadu dae s'url originale su 18 santandria 2005).
  41. Kernel 2.6.x.y Source Code Releases, in kernel.org. URL consultadu su 27 santugaine 2008.
  42. Altri dettagli sulla storia della serie 2.6 del kernel possono essere trovati sul ChangeLog situato in the 2.6 kernel series source code release area
  43. David A. Wheeler, Linux Kernel 2.6: It's Worth More!, in dwheeler.com, 12 santugaine 2004. URL consultadu su 28 làmpadas 2016.
  44. Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector (PDF), in ec.europa.eu, 20 santandria 2006. URL consultadu su 28 làmpadas 2016 (archiviadu dae s'url originale su 6 trìulas 2015).
  45. Hiroo Yamagata, The Pragmatist of Free Software, HotWired. URL consultadu su 21 freàrgiu 2007 (archiviadu dae s'url originale su 10 freàrgiu 2007).
  46. Jonathan Corbet, GPLv3 and the kernel, LWN.net, 31 ghennàrgiu 2006. URL consultadu su 21 freàrgiu 2007.
  47. Linus Torvalds, Linux-kernel mailing list archive, Unix Systems Support Group of Indiana University, 8 cabudanni 2000. URL consultadu su 21 freàrgiu 2007 (archiviadu dae s'url originale su 27 austu 2006).
  48. Alan Cox, Linux-kernel mailing list archive, LWN.net, 20 ghennàrgiu 2006. URL consultadu su 21 freàrgiu 2007.
  49. Stephen Shankland, Top Linux programmers pan GPL 3, News.com, 25 cabudanni 2006. URL consultadu su 21 freàrgiu 2007.
  50. Richard Stallman, Linux, GNU, and freedom, Free Software Foundation, 11 santugaine 2006. URL consultadu su 21 freàrgiu 2007.

Bibliografia[modìfica | modìfica su còdighe de orìgine]