La caractéristique déterminante des systèmes d'exploitation est la connexion qu'ils fournissent entre le matériel, le logiciel et, dans certains cas, l'interface utilisateur. Les ordinateurs nécessitent un système d'exploitation pour être utilisés. p>
Tous les ordinateurs modernes nécessitent un logiciel pour contrôler, et le système d'exploitation est le logiciel le plus basique disponible. Alors que les systèmes d'exploitation utilisés sur les petits appareils peuvent être relativement petits et simples, les systèmes d'exploitation populaires comme Windows, OSX et Linux fournissent des pilotes pour une large gamme d'appareils et une interface utilisateur.
La partie centrale d'un système d'exploitation est son noyau. Aujourd'hui, les noyaux monolithiques sont les plus populaires. Ces noyaux permettent à différents processus informatiques de s'envoyer des messages et ils gèrent la RAM qui stocke les informations du programme. La plupart des noyaux fournissent également des pilotes de périphérique pour contrôler les moniteurs, les périphériques d'entrée, les lecteurs de disque et autres périphériques.
Auparavant, les logiciels ne pouvaient cibler qu'un système d'exploitation spécifique, et les programmes devaient être ajustés et compilés pour s'exécuter sur différentes plates-formes. Cependant, les programmes modernes sont conçus pour fonctionner sur une gamme de plates-formes prises en charge. Java est en grande partie à l'origine de cette tendance, mais Python, Ruby et d'autres plates-formes de programmation de haut niveau facilitent le portage des programmes sur de nouveaux systèmes.