4.8. Kerne 2.4

Den seneste generation af Linux-kernen er 2.4, som udkom den 5. januar 2001. Linus Torvalds annoncerede i vittig og underspillet tone, at nu var kerne 2.4.0 færdig:

In a move unanimously hailed by the trade press and industry analysts as
being a sure sign of incipient braindamage, Linus Torvalds (also known as
the "father of Linux" or, more commonly, as "mush-for-brains") decided
that enough is enough, and that things don't get better from having the
same people test it over and over again. In short, 2.4.0 is out there.

Anxiously awaited for the last too many months, 2.4.0 brings to the table
many improvements, none of which come to mind to the exhausted release
manager right now. "It's better", was the only printable quote. Pressed
for details, Linus bared his teeth and hissed at reporters, most of which
suddenly remembered that they'd rather cover "Home and Gardening" than the
IT industry anyway.

Anyway, have fun. And don't bother reporting any bugs for the next few
days. I won't care anyway.

                Linus

Hvad er det så kerne 2.4 har opnået i forhold til de meget anvendte kerner fra 2.2-serien? Svaret er – mange ting.

For det første er antallet af platforme, der understøttes øget. Således er der nu også understøttelse for S/390 (IBM mainframe-system), nye 64-bit MIPS-processorer samt Intels kommende Itanium. Specielt S/390 synes mange er spændende, idet det bringer Linux ind på mainframe-markedet. F.eks. har Telia i december 2000 købt en sådan maskine som erstatning for 70 Sun-computere. Desuden udnytter 2.4 MMX-instruktioner og andre udvidelser til det klassiske x86-instruktionssæt bedre end den gamle kerne.

En anden ting som er blevet klart forbedret i Linux-kernen er SMP, altså muligheden for at anvende flere processorer i samme maskine. Hvor kerne 2.2 var fin med 2 processorer og endda 4, så var ydelsen ved 8 og 16 processorer ikke imponerende. Med kerne 2.4 er ydelsen på 8 og 16 processorer forbedret markant.

Kerne 2.4 skulle umiddelbart ikke kræve mere hukommelse end kerne 2.2-serien – men den understøtter meget mere hukommelse. En af de ting, som nogle var utilfredse med i kerne 2.2-serien, var mængden af hukommelse, som Linux-kernen kunne bruge. Når man konfigurerer 2.4-kernen, er der spørgsmål om hvor meget hukommelse man har. Tre grænser kan man vælge – under 1 Gb (off), op til 4 Gb eller 64 Gb RAM. Det er efter sigende en 5-6% mindre ydelse, hvis man vælger 64 Gb hukommelse.

En ting som store firmaer har haft problemer med, er antallet af brugere som kunne understøttes. Tidligere var grænsen på ca. 65000 brugere, mens den nu er 4,2 milliarder. Problemet var meget aktuelt for f.eks. e-post-servere, som skulle have konti for alle firmaets medarbejdere.

Med hardware kan man nu samtidig understøtte 16 Ethernet-kort, 10 IDE-controllere, og meget andet. Alt i alt har Linux taget et stort spring fremad med hensyn til high-end Linux-markedet.

Ultra-DMA 66 eller 100 er nu med i kerne 2.4. Det er noget som har været meget efterspurgt, da mange nye harddisk-controllere har været af den type.

For en Linux-laptop, så var PCMCIA med kerne 2.2 ikke ret smart. Skulle man oversætte en kerne, så skulle man have styr på sine PCMCIA-drivere ud over selve kernen. De to ting var ikke integreret, selvom de burde have været det. Med kerne 2.4 er PCMCIA en del af Linux-kernen på linje med USB.

USB-understøttelse er ny i Linux-kernen. USB-tastatur og mus skulle virke fint, men det kan godt være at din USB-skanner eller kamera ikke virker, da USB-standarden stadig er under udvikling.

Ud over PCI plug-and-play (eller er det pray :-), så er der en tilsvarende auto-detektion af enheder til ISA-bus.

En ting som netop er kommet med i kerne 2.4.0, er LVM "logical volume management", som gør det muligt at kombinere harddiske til store enheder (ligesom RAID-0), men med LVM kan man også ændre størrelsen af de enkelte partitioner løbende. Det er en klar fordel i forhold til tidligere, hvor man skulle bestemme størrelsen på partitionerne i forvejen – og ofte ud fra mere eller mindre gode estimater for hvad man skulle bruge. Læs mere om LVM på http://www.linux-mag.com/2000-11/guru_01.html.

