Un système UNIX consiste en un noyau et des programmes système. Il offre aussi quelques programmes d'application pour travailler. Le noyau est le cur du système d'exploitation1.1. Il s'occupe des fichiers sur le disque, lance les programmes et les fait s'exécuter ensemble, alloue la mémoire et les autres ressources aux différents processus, reçoit et envoie les paquets de données sur le réseau, etc. Le noyau fait très peu de choses par lui-même, mais il fournit les outils grâce auxquels tous les services peuvent être construits. Il interdit aussi à quiconque d'accéder directement au matériel, l'obligeant à utiliser les outils qu'il fournit. De cette façon, le noyau fournit une protection pour chaque utilisateur, et les protège les uns des autres. Les outils fournis par le noyau sont utilisés via des appels système ; voir la section 2 des pages du manuel en ligne pour plus d'informations sur ces appels.
Les programmes systèmes utilisent les outils fournis par le noyau pour implanter les différents services d'un système d'exploitation. Les programmes systèmes, et tous les autres programmes, s'exécutent << au-dessus du noyau >>, dans ce qu'on appelle le mode utilisateur. La différence entre les programmes systèmes et d'application concerne leur but : les applications sont destinées à fournir une aide pour réaliser des choses (ou pour jouer, s'il s'agit d'un jeu), tandis que les programmes systèmes sont nécessaires au fonctionnement du système. Un traitement de texte est une application ; telnet est un programme système. La différence est parfois subtile, et n'est importante que pour ceux qui veulent classifier à tout prix.
Un système d'exploitation peut aussi fournir des compilateurs et les bibliothèques qui leur sont liées (notamment GCC et la bibliothèque C sous Linux), bien que tous les langages de programmation n'aient pas besoin de faire partie du système d'exploitation. De la documentation, et parfois même des jeux, peuvent aussi en faire partie. Traditionnellement, le système d'exploitation est défini par le contenu des disques ou des cartouches d'installation ; avec Linux, c'est moins clair puisqu'il est diffusé à travers les sites FTP du monde entier.