CS 460 Computer Graphics
Window Systems
A Windowing System is responsible for implementing a I/O scheme in a multitasking environment. There are three main issues:
- Communication minimization
- Three techniques are:
- Asynchronous communication
- Bundle commands
- Move functions to the server
- Input handling
- Main concern is timing (eg moving a mouse while clicking)
- Three techniques are:
- Polling output devices
- Request driven (using interrupts to request permission to speak)
- Event driven (uses timestamps and an event queue, now used by all window systems)
- Output handling
- How do we handle "expose" events since windows can be thought of as being in a 3D stack?
- Put each window in its entirety into main memory
- Just put the covered up part into main memory
- The server just notifies each client when an event has occurred and it is up to each client to update its display. (Since the window manager is a client, it gets notified also so it can redraw borders, sliders, etc.)
Detailed notes in pdf format
G. Hill Price