Système d'exploitation

Page d'aide sur l'homonymie Pour les articles homonymes, voir SE et OS.

En informatique, un système d'exploitation (souvent appelé OS - de l'anglais Operating System) est un ensemble de programmes qui dirige l'utilisation des ressources d'un ordinateur par des logiciels applicatifs [1]. Il reçoit des demandes d'utilisation des ressources de l'ordinateur — ressources de stockage des mémoires et des disques durs, ressources de calcul du processeur, ressources de communication vers des périphériques ou via le réseau — de la part des logiciels applicatifs. Le système d'exploitation accepte ou refuse ces demandes, puis réserve les ressources en question pour éviter que leur utilisation n'interfère avec d'autres demandes provenant d'autres logiciels [1].

Le système d'exploitation est un logiciel et le premier programme exécuté lors de la mise en marche de l'ordinateur [2], après l’ amorçage. Il offre une suite de services généraux facilitant la création de logiciels applicatifs et sert d'intermédiaire entre ces logiciels et le matériel informatique [1]. Un système d'exploitation apporte commodité, efficacité et capacité d'évolution, permettant d'introduire de nouvelles fonctions et du nouveau matériel sans remettre en cause les logiciels [2].

Il existe sur le marché des dizaines de systèmes d'exploitation différents [2], souvent livrés avec l'appareil informatique [3]. C'est le cas de Windows, Mac OS, Irix, Symbian OS, Linux (pour lequel il existe de nombreuses distributions) ou Android. Les fonctionnalités offertes diffèrent d'un modèle à l'autre et sont typiquement en rapport avec l'exécution des programmes, l'utilisation de la mémoire centrale ou des périphériques, la manipulation des systèmes de fichiers, la communication, ou la détection d'erreurs [2].

La définition des systèmes d'exploitation est rendue floue par le fait que les vendeurs de ces produits considèrent le système d'exploitation comme étant la totalité du contenu de leur produit, y compris les vidéos, les images et les logiciels applicatifs l'accompagnant [1].

En 2012, les deux familles de systèmes d'exploitation les plus populaires sont Unix (dont macOS, GNU/Linux, iOS et Android) et Windows. Cette dernière détient un quasi-monopole sur les ordinateurs personnels avec près de 90 % de part de marché depuis 15 ans [4].

Le système d'exploitation est un intermédiaire entre les logiciels d'application et le matériel.
Relations dans un système d'exploitation moderne.

Fonctionnalités

Le système d'exploitation offre une suite de services généraux facilitant la création et l'utilisation de logiciels applicatifs. Les services offerts sont en rapport avec l'utilisation des ressources de l' ordinateur par les programmes [2]. Ils permettent en particulier d'exécuter des programmes, de lire et écrire des informations, de manipuler les fichiers, de communiquer entre ordinateurs et de déceler des erreurs [2]. Ces services permettent à plusieurs usagers et plusieurs programmes de se partager les ressources de l'ordinateur [5].

  • Utilisation des périphériques : chaque périphérique a ses propres instructions, avec lesquelles il peut être manipulé. Le système d'exploitation en tient compte. Il permet au programmeur de manipuler le périphérique par de simples demandes de lecture ou d'écriture, lui évitant la perte de temps de traduire les opérations en instructions propres au périphérique [5].
  • Accès aux fichiers : en plus des instructions propres à chaque périphérique ( lecteur de disquette, disque dur, lecteur de CD-ROM), le système d'exploitation tient compte du format propre de chaque support servant au stockage de fichiers. Il offre également des mécanismes de protection permettant de contrôler quel utilisateur peut manipuler quel fichier [5].
  • L'accès aux ressources : Une des fonctions du système d'exploitation est de protéger les ressources contre l'utilisation par des personnes non autorisées, et de résoudre les conflits lorsque deux utilisateurs demandent simultanément la même ressource [5].
  • Détection et récupération en cas d' erreur : lorsqu'une erreur survient, qu'elle soit matérielle ou logicielle, le système d'exploitation traite l'erreur en adoucissant son impact sur le système informatique. Il peut tenter de réitérer l'opération, arrêter l'exécution du programme fautif, ou signaler le problème à l'utilisateur [5].
  • Contrôle : un système d'exploitation peut tenir des statistiques d'utilisation des ressources, surveiller la performance, et les temps de réponse [5].

La palette des services offerts et la manière de s'en servir diffère d'un système d'exploitation à l'autre. Le standard industriel POSIX du IEEE définit une suite d'appels systèmes standard. Un logiciel applicatif qui effectue des appels système selon POSIX pourra être utilisé sur tous les systèmes d'exploitation conformes à ce standard [6].

Le système d'exploitation assure la réservation des différentes ressources pour les besoins des programmes exécutés simultanément. Les réservations peuvent être inscrites dans des journaux d'activités à des fins de statistiques ou de dépannage et le système d'exploitation peut refuser une réservation à un utilisateur n'ayant pas reçu d'autorisation [2] préalable.

Le matériel informatique peut exécuter des instructions, celles-ci sont rarement plus que des copies ou des additions. La traduction d'opérations complexes en suite d'instructions est une tâche fastidieuse qui incombe au système d'exploitation [5]. Le système d'exploitation prend en charge toute la manipulation du matériel, le logiciel applicatif ne peut donc pas voir de différence entre une machine simple, rudimentaire et une machine riche et complexe : les mêmes services sont offerts dans les deux cas [1].

Le système d'exploitation facilite le travail de programmation en fournissant une suite de services pouvant être utilisés par les logiciels applicatifs [1]. Du point de vue du programmeur, son logiciel applicatif s'oriente en direction du système d'exploitation et du matériel, et les programmes sont considérés comme fonctionnant sur le système d'exploitation. Un système d'exploitation peut ainsi être vu comme une machine virtuelle. L'ensemble composé du matériel et du système d'exploitation forme la « machine » qui exécute le logiciel applicatif, une machine en partie simulée par du logiciel [1].

Un système d'exploitation est composé d'une large palette de programmes. La composition exacte dépend de l'usage cible et du type d'appareil informatique auquel le système est destiné ( ordinateur personnel, serveur, superordinateur ou encore système embarqué).

Utilisation

Les utilisateurs et les programmeurs peuvent demander des services au système d'exploitation par son interface de programmation, ses commandes ou son interface graphique [7].

interface de programmation

Les appels système permettent des interactions entre un programme en cours d'exécution et le système d'exploitation. L'utilisation d'appels système ressemble a celle de fonctions ou de sous-routines ordinaires en langage C ou Pascal [2].

commandes

Les commandes permettent à un utilisateur ou un programme de demander une opération au système d'exploitation. Une commande est un programme qui effectue un appel système selon la demande de l'utilisateur [2], [7].

interface graphique

L'interface graphique permet une manipulation intuitive par l'intermédiaire de pictogrammes. Cette interface, qui n'est pas une partie essentielle du système d'exploitation, et qui cache tous les détails intrinsèques de celui-ci, est souvent considérée comme un complément [7].

