Linux on käyttöjärjestelmän ydin, joka toiminnallisuudeltaan vastaa laitteiston hallinnasta ja resurssien jakamisesta käyttöjärjestelmässä. Ydin tarjoaa järjestelmäkutsut, laitteistoabstrahoinnin, prosessien ajoituksen, muistin hallinnan, laitteiden ajurit sekä virtuaalisen tiedostojärjestelmän rajapinnan. Monet erilaiset Unixin kaltaiset käyttöjärjestelmät käyttävät tätä ydintä; tällaisia järjestelmiä kutsutaan yleisesti Linux-käyttöjärjestelmiksi.
Linux-ydin on julkaistu GNU General Public License version 2 (GPLv2) -lisenssillä, ja sen koodia kehittävät ja ylläpitävät ohjelmoijat, laitevalmistajat ja yritykset ympäri maailmaa. Ytimen kehitys tapahtuu hajautetusti git-versionhallinnan kautta, ja Linus Torvalds toimii ytimen yhteisen kehityshaaran ylläpitäjänä yhdessä lukuisten alajoukkueiden ja ylläpitäjien kanssa.
Linux-ytimen keskeisiä ominaisuuksia ja toimintoja ovat muun muassa:
- Laitteistoabstrahointi ja ajurit: laaja tuki erilaisille laitteille ja mahdollisuus lisätä latautuvia moduuleja ajureita varten.
- Prosessinhallinta ja ajoitus: moniprosessointi, monisäikeisyys ja kehittyneet ajoitusalgoritmit suorituskyvyn optimointiin.
- Muistin hallinta: virtuaalimuistin tuki, sivutus, muistinhallinnan optimoinnit ja suurten muistikokojen hallinta.
- Tiedostojärjestelmät ja VFS: abstraktio eri tiedostojärjestelmille (esim. ext4, XFS, btrfs) ja verkon yli toimivat järjestelmät.
- Verkko-ominaisuudet: tehokas verkkopino, tuet monille protokollille ja suorituskykyä parantavat ominaisuudet palvelimille ja reitittimille.
- Turva- ja eristystoiminnot: LSM-laajennukset (esim. SELinux, AppArmor), palomuurit ja karkeammat käyttöoikeuksien hallintamekanismit.
- Säiliöt ja virtualisointi: nimiavaruudet (namespaces), cgroups ja KVM-tuki mahdollistavat konttiteknologiat ja virtualisoinnin.
- Skalautuvuus ja siirrettävyys: ytimen arkkitehtuuri tukee kaikkea sulautetuista järjestelmistä suuriin palvelinympäristöihin ja supertietokoneisiin useilla eri prosessoriarkkitehtuureilla.
Ytimen kehitys- ja julkaisumalli on nopea ja hierarkkinen: päivitykset, korjaukset ja uudet ominaisuudet käsitellään avoimesti kehittäjäyhteisössä, ja säännölliset julkaisut (stable-, longterm- ja integraatioversiot) antavat sekä turvallisuuspäivityksiä että uusia ominaisuuksia jakeluille ja loppukäyttäjille. Kehitys on erittäin modulaarista siten, että eri alajoukkueet vastaavat esimerkiksi verkosta, tiedostojärjestelmistä ja laiteajureista.
GPLv2-lisenssin merkitys Linux-ytimelle:
- Vapaus käyttää ja muokata: kuka tahansa voi käyttää, tutkia ja muokata ytimen lähdekoodia.
- Lähdekoodin saatavuus: jos muokattua tai alkuperäistä ytimen binäärimuotoa jaetaan eteenpäin, jakajan on tarjottava myös lähdekoodi tai kirjallinen tarjous lähdekoodin toimittamisesta.
- Copyleft-vaikutus: GPLv2 vaatii, että johdannaisteokset (eli tyypillisesti muutokset itse ytimeen) pysyvät samalla lisenssillä, mikä varmistaa vapauden säilymisen jatkossakin.
- Vastuuvapaus: lisenssi sisältää normaalisti vastuuvapauslausekkeet (ei takuuta), mikä on tärkeä sekä kehittäjille että jakelijoille.
On syytä huomata, että GPLv2:n soveltaminen käytäntöön voi olla monimutkaista: esimerkiksi moduulien lisenssiasema ja sen katsominen johdannaisteokseksi vai ei on oikeudellinen ja tekninen kysymys, jota eri osapuolet ovat tulkinneet eri tavoin. Käytännössä monet laitevalmistajat ja jakelijat noudattavat kuitenkin GPLv2:n periaatteita tarjotakseen lähdekoodin, kun he laittavat ytimen tai siihen perustuvan ohjelmiston jakeluun.
Jos haluat tutustua Linux-ytimen lähdekoodiin, rakentaa oman ytimen tai seurata kehitystä, saat lähdekoodipaketit ja lisätiedot julkisista arkistoista ja kehitysyhteisön kanavista. Ytimen laaja dokumentaatio, kehittäjäohjeet ja jakeluissa käytetyt konfiguraatiot auttavat aloittamaan ja ymmärtämään, miten juuri sinun laitteellesi sopiva ydin kootaan ja mukautetaan.

