This is for buying purposes; i.e. does the kernel schedule the processes and threads belonging to every process, and do the apps save states that can be resumed at the user's discretion?

Please fill me in on the scheduling/structure of iOS's kernel.

  • What are you asking do you want to ask does the user sea multitasking or how does the kernel work? – user151019 Aug 24 '13 at 19:38
  • Whatever you believe is the answer. – axon be gone Aug 24 '13 at 19:42
  • It depends on the question – user151019 Aug 24 '13 at 19:46
  • The question is right above. The answer is fine regardless of it being more about the kernel or user apps. – axon be gone Aug 24 '13 at 19:51
  • The issue is that the answers differ. – user151019 Aug 24 '13 at 19:54

No - the multithreading of processes is reserved for Apple OS only and apps (including almost all Apple apps) do not get to execute simultaneously when they are not in the foreground drawing to the iOS screen. Only if the app calls some limited API (safari or other webkit apps downloading in the background is one of the white listed background tasks - FWIW) can the app get work done on it's behalf by the OS/kernel when the app itself is in a suspended state.

The iOS kernel is the same foundation as the OS X kernel, so your question about app suspend / resume state is more about the application frameworks in use than the underlying structure of the kernel.

That being said, the iOS idiom is to have apps paused by the OS at any time and various states are cached and saved so that once the kernel resumes execution of an app - whether it was paused for a few dozen milliseconds or a few hours is seamless to the user when the app is programmed correctly.

Of course, not all apps adhere to this idiom, but most do.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .