Firm foundation in the main hci principles, the book provides a working


Input and Output at the Low Level


Download 4.23 Mb.
Pdf ko'rish
bet52/97
Sana23.09.2023
Hajmi4.23 Mb.
#1685852
1   ...   48   49   50   51   52   53   54   55   ...   97
Bog'liq
Human Computer Interaction Fundamentals

5.2 Input and Output at the Low Level
At the lowest level, inputs and outputs are handled by the interrupt 
mechanism of the system software (operating system). An interrupt is 
a signal to the processor indicating that an event (usually an I/O event) 

The term layer refers to a full-screen interaction space, often used in small-display 
computing platforms. Multiple layers (representing multiple interactive processes) 
are possible. On smartphones, the layers are visible one at a time and can be switched 
by the use of swiping gestures on the touch screen.
UI Software Layer
Window Manager System/API
GUI API (Toolkit)
Windowing API
Application
Input
Devices
Display
Devices
Application
Application
Graphics API
(Core) Operating System
Figure 5.1 User interface software layer for a window-based multitasking UI.


8 5
U S E R I N T E R FA C E L AY E R
has occurred and must be handled. An interrupt signal is interpreted 
so that the address of its handler procedure can be looked up and exe-
cuted while suspending the ongoing process for a moment. After the 
handler procedure is finished, the suspended process resumes again. 
An arrival of an interrupt is checked at a very fast rate as part of 
the processor execution cycle. In practice, this means that the proces-
sor is always listening to the incoming events, ready to serve them as 
needed. The interrupt mechanism is often contrasted to polling (also 
known as busy waiting). In polling, the processor (rather than the I/O 
device) initiates input or output. In order to carry out I/O tasks, the 
processor enters a loop, continually checking the I/O device status to 
see whether it is ready, and incrementally accomplishes the I/O task. 
This form of an I/O is deficient in supporting asynchronous user-
driven (anytime) I/O and wastes CPU time by blocking other non-
I/O processes to move on.
At a higher level, the I/O operation is often described in terms of 
events and event handlers, which is in fact an abstraction of the lower-
level interrupt mechanism. This is generally called the event-driven 
architecture in which programs are developed in terms of events (such 
as mouse clicks, gestures, keyboard input, etc.) and their correspond-
ing handlers. Such information can be captured in the form of a table 
and used for efficient execution. Figure 5.2 shows the rather compli-
cated interrupt mechanism abstracted into the form of a simple event-
handler table.

Download 4.23 Mb.

Do'stlaringiz bilan baham:
1   ...   48   49   50   51   52   53   54   55   ...   97




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling