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

Re: [Debian]: Swapspace foll - was dann



On Wed, Nov 04, 1998 at 08:06:55PM +0100, Jens Ritter wrote:
> martin@internet-treff.uni-koeln.de (Martin Bialasinski) writes:
> 
> > >> "AM" =3D=3D Andreas Mueller <andrmuel@rz.Uni-Osnabrueck.DE> writes:
> > 
> > AM> Was macht Linux eigendlich, wenn mal der Swapspace foll ist?
> > 
> > Nichts besonderes. Die Anwendungen, die Speicher verlangen bekommen
> > sowas wie "out of memory" signalisiert.
> 
> ... und diese werden dann gestorben (äh, gekillt).
> 

Nicht so schnell.

Meines Wissens läuft das ungefähr so ab:

1. Anwendung frägt höflich das BS: 
   "kannst du mir N Bytes zusatzlichen Speicherbereich geben?"
   ( in C: malloc(N) )

2. Im Normalfall sagt das BS:
   "Natürlich, gerne. Hier ist er:" 
   und reserviert dann diesen Speicher für diese Anwendung und 
   'malloc(N)' liefert einen Zeiger auf diesen Speicherbereich
   zurück.
   In unserem Fall sagt das BS:
   "Tut mir leid, soviel hab Ich nicht mehr",
   es wird kein speicher reserviert und 'malloc(N)' liefert NULL
   zurück.

3. Höfliche Anwendungen hören auf das was das BS sagt, und können
   friedlich weiterleben (z.B. können sie dem Benutzer mitteilen, daß
   es etwas Speicher bräuchte, und er vielleicht ein paar andere
   Anwendungen schließen könnte).
   Unhöfliche Anwendungen hören nicht auf das BS, und verwenden den
   von 'malloc(N)' zurückgegebenen NULL-Pointer, als ob er auf einen
   gültigen Speicherbereich zeigen würde. Sie versuchen also, an Adresse
   'NULL' etwas zu speichern.

4. Das BS merkt, daß die Anwendung auf einen Speicherbereich zugreift,
   der ihr nicht gehört, und sagt:
   "So nicht; tue Buße und stirb in Frieden".
   (d.h. das BS schickt das Signal SIGSEGV, also Segmentation fault, an
    diesen Prozess)

5. Vorausschauende Anwendungen tuen nun Buße, d.h. sie haben einen
   Signalhandler registriert, in dem sie z.B. wichtige Daten noch speichern
   können, und begehen dann geläutert Selbstmord (in C: exit(1)).
   Andere werden vom BS kaltblütig getötet.

Tschö
	Jürgen	

-- 

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Jürgen Doser          doser@uni-freiburg.de
http://www.informatik.uni-freiburg.de/~doser
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <your_email_address>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     632


Reply to: