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.
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.
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.
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?
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.
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.
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.
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.
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.
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.”
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.
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.
You need to read these things before you cite them as evidence, Robert. Here’s the original question:
First of all, we’re talking microkernels here. This is by no means a general-purpose objective.
Oh, and the basic answer?
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.
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.
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.
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
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.
I’ll correct myself again.
$148.
Every last dollar matters.
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.
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.
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.
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.
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.
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.
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.
Remind us again.
What is “virtual RAM?”
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!
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.
Win-Dohs so great that M$ even when it is giving away, people still refuse it.
Who buys Windows tablets and phone? NO one!
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.
Guess any tablet with Cortex A9 and up, dual core and up and minimum Mali 400 GP and up is acceptable.