POSIX (acronyme de l'anglais Portable Operating System Interface) est une norme relative à l'interface de programmation du système d'exploitation. De nombreux systèmes d'exploitation sont conformes à cette norme, notamment les membres de la famille Unix.

Processeur

Article détaillé : Ordonnanceur.

Le système d'exploitation permet à plusieurs utilisateurs de se servir de l'ordinateur et donne à chaque utilisateur l'impression qu'il est le seul à utiliser l'ordinateur [5]. Pour ce faire, l'utilisation du processeur est planifiée: chaque programme est exécuté durant une tranche de temps déterminé, puis le système d'exploitation bascule sur l'exécution d'un autre programme [5].

processus

Un processus est un ensemble d'instruction qui sont en train d'être exécutées. Les instructions proviennent d'un programme, et l'exécution nécessite du temps, de la mémoire, des fichiers et des périphériques [8]. Le système d'exploitation s'occupe de créer, d'interrompre, et de supprimer des processus. Plusieurs processus se trouvent en mémoire centrale en même temps [7].


La responsabilité du système d'exploitation et de réserver de la mémoire, et de planifier l'exécution, de s'occuper des interblocages [9] et d'assurer les communications entre les processus [8]. L'ordonnanceur (anglais scheduler) associe un processus à un processeur, puis plus tard le dissocie du processeur pour associer un autre processus. cette opération associer / dissocier est appelée context switch [7]. Lors de la planification, le système d'exploitation tient compte de la disponibilité, ou non, des ressources utilisées par le processus [9]. Certains systèmes d'exploitation créent des processus pour effectuer certaines tâches propre au système [6].

Lors de l'exécution du programme, celui-ci peut demander de réserver des ressources de l'ordinateur [6]. L'exécution de ce programme peut être interrompue et le système d'exploitation continue l'exécution d'un autre programme, cependant les ressources restent réservées [6]. Lorsqu'un autre processus demande une ressource déjà réservée, le processus est mis en attente. En situation de forte compétition plusieurs processus peuvent être en attente de la même ressource [6]. Lorsque la ressource est libérée le système d'exploitation décide alors quel est le prochain processus auquel la ressource sera réservée. La stratégie d'octroi des ressources par le système d'exploitation vise à répondre équitablement à toutes les demandes et éviter des conflits [6].

La communication inter-processus

Article détaillé : Communication inter-processus.

Dans certains logiciels applicatifs, plusieurs programmes effectuent la même tâche simultanément, et s'échangent des informations [6]. Le mécanisme de protection de la mémoire (voir plus loin) empêche aux programmes de manipuler les mêmes informations, et ceux-ci doivent faire appels à des services du système d'exploitation [6].

protection

Par mesure de sécurité, le système d'exploitation réserve à chaque programme un espace d'adressage - un emplacement en mémoire que seul le programme en question peut manipuler [6]. Le système d'exploitation détecte toute tentative d'accès en dehors de l'espace d'adressage et provoque l'arrêt immédiat du programme qui tente d'effectuer telles opérations [6].

Mémoire

Le système d'exploitation dirige l'utilisation de la mémoire. retient la liste des emplacements de mémoire utilisés, et par qui, ainsi que la liste des emplacements libres [10]. Le système d'exploitation réserve un emplacement de mémoire lorsqu'un processus le demande, et le libère lorsqu'il n'est plus utilisé, par exemple lorsque le processus s'est arrêté [10].

Les fonctions de contrôle de l'utilisation de la mémoire vont en particulier suivre l'utilisation de la mémoire, quels emplacement sont libres, sont utilisés, et par qui [2]. Ces fonctions vont également décider quel programme reçoit de la mémoire, quand et quelle quantité est mise à disposition et récupérer la mémoire qui était utilisée par un programme après son exécution, que le programme se soit arrêté volontairement ou accidentellement [2].

La quantité de mémoire utilisée par l'ensemble du système informatique dépends essentiellement de la manière dont le système d'exploitation effectue les réservations [8].

Dans les systèmes d'exploitation contemporains, plusieurs programmes sont exécutés en même temps et utilisent simultanément la mémoire centrale [6]. Si un processus modifie - accidentellement ou intentionnellement - un emplacement de mémoire utilisée par un autre processus, il met celui-ci en danger [6]. S'il modifie un emplacement utilisé par le système d'exploitation il met en danger l'ensemble du système informatique [6].

Pour éviter tel incident, le système d'exploitation réserve à chaque programme un espace d'adressage - un emplacement en mémoire que seul le programme en question peut manipuler [6]. Le système d'exploitation détecte toute tentative d'accès en dehors de l'espace d'adressage et provoque l'arrêt immédiat du programme qui tente d'effectuer telles opérations [6].

La mémoire virtuelle

Article détaillé : Mémoire virtuelle.

Le mécanisme dit de mémoire virtuelle est destiné à simuler la présence ou l'absence de mémoire centrale par manipulation de l' unité de gestion mémoire — un composant électronique (anglais Memory Management Unit abrégé MMU). C'est un mécanisme courant dans les systèmes d'exploitation contemporains.

La mémoire virtuelle permet d'exécuter simultanément plus de programmes que ce que la mémoire centrale peut contenir. Chaque programme n'ayant pas besoin que la totalité des informations qu'il manipule soit présente dans la mémoire centrale [N 1], une partie des informations est stockée dans la mémoire de masse (en général dans un fichier ou une partition de disque dur) habituellement plus importante mais plus lente et sont transférées en mémoire centrale lorsque le programme en a besoin [T 1].

Les programmes disposent d'un (ou plusieurs) espaces virtuels de mémoire continus pour travailler. Les adresses des données sont dites virtuelles dans la mesure où l'information adressée ne se trouve pas forcément ni en mémoire centrale, ni à l'adresse indiquée. Lorsque le programme essaie de lire ou écrire une donnée dans sa mémoire virtuelle, l'unité de gestion de mémoire cherche l'adresse physique correspondant à l'adresse virtuelle sollicitée grâce à une table de correspondance. Si l'emplacement n'est pas présent en mémoire centrale, il n'y aura évidemment aucune adresse physique correspondante. Le système d'exploitation devra alors chercher à libérer un espace en mémoire centrale en échangeant (anglais swap) le contenu d'un emplacement donné de mémoire centrale avec le contenu sollicité, qui se trouve en mémoire de masse [N 2], [T 2]. Cette opération s'effectue automatiquement, à l'insu des programmes.

Des mémoires associatives, incorporées dans l'unité de gestion de mémoire, accélèrent le calcul des adresses [T 3]. Les systèmes d'exploitation utilisent généralement deux mémoires associatives : une pour le mode kernel et une pour le mode utilisateur. La mémoire du mode kernel est arrangée de manière à permettre au processeur d'utiliser la totalité de la mémoire centrale disponible — lors de l'exécution des programmes du noyau du système d'exploitation. Tandis que celle du mode utilisateur est arrangée de manière à protéger le noyau (qui est ainsi invisible pour le programme en question) — lors de l'exécution des programmes hors du noyau.

Chaque programme dispose de sa propre table de correspondance, ce qui permet de les isoler les uns des autres. Lors d'une commutation de contexte, le système d'exploitation placera la table du programme courant dans la mémoire associative [T 4]. Le système d'exploitation crée également de nouvelles tables pour les programmes qui démarrent et décide quels emplacements de mémoire virtuelle seront ou ne seront pas présents en mémoire centrale [T 5].

Périphériques

Article détaillé : Pilote informatique.

Les périphériques sont tous les dispositifs informatiques qui permettent au processeur de communiquer avec l'extérieur: clavier, imprimante, carte réseau, mémoire, disque dur [6]. Ils permettent en particulier de recevoir des informations, d'en envoyer, ainsi que de stocker des informations - les collecter dans le but de les renvoyer plus tard [6].

Une des responsabilités du système d'exploitation est de suivre l'état d'utilisation - libre ou réservé - de tout le matériel du système informatique. Lorsqu'un matériel libre est demandé par un processus, il est alors réservé à ce processus [9]. Pour utiliser un periphérique, le système d'exploitation se sert d'un contrôleur et d'un pilote de périphérique [9].

contrôleur

Un contrôleur est un composant électronique, qui comporte une mémoire tampon, et manipule un certain type de périphérique (disque dur, imprimante, mémoire, lecteur de bande magnétique...) [9]. Le contrôleur est souvent intégré au périphérique [6]. Les différents contrôleurs disponibles sur le marché ne s'utilisent pas tous de la même manière [6].

pilote (anglais driver)

Les instructions de manipulation d'une gamme de contrôleurs donnée sont incluses dans un pilote informatique: un logiciel qui exploite les possibilités offertes par les contrôleurs [6]. Les pilotes informatiques font partie du système d'exploitation, et offrent des services uniformes utilisés par les autres programmes du système d'exploitation [6].


il existe deux stratégies de manipulation des contrôleurs [6]: Les contrôleurs rapides sont manipulés en programmed I/O. dans cette stratégie le processeur envoie des demandes d'opérations au contrôleur puis vérifie de manière intermittente l'état du contrôleur pour vérifier si l'opération demandée est terminée [6].

Les contrôleurs moins rapides sont manipulés en interrupt driven I/O [6]. Dans cette stratégie le processeur effectue une demande au contrôleur, puis continue d'exécuter des logiciels applicatifs. Le contrôleur envoie un signal électrique lorsque l'opération est terminée. Lors de la venue de ce signal, le processeur interrompt l'exécution des logiciels applicatifs et exécute un programme particulier interrupt service routine qui vérifie le nouvel état du contrôleur [6].

Certains périphériques ne peuvent pas être partagés, et leur utilisation est alors dédiée à un seul programme à la fois. Certains périphériques peuvent être virtuels, ou leur utilisation peut être indirecte. Par exemple l'utilisation d'une imprimante n'entraine pas une impression immédiate parce que les informations sont tout d'abord mises en attente. Cette technique du spool permet l'utilisation partagée d'un périphérique qui sans ça ne pourrait pas être partagé [2].

Fichiers

Article détaillé : Système de fichier.

Un fichier est une collection d'informations portant un nom, enregistrée sur un média tel qu'un disque dur, une bande magnétique ou un disque optique [8]. Chaque médium a ses propres caractéristiques et sa propre organisation [8].

Le système d'exploitation s'occupe de créer et de détruire des fichiers et des répertoires, de réserver de l'espace sur les médias ainsi que copier le contenu des fichiers de et vers la mémoire centrale [8]. Il aide également les logiciels applicatifs à: retrouver les fichiers, partager les fichiers entre plusieurs utilisateurs, modifier le contenu des fichiers, créer des répertoires pour permettre de classer et organiser les fichiers [9]. La vitesse du système informatique dépendra de la vitesse de manipulation des fichiers [8].

Le système d'exploitation permet en particulier de manipuler les attributs: les caractéristiques du fichier tels que son nom, la date de création, le type du contenu, la taille et l'emplacement [9]. Il permet également de manipuler les permissions: des autorisations qui indiquent si un utilisateur pourra lire, écrire ou exécuter le fichier [9].

Le système d'exploitation tient compte du système de fichiers: la manière dont les fichiers sont organisés et répartis sur un dispositif de stockage [9].

Les mémoires amovibles telles que les CD ou les DVD ont une disposition normalisée dont les spécifications sont publiques, ce qui assure leur reconnaissance par tous les systèmes d'exploitation (voir ISO 9660 et UDF ainsi que l'hybride ISO/UDF).

