Shopping For Tablets

The Little Woman had a PSU fail on her Android/Linux tablet. She went shopping for a new tablet by visiting a big box store locally. Eventually, she bought a new PSU for a few dollars.

The thought occurred to me that it’s getting really hard to buy an Android/Linux tablet these days because of the sheer volume of choice. I looked at a popular Chinese site and found 7″ displays were most numerous (124 choices). Prices ranged from $38 to $380. The $38 model actually is a serious product from a serious company complete with flashy rollouts and booth-babes. They are competing hard even for this low-end market. CPUs were of several kinds with clocks from 1gHz to about 1.6gHz and single to quad core. RAM ranged from 512MB to 1gB. That would be a killer for me. Beast has 4gB and I use it all day long, either actively or as a file-cache. The one thing I got from the exercise is a respect for the difficulty facing the consumer. I suspect that most consumers would look at the final product, the display in use, the general appearance and the price rather than specs. I rather care more about performance.

I looked at the higher-end chip, sibling to the $38 model, ATM7039, and found it in a 9″ model with 1920 x 1200px and HDMI socket at $183. There’s no Ethernet but 802.11n is decent. With USB and HDMI I can add size to the user-interface and storage. Except for the 2MP camera, this is a great device. Now we’re talking. Quad core 1.5gHz and 2gB RAM, competing with Intel… Whats-his-name was proud to say he could not make a tablet for less than $500. Chuckle. Watch our dust. These small cheap computers come in flavours suitable for any taste.

I can even get an Exynos 5 CPU in an 8″ tablet for $254. Close. Really close…

In all of the prices mentioned above, one can get a small but increasing discount if one orders more units.

The bottom line is that no matter what factor concerns a consumer most, he/she will find it with */Linux on ARM, be it affordable computing, great computing, or something in between. There’s something for everyone and Wintel need not apply. There are a million reasons why Android/Linux on ARM is kicking Wintel’s butt. Every consumer has a few.

UPDATE I noticed in a related story that M$ is now offering to give away its OS to makers of small and <$250 tablets. Good luck with that. 😉 Android/Linux is already giving ~1billion people “full PC functionality”. I can even root these things and install Debian GNU/Linux. It doesn’t get any better than that. Even for $0, M$’s stuff has negative value. M$ will have to start paying people to use its stuff.

About Robert Pogson

I am a retired teacher in Canada. I taught in the subject areas where I have worked for almost forty years: maths, physics, chemistry and computers. I love hunting, fishing, picking berries and mushrooms, too.
This entry was posted in technology and tagged , , , , , . Bookmark the permalink.

