Linux 15.052 Themen, 107.240 Beiträge

SL 9.3 schneller als SL 9.2?

Anonym / 4 Antworten / Baumansicht Nickles

Hallole,

wie sind Eure Erfahrungen, ist SL 9.3 schneller als SL 9.2?

Gruß, Peter

bei Antwort benachrichtigen
KarstenW Anonym „SL 9.3 schneller als SL 9.2?“
Optionen

Bei Software kommt es ganz entscheidend auf den Programmcode an, wenn es um Geschwindigkeit geht.
Das Einzig was ein Anwender selbst machen kann , ist den Betriebystemkern oder ein Programm selbst neu zu kompilieren (nicht programmieren).
Wenn der Betriebsystemkern die erweiterten Befehle des jeweilige Prozessors nutzt, wird der Kern meist schneller und kompakter. Das w�re auch bei Windows sinnvoll. Wenn Winodws 2000 f�r einen Pentium 1 Prozessor kompiliert ist und man hat einen Pentium 4 Prozessor im Rechner, dann l�uft Windows wie mit einem Pentium 1 und nur auf Grund der Taktfrequenz schneller.
Bei Linux sind die Standardbetriebsystemkerne auch nur f�r �ltere Prozessoren kompiliert, damit das System auf m�glichst vielen Rechner l�uft.
Das Beste ist unter Linux immer einen eigenen Kern zu kompilieren , wenn es um Geschwindigkeit des Betriebsystemkerns geht.

Deswegen versteh ich die Diskusionen um AMD und Intel-Prozessoren auf einem Windows-Rechner nicht.

Windows XP ist f�r einen Pentium 1 -Prozessor kompiliert (glaube ich jedenfalls). Wenn der Anwender einen Pentium 4 in seinem Rechner hat, werden die erweiterten Befehle des Pentium 4 gar nicht genutzt. Man kann mit Windows XP die Rechenleistung eines Pentium 4 gar nicht richtig ausnutzen.
Deshalb kann man unter Linux einen eigenen Kern kompilieren und den gleichen Programmcode des Betriebsystemkerns f�r unterschiedliche Prozessoren optimal anpassen und kompilieren lassen.
Das soll der gcc-Compiler sehr gut k�nnen.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Anonym KarstenW „Bei Software kommt es ganz entscheidend auf den Programmcode an, wenn es um...“
Optionen

Hallo Karsten,


Du schriebst: "Deshalb kann man unter Linux einen eigenen Kern kompilieren und den gleichen Programmcode des Betriebsystemkerns f�r unterschiedliche Prozessoren optimal anpassen und kompilieren lassen. Das soll der gcc-Compiler sehr gut k�nnen."

Wie geht das?

Gruß, Peter

bei Antwort benachrichtigen
KarstenW Anonym „Hallo Karsten, Du schriebst: Deshalb kann man unter Linux einen eigenen Kern...“
Optionen

Kompliziert ist das Kompilieren eines eigenen Kerns nicht, nur vielleicht etwas ungewohnt f�r Winodwsbenutzer.
Den Standardkern l��t du noch f�r alle F�lle installiert, weil der selbstkompilierte Kern Probleme machen kann, wenn man die falschen Optionen bei der Konfiguration des Kernels ausgesucht hat.

Du mu�t erstmal folgende Programmiertools installieren (vielleicht mit yast):
-gcc Compiler (�bersetz den Programmcode eines Programmes und erzeugt eine bin�re ausf�hrbare Datei, den Betriebsystemkern in diesem Fall)

-binutiles -Paket (enth�lt einen Assembler und den Linker ld)

-make -Programm (steuert die �bersetzung des Kernels anhand von sogenannten MAKEFILES)

-ncurses - Bibliothek (ist f�r Dialogfelder auf der Konsle im Textmodus da, Kernelkonfiguration ist men�gef�hrt)