Lorsque le système de fichier est distribué, et que les fichiers sont donc stockés sur différents ordinateurs d'un réseau informatique, le système d'exploitation envoie une requête à l'ordinateur stockant le fichier pour chaque opération à effectuer (voir NFS ou CIFS).

Dans un système d'exploitation multi-utilisateurs, les programmes manipulant le système de fichiers effectuent des contrôles pour vérifier qu'aucun fichier n'est manipulé par une personne non autorisée. Ce type de système d'exploitation refusera toute manipulation non autorisée.

Réseau

Article détaillé : Réseau informatique.

Dans un réseau informatique, deux ordinateurs reliés communiquent dès lors que les communications se font de part et d'autre selon les mêmes protocoles réseau. Selon le modèle OSI, les différents protocoles existants sont répartis sur sept niveaux, où un protocole d'un niveau donné peut être combiné avec n'importe quel protocole des niveaux situés en dessus et en dessous (voir encapsulation).

Un système d'exploitation contient typiquement plusieurs programmes nécessaires pour des échanges d'informations dans différents protocoles des niveaux 1 à 4. Tandis que les niveaux 5 à 7 sont pris en charge par les logiciels applicatifs et les middleware.

Pour les échanges d'informations selon les protocoles de niveau 1 et 2, le système d'exploitation demande l'opération au matériel de l'ordinateur par l'intermédiaire d'un pilote informatique, pilote qui peut faire partie intégrante du système d'exploitation ou être fourni par le constructeur du matériel.