27 Responses to Shopping For Tablets

  1. kurkosdr wrote, “you are talking about virtual memory. Not virtual RAM.
    The one exists: the other does not. I really don’t see how this is so hard to understand.”

    Memory can be real or virtual. If virtual memory is random access, it is by definition random access memory, RAM. I am old enough to know memory comes in many forms. I’ve used what’s between my ears, punched paper cards and tape, DecTape, 8&9 track tape on reels of various sizes, several types of floppy and Winchester drives and magnetic cores. For Pete’s sake, I can mount swap over NFS to just about anything with blocks and this programme works on my PC:
    program testvm;
    Uses Unix, crt, strings;
    const enough = 1024*1024*250;(*2gB*)
    var j,k:longint;
    var p,q: ^real;
    begin
    writeln(enough);
    writeln(ReturnNilIfGrowHeapFails);
    shell ('free -m');
    writeln('allocating');

    p:=getmem(enough*8);
    for k:=0 to enough-1 do begin q:= p+8*k; q^:= 3.2465 end;

    q:=p+534678;
    q^:=3.0;
    shell ('free -m');
    writeln('freeing');
    freemem(p);
    shell ('free -m')
    end.

    Of course, Beast swaps like mad but the thing works. It’s virtual random access memory. I really don’t see how this is so hard to understand.

  2. DrLoser wrote, “they’re still “virtual RAM” by your definition, aren’t they?”

    Twit! They are not random access usually, unless there is a timing/block track, and good luck jumping around on a 2400ft tape like I used to use. I will never forget the fear in my heart when I had five tapes mounted in parallel and was doing a sort… The operatrix could not understand how my tiny job got into that light I/O queue in mid-day… She threw a chair across the room and cancelled the job. I programmed in assembler and used “chained scheduling” so one I/O count could do a lot. Oh, the joys of working on a mainframe in the good old days.

  3. DrLoser says:

    [Tape drives are] definitely not a desirable medium for RAM. [Their] access time was seconds…

    Finally, you see half of the light, Robert. Tape drives are rubbish for random access. But (the other half of the light), they’re still “virtual RAM” by your definition, aren’t they?

    Hard drives where swap may be found is accessible by block address in a few milliseconds and one can do some computation to relate a byte-address in virtual memory space to a particular track, block, and displacement within a block.

    Don’t know about you, Robert, but I expect RAM access to measure out in tenths of a microsecond (or less). Not milliseconds. And it’s usually amenable to bit-blatting, which is not true of swap space.

    Virtual, but ten thousand times slower.

    Not the finest sales point I can think of.

    That makes block storage reasonable for virtual memory, by cost and quantity if not speed.

    Yes, it does indeed, Robert. But at that point you are talking about virtual memory. Not virtual RAM.

    The one exists: the other does not. I really don’t see how this is so hard to understand.

  4. DrLoser says:

    As an aside, Robert: I assume (based on the evidence in front of us all) that JD didn’t “help you out,” and neither did your “HTML/CSS” expert.

    Have you experimented with my suggestion of <div>s or preferably <span>s inside the template for a WordPress comment?

    I imagine the results would be both performant and incredibly satisfactory from the point of view of somebody who likes to examine and modify the code.

  5. DrLoser wrote, “Tape drives are nothing but “virtual RAM.” You know why? Because, somewhere on that tape drive, there is the page (or pages) that the user (app or kernel) requires.”

    Tape drives are accessed sequentially. There’s nothing random about them. Many systems require the tape to be rewound to the beginning to do anything resembling a “seek”. In particular, the blocks don’t have an address just a block count which can be off in the case of I/O errors. Want to access that bread recipe out there on the tape? Whoops! What’s this Jello stuff? I guess we need to do a search rather than seeking to the Nth record/block. It is possible to set up tape storage with labelled blocks but I’ve never heard of anyone doing that. DecTape comes the closest to mind but it used an extra track for marking blocks and it had directories just like a hard drive or floppy. We always used it like sequential access on our private OS and definitely not for accessing bytes from Dec’s OS. It’s definitely not a desirable medium for RAM. It’s access time was seconds… Hard drives where swap may be found is accessible by block address in a few milliseconds and one can do some computation to relate a byte-address in virtual memory space to a particular track, block, and displacement within a block. That makes block storage reasonable for virtual memory, by cost and quantity if not speed.

  6. DrLoser says:

    Loser needs to take his meds or perhaps find a female companion, so as to quench the anger, bitterness and resentment that clouds his judgement.

    Be quiet, Snake-Oil Salesman. I’m trying to back up your proposition that Robert should buy his good lady a good-value ($148 or so) Chromebook.

    If you’re really nice, I’ll recommend you for the commission on the purchase. Should keep you in Thunderbird for a bottle or two.

  7. DrLoser says:

    Wait, that extra stuff is virtual RAM out there on the hard drive, spinning around, 130MB of that swap in use stuff…

    Which is why we call this memory “swap space,” Robert. You may have heard of it. It is not, in any meaningful sense, “virtual RAM.”

    It is virtual to the CPU/application

    Any sort of memory is “virtual to the CPU,” Robert. That is why cache lines were invented. And any sort of memory is “virtual to the application.” That is why memory managers in the kernel were invented.

    It seems distinctly specious to describe either process in terms of “virtual RAM.” Perhaps, if the term was in common IT usage, I’d accept it. But, since you appear to have made it up on the spot, I’m afraid I’m going to have to refute the notion.

    and it is RAM because a programme can ask for any byte of it in any order and the OS can ask for any byte of it in any order even though it’s not in real RAM, you know, the stuff in the memory slots on the mobo.

    What a fascinating notion.

    We could extend this notion, Robert. Tape drives are nothing but “virtual RAM.” You know why? Because, somewhere on that tape drive, there is the page (or pages) that the user (app or kernel) requires. All you have to do is to mount the tape drive, run the search, find the page, and load it into this thing that we, here, on Planet Earth, call …

    RAM. Ta-daaah!

    You do realise that my scenario is a one-for-one equivalence with yours, don’t you?

    And you do realise that both scenarios are absurd, in “virtual RAM” terms? (If not, I could extend the scenario to cloud memory and Error 404s.)

    The only difference I can see is that I recognised the concept as inherently absurd, even while I typed it.

  8. DrLoser says:

    See, “Is it possible to use Cache as RAM?”

    You need to read these things before you cite them as evidence, Robert. Here’s the original question:

    Now, to make a bit different from the existing OS design, i want to load my microkernel into L2 cache permanently.
    i.e, I want my microkernel to be bootloaded into L2 Cache rather than into main memory.

    First of all, we’re talking microkernels here. This is by no means a general-purpose objective.

    Oh, and the basic answer?

    It is not possible to prevent the hardware to keep a copy of your OS in memory. However, it should be possible to prevent the hardware from evicting your code from cache. This can be done by assigning only pages to user space that do not map to cache lines that are occupied by your kernel code. However, you will need a descent understanding of the caching behaviour of the underlying hardware in order to make this work.

    That’s the Intel Guy’s (polite) viewpoint. He’s trying not to say: “You are an idiot. Stop that right now.”

    You could, in theory, run an entire microkernel (and associated services) inside a suitable chunk of L2 cache. The problem is, you’re going to want to talk to other things on the motherboard at some point. At which point you get cache eviction into RAM and …

    Sorry, Robert, but your cite simply reinforces my point that there is no such meaningful thing as “virtual RAM.” I suppose you could consider physical RAM in a virtualised system as “virtual,” but even that isn’t very useful, because either it’s a straight partition of actual RAM or else bits of it get paged out to distinctly non-virtual disk. At a rather high cost, compared to the latency of RAM.

  9. dougman says:

    Loser needs to take his meds or perhaps find a female companion, so as to quench the anger, bitterness and resentment that clouds his judgement.

  10. DrLoser wrote, “So, swap space is “virtual RAM?”
    I think not, in any remotely meaningful sense.”

    It may not be in that other OS but here’s the little woman’s current memory utilization:

    Do the maths. She has 1gB of real RAM, you know actual bits of silicon of which a few are mapped away to the I/O space… Add up the used stuff: cached files, buffers, RAM in use by stuff and RAM not in use by anything: 153MB + 5MB + 817MB + 155MB = 1130MB ! OMG, the world will end! She is using more than she has! Wait, that extra stuff is virtual RAM out there on the hard drive, spinning around, 130MB of that swap in use stuff… It is virtual to the CPU/application and it is RAM because a programme can ask for any byte of it in any order and the OS can ask for any byte of it in any order even though it’s not in real RAM, you know, the stuff in the memory slots on the mobo.

  11. DrLoser wrote, ” No serious student of hardware since about 1985 or so (or whenever the idea of an on-chip or chip-local cache came in) would consider cache memory as “RAM.””

    Cache is usually made from serious fast static RAM. Here’s what a guy from Intel wrote about using Cache as RAM:“it should be possible to prevent the hardware from evicting your code from cache. This can be done by assigning only pages to user space that do not map to cache lines that are occupied by your kernel code. However, you will need a descent understanding of the caching behaviour of the underlying hardware in order to make this work.” See Is it possible to use Cache as RAM?. So, RAM is RAM wherever you can find it.

    Further, here is Intel’s description of their Pentium Pro processor, circa 1995, which was the processor I was using when I discovered GNU/Linux:“The component package contains an Intel Pentium Pro
    processor core, and 1 MB of L2 cache. The 1 MB cache is built using two of the 512 KB SRAM die found in the 512 KB version of the Pentium Pro processor.”

    see PENTIUM® PRO PROCESSOR WITH 1 MB L2 CACHE AT 200 MHZ

  12. DrLoser says:

    I notice, btw, that JD’s offer of help didn’t extend to decorating your comment template with <div>s and/or <span>s, did it, Robert?

    Perhaps, while you wait for Community Support, you could indulge yourself in a simple bit of HTML programming? I promise you, it won’t be an all-nighter.

  13. DrLoser says:

    I’ll correct myself again.
    $148.
    Every last dollar matters.

  14. DrLoser says:

    I have both the 14″ and a 11″ Chromebooks, awesome little devices for using by the pool.

    Don’t tell me, Dougie. Use your snake-oil charms on Robert.

    For some reason, Robert doesn’t seem to like the idea of his better half relaxing by the pool with a $150 Gentoo-powered awesome mini-beast.

    Despite the fact he’s spent the best part of the last two or three years trying to evangelise the things to anybody who will listen.

  15. DrLoser says:

    Actually, I will correct myself here. No serious student of hardware since about 1985 or so (or whenever the idea of an on-chip or chip-local cache came in) would consider cache memory as “RAM.”

    Why not? Because it isn’t. RAM just sits there. Pages (typically 4096 bytes at a time) get swapped in and out, but for most purposes, you can assume these days that RAM is genuinely memory that is randomly accessible and does not need persistence.

    Cache lines? Cache lines are a completely different deal. They look like RAM, but they behave like naughty children who don’t listen to you unless you give them very explicit instructions.

    None of which has anything to do with “virtual RAM,” which is not the best coinage you have ever come up with, Robert.

  16. dougman says:

    I have both the 14″ and a 11″ Chromebooks, awesome little devices for using by the pool.

    Boots faster then Windows and updates automatically, amazing that Google took Gentoo and made such a lovely tool.

  17. DrLoser says:

    Missed that last para (or rather, I included it without comment).
    So, swap space is “virtual RAM?”
    I think not, in any remotely meaningful sense.

  18. DrLoser says:

    DrLoser wrote abunch of stuff folowed by, Remind us again.What is “virtual RAM?”

    “Virtual” in this sense means something that behaves like RAM but isn’t in the sense of high-speed dynamic Random Access Memory.

    Does it? Really? No, seriously, Robert. What do you mean by “virtual RAM?”

    There are several layers in modern PCs and servers that serve as memory:

    Only one of which can be remotely described as RAM. Do go on.

    …. registers accessible in picoseconds,

    Typically, indeed universally, described as “registers.”

    ~3 layers of cache usually static RAM serving as a buffer between the fast CPU and the slower main memory accessible in ~1ns.

    Typically, indeed universally, referred to as “cache.” (L1 L2 and L3.) I’ll accept that cache memory can be regarded as a form of RAM, but what with multi-processors and all, it’s not a very useful equivalence, is it? Oh, and it’s still not virtual. Far from it, in fact.

    The last layer is bulk storage out on a hard drve or solid state drive accessible in milliseconds, often over a network.

    Now you’re just being very, very silly.

    Why don’t you just admit that “virtual RAM” was a slip of the tongue?

    I’m quite happy to admit where I’m wrong. I would assume that part of FLOSS is the ability to realise when one is wrong, for whatever reason.

    Then again, there are plenty of FLOSS examples out there of just being mule-headedly silly. oiaohm springs to mind.

    Ask him about his fantastic theory of how to improve Posix file systems by encoding all paths into Base64 some time. That one was even more hilarious than the concept of “virtual RAM.”

    It,s very complex for applications to know what kind of memory is being accessed and where it is, so most general purpose operating systems use a layer of abstraction called virtual memory so there is a read/write to some location in an address space and the operating system makes it happen, pausing the process transparently if data needs to be moved in or out of main memory where the application or the operating system needs it to be so the usual instructions like “move”, “add”, “subtract” etc. can operate. This is greatly convenient and flexible although in worst cases it can slow things down. Good operating systems with a reasonable mix of processes usually have most of the frequently needed data in fast RAM and the rarely or not-recently accessed data swapped out to a storage system.

  19. DrLoser wrote, “Here’s an even better one:”.

    “Better” is in the eye of the beholder. I think the tablet is more mobile than the notebook. She could use the tablet in bed or sitting in the living room more easily curled up in a chair. The 4gB is better but then there are other factors. RAM may not be that important. At this minute she has 1gB real RAM with ~100MB free and 377MB swapped. 2gB would be just fine. 4gB might be wasted for the time being, but it would be nice.

  20. DrLoser wrote abunch of stuff folowed by, Remind us again.What is “virtual RAM?”

    “Virtual” in this sense means something that behaves like RAM but isn’t in the sense of high-speed dynamic Random Access Memory. There are several layers in modern PCs and servers that serve as memory: registers accessible in picoseconds, ~3 layers of cache usually static RAM serving as a buffer between the fast CPU and the slower main memory accessible in ~1ns. The last layer is bulk storage out on a hard drve or solid state drive accessible in milliseconds, often over a network.

    It,s very complex for applications to know what kind of memory is being accessed and where it is, so most general purpose operating systems use a layer of abstraction called virtual memory so there is a read/write to some location in an address space and the operating system makes it happen, pausing the process transparently if data needs to be moved in or out of main memory where the application or the operating system needs it to be so the usual instructions like “move”, “add”, “subtract” etc. can operate. This is greatly convenient and flexible although in worst cases it can slow things down. Good operating systems with a reasonable mix of processes usually have most of the frequently needed data in fast RAM and the rarely or not-recently accessed data swapped out to a storage system.

  21. DrLoser says:

    Here’s an even better one:
    Acer Chromebook C710-2457US, Intel Celeron 847, 11.6″ Screen Display, Notebook With 4GB Memory, 16GB SSD, Google Chrome Operating System [caveats as above].”

    $148. Which is $35 less that the silly little under-performant tablet that you have promised your beloved … with 4 GB of RAM. Virtual or otherwise.

    It sure pays to shop around.

  22. DrLoser says:

    Remind us again.
    What is “virtual RAM?”

  23. DrLoser says:

    Naturally the bozos at Frys meant “a Google Chrome You Really Need To Know That This Is A Gnu/Linux Operating System, Although We Won’t Let You See The Code.”

    But, other than that, it seems to fit your wife’s needs rather well. 2GB of RAM and a 16GB hard drive!

  24. DrLoser says:

    Do I take it that you are going to provide the love of your life with a 9″ $183 tablet rather than a “Samsung Chromebook, 11.6″ Screen Display, Notebook With 2GB Memory, 16GB Hard Drive, Google Chrome Operating System,” at $249, Robert?

    I admire your frugality, but don’t forget. You’re supposed to be selling the rest of us on these things.

    So far I seem to be doing a better job than you are.

  25. dougman says:

    Win-Dohs so great that M$ even when it is giving away, people still refuse it.

    Who buys Windows tablets and phone? NO one!

  26. Agent Smith wrote, “Guess any tablet with Cortex A9 and up, dual core and up and minimum Mali 400 GP and up is acceptable.”

    I still think more RAM and storage are needed for folks who browse the way GNU/Linux allows. I have only 5 windows open at the moment but I had 25 earlier today. That just won’t fit in 512MB, depending on the pages and the browser. Firefox is using nearly a gigabyte of virtual RAM here.

  27. Agent Smith says:

    Guess any tablet with Cortex A9 and up, dual core and up and minimum Mali 400 GP and up is acceptable.

Leave a Reply