The incredible shrinking iPod

No, but if I were concerned with security, I’d want to jailbreak the device so I could install software that would allow me to use SSH and PGP.

Until Apple stops locking me out of my own fucking hardware I refuse to accept that they have my best security interests at heart. The folks jailbreaking the iPhone are Apple’s defacto security.

For secure mail on an iPhone, one of my friends uses the Hushmail webmail service. What I don’t understand is why, for example, the PGP application that you link to isn’t in the iPhone/iPod app store. Is there a problem with the PGP software license, or do developers not submit these kinds of the things to Apple’s store?

Mel’s my hero. My 1k was on a Sinclair ZX81, not one of his wonders. Still, if I had been able to buy a 4k memory module, My Sinclair would have had as much computing power as Mel’s machine, for under 500 bucks. Mel still would have programmed rings around me. :frowning:

I don’t know anything about computers or programming (my B+ in COBOL withstanding), but it seems to me that Mel would have programmed ONE ring around you, but it would be fully optimized.

4K! In my day, we only had 8 dozen bytes of RAM. I once wrote an entire database out of zeros.

My first programming job, in 1981, was with Cado mini-computers. They used a crippled form of Basic called, what else, Cadol. We had a pre-defined working storage area of less than 2k. A,B and C were 40 character alpha buffers. A1, A2, B1, B2, C1, C2 were 20 character alpha storage. N through N25 were numeric (max 13 digit) storage. X, Y and Z were 256 character storage with 2 pointers in each. Only, under some circumstances, you couldn’t count on Z being stable, as it may be over-written by program instructions. So really, you had X and Y to use.

Out of that, we wrote small business software and customized a standard package of the usual 5 accounting programs.

You are completely confused. You are misusing image, and the size of a hibernation file has little to do with the size of the operating system. When you hibernate you only need to store those things that are not store elsewhere on the disk. All of the “code” is already on the disk, so it is not stored again.

Moreover, 8GB refers to the amount of storage not the amount of memory.

I can absolutely promise you I’m not. (Unless I have undiagnosed Alzheimer’s. :))

I’ve spent many years modifying operating systems and have even written one from scratch. I have a clue as to how they work and how the interact with the hardware.

This is not actually correct.

The purpose of hibernation is to avoid having to scramble about all over the disk picking little pieces of data (including code) a bit at a time.

When Windows, or any non trivial program, loads it does not load all of it’s executable into memory at once. It loads stuff it needs and may add or remove things as it goes about its business.

The idea of hibernation is to just save an image of all used memory to the disk in one nice, long, efficient, sequential, write so that it can be recovered in one nice, long, efficient, sequential, read. (This is why when a machine is entering or leaving hibernation the HD light glows steadily and you don’t hear a lot of disk thrashing.)

That’s why a start up from hibernation is so much faster than a full boot (unless you have vast amounts of programs open and using memory). This can be confirmed by noting that the time difference between a full boot and a start from hibernation tends to be much less noticeable if you have an SSD for your main drive (because the SSD does not have nearly as much overhead for reading data small amounts at a time).

Not sure why you might think I thought anything else. :confused:

[quote=“qpw3141, post:28, topic:550587”]

That’s not how we did it back in the COBOL days:smack: What do you mean by “for devices such as an ipod the OS, as it is stored on the ‘disk’ is usually an image, as opposed to a vast proliferation of files”? In my day an image would be a file containing all the files needed for an OS, and that would be copied onto a disk drive.

The purpose of hibernation is to record the running state of a system in volatile memory to a longterm storage medium for recall (and rapid reconstitution) at a later time. Without compression and blank page removal, a hibernation file will always be slightly larger than actual volatile memory (there is some overhead for CPU and device state). Waking up from hibernation involves booting an initial bootloader, restoring the memory image, restoring device and CPU state, accounting for any changes (time, usually, and removable devices) and returning control to the operating system.

For a general purpose OS (like Linux or Windows), this is much faster than a raw boot, because all the device state determination (memory, disk, keyboard, mouse, file systems etc) has already been done. The fact that the hibernation file is streamed from the disk as a continuous read is a bonus (plus it makes the initial boot loader a much simpler piece of code).

For a specified piece of hardware (like a media player or embedded system) with a consistent device setup, your initial boot can be very fast because you make assumptions about the physical environment. You may even be able to completely skip device initialisation. In this case, you can always start the system with the same memory image, quickly loaded off the longterm storage. If your functionality is limited and the operating system is small enough, you can do this without any supporting OS file system, or by loading the OS file system into a ram disk - with flash memory storage this is less necessary, as flash access is much faster than hard disk.

So, to the IPod OS. It is a limited general purpose OS shoehorned into a consumer device. This allows the same OS to be used across a range of devices (IPod/IPhone/IPad), and also across a range of hardware revisions with various combinations of CPU, Wifi, Cellular and screen hardware. It also must support the installation of apps, and provides a suitable sandbox/runtime environment for these apps. This grows the OS to something fairly large (maybe 1 Gb, given a 300Mb compressed download). The IPod Touch has 128Mb or 256Mb Ram to run in, so it probably does not use a directly loadable image, and using Flash to record hibernation states is not a great idea - in general, this sort of device just retains dynamic ram as much as possible using a low power refresh and uses cpu slowdown to save battery. Apps are also designed to store state to longterm storage and restore quickly on subsequent startup.

Anyhow, the IPod OS is relatively big because it is flexible and file based, but the 300Mb downloads for updates will not increase the space the OS actually uses because it is the whole OS. This is done for convenience and security, and relies on the fact that bandwidth is cheaper than getting patching/updating correct. It also means that additional updates/feature enhancement can be slipstreamed into the update.

Si

[quote=“DanBlather, post:29, topic:550587”]

Yes, that is a different usage of image.

The image that I was referring to was what I suppose you’d call a ‘running image’.

It was something I first implemented for CPM machines which could, for some programs, take an interminable time reading different files on floppies at start up. So I just added a little driver that would store or retrieve an image of the memory on the dish. Under certain circumstances it speeded things up no end.

It’s also what Windows writes as the hibernation file.

What I’m suggesting is that as a media is a pretty much fixed configuration once manufactured it would make a lot more sense to supply the OS as an image for that particular instance of the device, rather than including unnecessary extra OS components that would not be used and configuration files.

Really, this is just wondering what on earth apple are doing with all that space that the consumer payed for but cannot use.

No real arguments with any of that, as far as it goes, but it doesn’t come close to explaining what apple are doing with all that missing space.

The reason I mentioned an image file was simply to point out that you can get all the running software for full blown pre-emptive multitasking OS and a media player in 256MB file so why do apple need to waste so much space on an ipod. It wasn’t intended as speculation as to how apple or anyone else actually implemented their media player OS.

You keep saying this, which absolutely no supporting evidence.
Cite?

I could also say that the Earth and the Sun rotate about their common centre of gravity and not supply any any evidence. Some things are just common knowledge.

I suppose, for anyone over the age of, say, 16, they should be able to remember when even high end computers came with as little as 128MB and could still easily run a media player.

If you want a citation, Try this.

Your cite just proves that you have no idea what you are talking about.
As previous posters have pointed out, you don’t grasp the difference between RAM and Flash.
The fact that an OS will only consume a small amount of RAM has nothing to do with the actual size of the OS on disk. In low-ram situations, a huge amount of time is spent paging bits of the OS in and out of the RAM that is available.
The iPod Touch has 256M of RAM, so, by your definition, the OS DOES fit in 256M!

ROFLMAO.

You need to be provided with a link to demonstrate to you something anyone with a basic grasp of computing knows and then you tell someone else they don’t know what they’re talking about.

I’ll give you 10/10 for chutzpah. :smiley:

And they’ve made the same mistake you have. I’m saying that the OS will fit easily fit into a comparatively tiny amount of RAM and asking why the ipod needs to use such a vast amount of flash to support that.

I’m not sure why you’re having a problem with that.

That is true, but are you seriously suggesting that the ipod OS is actually in a ‘low RAM’ situation? I really think apple can do a little better than that when designing its kit.

Windows XP can run a media player in 256MB (actually, it can do it in 128MB but the extra allows for alternative codecs) without any paging whatsoever. And Windows XP does one hell of a lot more than an ipod!

Erm, well done. That’s exactly the point I was making.

Allow a few MB for different CODECS and then we come back to the main point of this thread: What the hell is it doing with all the rest of the flash that is not available for media?

You still don’t get it.
You need to go back to “Computers 101.”
The OS DOES NOT FIT in 256M! The OS on the iPod is a (more or less) full implementation of Unix - it also supports tons of file conversions - PDF readers, Microsoft Word readers, JPEG, TIFF, and Photoshop readers, etc. There’s just no way that’s going to fit in 256M, which is why it takes 1+ GB of flash.
Sure, you could go back to 1990, and get a MP3 player which had an OS that ran in 128K, but you can see how successful those were - the iPod killed them, because it’s a “real machine,” not just a dedicated MP3 player with a lousy UI.

Oh, BTW, there’s no way that Windows “fits” in 256M. It may run (horribly) with 256M of RAM, but how much disc space does it take?

Except that I know exactly what I’m talking about but you are making unwarranted assumptions.

You need to understand the difference between the ‘memory image’ which I was talking about and the full disk installation.

When anyone says a modern OS fits in <nnn>MB, they are obviously talking about the RAM usage.

Similarly, when anyone says it fits in <nn>GB they are obviously talking about the disk space required.

Anyone of any intelligence will naturally understand this rather than looking at things back to front so that they don’t appear to make sense. :rolleyes:

So, basically, it’s just an extremely bloated implementation that does not allow users to tailor the facilities available accorsding to their requirements and thus optimise their flash usage. OK, now we know why people can’t use a big chunk of the flash.

Bloatware is still a problem nowadays.

Erm, no, actually, you couldn’t. The first MP3 player wasn’t released until 1996. See Here

If you’d taken the trouble to read the thread before jumping in telling people they don’t know what they’re talking about you’d see that I’ve already said that, yes, on the disk Windows takes up a hell of a lot of space.

And, there is plenty that it can do perfectly happily in 256MB of ram without paging. Obviously only fairly basic things like media playing but it can do them, nontheless.

Going back to the OP: as other posters have mentioned, this 8 GB (decimal) is actually about 7.45 GB (binary), which would more accurate by written 7.45 GiB - a common difference between advertised “disk space” and actual “disk space”. The difference between 7.45 and 6.83 is, as far as I know, the operating system plus the default installed applications. If you want to find the space taken up by only the operating system, I guess you would have to re-format the device, and then install the operating system with no default applications. (This is just an educated guess, I don’t have an iOS device.)

Did you install the iOS update? If you did, how much memory did you have left?

You have this the wrong way around. (It would be the correct way round for a hard disk.)

Any semiconductor memory is going to be built in multiples of powers of two. That’s the way those chips have always been made. (Because for whatever number of address bits you choose to use you will always get a ‘power of two’ number of bits.) Using multiple chips means that the actual memory is not necessarily a power of two but will be some multiple of one.

So an 8GB ipod will have 8,589,934,592 bytes of flash.

How the OS reports memory is a matter for the OS designer to decide although, as you say, if it’s reported as ‘GB’ it should be units of 1,073,741,824 bytes.