- Den Programmcode des Kernels (ich w�rde vielleicht den 2.6.6 nehmen.

Bei Linux laufen die Treiber f�r die Hardware im Betriebsystemkern. In den neueren Kernels sind meist auch neuere Treiber f�r die Hardware.
Man soll nicht zuviele Treiber im Kernel "laufen" lassen f�r die keine Hardware im Rechner eingebaut ist.

Danach gehst du in das Verzeichniss /usr/src/kernelxxxx mit dem Befehl " cd /usr/src/kern" + Tab-Taste der Tastatur. (mit der Tabtaste werden Befehle und Pfade und Dateien automatisch erweitert. Das spaart Tipparbeit :-).
Nun mu�t du den Befehl "make menuconfig" eingeben. Es wird ein Dialogfeld (ncurses-Bibliothek) ge�ffnet. Du mu�t nun dich in aller Ruhe durch die Men�s gehen und genau die Optionen und Treiber aussuchen , die f�r deinen Rechner passen. Am besten du kompilierst alle ben�tigten Treiber in den Kern monolitisch und erzeugst keine Kernelmodule (Kernelmodule sind Erweiterungen vom Betriebsystemkern, kompilierter Objectcode, welche zur Laufzeit automatisch oder auch manuell nachgeladen werden und zum �brigen Kern hinzugelinkt werden. Dadurch hat man auch so eine Art "Plug and Pray" wie bei Windows)

Wenn die Konfiguartion fertig ist gibst du auf der Kommadozeile den befehl "make bzImage" ein (bzImgae hei�t anschlie�end dein selbstkompilierter Betriebsystemkern).
Bei einem 2.4er Kern mu� erst noch "make dep" und dann "make bzImage" eingegeben werden.

Wenn du Kernelmodule erzeugt willst, gibts du "make modules" danach ein und anschlie�end "make modules_install". Mit "make modules_install" werden die kernelmodule nach /lib/modules/kernelxxx kopiert. Am besten du erzeugst einen gro�en Betriebsystemkern ohne Module. Das ist meist einfacher, weil das Laden der Module manchmal nicht automatisch mit dem Programm kmod funktioniert und man mit dem Befehl "modprobe modul" den Treiber manuell laden mu� ( Es soll diesbez�glich auch unter Windows Probleme geben ).

Der kompilierte Betriebsystemkern ist im Verzeichnis

/usr/src/kernel-source-2.6.6/arch/i386/boot/bzImage

Die Datei System.map ist im Verzeichnis /usr/src/kernel-source-2.6.6/System.map

Die Datei System.map hat die Aufgabe die Adressen von Kernelfunktionen in den Namen der Kernelfunktion umzuwandeln. Das ist f�r Entwickler besser f�r die Fehlersuche. Sie ist nicht unbedingt f�r ein lauff�higes System notwendig.
Den Betriebsystemkern und die Datei System.map kopierst du nach /boot (vorher noch den alten Betriebsystemkern und die alte System.map umbenennen) und passt die Men�eeintr�ge deines Bootmanagers (grub eventuell) an.

Das ist vielleicht ein wenig viel, aber wenn du auf mehr Geschwindigkeit und Stabilit�t des System wertlegst, kommst du an einer Kernelkompilirung nicht vorbei ohne ,wie unter Windowsbenutzern �blich, die CPU zu �bertakten ;-).

Ich finde Linux Klasse. Bei Linux bekommt man eine komplette Entwicklungsumgebung f�r umsonnst. Die Firmen programmieren sehr viel mit Visual C++ oder dem C++ Builder von Borland. Aber vielleicht �ndert das sich in Zukunft und man bekommt unter Linux eine richtige IDE mit einem guten Codegenerator (nichts gegen Kdevelop, aber Visual Studio ist eben besser).



Geh die Sache in Ruhe an, den alten Standardkern beh�st du immer och als Reserve. Man kann unter Linux unter mehreren Betriebsystemkernen beim Booten ausw�hlen.
Normalerweise ist die Kernelkompilirung in den SUSE - Handb�chern gut erkl�rt, zumindest war das fr�her so als ich SUSE noch benutzt habe (bin auf Debian umgestiegen).

Versuch es mal, auch wenn du von Programmierung keine Ahnung hast. Die Konfiguration des kernel ist sehr sch�n men�gef�hrt gemacht und es ist bei den meisten Optionen auch eine kleine Hife mit dabei. Du brauchst eigentlich nur zu entscheiden welche Treiber du im Kern , entsprechend deiner eingebauten Hardware , brauchst (und nicht vergessen die richtige CPU auszuw�hlen, sonst l��t sich der kern eventuell nicht starten).

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Anonym KarstenW „Kompliziert ist das Kompilieren eines eigenen Kerns nicht, nur vielleicht etwas...“
Optionen

Ächz, Hilfe. Na ja, ich werds mal am Wochenende probieren. Vielleicht klappts ja sogar und der Rechner lebt danach noch.

Gruß, Peter

bei Antwort benachrichtigen