mine XDA I having total 32MB memory allows for moving memory tab in
start/settings/system/memory
between STORAGE and PROGRAM options so that it divides in-bulit memory but .... I am curious about one thing, I have just noticed that today - if I assign too small amount of memory for STORAGE (i.e. it automatically put the division tab sback in a way that memory is split in halfs (50:50) considering current utilization od PROGRAM part
the question is .... is it a limitations imposed from OS manufactirer ??
regards, monika
seems like similar issues have been covered here ... sorry for double posting
http://forum.xda-developers.com/viewtopic.php?t=5660
regards, monika
pflatlyne said:
Looking back at it,im not so sure anymore. I looked up some information on how the virtual memory in windows mobile works. It seems that whether a program is kept in memory depends on what kind of memory it is stored on. Programs that can be reloaded from flash will be unloaded if needed. Data structures that programs keep,will not be becuase there is no way to restore them.
It might well be possible to swap some of these things out to the transflash card. In fact,vista does something similar with readyboost. Ive actually used my phones card as the readyboost device without problems. What might be a problem is the speed of the card reader in the phone. Some people say the reader is very slow. I dont know if this is true or not,but as a general rule,the card itself is faster than a hard disk,so its not at all unreasonable. One problem of course would be wearing out the flash. Readyboost uses a special algorithm to spread the writes across the drive and reduce the amount of writes. If you just put the swap on flash,it would wear out rather fast.
Click to expand...
Click to collapse
Ive decided that this might not be so crazy as it sounds. This was originally discussed here. http://forum.xda-developers.com/showthread.php?t=350002&page=15
Consider this: http://blogs.msdn.com/ce_base/archive/2006/10/30/What-is-Virtual-Memory.aspx
Now direct your attention to this part from the above link
<QUOTE>
Windows CE will “demand commit” pages, meaning that it will usually delay committing them until the last possible moment. There are also some cases in which Windows CE will take committed pages out of memory again, returning them to “reserved” status:
* Since DLL and EXE code can easily be re-loaded from the file system, it is often decommitted.
* Memory-mapped file pages also have well defined files to read from, so those are decommitted as well.
* Thread stack can shrink; if the system is very low on memory we’ll scavenge the top pages from a stack if the thread is not currently using them.
* Heaps can shrink; if the system is very low on memory we’ll check whether there are heap pages without data in them that can be decommitted.
However that is where Windows CE stops. Other operating systems have a “page file” in which they will write other pages that don’t have corresponding files, notably:
* Stack
* Heap
* Allocations from VirtualAlloc()
* Memory-mapped files that don’t actually have files underneath them (CreateFileMapping with INVALID_HANDLE_VALUE)
* The writable data of executables (global variables)
Those operating systems have algorithms to decide that these pages have not been used in a while, and will write them to the page file and decommit the RAM. Windows CE does not have a page file. We’ll demand-commit to delay committing these pages as long as possible, but once they are committed, the operating system won’t page them out again.
So, as you see, virtual memory in its most minimal definition is just having a mapping between virtual addresses and physical addresses. To lay out allocations in the address space in an efficient manner and avoid wasting physical memory on unallocated address space. In more practical terms, we also use the virtual address space to implement paging, avoid wasting physical memory on allocated addresses that are not actively being used.
</QUOTE>
Here is another interesting article.
http://blogs.msdn.com/ce_base/archive/2008/01/19/Paging-and-the-Windows-CE-Paging-Pool.aspx
Consider:
<Quote>
I’d like to explain a little more about memory management in Windows CE. I already explained a bit about paging in Windows CE when I discussed virtual memory. In short, the OS will delay committing memory as long as possible by only allocating pages on first access (known as demand paging). And when memory is running low, the OS will page data out of memory if it corresponds to a file – a DLL or EXE, or a file-backed memory-mapped file – because the OS can always page the data from the file back into memory later. (Win32 allows you to create “memory-mapped files” which do or do not correspond to files on disk – I call these file-backed and RAM-backed memory-mapped files, respectively.) Windows CE does not use a page file, which means that non file-backed data such as heap and thread stacks is never paged out to disk. So for the discussion of paging in this blog post I’m really talking only about memory that is used by executables and by file-backed memory-mapped files.
</QUOTE>
In short,people are comparing transflash speed to ram speed,realizing there is a vast difference and deciding it wont work. The fact is,the OS is already using virtual memory. It is just not using the transflash and it is not paging certain structures. It still may not be possible,but I think its going to be more of a matter of getting the OS to handle it rather than a speed thing. The quick easy and vastly oversimplified requirements would be to some software on the phone that would create a paging file,manage that file so as not to wear out the flash to fast,and do all the back end work necessary to swap them in and out. What is not clear is how much we can use machinery the OS already has.
Im now going to go into the realm of unsupported speculation. Could we perhaps have a program that manages the paging file(we will call this the page file manager). Its job would be to create a virtual file system inside the page file. Then we could set the pages that are ordinarily not pageable (through some magic algorithm that knows what we REALLY want to not page,and what we can get away with paging to the file) as pageable. I imagine we set them as "file backed" and allocate a virtual file inside the paging file.(our page file manager would manage this for us). The machinery of the OS might then handle all the paging for us. Of course the fact that these structures are writeable would be an issue. Writes to a page would cause an exception and the modified page would be recorded in the virtual file system. Like I said however,this is very early speculation,not even to the level of a plan. In short the idea is to take data structures,make a file for them somewhere,and then make the OS treat them like any other file backed memory page. It sounds almost plausible,doesn't it.
Still more speculatory rambling. I imagine the paging file manager would manage the list of free pages in the page file that are allocated to files and the free ones that can be allocated. It would also manage the order in which they are used,to spread the usage around as much as possible to extend the life of the flash card.
It would go something like this. A data structure is to be paged. A virtual file is created in the paging file,allocated to the size of the data structure to be paged. The structure would be copied to the file and the pages uncommitted. A read to the virtual memory pages would generate a exception and ultimatley cause structure to be reloaded. A write would generate an exception and cause the file to be updated. Page_file_manager would handle this. It would allocate the next available block to the page. It would then update the file allocation table to reflect the replacement of that block in the file and release the original. Of course this all really depends on the internal structure of windows mobile.
Hi,
this is my first post so don't kill me if I do anythong wrong
The main reason I bought the Archos 101 was to read and annotate pdf files as I have to read about 400 pages per week for my study. After a short research I found out that everybody dealing with the subjekt recommends ezReader.
Unfortunatly my device (with UrukDroid 1.5 on internl disk) keeps freezing sometimes when I turn pages. With sometimes I mean today it didn't happen for 3 hour of reading and then it I couldn't turn a single page without having to reboot due to a toal freeze.The purchase of the 101 became pretty sensless by this fact also I have to admit that the tablet has many advantages that I wouldn't miss. And I love it!
As i see it there are 3 ways of dealing with the problem:
1. It's the fault of the device because it has not enough RAM for reading large PDF files with text in backround and JPEGs of the scan beeing displayed: Buy another Tablet (I don't want this and I don't have the dough)
2.ezReader has a lot of functions but it's crap anyway because it's not stable: Buy another app for annotating (As I coudn't find anything on the internet about this problem and nothing about a comparable app this seems
3. It has to do with UrukDroid: No idea. I don't get crashes on any other app and I tried diffrent things in UrukConfig like turning of CPUgovenor and making swap files and swappiness first larger then smaler.
So as you see I really need your help. thx
Alright,
I just found out that to freezing correlates with the size of the file and the number of annotations made. So I suggest again that it's a problem of RAM. Anybody who ever printed a pdf with 60+ pages has maybe recognized that there are often sent 200-500mb to the printer also the file itself has only 2-5mb.
But why is the device freezing? There must be other apps with exploding RAM use there has to be some "mechanism" in the kernel to prevent crashing just because of full RAM, or not?
I'm just getting started on a new AMD build (desktop) and was wondering if my Android tablet could somehow display the load activity as the motherboard takes its first boot to BIOS (or of greater significance doesn't).
Because if it doesn't boot, I'd really like to leave my widescreen monitor connected to the old Pentium that I'm typing on right now, and available for getting help on the hardware forums I'm registered with (it's just easier to type with a physical keyboard, especially on something this technical).
I wont have my drive partitioned you see; I'll be on the motherboard's native BIOS & CMOS and my (2G DSL) WiFi. I've been studying the "remote monitor" apps on Google Play but their features appear to be reversed for my needs: Desktop >>to Tablet; no Tablet >>to (Motherboard). Am I getting the technology correct? somewhat confusing lol . . .
cd
I have dedicated hardware to do this. Epson Storage Viewers. P7000 gorgeous 4" screen SD and CF slots pop in the card it see's the card asks if I want to backup the card or back up to the card. I select backup the card and it just DOES IT. dumps the entire contents of the card to a dedicated folder. these folders are names DATE.000 so right now it would go into a folder called 2022-0304.001
if I download another card on the same day it gets the same name but 002 003 004 etc..
tomorrow it becomes 2022-0305.001 002 003 etc.. etc..
it generates thumbs and if I select a folder I can view the images etc..
Very simple. very fast very straightforward. in 3 seconds I go from pop card into to select "backup card" and then I walk away and it does everything for me.
Does such dedicated straightforward software exist for android? I can 3d print a case for a phone to hold a USB C Media Card reader. pop in my CF or SD card and go. but need software to do the soft side.
Hoping something like this exists and I just can't find it.
I designed and printed battery holders for my P7000 so I can get batteries now for it (18650) but while it can download my latest camera images I can't look at them. 31mp limit new cam is 50mp. stupid limit a jpg is a jpg but of course the software team for this hardware was let go over 10 years ago :-(