Lors de l'envoi d'informations sur le réseau, un logiciel applicatif crée une information, la met en forme conformément aux protocoles des niveaux 7 à 5, puis la transmet au système d'exploitation. Divers programmes du système d'exploitation vont découper cette information en trames, puis vont mettre en forme les trames et les envoyer conformément aux protocoles des niveaux 4 à 1.

Lors de la réception de trames depuis le réseau, divers programmes du système d'exploitation vont tenter de les décoder conformément à différents protocoles des niveaux 1 à 4, puis transformer la suite de trames en un flux continu, qui sera envoyé au logiciel applicatif destinataire. Le logiciel va alors décoder le flux conformément aux protocoles de niveaux 5 à 7. Le logiciel applicatif effectue préalablement une connexion, c'est-à-dire une liaison logique par laquelle il va s'associer avec un flux particulier.

Le choix exact des protocoles utilisés dépend de l'ordinateur concerné et des liaisons réseau qui vont être utilisées. Divers paramètres de configuration permettent d'influencer le choix des protocoles. Ils permettent par exemple d'empêcher l'utilisation de protocoles interdits sur le réseau concerné.

Contrôle d'accès

Article détaillé : Contrôle d'accès logique.

Les systèmes d'exploitation contemporains permettent à plusieurs usagers de se servir simultanément de l'ordinateur [8]. Le système d'exploitation comporte des mécanismes destinés à contrôler l'utilisation des ressources par les utilisateurs, les processus et les programmes [8]. Ces mécanismes permettent de certifier l'identité du programme ou de l'utilisateur et lui autoriser l'accès à une ressource en application de règlements de sécurité [8].

