Startseite ]  [ Netz-Schule ]  [ Linux-Schule ]  [ Map ]

  Know How
  Glossar

   
  Linux-Schule Know How  

Linux Kernel-News (2.4.0)

von Zeit zu Zeit steht ein neues Release des Kernels an. So auch im August/September dieses Jahres. Das Update von 2.2.x auf 2.4.x , bringt viel Neuerungen, vorallem im Bereich Hardware und Multimedia. Hier also die wichtigsten Neuerungen im Kernel. Alle Änderungen sind natürlich ausführlich auf Kernel.org zu finden. Zum Zeitpunkt an dem ich diesen Text schreibe, ist die 2.4.0test5 aktuell - 05.08.2000

Wichtigster Grund für das Major-Release eines Linux-Anwender-Kernel, zu erkennen an der geraden Zwischennummer, ist eigentlich immer die Implementierung von Gerätetreibern für neue Hardwarestandards. Abgesehen von vielen Einzeltreibern in bereits bekannten Standards wie SCSI, AGP und sonstigem, sind in diesem Kernel auch gleich ganz neue Familien hinzugekommen. Die beiden wichtigsten für User sind :

  • USB - Universal Serial Bus
  • IEEE 1394 - auch bekannt als Fire Wire

USB dürfte jedem aus der windowswelt bekannt sein und dient als neuer Bus für serielle Geräte wie Maus, Tastatur, Scanner usw., und soll bald die herkömmlichen Schnittstellen wie PS/2, RS-232 und Centronics ersetzen.Fire Wire,bekannt vom Apple MacIntosh, ist speziell für den Anschluß von Geräten mit massivem Datenaufkommen kontruiert worden, digitale Kameras und ähnliches

Auch neue Dateisysteme sind implementiert worden. In Kürze :

  • ATM Treiber und I²O-Bus
  • PCMCIA Support
  • daraus resultiernd APM und ACPI Support

Das alles ist vorallem für Leute besitzen die einen Laptop besitzen oder damit arbeiten müssen. Es soll ja Leute geben die mit diesen Geräten und Linux immer noch Probleme haben. Das lang erwartete Journaling Filesystem, ist immer noch nicht offiziell, der Codefreeze ( keine Implementierung neuer Features bis zur Stabilisierung der alten ) ist immer noch gültig und bleibt dies hoffentlich auch. Bis dahin ist aber immerhin sicher :

  • die maximale Dateigröße von 2 GB fällt weg
  • das Reiser FS, eine externe Lösung des Journalingsystems ist stabil

Spannend bleibt auch das warten auf den Nachfolger von ext2, das neue ext3fs. Das die Journalingfunktionen nicht rechtzeitig für das Release 2.4.0 fertig würden, war schon seit August / September 1999 klar. Auch das zeichnet einen Linuxkernel aus : Released wird was läuft, nicht was gut aussieht.

Erweitert wurde auch das devfs, Device Filesystem. Dieses ist ein virtuelles Dateisystem das den Zugriff auf alle Hardwarekomponenten wie Floppy, Maus usw. regelt. Die im Augenblick benutzte Lösung via /dev/fd0 bei der Festplatte z.B. sieht so aus : Das Gerät wird durch eine Datei dargestellt. Diese Datei kann 3 Zustände haben :

  • /dev/hda1
  • Eigenschaft 1 = Typ - zeichen- oder blockorientiert (b)
  • Eigenschaft 2 = Majornummer (3)
  • Eigenschaft 3 = Minornummer (1)
  • also b 3 1 - ist die erste Partition der ersten Platte eines blockorientierten Gerätes. 3 deshalb weil vor der Platte noch andere Geräte gezählt werden.

Diese Zuordnungen werden an 4 Stellen im System gespeichert. Um Änderungen wirksam werden zu lassen, muss an mindestens 2 Stellen gearbeitet werden. Einmal sind die Daten im Kernel einkompiliert und zum zweiten muss im Verzeichnis /dev manuell geändert werden. Dafür gibt es zwar Scripte und helfende Tools aber das ganze bleibt manuelle Arbeit.

Mit diesem angeblichen Chaos, ich nenne das mal lieber Flexibilität, soll das neue devfs aufräumen indem den Gerätetreibern direkt Namen zugeordnet werden. Da dieses in einer simplen Auflösungstabelle passiert und ohne Umweg über den Kernel, Festplatte und mehrere Tabellen auskommt, ist das ganze wesentlich schneller. Dafür gibt es hier wiederum Probleme beim automatischen Laden von Kernelmodulen und modprobe. Workarounds dafür sind beschrieben aber m.E. unpraktikabel weil sie die gewonnene Performance zum Teil wieder reduzieren. Außerdem sind Unixadmins im handhaben des /dev Verzeichnisses ohnehin geübt und für den User ist das nun wirklich eine Spur zu weit am System. Von daher kann man devfs einsetzen - muß aber nicht.

