Anzeige:
Ergebnis 1 bis 15 von 19

Thema: feststellen ob programm mit daten in speicher passt?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #5
    Registrierter Benutzer
    Registriert seit
    18.03.2005
    Beiträge
    211
    Imho darf ein BS allokierten speicher ned swappen, solange das programm ned inaktiv ist.

    Stell dir vor, dein array ... im Speicher, du greifst mit dem [] operator zu, und das BS muesste die speicherseiten erst von der platte holen ... undenkbar, das wuerde jegliche Garantien die c++ Programmen zugestanden werden, zunichte machen.
    Ausserdem muesste jegliche simple Speicherarithmetik und jeglicher speicherzugriff nen hook in BS haben, was alles mega inperformant werden lies.

    Swappen darf das BS das komplette Programm, dann inklusive stack und heap, wenn es als inaktiv erkannt wurde ....
    und beim wiederholen wird es dann wieder komplett restauriert.

    DU kannst natuerlich innerhalb deines programmes swapping verwenden, aber das musst du expliziet selber programmieren. Die winapi und sicher auch posix stellen da funktionen zur verfuegung.

    Also wenn dein thread "laeuft" sollte der Heap von deinem prog ausnahmslos zur verfuegung stehen .... also kannst mit nem simplen new / malloc deinen speicher holen und auf die rueckgabewerte bzw exceptions achten.
    Bei windows zb, wenn nen system mit 512Mb hasst, 100Mb vom BS "beansprucht werden" wirst sicher niemals mehr als 400MB insgesamt allokieren koennen, das new / malloc wird dir da nen out of memory bringen. egal wieviel "virtuellen speicher" du reserviert hasst. Das BS wird aber versuchen, in dem moment wenn dein malloc/nw laeuft, andere Programme zu supendieren und in den swap zu schicken ... was deine speicherallokierung schon mal bissi zeit kosten kann.
    Glaub ned das sich linux da soviel anders verhaelt ....

    was aber in deinem programm ned so ohne weiteres abfangen kannst, ist das dich das BS auf grund eines anderen progs mit hoeherer prio in den schlafzustand schickt, und dich dann auch rausswappt.
    Aber das ist Thema das BS und der Prioritaeten einzelner programme IMHO .

    Ciao ...
    Geändert von RHBaum (14-05-2009 um 12:58 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •