Next: GUI platforms
Most of the software loaded on handheld computers is interactive
(some exceptions are video/audio players, which are
CPU-intensive). Such a software has two prominent properties.
First, the execution time usually does not depend on the CPU
speed, but on user interaction. Second, most system resources are
dedicated to user interaction.
A GUI is responsible for interacting with users. First, it
presents information to users graphically, usually through GUI
windows like buttons, menus, message boxes, text windows, .
Second, it takes inputs from a user in the form of a user
responding to GUI windows. Most GUI platforms are extended to
include many non-user interface system functionalities, such as
file and network operations, typically by wrapping corresponding
system calls into a GUI application program interface (API). In
this work, we are only concerned with those parts that present and
receive user input .