\subsection{Alarm Timers}
\begin{frame}
  \frametitle{The alarm driver}
  \begin{itemize}
  \item Once again, the timer mechanisms available in Linux were not
    sufficient for the power management policy that Android was trying to
    set up
  \item High Resolution Timers can wake up a process, but don't fire
    when the system is suspended, while the Real Time Clock can wake up
    the system if it is suspended, but cannot wake up a particular
    process.
  \item Developed the alarm timers on top of the Real Time Clock and
    High Resolution Timers already available in the kernel
  \item These timers will be fired even if the system is suspended,
    waking up the device to do so
  \item Obviously, to let the application do its job, when the
    application is woken up, a wakelock is grabbed
  \end{itemize}
\end{frame}
