Ein Betriebssystem stellt die Verbindung zwischen der grundlegenden Hardware eines Computers, Peripheriegeräten und Benutzern her. Es schafft auch eine konsistente Entwicklungsplattform für Programmierer. Computer jeder Größe, von Mobiltelefonen bis hin zu Supercomputern, benötigen Betriebssysteme, um zu funktionieren.
Die meisten Computer verfügen über einen Prozessor, der Berechnungen durchführt und Informationen verarbeitet, einen Speicher, der Programminformationen enthält, und ein Diskettenlaufwerk zum Speichern von Programmen und Daten. Diese Geräte benötigen ein Betriebssystem, um zusammenzuarbeiten. Computer-RAM beispielsweise hängt vom Betriebssystem ab, um zu bestimmen, wo Informationen gespeichert sind.
Betriebssysteme verwalten auch externe Geräte. Betriebssysteme werden normalerweise mit Treibern für Grafik- und Soundchips und -karten geliefert und unterstützen normalerweise Tastaturen, Mäuse und andere Eingabegeräte. Andere Geräte wie Drucker und Scanner benötigen oft Treiber von Drittanbietern, um zu funktionieren. Die meisten Betriebssysteme bieten eine Treiberschnittstelle, um die Entwicklung von Hardwaretreibern zu vereinfachen.
Programmierer verlassen sich auf die Abstraktion von Betriebssystemen, um die Entwicklung zu vereinfachen. Anstatt direkt mit Tastatur oder Maus arbeiten zu müssen, verwenden Programmierer Signale, die vom Betriebssystem bereitgestellt werden. Anstatt ein grafisches Fenstersystem zum Anzeigen von Informationen erstellen zu müssen, können Programmierer relativ einfache Befehle an das Betriebssystem senden, das einen Großteil der Arbeit übernimmt. Diese Abstraktion ermöglicht es Entwicklern oft, mehrere Betriebssysteme mit einer einzigen Codebasis anzuvisieren und dabei nur kleine systemspezifische Optimierungen vorzunehmen.