Hi Christian,
wenn eine Datenbank beim Ladezeitpunkt einen bestimmten
Pool an Speicher fest alloziert und diesen dem
Swap-Mechanismus permanent entzieht, dann ist es ihr Job,
den zu verwalten.
Wie sollte sie den Speicher dem Swapping-Mechanismus
entziehen? Das *kann* sie nicht. Danach wird sie nicht
gefragt. Eine DB arbeitet genau so mit Systemcalls wie ein
beliebiges anderes Programm.
letzteres ist m. E. keine feststehende Tatsache, sondern nur eine Möglichkeit. Für Dich ist eine Datenbank ein normales Anwendungsprogramm - ich kann sie mir aber sehr gut auch als privilegierten Gerätetreiber vorstellen.
Es gibt Kernel-Routinen, die viel zu wichtig sind, als daß man deren Code dem Swapping unterwirft, weil sie ständig gebraucht werden (beispielsweise die Routinen, die das Swapping durchführen ;-). Wenn also diese Routinen in einem nicht-swappable-Bereich des RAM liegen, scheint der Kernel dies grundsätzlich zu beherrschen.
Dann jedoch kann man den Kernel auch so modifizieren, daß sich die Datenbank ebenfalls einen Teil non-swappable RAM nehmen darf ... der ist dann halt 'weg', und das Betriebssystem muß mit dem Rest auskommen. Deshalb sollte man diesen Teil normalerweise nicht zu groß dimensionieren.
Viele Grüße
Michael
T'Pol: I meant no insult.
V'Lar: Of course not. You're simply speaking your mind ... as you always have.