Les mécanismes de sécurité du système d'exploitation servent à protéger le système informatique de l'intérieur comme de l'extérieur: Les mécanismes de sécurité intérieure protègent les processus l'un de l'autre, et assurent la fiabilité du système informatique [9]. Les mécanismes de sécurité extérieure protègent les données et les programmes enregistrés dans l'ordinateur contre des accès non autorisés et des erreurs de manipulation [9]. Le système d'exploitation empêche la lecture par des personnes non autorisées, la falsification, la suppression de données, ainsi que l'utilisation non autorisée de périphériques [9].

Plusieurs programmes sont exécutés en même temps et utilisent simultanément la mémoire centrale [6]. Si un processus modifie - accidentellement ou intentionnellement - un emplacement de mémoire utilisée par un autre processus, il met celui-ci en danger [6]. S'il modifie un emplacement utilisé par le système d'exploitation il met en danger l'ensemble du système informatique [6].

Pour éviter tel incident, le système d'exploitation réserve à chaque programme un espace d'adressage - un emplacement en mémoire que seul le programme en question peut manipuler [6]. Le système d'exploitation détecte toute tentative d'accès en dehors de l'espace d'adressage et provoque l'arrêt immédiat du programme qui tente d'effectuer telles opérations [6].

Le système d'exploitation va également refuser la mise hors service de programmes centraux tels que les logiciels serveur ou des programmes du système d'exploitation par tout utilisateur qui n'a pas préalablement reçu le privilège d'effectuer cette opération — selon les règlements introduits par l'administrateur de sécurité.

Lorsqu'un logiciel autonome ( bot informatique) demande des opérations au système d'exploitation, le logiciel doit préalablement décliner son identité en tant que produit puis, sur la base de cette identité, le système d'exploitation effectue les mêmes vérifications que pour une personne physique.

Les mécanismes de contrôle d'accès ont aussi pour effet de lutter contre les logiciels malveillants — ceux-ci effectuent souvent des opérations susceptibles de perturber l'utilisation de l'ordinateur.

Interface utilisateur

Un ensemble de programmes du système d'exploitation reçoit les informations envoyées par les logiciels applicatifs, et les place sur une image numérique qui sera envoyée au matériel par l'intermédiaire d'un pilote. En complément un autre ensemble de programmes reçoit les manipulations effectuées par l'usager par l'intermédiaire de pilotes puis les transmettent au logiciel concerné. Ces deux ensembles créent l' interface homme-machine qui permet à un usager de dialoguer avec la machine.

Le système d'exploitation peut dialoguer avec un usager par l'intermédiaire d'un autre ordinateur ou d'un terminal (interface distribuée). Les informations envoyées par les logiciels applicatifs seront alors envoyées à l'autre ordinateur selon un protocole prévu à cet effet, tandis que l'autre ordinateur enverra les manipulations effectuées par l'utilisateur. Voir SSH, RFB ou X Window System.

Lorsque l'interface est en mode texte, l'image numérique est une grille dans laquelle sont placés des caractères d'imprimerie, la grille comporte typiquement 80 colonnes et 35 lignes. L'interface se manipule avec un clavier. Ce type d'interface, qui existe depuis les débuts de l'informatique [N 3] est aujourd'hui remplacé par les interfaces graphiques.

L'interface utilisateur graphique

Article détaillé : Interface graphique.

Dans une interface utilisateur graphique (anglais Graphical User Interface abrégé GUI), l'image numérique est composée par un programme du système d'exploitation par superposition de points, de lignes, de pictogrammes et de caractères d'imprimerie. L'interface se manipule typiquement avec une souris selon le principe WIMP (anglais Windows, Icons, Menus and Pointer device). L'image numérique est créée à l'aide du processeur graphique de l'ordinateur.

Lors des manipulations de la souris, le système d'exploitation déplace l'élément d'image qu'est le pointeur et effectue les calculs nécessaires pour déterminer quel est l'élément de l'image qui se trouve juste en dessous. À chaque élément de l'image peut être associé un programme. Un widget est un programme qui dessine et anime un élément d'image dont l'aspect peut-être celui d'un bouton poussoir, d'une lampe témoin, d'un ascenseur, d'une zone texte, d'un menu, etc. Divers widgets sont fournis avec le système d'exploitation.

