Linuxový kernel v posledních letech Jiˇrí Kosina <[email protected]> a Jan ”Yenya” Kasprzak http://www.fi.muni.cz/˜kas/ SUSE Labs, Masarykova unverzita
XXXI. konference EurOpen.CZ
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
1 / 24
Obsah pˇrednášky
1
Vývojový model Linuxu
2
Co je nového v kernelu?
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
2 / 24
Anketa
Anketa na úvod
Otázka: Kdo v posledním týdnu nepoužil Linux?
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
3 / 24
Anketa
Anketa na úvod
Otázka: Kdo v posledním týdnu nepoužil Linux?
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
3 / 24
Vývojový model Linuxu
Vývojový model Linuxu
1
Vývojový model Linuxu
2
Co je nového v kernelu?
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
4 / 24
Vývojový model Linuxu
Jak to bylo dˇríve?
Linux je velký projekt
> 1000 aktivních vývojáˇru ˚ Jak zajistit kvalitu kódu? Jak zajistit propustnost?
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
5 / 24
Vývojový model Linuxu
Jak to bylo dˇríve?
Linux je velký projekt
> 1000 aktivních vývojáˇru ˚ Jak zajistit kvalitu kódu? Jak zajistit propustnost?
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
5 / 24
Vývojový model Linuxu
Jak to bylo dˇríve?
Linux je velký projekt
> 1000 aktivních vývojáˇru ˚ Jak zajistit kvalitu kódu? Jak zajistit propustnost?
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
5 / 24
Vývojový model Linuxu
Jak to bylo dˇríve?
Puvodní ˚ vývojový model
stabilní vˇ etev vývojová vˇ etev ˇíslo verze: x.y.z (napˇr. 2.4.14) c stabilní: Even a newbie can use this. vývojová: Odd things may happen.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
6 / 24
Vývojový model Linuxu
Jak to bylo dˇríve?
Puvodní ˚ vývojový model
stabilní vˇ etev vývojová vˇ etev ˇíslo verze: x.y.z (napˇr. 2.4.14) c stabilní: Even a newbie can use this. vývojová: Odd things may happen.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
6 / 24
Vývojový model Linuxu
Jak to bylo dˇríve?
Puvodní ˚ vývojový model
stabilní vˇ etev vývojová vˇ etev ˇíslo verze: x.y.z (napˇr. 2.4.14) c stabilní: Even a newbie can use this. vývojová: Odd things may happen.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
6 / 24
Vývojový model Linuxu
Jak to bylo dˇríve?
Puvodní ˚ vývojový model
stabilní vˇ etev vývojová vˇ etev ˇíslo verze: x.y.z (napˇr. 2.4.14) c stabilní: Even a newbie can use this. vývojová: Odd things may happen.
Pˇríliš dlouho! odradí uživatele (nové drivery) odradí vývojáˇre (jejich kód se nepoužívá) ˇást odradí distributory (musí používat c vývojové vˇ etve)
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
7 / 24
Vývojový model Linuxu
Jak je to ted’?
Jak to ˇrešit?
Kratší vývojový cyklus! další vývoj ve „stabilní“ vˇ etvi 2.6 vˇ etev 2.7 se neplánuje 2.6.n – 2.6.n+1: 2–3 mˇ esíce Cíl: Pˇríliš se nevzdalovat od stabilního stavu.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
8 / 24
Vývojový model Linuxu
Jak je to ted’?
Jak to ˇrešit?
Kratší vývojový cyklus! další vývoj ve „stabilní“ vˇ etvi 2.6 vˇ etev 2.7 se neplánuje 2.6.n – 2.6.n+1: 2–3 mˇ esíce Cíl: Pˇríliš se nevzdalovat od stabilního stavu.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
8 / 24
Vývojový model Linuxu
Jak je to ted’?
Jak to ˇrešit?
Kratší vývojový cyklus! další vývoj ve „stabilní“ vˇ etvi 2.6 vˇ etev 2.7 se neplánuje 2.6.n – 2.6.n+1: 2–3 mˇ esíce Cíl: Pˇríliš se nevzdalovat od stabilního stavu.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
8 / 24
Vývojový model Linuxu
Jak je to ted’?
Jak to ˇrešit?
Kratší vývojový cyklus! další vývoj ve „stabilní“ vˇ etvi 2.6 vˇ etev 2.7 se neplánuje 2.6.n – 2.6.n+1: 2–3 mˇ esíce Cíl: Pˇríliš se nevzdalovat od stabilního stavu.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
8 / 24
Vývojový model Linuxu
Jak je to ted’?
Jak to ˇrešit?
Kratší vývojový cyklus! další vývoj ve „stabilní“ vˇ etvi 2.6 vˇ etev 2.7 se neplánuje 2.6.n – 2.6.n+1: 2–3 mˇ esíce Cíl: Pˇríliš se nevzdalovat od stabilního stavu.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
8 / 24
Vývojový model Linuxu
Jak je to ted’?
ˇ Casový rozvrh
2.6.n: otevˇre se merge window 2.6.n + 14 dní: 2.6.n+1-rc1 – jen opravy chyb 2.6.n+1-rcN: další stabilizace 2.6.n+1: další merge window
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
9 / 24
Vývojový model Linuxu
Jak je to ted’?
ˇ Casový rozvrh
2.6.n: otevˇre se merge window 2.6.n + 14 dní: 2.6.n+1-rc1 – jen opravy chyb 2.6.n+1-rcN: další stabilizace 2.6.n+1: další merge window
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
9 / 24
Vývojový model Linuxu
Jak je to ted’?
ˇ Casový rozvrh
2.6.n: otevˇre se merge window 2.6.n + 14 dní: 2.6.n+1-rc1 – jen opravy chyb 2.6.n+1-rcN: další stabilizace 2.6.n+1: další merge window
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
9 / 24
Vývojový model Linuxu
Jak je to ted’?
ˇ Casový rozvrh
2.6.n: otevˇre se merge window 2.6.n + 14 dní: 2.6.n+1-rc1 – jen opravy chyb 2.6.n+1-rcN: další stabilizace 2.6.n+1: další merge window
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
9 / 24
Vývojový model Linuxu
Jak je to ted’?
A co kritické chyby?
2.6.n.m bezpeˇ cnostní problém nebo chyba od 2.6.n-1 < 100 ˇrádk˚ u patch
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
10 / 24
Vývojový model Linuxu
Jak je to ted’?
A co kritické chyby?
2.6.n.m bezpeˇ cnostní problém nebo chyba od 2.6.n-1 < 100 ˇrádk˚ u patch
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
10 / 24
Vývojový model Linuxu
Jak je to ted’?
A co kritické chyby?
2.6.n.m bezpeˇ cnostní problém nebo chyba od 2.6.n-1 < 100 ˇrádk˚ u patch
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
10 / 24
Vývojový model Linuxu
Jak je to ted’?
A co kritické chyby?
2.6.n.m bezpeˇ cnostní problém nebo chyba od 2.6.n-1 < 100 ˇrádk˚ u patch
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
10 / 24
Vývojový model Linuxu
Jak je to ted’?
Když dva mˇ esíce nestaˇ cí
Andrew Morton -mm tree „vývojová vˇ etev“ pro dlouhodobˇ ejší projekty
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
11 / 24
Vývojový model Linuxu
Správa verzí
Správa verzí
až do verze 2.4: žádný verzovací systém Linux 2.5: BitKeeper BitKeeper closed source jednotka práce: changeset nelineární vývoj sluˇ cování vˇ etví
content-addressable filesystem idea z VCS Monotone http://git.or.cz/ rychlost! nelineární vývoj sluˇ cování vˇ etví kryptografická prokazatelnost historie
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
13 / 24
Vývojový model Linuxu
Správa verzí
Git
content-addressable filesystem idea z VCS Monotone http://git.or.cz/ rychlost! nelineární vývoj sluˇ cování vˇ etví kryptografická prokazatelnost historie
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
13 / 24
Vývojový model Linuxu
Správa verzí
Git
content-addressable filesystem idea z VCS Monotone http://git.or.cz/ rychlost! nelineární vývoj sluˇ cování vˇ etví kryptografická prokazatelnost historie
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
13 / 24
Vývojový model Linuxu
Správa verzí
Git
content-addressable filesystem idea z VCS Monotone http://git.or.cz/ rychlost! nelineární vývoj sluˇ cování vˇ etví kryptografická prokazatelnost historie
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
13 / 24
Vývojový model Linuxu
Správa verzí
Git
content-addressable filesystem idea z VCS Monotone http://git.or.cz/ rychlost! nelineární vývoj sluˇ cování vˇ etví kryptografická prokazatelnost historie
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
13 / 24
Vývojový model Linuxu
Správa verzí
Git
content-addressable filesystem idea z VCS Monotone http://git.or.cz/ rychlost! nelineární vývoj sluˇ cování vˇ etví kryptografická prokazatelnost historie
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
13 / 24
Vývojový model Linuxu
Správa verzí
Git
content-addressable filesystem idea z VCS Monotone http://git.or.cz/ rychlost! nelineární vývoj sluˇ cování vˇ etví kryptografická prokazatelnost historie
Firma Nezjištˇ eno Red Hat Novell Linux Foundation IBM Intel SGI NetApp ...
Kosina, Kasprzak (SUSE, FI MU)
Poˇ cet zmˇ en 27976 6106 5923 4843 3991 2244 1353 636 ...
Linuxový kernel v posledních letech
Procenta 47.3 10.3 10.0 8.2 6.7 3.8 2.3 1.1 ...
EurOpen 2007
15 / 24
Co je nového v kernelu?
Co je nového v kernelu?
1
Vývojový model Linuxu
2
Co je nového v kernelu?
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
16 / 24
Co je nového v kernelu?
Networking
Sít’ová rozhraní
NAPI – nové rozhraní pro drivery zjednodušené zamykání IRQ mitigation, polling multi-queue NIC 2.6.23
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
17 / 24
Co je nového v kernelu?
Networking
Sít’ová rozhraní
NAPI – nové rozhraní pro drivery zjednodušené zamykání IRQ mitigation, polling multi-queue NIC 2.6.23
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
17 / 24
Co je nového v kernelu?
Power management
Tickless kernel
konfigurovatelné HZ nestaˇ cí, CPU se neuspí dostateˇ cnˇ e tickless system není-li co dˇ elat, spí se déle problém: desktopová prostˇredí („Halóóó, ještˇ e nespíte?“)
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
18 / 24
Co je nového v kernelu?
Power management
Tickless kernel
konfigurovatelné HZ nestaˇ cí, CPU se neuspí dostateˇ cnˇ e tickless system není-li co dˇ elat, spí se déle problém: desktopová prostˇredí („Halóóó, ještˇ e nespíte?“)
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
18 / 24
Co je nového v kernelu?
Power management
Tickless kernel
konfigurovatelné HZ nestaˇ cí, CPU se neuspí dostateˇ cnˇ e tickless system není-li co dˇ elat, spí se déle problém: desktopová prostˇredí („Halóóó, ještˇ e nespíte?“)
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
18 / 24
Co je nového v kernelu?
Power management
Tickless kernel
konfigurovatelné HZ nestaˇ cí, CPU se neuspí dostateˇ cnˇ e tickless system není-li co dˇ elat, spí se déle problém: desktopová prostˇredí („Halóóó, ještˇ e nespíte?“)
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
18 / 24
Co je nového v kernelu?
Power management
Tickless kernel
konfigurovatelné HZ nestaˇ cí, CPU se neuspí dostateˇ cnˇ e tickless system není-li co dˇ elat, spí se déle problém: desktopová prostˇredí („Halóóó, ještˇ e nespíte?“)
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
18 / 24
Co je nového v kernelu?
Power management
CPUfreq framework zmˇ ena frekvence CPU za bˇ ehu driver – konkrétní CPU (nebo ACPI) governor – algoritmus výbˇ eru frekvence CPUfreq governors performance powersave userspace ondemand conservative
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
19 / 24
Co je nového v kernelu?
Power management
CPUfreq framework zmˇ ena frekvence CPU za bˇ ehu driver – konkrétní CPU (nebo ACPI) governor – algoritmus výbˇ eru frekvence CPUfreq governors performance powersave userspace ondemand conservative
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
19 / 24
Co je nového v kernelu?
VFS
Inotify zmˇ ena obsahu adresáˇre? polling? notifikace od kernelu: dnotify, SGI FAM. problémy: sledování rozdíl˚ u, otevˇrené adresáˇre ˇrešení: inotify Vlastnosti inotify Linux 2.6.13+ ˇtením z deskriptoru notifikace c nezamyká adresáˇr (i umount notifikace!) pracuje i s podstromem
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
20 / 24
Co je nového v kernelu?
VFS
Inotify zmˇ ena obsahu adresáˇre polling? notifikace od kernelu: dnotify, SGI FAM. problémy: sledování rozdíl˚ u, otevˇrené adresáˇre ˇrešení: inotify Vlastnosti inotify Linux 2.6.13+ ˇtením z deskriptoru notifikace c nezamyká adresáˇr (i umount notifikace!) pracuje i s podstromem
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
20 / 24
Co je nového v kernelu?
VFS
Inotify zmˇ ena obsahu adresáˇre polling? fuj! notifikace od kernelu: dnotify, SGI FAM. problémy: sledování rozdíl˚ u, otevˇrené adresáˇre ˇrešení: inotify Vlastnosti inotify Linux 2.6.13+ ˇtením z deskriptoru notifikace c nezamyká adresáˇr (i umount notifikace!) pracuje i s podstromem
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
20 / 24
Co je nového v kernelu?
VFS
Inotify zmˇ ena obsahu adresáˇre polling? fuj! notifikace od kernelu: dnotify, SGI FAM. problémy: sledování rozdíl˚ u, otevˇrené adresáˇre ˇrešení: inotify Vlastnosti inotify Linux 2.6.13+ ˇtením z deskriptoru notifikace c nezamyká adresáˇr (i umount notifikace!) pracuje i s podstromem
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
20 / 24
Co je nového v kernelu?
VFS
Inotify zmˇ ena obsahu adresáˇre polling? fuj! notifikace od kernelu: dnotify, SGI FAM. problémy: sledování rozdíl˚ u, otevˇrené adresáˇre ˇrešení: inotify Vlastnosti inotify Linux 2.6.13+ ˇtením z deskriptoru notifikace c nezamyká adresáˇr (i umount notifikace!) pracuje i s podstromem
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
20 / 24
Co je nového v kernelu?
VFS
Inotify zmˇ ena obsahu adresáˇre polling? fuj! notifikace od kernelu: dnotify, SGI FAM. problémy: sledování rozdíl˚ u, otevˇrené adresáˇre ˇrešení: inotify Vlastnosti inotify Linux 2.6.13+ ˇtením z deskriptoru notifikace c nezamyká adresáˇr (i umount notifikace!) pracuje i s podstromem
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
20 / 24
Co je nového v kernelu?
VFS
Inotify zmˇ ena obsahu adresáˇre polling? fuj! notifikace od kernelu: dnotify, SGI FAM. problémy: sledování rozdíl˚ u, otevˇrené adresáˇre ˇrešení: inotify Vlastnosti inotify Linux 2.6.13+ ˇtením z deskriptoru notifikace c nezamyká adresáˇr (i umount notifikace!) pracuje i s podstromem
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
20 / 24
Co je nového v kernelu?
VFS
Nové souborové systémy
OCFS2 – clusterový FS GFS – clusterový FS AFS Reiser4 – pluginy, více proud˚ u, . . . FUSE – v user-space Ext4 – vývoj Ext2/Ext3 pokraˇ cuje ...
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
21 / 24
Co je nového v kernelu?
Virtualizace
Virtualizace XEN paravirtualizace není plnˇ e v jádˇre nejpokroˇ cilejší KVM plná virtualizace vyžaduje HW podporu emulátor HW, napˇr. Qemu lguest vyslov „Rustyvisor“ paravirtualizace nejjednodušší Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
22 / 24
Co je nového v kernelu?
Virtualizace
Virtualizace XEN paravirtualizace není plnˇ e v jádˇre nejpokroˇ cilejší KVM plná virtualizace vyžaduje HW podporu emulátor HW, napˇr. Qemu lguest vyslov „Rustyvisor“ paravirtualizace nejjednodušší Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
22 / 24
Co je nového v kernelu?
Virtualizace
Virtualizace XEN paravirtualizace není plnˇ e v jádˇre nejpokroˇ cilejší KVM plná virtualizace vyžaduje HW podporu emulátor HW, napˇr. Qemu lguest vyslov „Rustyvisor“ paravirtualizace nejjednodušší Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
22 / 24
Shrnutí
Shrnutí
Jádro 2.6 má nový vývojový model. Vývoj je fakt rychlý. Verze 2.7 se zatím neplánuje.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
23 / 24
Shrnutí
Shrnutí
Jádro 2.6 má nový vývojový model. Vývoj je fakt rychlý. Verze 2.7 se zatím neplánuje.
Kosina, Kasprzak (SUSE, FI MU)
Linuxový kernel v posledních letech
EurOpen 2007
23 / 24
Shrnutí
Shrnutí
Jádro 2.6 má nový vývojový model. Vývoj je fakt rychlý. Verze 2.7 se zatím neplánuje.