説明書を読まなくても使い方がわかるのが、iPhoneの魅力であり強みです。しかし、知っているつもりでも正しく理解していないことがあるはず。このコーナーでは、そんな「いまさら聞けないiPhoneのなぜ」をわかりやすく解説します。今回は、『iPhoneでは「見えないプログラム」がたくさん動いているってホント?』という質問に答えます。

***

本当です。iOSでは、ユーザが自由に起動/終了できるプログラム(アプリケーションソフト、iOSでは「アプリ」と呼ばれる)以外にも、「サービス」などと呼ばれるシステム常駐型のプログラム(処理単位が「プロセス」のため、プロセスと呼ばれる)が多数存在します。それらのプログラムが信号をキャッチ次第所定の動作を行うことで、さまざまな機能を実現しているのです。

「pasteboardd」というサービスを例に説明してみましょう。このサービスは、iOSの起動にあわせて自動的に動作を開始し、コピー(カット)&ペーストされるデータの受け皿として機能します。逆にいうと、このサービスが正常に動作していなければコピー&ペーストは動作しません。いつ発生するか予測がつかないコピー&ペーストの処理に備えてシステムに常駐し、出番となったときに所定の役割を果たすというわけです。

ほかにも、電話の着信に対応する「MobilePhone」、通知機能を統括する「notifyd」、iCloudとのデータのやり取りを担う「cloudd」など、多数のサービスがiOSではつねに動作しています。これらのサービスは、ユーザの目に入ることがない/ユーザが存在を意識する必要がないことから、「バックグラウンドプロセス」とも呼ばれます。

なお、どのようなサービス(プロセス)がシステム上で動作しているかは、以前のiOSではサードパーティー製アプリを利用すれば確認できましたが、iOS 10からはそのような機能を持つアプリを公開できなくなりました。パソコンでは、あるサービスが異常動作したときには強制終了/再起動してシステムを安定化することができますが、現在のiPhoneではそれが難しくなっています。

iPhoneのシステムの背後では、多数のプログラムがつねに動作しています(画面はiPad mini/iOS 8で動作する「Sys-Activity」)