Thread: Multitasking
View Single Post
Old 01-23-2012, 05:36 AM   #22
jian1
Banned
jian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toysjian1 shares his or her toys
 
Posts: 140
Karma: 5766
Join Date: Jan 2011
Device: Onyx Boox M92
Quote:
Originally Posted by kamizase View Post
Maybe they missunderstood multitasking to mean running two tasks at the same time, rather than quick switching between them, what we are postulating here.

Anyhow, there is a problem, Onyx keeps firmware uniform among devices and the M92 is the only reader to have 256MB of RAM. The rest has 128MB and multitasking there could be indeed problematic. And writing not so trivial code for just one device (so far) could be a waster of limited resources.

One possible way out would to limit the 128MB devices to just keeping max one task in memory while the other is running.
From a computer scientist background myself, Multitasking means switching between any N threads/processes. Unless you've got multicore CPU, there's NO way on earth running two process at the same time! The CPU switches process fast enough to make you *think* it's running concurrently. Since ebook doesn't necessarily to switch processes that often, we can simply assume a simple sleep&wake scheduling method can do the trick, but heck, Onyx engineers can't even write a proper C program, do you expect them able to write a scheduler?

Switching process is very costly in terms of memory consumption, especially by Onyx's bad engineering skills. The mem register tables must all be marked and stored, all stacks, heaps must all be saved as well, and If you've got 10 books openning, each as a seperate process, the space required to store can be tricky, and I doubt Onyx can develop an efficient algorithm that utilize 128mb mem to do so... I have no doubt that other company could do it, but for Onyx.. Nope, zero possibility.

I'd rather think of one program concurrently open different documents, buffering a few pages in memory and that allows fast switching between books also eliminating the needs of multitasking..and I bet other ebook reader company utilize this approach rather than *multitasking* which isn't very efficient on embedded system... maybe I could be wrong, but my instinct tells me so.
jian1 is offline   Reply With Quote