Article View: de.comp.sys.amiga.tech
Article #4755Re: HD Cache
From: Aaron Digulla
Date: Thu, 18 Apr 1996 19:40
Date: Thu, 18 Apr 1996 19:40
57 lines
3360 bytes
3360 bytes
Michael van Elst schrieb in de.comp.sys.amiga.tech ueber "Re: HD Cache": > >> Du kannst eh nicht sehen wieviel Speicher "frei" ist und Programme, > >> die den AvailMem-Wert fuer irgendwelche Ratespielchen benutzen sind > >> eh was daneben. > >_ICH_ benutze AvailMem um rauszufinden wieviel Speicher noch frei ist > >und ob ich noch ein Programm starten kann oder nicht. > Muss ich jetzt tausend mal wiederholen, dass du das exakt _nicht_ tust ? > AvailMem sagt dir nur wieviel Speicher ungenutzt ist und nicht, ob du > ein Programm starten kannst. Denn letzteres haengt davon ab, ob > irgendwelche anderen Ressourcen freigegeben werden. Ob das nun Libraries > oder Fonts oder halt Cache-Seiten sind. :P Die meisten Programme, die ich benutze, brauchen nur eins: RAM. Fonts und Libs und so werden ja eh geshared. Also benutzer ich AvailMem() in Form der WB-Titelzeile um zu sehen wieviel Speicher noch frei ist. Wenn da dann "5xx.xxx" steht, dann versuche ich es gar nicht erst. Als ich PowerCache laufen hatte, das mit Memory-Handlern arbeitet, hatte ich immer das Problem, dass dort nach kurzer Zeit "1x.xxx Bytes free" stand und ich nicht wusste wieviel Speicher denn nun wirklich "frei" (dh. freigebbar) ist. > >Ah wunderbar; jemand der sich auskennt: Ich brauche eine Routine, die > >folgendes macht: > >1. Sie soll Speicher im System belegen, der moeglichst automatisch > >freigegeben wird, wenn irgendein Programm welchen braucht. > Kein Problem. Ein Memory-Handler sagt dir, wann und wieviel Speicher du > freigeben sollst. Unter 2.0 installierst du eine dummy-lib, die dann > Expunged wird, wenn Speicher gebraucht wird. Da kann ich dann doch gleich mit einer Lib arbeiten, oder ? Was ist dann der Vorteil von Mem-Handlern ? > >3. Die Routine muss unter ab 2.0 laufen > Unter 2.0 kannst du nicht genau wissen, wieviel Speicher gebraucht wird. > Die Routine wird also oefters mal zuviel Speicher freigeben oder etwas > komplizierter sein. Doch, AllocMem() hat diese Info. Ich gebe halt genau so viel Speicher frei, wie AllocMem() braucht. > >4. Das ganze muss fuer andere Programme unsichtbar sein > Es ist natuerlich so sichtbar wie irgend ein anderes Programm, das > laeuft. Es muss wirklich transparent sein, also sollte weder AvailMem() noch sonst irgendein System-Befehl anzeigen, dass mein Programm Speicher verwendet. Was man braeuchte, ist eine Art AvailMem() mit Prioritaeten, wobei ein High-Prio-AvailMem() automatisch Speicher freigeben wuerde, der mit einem Low-Prio-AvailMem() besorgt wurde. -- Aaron "Optimizer" Digulla Team AMIGA AROS Head of Development Author of XDME, ResTrackLib, CInt. (since no one else wanted) "(to) optimize: Make a program faster by improving the algorithms rather than by buying a faster machine."
Technical Details
Message-ID:
<69360610@home.lake.de>Path:
arc1-ca.pugleaf.net!home.lake.de!not-for-mailReferences:
<4j65ro$f9@serpens.rhein.de> <69360187@home.lake.de> <4kebu1$3r2@serpens.rhein.de> <69360220@home.lake.de> <4khf6a$dug@serpens.rhein.de> <69360387@home.lake.de> <4koos2$9o3@serpens.rhein.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!home.lake.de!not-for-mail From: "Aaron Digulla" <digulla@home.lake.de> Newsgroups: de.comp.sys.amiga.tech Subject: Re: HD Cache Date: Thu, 18 Apr 1996 20:40:46 +0100 Organization: Newsserver at lake.de Message-ID: <69360610@home.lake.de> References: <4j65ro$f9@serpens.rhein.de> <69360187@home.lake.de> <4kebu1$3r2@serpens.rhein.de> <69360220@home.lake.de> <4khf6a$dug@serpens.rhein.de> <69360387@home.lake.de> <4koos2$9o3@serpens.rhein.de> NNTP-Posting-Host: home.lake.de X-NewsReader: IntuiNews 1.3 (27.8.95)