The singleton pattern is an improvement over global variables. It avoids polluting the name space with global variables that store sole instances.
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software.