Um sistema de janelas é um sistema de software que realiza um modelo de janelas (ou seja, um modelo gráfico abstrato adequado para escrever software de GUI) sobre uma camada de exibição mais básica, como framebuffers. Para ser um modelo de janelas, o modelo gráfico geralmente terá que suportar conceitos como janelas, seleções, decorações, menus, etc., mas não precisa ser muito sofisticado.
A maioria dos sistemas desktop UNIX usa o X11 como seu principal sistema de janelas, onde a implementação X também implementa o servidor de exibição; a exceção mais proeminente é o Mac OSX, que usa o servidor de exibição Quartz Compositor proprietário da Apple e o sistema de janelas (o Cocoa suporta a interface X11 através de um software especial, permitindo que os aplicativos X sejam executados no Quartz Compositor). Há também rivais livres para X, como o Wayland, que, como o X11, nomeia tanto o sistema de janelas quanto o servidor de exibição.
Você pode ter um sistema de janelas sem framebuffers e similares: o ncurses é uma biblioteca de texto puro que suporta abstrações simples de janelas que são amplamente vistas em instaladores de Linux em modo texto, por exemplo.