[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Linuxkernel nur durch reboot ersetzbar



On Wed, 13 Nov 2002 22:33:53 +0100
Markus Hansen <markhansen@gmx.de> wrote:

> Ich kann auch nicht sagen, ich weiß warum, _aber_
> Ich habe eine recht Sinnvolle Erklärung:
> Jens, sag mal, ob die sinn macht.
> Also, der Kernel ist das innerste, der "Kern" von Linux.
> Es gibt da so ein tolles Poster von Lehmann,
> da ist alles in einem Trichter angeordnet, von Samba bis Satan,
> von KDE bis Office ...
> Das alles ist in einem Trichter angeordnet.
> Der Trichter wird von einer kleinen roten Kugel verschossen, dem
> Kernel. Also, wenn der Kernel kurzzeitig weg ist, dann läuft was aus
> dem Trichter raus, und du mußt den Kernel kurz wegnehmen, wenn du ihn
> durch einen neuen erstetzt.
> Andersgesagt, du reißt dem System das Herz raus, ersetzt es durch ein
> neues, und erwartest, das du ohne wiederbelebungsversuche davon
> kommst? Du hast ja in Lilo schon die Möglichkeit, verschiedene Kernel
> zu bootan, wieso willst du sie eigentlich im betrieb wechseln?
> Ich habe einen 2.4.18-k7 Kernel und bin _sehr_ zufrieden damit.
> IMHO macht es wenig sinn den Kernel während des Betriebes zu wechseln.
> Überlege mal, wieviel nebensächlichkeiten dazu u.a. mit übergeben
> werden müssen, damit alles funktioniert, die eigentliche übergabe der
> "Macht" an einen anderen Kernel man noch nicht ein mal beachtet.
> Evtl ist es auch nicht vorgesehen, das der Kernel seine "Macht"
> abgeben kann.
> 
> Irgendwelche Entwickler: sagt mir doch bitte, ob meine "Erklärung"
> schlau war, oder nicht.

Nee, nicht wirklich! Jedenfalls nicht aus der Sicht vom OS-Design.
Einfaches Beispiel:
Man setzt eine globale Kernsperre (das hat der Linux-Kernel ganz früher
auch mal gemacht), somit kann nur noch Code im Kern ausgeführt werden,
der Rest des Systems blockiert solange (sowas macht man z.B. wenn man
Zugriff auf begrenzte Ressourcen erlaubt, nur ein Programm kann sich
dann in einem solchen "kritischen Abschnitt" befinden). Wenn man jetzt
alle Datenstrukturen vom einen Kernel zum anderen bringt und ihm die
Aufgaben übergibt, danach die Kernsperre aufhebt, kann sich der alte
Kernel verabschieden.
Prinzipiell ist sowas relativ einfach, sowas aber nachträglich
einzubauen ist nicht mehr so trivial, vor allem da der Linux-Kernel doch
recht chaotisch ist. (Bitte keinen Flame-War jetzt!)

HTH
/dirk

-- 
dirk haage    | dh@a-n-t-s.de
advanced network technologies
phone   +49 (0)30 85 07 06 12
mobile  +49 (0)178 DIRK HAAGE



Reply to: