Isto é para fins de compra; Ou seja, o kernel agenda os processos e encadeamentos que pertencem a todos os processos, e os aplicativos salvam estados que podem ser retomados a critério do usuário?
Por favor, preencha-me sobre o agendamento / estrutura do kernel do iOS.
ios
memory
kernel
multitasking
axon be gone
fonte
fonte
Respostas:
Não - o multithreading de processos é reservado apenas para o sistema operacional da Apple e os aplicativos (incluindo quase todos os aplicativos da Apple) não podem ser executados simultaneamente quando não estão no desenho de primeiro plano para a tela do iOS. Somente se o aplicativo chamar alguma API limitada (Safari ou outros aplicativos do kit de Webs de download em segundo plano é uma das tarefas em segundo plano listadas em branco - FWIW) o aplicativo pode executar trabalhos em seu nome pelo SO / kernel quando o aplicativo está em estado suspenso.
O kernel do iOS é a mesma base do kernel do OS X, portanto, sua pergunta sobre o estado de suspensão / continuação do aplicativo é mais sobre as estruturas de aplicativo em uso do que a estrutura subjacente do kernel.
Dito isso, o idioma do iOS é ter aplicativos pausados pelo SO a qualquer momento e vários estados são armazenados em cache e salvos para que, uma vez que o kernel reinicie a execução de um aplicativo - se ele foi pausado por algumas dezenas de milissegundos ou algumas horas perfeita para o usuário quando o aplicativo é programado corretamente.
É claro que nem todos os aplicativos aderem a esse idioma, mas a maioria faz isso.
fonte