Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Interesting. As I said above, virtual memory is mandated by the mach kernel memory manager. But what does virtual memory do if there is no swap space--isn't that the whole point of VM? I've run top on the iPhone to look at the active processes; how does one have a giant address space and applications with hilariously large VM shadows (like 330MB) if there is no disk paging?

Well maybe like I said this only applies in the protected sandbox environment under which applications from the App store run ?
 
Hope background apps comes soon.

I'd find a smartphone that doesn't allow background apps so limiting. I have a few background apps that I'd miss instantly on my current phone.

And no, they don't slow down the phone noticeably, or suck a load of battery life.

Also, it would just change the way I use it, for example, having a browser, IM and email client all open at once - so much easier.
 
Interesting. As I said above, virtual memory is mandated by the mach kernel memory manager. But what does virtual memory do if there is no swap space--isn't that the whole point of VM? I've run top on the iPhone to look at the active processes; how does one have a giant address space and applications with hilariously large VM shadows (like 330MB) if there is no disk paging?

The giant address space is a hangover from the memory manager provided by the MACH kernel, it doesn't actually reflect physical memory, just a logical space. If you attempt to fill your stack beyond the capacity of the device you'll find very quickly there's nowhere for it to be written to.

M.
 
Never liked Apple's notification approach. It forces developers to create a web site to post to the Apple's notification system. Hopefully, Apple will rethink their implementation and allow direct notification from iPhone to iPhone (with Apple providing an iPhone location service).
 
Nope - certainly not within the sandbox environment anyway.

This from the Apple Human Interface pdf:

Memory is a critical resource in iPhone OS, so managing memory in your application is crucial. Because the iPhone OS virtual memory model does not include disk swap space, you must take care to avoid allocating more memory than is available on the device. When low-memory conditions occur, iPhone OS warns the running application and may terminate the application if the problem persists. Be sure your application is responsive to memory usage warnings and cleans up memory in a timely manner.

As you design your application, strive to reduce the application’s memory footprint by, for example, eliminating memory leaks, making resource files as small as possible, and loading resources lazily.


That is an awesome thing to tell Devs. I wonder if they allowed swaps if it would kill the "tightness" of apps.... They could build it into the OS, but not tell Devs.

I think the end solution should be something like 256/512mb RAM. Extra points for a 2-core processor.

I wonder ... Since they are working on snow leopard and allowing GPU to do some general computing stuff.... will that be build into iPhone OS 3? Is the video processor even any good?
 
I don't really agree with your conclusions. First of all, there is bound to be a new iPhone coming, probably with more RAM. (Edit: I mean that this would allow more background stuff in the future so the 1 or 2 app limit now would not be present for the new iPhone owners)

Second of all, if Apple is wise enough, they won't allow the apps to keep running themselves, but instead allow a normal app to launch a separate background process in the background, with very high restrictions on memory and CPU usage.

If these background apps use shared libraries for TCP/IP etc, they could be implemented with a footprint of say 100-500kB of RAM. They would just communicate over the internet (or with the GPS) and buffer their data, and only if something happens that the user should know about (e.g. an incoming IM), they could wake the iPhone up and warn the user, who can then start the full app to see and respond to the event.
<--cut-->

Well explained. This is how I hope they will implement it, sort of a more powerful compromise between the app fully running in the background and "generic" push notification...
 
I may be mistaken, but I believe I receive text messages while running other programs. Isn't that push notification?
 
it was supposed to be released in september, it's now february... i don't think anyone really minded the wait...i know i didn't!


NNNNNNNOOOOOOOTTTTTTT!!!!!!!!


All i can say is i'm glad that push notifications are now on their agenda again...
 
Don't hurt me for saying but I will jump ship on the iPhone as soon as the NVidia Tegra shipps in a smartphone that has either Android or WM on it, preferrably Android. The Tegra is leaps and bounds over anything out there. If the iPhone would incorporate it I would stay but Apple seems set in their ways. Not very "dynamic" of them. :(
 
no doubt!!

and for AOL IM (like every blackberry out there can do):p

And just about any phone since 2004

This article is pure speculation. No source. No nothing. Just some fodder for more page views. I'll come back when you have some of substance.

QFT

I just hope that these background tasks on the iPhone don't end up like background tasks on Windows *shudder* OR OS X (which actually caused a genius to think my hard drive was dying because it took so long to load all my background tasks, yeah, that would kill battery power).
 
Well, like me and many others, the reason to purchase the iPhone 3G was the fact that push notifications was coming a few months later. It would suck if they released another iPhone that fixes the problems to get background apps or push notifications running.

You're right. If they reveal a new iPhone with better hardware saying "Hey, look! We didn't need push afterall! We have more RAM now and can run apps in the background!" there will be a lot of angry 3G owners who feel cheated because we were the one's who were promised push notifications. It's way passed September for pete's sake!
 
