To support DBMC scheduling, we made a small (15 line)
change to the Android user space environment that lever-
ages the Android application usage and security model. In
contrast with desktop Linux systems, Android only allows a
single application to use the display at a time. While mul-
tiple applications can run simultaneously, only one draws
on the screen. When an application is installed onto an An-
droid device, a unique user ID is generated and assigned to
the application. The application is always run using these
unique credentials.We wrote a simple, 15-line patch to a core
Android drawing library, libsurfaceflinger.so, which in-
forms the kernel of the process ID of the application cur-
rently drawing on the screen. Students use the unique user
ID associated with the process to easily assign the associ-
ated threads and processes to a single scheduling entity, the
container. The container is used for scheduling so that the
priority boost is applied to all of the threads and processes
of the foreground application.