Les programmes pour interface graphique sont aujourd'hui (2011) inclus dans tous les systèmes d'exploitation contemporains. Le X Window System est l'ensemble des programmes pour interface utilisateur graphique inclus dans tous les systèmes d'exploitation de la famille Unix.

Logiciels utilitaires

Article détaillé : Logiciel utilitaire.

Un logiciel applicatif sert à assister l'utilisateur dans une activité. Les logiciels utilitaires sont des logiciels applicatifs qui permettent à l'utilisateur d'effectuer des manipulations basiques telles que démarrer des programmes, copier des fichiers ou modifier des paramètres de configuration. Divers logiciels utilitaires sont fournis avec les systèmes d'exploitation.

Un interpréteur de commandes est un programme qui permet d'exécuter d'autres programmes en écrivant leur nom éventuellement suivi de divers paramètres. Il est accompagné de plusieurs programmes qui permettent la manipulation des fichiers (copie, changement de nom…). Ce type de programme est utilisé pour effectuer des manipulations ou exécuter des scripts — suites de manipulations pré-enregistrées (voir commande informatique).

Un environnement de bureau est un programme dans lequel les différents éléments de l'ordinateur (programmes, fichiers, disques durs) sont présentés sous forme de pictogrammes sur lesquels il est possible d'effectuer différentes actions. Il permet d'exécuter des programmes, d'effectuer différentes opérations sur les fichiers (copie, changement du nom, déplacement ou suppression).

Certains programmes permettent à l'utilisateur de modifier les paramètres de configuration du système d'exploitation. Ceux-ci proposent des listes à choix multiples et effectuent des contrôles de validité avant le modifier les paramètres.

D'autres programmes servent à installer des logiciels, c'est-à-dire copier les fichiers dans les emplacements prévus à cet effet, et effectuer les modifications de configuration nécessaire pour rendre le logiciel opérationnel. Ces programmes peuvent aussi servir à consulter la liste des logiciels actuellement installés dans l'ordinateur.

Un système d'exploitation multi-utilisateurs est en général fourni avec des programmes permettant de surveiller l'utilisation — par autrui — de l'ordinateur — consultation de journaux d'activité — ou de modifier les listes de droits d'accès en vue d'autoriser ou d'interdire un fichier à certains utilisateurs.

Other Languages
Acèh: OS
Alemannisch: Betriebssystem
العربية: نظام تشغيل
azərbaycanca: Əməliyyat sistemi
žemaitėška: Uoperacėnė sėstema
беларуская (тарашкевіца)‎: Апэрацыйная сыстэма
Mìng-dĕ̤ng-ngṳ̄: Chŏ̤-cáuk hiê-tūng
Esperanto: Operaciumo
客家語/Hak-kâ-ngî: Chok-ngia̍p hì-thúng
hornjoserbsce: Dźěłowy system
Bahasa Indonesia: Sistem operasi
Interlingue: Operativ systema
íslenska: Stýrikerfi
Qaraqalpaqsha: Operatsion sistema
Taqbaylit: Anagraw n wammud
한국어: 운영 체제
Ripoarisch: Bedriefsystem
Lëtzebuergesch: Betribssystem
македонски: Оперативен систем
Bahasa Melayu: Sistem pengendalian
Plattdüütsch: Bedriefssystem
नेपाल भाषा: अपरेटिङ सिस्टम
Nederlands: Besturingssysteem
norsk nynorsk: Operativsystem
Pälzisch: Betriebssyschdem
português: Sistema operativo
русиньскый: Операчна сістема
sámegiella: Operatiivavuogádat
srpskohrvatski / српскохрватски: Operativni sistem
Simple English: Operating system
slovenčina: Operačný systém
slovenščina: Operacijski sistem
Soomaaliga: Operating system
српски / srpski: Оперативни систем
Basa Sunda: Sistim Operasi
татарча/tatarça: Операцион система
oʻzbekcha/ўзбекча: Ishlatuv tizimi
Tiếng Việt: Hệ điều hành
中文: 操作系统
Bân-lâm-gú: Chok-gia̍p hē-thóng
粵語: 作業系統