Don't hurt me for saying but I will jump ship on the iPhone as soon as the NVidia Tegra shipps in a smartphone that has either Android or WM on it, preferrably Android. The Tegra is leaps and bounds over anything out there. If the iPhone would incorporate it I would stay but Apple seems set in their ways. Not very "dynamic" of them. :(

With no apps? Tegra is too power hungry for a mobile phone, meant more for MID range.
 
Background is totally feasible

The current iPhone is more than capable of background style tasks. Many of you are speculating at how Apple will implement this. Whilst it might be a possibility that the primary GUI app would be the process that is backgrounded, I'd say that won't be the only way. I've seen a couple of posts eluding to the possibility of launching a background task, which is essentially a daemon. A few hundred kilobytes is a more than reasonable expectation for one of these tasks. Very likely to remain idle most of the time, it would consume little battery power and if written well, have a minimal memory footprint. I'm sure Apple will require these tasks have visibility to the user, so they can be easily terminated.

Cheers,

Stu
 
Right, but wrong

LOL, guess you're a little behind aren't you?

Don't expect that thing to come to market. Apple's recent patent victories have made the majority of that product illegal. Expect it to change radically or totally disappear.

First of all there appears to be a total lack of understand about the way the iPhone currently handles memory, by the majority of users.

There is NOT enough memory for even a SINGLE additional app to run normally in the backgorund. Period.

128 mb of memory, 90 mb of which is constantly in use. 45 distributed amongst the Phone and Mail app. An additional 10 each sucked up by iPod and Safari once they are opened.

20 mb is just barely enough to run a 3rd party app smoothly, let alone KEEP it running and move on to something more.

Sorry but the article is total nonsense and doesn't even consider reality in its conclusions.

The HARDWARE HAS NOT CHANGED,THEREFOR the method for "background" processes (push) has not changed. Its simply not ready for 3rd party implementation.

Hack your phone and use backgrounder. Positive results? NOPE. Worst thing you could do.

You are correct that there is a lot of memory already being used. However, OS X (Mac OS X at least, and I think iPhone is also probably similar) memory management is very different from Windows. Just because an app is using 90 MB doesn't mean it needs to use 90MB to operate well. Its just that OS X likes to use as much space available all the time. If you add more apps, they will use about the same RAM, and still operate just fine.
 
I really hope they aren't dropping push notifications altogether. Some applications simply don't make sense to be running all the time. For Tweetie push notifications make much more sense while for AOL Radio, Pandora or even AIM running in the background would make more sense.

I fear that Apple thinks now push notifications is too hard and to make up for the lack thereof they are instead implementing background running processes. :(

They probably found the problem was that even with push notifications, there actually was a background process running on the iPhone that would receive them. Unless the network operator created a special control channel message for them, these would have to be sent over the data portion, and thus you end up with a standard background process that does standard networking. Of course this process will be very optimised by Apple for its task.

You might as well allow other background processes to exist in that setup, if you create a special type of application for them (some kind of NSBackgroundApp eh?). Basically each background process will run in sequence once the system is woken up by a timer that runs these processes (but stays off otherwise to conserve battery power). These background applications may have artificial limitations in terms of CPU power, running time and memory usage in order to (a) conserve battery life and (b) not affect primary running applications.
 
This reminds of Apple's stance with multitasking in the original Mac OS. Apple dismissed the need for preemptive multitasking in a computer OS arguing that users simply didn't require it. When they finally did realize that multitasking would be valuable to users they chose to release something called cooperative multitasking insisting that this was better for users. It was not and Apple eventually incorporated the preemptive multitasking that we all enjoy today.
I thought that the classic Mac OS simply couldn't use preemptive multitasking because of the way all of the legacy applications were coded, so they came up with a bizarre half-assed hybrid multitasking model, similar to what was done with Windows 9x (which also had to deal with the problem of legacy real-mode code).
 
If they did this, great but it isn't really a huge deal for me. Running one app is enough.

I am just hoping the next iPhone has MUCH better phone service, quicker downloading speeds, and quickening the speed of the phone on the whole
 
Sheeesh! Do people read the article? It said the feature would be "user selectable" so they all won't be running. :cool:
 

No, nothing like that. TSR's were a dirty hack to allow some degree of multitasking on an OS that didn't support it (DOS).

What I was talking about is more like the Unix daemons that run in the background. For example the NTP daemon on a Mac OS system, that runs in the background (using 500-800kB of memory on a Mac) and does the communications while the user never actually interacts with it directly. You can control it with the Time and Date system Preferences applet, but that isn't always loaded in memory to make the NTP function.

A lot of the background services on a Mac work this way, actually. However it's not used a lot for user apps on a Mac, because there is no need to - plenty of memory available. But it has nothing in common with TSR's.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.