Man kunne nemt lave en firewall med en kerne 2.2, idet kernen havde et rimelig enkelt grænsesnit til formålet, kaldet ipchains. Med ipchains kunne man sætte regler op for hvilke pakker som kunne tillades igennem firewall'en. I kerne 2.4 er hele firewall-kontrollen omskrevet til et meget stærkere koncept kaldet netfilter, som kan styre tilstandshåndterende firewalls. Dette er forklaret i bogen "Linux – Friheden til sikkerhed på internettet", som kan findes på www.linuxbog.dk.

IPv6-understøttelsen, dvs. næste generation netværksstandard, er med som eksperimentel. Man kan således ikke forvente, at dette er 100% ok.

Under /dev har man tidligere haft enheder, dvs. indgange til hardware, såsom harddisk /dev/hda. Med kerne 2.4 kan man anvende DevFS, som er en total restrukturering af /dev, så man ikke længere har ekstremt mange filer i /dev, men i stedet får man en hierarkisk opbygning med mange underkataloger. Som eksempel vil man ikke længere kunne finde /dev/hda1-/dev/hda16, men i stedet have tilsvarende filer under /dev/ide0/ - altså et niveau længere nede.

For dem som laver hurtige web-servere er kHTTPd interessant. Man kan accelerere web-servere kraftigt for statiske web-sider, dvs. ikke for CGI-programmer eller PHP-løsninger, ved at kernen cacher sider intelligent. Det er også markeret som eksperimentel kildetekst.

Linux avancerer i mange retninger. En ny retning er telefoni. Linux-kernen har nu fået understøttelse af telefonkort til Voice-over-IP.

For dem som arbejder med video er der godt nyt. Både IEEE-1394- (Firewire) og I2O-grænsesnit er med. Det er også ting som stadig er under udvikling. HIPPI (gigabit-netkort) er der også blevet arbejdet meget med, så der nu er fire forskellige understøttede kort.

For ADSL-brugere er kerne 2.4 (eller sene versioner af 2.3-serien) et must. Der er lavet meget inden for ATM-understøttelsen.

Og på de mere interne linjer er store dele af kernen skrevet om, så selve kildeteksten skulle være meget lettere at læse. Der er arbejdet meget med at strukturen skulle forbedres, så man lettere kunne inkorporere nye ting, som ikke tidligere var med.

Hvad der ikke kom med i kerne 2.4.0, men som er kommet med i kerne 2.4.1, er et journaling filesystem. Det sidste år har der været arbejdet meget hårdt på tre forskellige avancerede filsystemer, som skriver data til disk på en meget sikker måde i forhold til det gamle ext2-filsystem. I tilfælde af f.eks. strømsvigt eller lign. vil de nye filsystemer være meget mere robuste. ReiserFS vil være det første til at komme med i kernen, mens SGI's XFS-filsystem og JFS, men endnu er det uklart, hvornår de er produktionsklare. Filsystemet ext3 fra Red Hat er allerede i produktion som det primære filsystem i nyere Red Hat versioner. En glimrende oversigtsartikel, der sammenligner det gamle ext2, det nyere ext3, ReiserFS og endelige XFS kan læses på http://www.linuxgazette.com/issue68/dellomodarme.html.

En fremragende artikel (allerede en klassiker i Linux-kredse) om kerne 2.4 er Joe Pranevich: "Wonderful World of Linux 2.4", som kan findes på http://linuxtoday.com/news_story.php3?ltsn=2001-01-05-007-04-NW-LF-KN. Denne tager endnu flere aspekter op end dette afsnit har præsenteret.

Endelig kan det nævnes at en interessant kerne-patch fra http://www.tech9.net/rml/linux/ med fordel kan prøves, hvis man mener at Linux-kernen låser maskinen lidt for lang tid, når der er meget load på maskinen (bl.a. ved start af store programmer). En samling af artikler på området kan findes ud fra http://linuxtoday.com/news_story.php3?ltsn=2001-10-14-008-20-NW-KN.