Device independence
programming the abstract terminal device drivers
image models for output and (partially) input
•pixels
•PostScript (MacOS X, NextStep)
•Graphical Kernel System (GKS)
•Programmers' Hierarchical Interface to Graphics (PHIGS)
Resource sharing
achieving simultaneity of user tasks
window system supports independent processes
isolation of individual applications