home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / tt / vmem11 / read_me.txt < prev   
Text File  |  1993-08-30  |  6KB  |  115 lines

  1.  
  2.                                   VMEM V1.1
  3.  
  4.                Virtuelle Speicherverwaltung für alle Atari Rechner
  5.  
  6.                             © 1990 Robert Federle
  7.  
  8.  
  9. Grundsätzliches:
  10. ================
  11.  
  12. Was ist ein virtueller Speicher?
  13. --------------------------------
  14.  
  15. Viele kennen das Problem: da besitzt man einen Rechner mit "nur" 512 KByte
  16. und dennoch laufen einige Programme nur mit mindestens einem oder mehreren
  17. MByte. Meistens liegt dies daran, daß diese Programme sämtliche Daten im
  18. Speicher halten. So legen die meisten Zeichenprogramme einen UNDO-Puffer an,
  19. der meist genau so groß ist wie die eigentliche Zeichenfläche. Da eine DIN A4
  20. Seite (ungepackt, einfarbig) 950 KByte groß ist, wird selbst bei einem Mega
  21. ST 2 mit 2 MByte Speicher das Arbeiten verhindert. Zwar kann man inzwischen
  22. bei den meisten Programmen diesen UNDO-Puffer weglassen, doch was macht man,
  23. wenn man ihn einmal braucht?? Dauerndes Speichern auf der Platte ist auch
  24. nicht sinnvoll, denn damit übernimmt man selbst die Arbeit, die eigentlich
  25. der Computer machen sollte.
  26.  
  27. Aus diesem Grund wurde das Programm VMEM geschrieben. Mit VMEM ist es nun
  28. möglich, große Datenmengen statt im Hauptspeicher auf der viel größeren Platte
  29. zu speichern, wobei man mit speziellen Befehlen auf einfachste Art und Weise
  30. darauf zugreifen kann. Vor der Benutzung des Speichers muß man ihn anfordern,
  31. danach muß man ihn wieder freigeben. Dies ist beim normalen Speicher gleich.
  32. Der einzige Unterschied besteht darin, daß der Hauptspeicher immer am gleichen
  33. Platz ist, wohingegen man auf den virtuellen Speicher nur durch ein "Fenster",
  34. dem Datencache, zugreifen kann. Dieses "Fenster" muß vor dem Zugriff mittels
  35. einer speziellen Funktion (VM_ADDRESS) auf den gewünschten Speicherbereich des
  36. virtuellen Speichers eingestellt werden. Erst danach kann auf man die Daten,
  37. die nun im Cache liegen, zugreifen und diese verändern. Man muß diese Daten
  38. jedoch nicht selbst zurückschreiben, da dies die "intelligente" Verwaltung
  39. des Caches übernimmt.
  40.  
  41. Was nützt mir ein virtueller Speicher?
  42. --------------------------------------
  43.  
  44. Falls Sie ein Anwender sind und ein Programm bekommen, das VMEM unterstützt,
  45. so sind Sie in der Lage, Datenmengen zu handhaben, die größer als Ihr Speicher
  46. sind. Somit können selbst Besitzer von 1 MByte und weniger eine DIN A4-Seite
  47. von 300 DPI bearbeiten.
  48.  
  49. Als Programmierer gibt es mehrere Einsatzgebiete für VMEM. Den wohl sinnvoll-
  50. sten Einsatz bieten wohl die Mal- und Zeichenprogramm, die in der Lage sind,
  51. große Vorlagen (z.B. von Scannern) zu bearbeiten. Man sollte aber nicht nur
  52. den UNDO-Puffer in den virtuellen Speicher verlagern, denn dank der hohen
  53. Übertragungsgeschwindigkeiten der meisten Platten kann man selbst große Bilder
  54. fließend scrollen (siehe VMEMDEMO).
  55.  
  56. Aber auch in Sound-Sampler kann man VMEM verwenden. Zwar kann man die Daten
  57. nicht vom virtuellen Speicher lesen und gleichzeitig ausgeben, jedoch können
  58. einmal aufgenommene Samples mit Hilfe von VMEM auf die Platte ausgelagert und
  59. bei Bedarf wieder eingeladen werden. Da die meisten Platten mehr als 500 KByte
  60. pro Sekunde übertragen, dauert dies im schlimmsten Fall  3-4 Sekunden.
  61.  
  62. Man muß VMEM aber nicht nur bei Datenmengen verwenden, die mehrere MByte be-
  63. tragen. Selbst bei einem 100 KByte-Block, den man auf die Platte ausgelagert
  64. hat, spart man wichtigen Hauptspeicher. Natürlich ist es in diesem Fall un-
  65. sinnig, einen Cache anzulegen, der größer als 100 KByte ist. Hier würde auch
  66. ein 10 KByte-Cache reichen.
  67.  
  68. Das beigefügte VMEMDEMO zeigt eine einfache Anwendung. Hierbei wird eine zuvor
  69. gewählte GEM-IMG-Datei in den Hauptspeicher eingelesen, in den virtuellen
  70. Speicher entpackt und anschließend gescrollt. Das Entpacken dauert ca. 10 mal
  71. länger als üblich. Das Scrollen hingegen, das waagrecht mit 16 Bit und senk-
  72. recht mit 16 Zeilen erfolgt, ist nur um den Faktor 3 bis 4 langsamer als bei
  73. vergleichbaren Programmen. Zudem ergibt sich bei dem horizontalen Scrolling
  74. kein einziger Zugriff auf die Platte, obwohl jeweils 32 KByte aus dem "Fenster"
  75. herauskopiert werden. Der Algorithmus, der in der Funktion VM_ADDRESS steckt,
  76. ist soweit optimiert, daß selbst bei großen "Sprüngen" im virtuellen Speicher
  77. nur die Seiten zurückgeschrieben werden, die geändert wurden und auf die am
  78. längsten nicht mehr zugegriffen wurde (sog. LRU-Aging-Algorithmus).
  79.  
  80.  
  81. ******************************************************************************
  82. * Ein Hinweis an Besitzer einer Wechselplatte:                               *
  83. *                                                                            *
  84. * Falls die temporäre Datei auf der Wechselplatte angelegt wird, so darf sie *
  85. * vor Programmbeendigung unter keinen Umständen herausgenommen werden!!!     *
  86. ******************************************************************************
  87.  
  88.  
  89. Leistungsmerkmale von VMEM V1.1:
  90. ================================
  91.  
  92.  * Verwaltung von bis zu 2 Gigabyte an zusätzlichem Speicher
  93.  
  94.  * lauffähig auf allen Atari-Rechnern mit Fest-/Wechselplatte
  95.  
  96.  * VMEM erlaubt die Nutzung großer Datenmengen auch bei Rechnern, deren
  97.    Hauptspeicher nur 512 KByte beträgt
  98.  
  99.  * frei konfigurierbare Größe des Speichers und des Caches
  100.  
  101.  * Cache mit "intelligentem" Verwaltungsalgorithmus (modifizierter LRU-Aging)
  102.  
  103.  * einfache Programmierung (ähnlich Malloc und Mfree des Betriebssystems)
  104.  
  105.  * spezielle Zugriffsbefehle erledigen den Datenaustausch zwischen dem
  106.    virtuellen Speicher und dem physikalischen Speicher / Datenträger
  107.    mit der größtmöglichen Geschwindigkeit
  108.  
  109.  * geringer Mehraufwand bei der Erweiterung bestehender Programme
  110.  
  111.  * einmalige Installation im Speicher
  112.  
  113.  * Updates von VMEM erfordern keine übersetzung bestehender Programme
  114.  
  115.