autofs4 ist ein weiteres Dateisystem das überarbeitet wurde. Der Automounter, autofs, spielt ja eher bei Arbeitsplatzrechnern eine Rolle - z.B. das automatische mounten von CD's, ZIP's und und und. Probleme hatte autofs eigentlich nur mit dem Dateisystem nfs, samba und allen Arten von Netzwerksystemen. Hier setzt autofs4 an. Schwerpunkt liegt auf der intelligenten Ankopplung von Fileservern. autofs bleibt aber definitiv noch im Kernel bis autofs4 stabil läuft.ramfs ist besonders witzig. Nagut, praktisch. ramfs ist im Prinzip ein System zur Erzeugung einer RAM-Disk mit dem klitzekleinen aber genialen Unterschied, das diese RAM-Disk dynamisch mit der Menge der Daten die in Ihr gespeichert werden, wächst und schrumpft. Eine Formatierung ist ebenfalls unnötig.Interessant für User und Multimediafans ist das udf System. Es verarbeitet UDF formatierte Datenträger (CD-RW, DVD) und kann auf DVD-RAM's und Festplatten schreiben.

Gimmick am Rande ist die Erweiterung von mount. mount -t bind kann root Dateien und Verzeichnisse mehrfach in das Dateisystem einbinden. Das ganze funktioniert wie ein "Hard Link" nur das man damit über die Partitionsgrenze hinaus arbeiten kann, auch mit ganzen Verzeichnissen.

LVM, der Logical Volume Manager, ist wohl eher den Benutzern von professionellen Unixen ein Begriff. Deswegen sei hier auch nur kurz auf ihn eingegangen : Volumes sind einfach Speicherbereiche die, auch über mehrere Festplatten oder andere Medien hinweg, Daten enthalten und in Bezug auf Größenänderungen wunderbar flexibel gehandhabt werden können. Ne echte Erleichterung im Vergleich zu normalen Partitionen. Jeder der seine Backup-Parameter ständig erweitern muß betet pro Jahr mindestens einmal Richtung Berkeley ;). Hier wurde einiges getan. Einiges geht noch nicht :

  • funktioniert nicht mit gemounteten Dateisystemen
  • Reiser FS kann gemountete Volumes nur vergrößern
Nette Features dagegen :
  • Verschieben von Daten um Festplatten auszutauschen
  • Verteilen einer Volume auf mehrere seperate Platten
  • Snapshot ( erstellt ein "Archiv" )

Nachteil : Beim Ausfall einer Platte im Volume, fällt das gesamte Volume flach. Das bringt uns zum :

Software RAID, ersetzt die teure Hardwarelösung auf Systemen die nicht unbedingt in Hochverfügbarkeitsumgebungen stehen. Auch bietet RAID eine probate Methode um mittels Striping, also der Zusammenfassung von 2 Platten, die Performance z.B. im Bereich Datenbankzugriff zu erhöhen. Im Zusammenspiel mit LVM bietet es sich an, mehrere Platten zu einem Device zusammenzulegen ( Striping, RAID 0) und dieses als Physical Volume zu benennen. Neuerung beim Software RAID : Booten von einer RAID Platte ist jetzt endlich möglich. Das allerdings wieder nicht unter LVM.

Nochmal zur maximalen Dateigröße : Dank der Umstellung auf 64-Bit Architektur beim VFS, unterstützt der Kernel auch auf 32-Bit Systemen wie AMD oder Intel jetzt eine Dateigröße über 4 GB. Auch die aktuelle Version der glibc ( 2.1.3 ) ist 64-Bit fähig wenn sie nicht unter einem alten Kernel übersetzt wird. Durch einige kleinere Tricks kann man bei sauber programmierten Anwendungen, durch eine Neukompilierung die Handhabung von +4 GB erreichen ( -d_file_offset_bits=64 ).

Erweiterungen im Bereich User und Group ID sind eher Makulatur. Die maximale Zahl lag hier bei 65535, da die glibc bisher die 16-Bit Berechnung nutzte. Auf die wirklich vielseitigen Änderungen im Kernel in Bezug auf Firewall- , Masquerading und Netzwerkcode - gehe ich in dieser Version des Dokumentes nicht näher ein. Das ist zwar alles Recht spannend und auch wichtig, hat aber für User kaum einen praktischen Nutzen. Auch Patches die das Benutzen von bis zu 64 GB RAM ermöglichen und die daraus resultierenden Voraussetzungen an die Hardware, wie etwa Physical Address Extension, sind für User weniger von Bedeutung. Bis soviel Speicher bezahlbar ist, wird das ohnehin als selbstverständlich im Kernel implementiert sein.

Das war der relativ detaillierte Ausflug in den neuen Kernel. Dieser sollte im Herbst in der finalen Version erscheinen und sorgt dafür das Linux mehr und mehr ein Allroundsystem wird. Nicht mehr ausschließlich für Server reserviert - auch als mächtiges System für Enduser und Entwickler an Einzelplatzsystemen, so far

Michael

Ein ausführlicher Text, incl. Workarounds im Bezug auf devfs, detaillierteren Aussagen auf Multimedia, RAID etc, ist hier demnächst zum Download zu haben. Die Version enthält Praxistips und Hinweise, kann aber i.M. nicht freigegeben werden.

« zurück --- vor »