UNIX - Définition et Explications

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Le système UNIX

Le système UNIX est multi-utilisateur et multitâche, il permet donc à un ordinateur mono ou multi-processeurs d'exécuter apparemment simultanément plusieurs programmes dans des zones protégées appartenant chacune à un utilisateur.

Stations de travail et serveurs Unix

Seuls quelques grands constructeurs de stations de travail et de serveurs développant des dérivés d'UNIX subsistent en 2007 :

  • IBM : système AIX ;
  • Oracle corp. : Solaris ;
  • HP-Compaq : HP-UX ;
  • SGI : IRIX ;
  • SCO Group : UnixWare

Microsoft (Microsoft Corporation (NASDAQ : MSFT) est une multinationale américaine de solutions informatiques, fondée par Bill Gates et Paul Allen, dont le...) a possédé quelque temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) les droits d'une version d'UNIX qui se nommait XENIX.

La philosophie des constructeurs de stations et serveurs UNIX a été au départ de développer un système d'exploitation pour pouvoir vendre leurs machines, en y ajoutant si possible un petit « plus » pour se démarquer de la concurrence. C'était oublier que les parcs UNIX sont le plus souvent hétérogènes et que toute différence d'une machine à l'autre, même créée avec la meilleure intention du monde (Le mot monde peut désigner :), menace l'interopérabilité (L’ interopérabilité est la capacité que possède un produit ou un système, dont les interfaces sont intégralement connues, à...) donc constitue un risque réel de contre-productivité car contraignent les informaticiens à bricoler afin d'interconnecter les systèmes.

C'est une des raisons pour lesquelles nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de ces constructeurs proposent désormais le système GNU/Linux avec leurs serveurs. Toutefois, si le noyau Linux (Le noyau Linux est un noyau de système d'exploitation de type UNIX. Le noyau Linux est un logiciel libre développé essentiellement en C par une large communauté de contributeurs. Formellement,...) est bien défini, le système Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent désigné comme le noyau Linux. Par...) change sensiblement d'une distribution à l'autre, ce qui conduit à des dissemblances causant parfois des pertes de temps.

Ce problème se posait déjà jadis avec l'opposition entre UNIX System V (UNIX System V, ou System V (soit « système cinq », 5 étant écrit en chiffre romain) est une version du système d'exploitation d'origine UNIX, dévoilée par l'entreprise AT&T en janvier 1983.) et UNIX BSD, en particulier sur des gestions sensiblement différentes de l'impression et des signaux.

Les grands constructeurs tels que PSA, EADS, Dassault utilisent encore des stations sur Unix pour travailler sur la CAO, dans le but de garder une compatibilité avec leur ancien logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de traitement,...) de conception Catia V4.

Cependant, PSA utilise de plus en plus Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées aux machines compatibles PC. C'est le remplaçant de MS-DOS. Depuis les années 1990, avec...) XP Pro 64 bit pour ses postes CAO.

Aspects techniques

Le noyau d'UNIX repose sur quatre concepts élémentaires : les fichiers, les processus, les IPC (communications inter-processus), et les droits d'accès :

Fichiers

Le fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce, un bâtiment, une base de données informatique. Par exemple : fichier des patients d'un médecin, fichier...) est l'unité élémentaire de gestion de ressources sous UNIX. Un fichier sous UNIX n'est pas typé, ce qui veut dire que le système ne connaît pas le format des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) qu'il contient, et peut représenter différentes ressources telles qu'une suite de caractères stockée sur un support physique (La physique (du grec φυσις, la nature) est étymologiquement la « science de la nature ». Dans un sens général et ancien, la physique désigne la connaissance de la...), un périphérique (disque dur, imprimante (Les imprimantes ont été conçues dès l’apparition des premiers ordinateurs, pour permettre la consultation et la conservation sur...), dérouleur à bandes, mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.), interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître de l’autre pour pouvoir fonctionner correctement.) réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets », c'est-à-dire un petit...) etc.), ou même des paramètres dynamiquement reconfigurables du noyau. Un fichier est un objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par une étiquette verbale. Il...) référencé dans un système de fichiers avec des partitions. Cette référence contient toutes les informations nécessaires au traitement de ce fichier : propriétaire, groupe (chaque fichier étant détenu par un propriétaire faisant partie d'un ou plusieurs groupes, le propriétaire et chaque groupe possèdent des droits particuliers), droits d'accès des différentes catégories d'utilisateurs, taille, date de dernière modification, date du dernier accès, références des blocs de données sur le disque (Le mot disque est employé, aussi bien en géométrie que dans la vie courante, pour désigner une forme ronde et régulière, à l'image d'un palet — discus en latin.) s'il représente une suite de caractères.

Processus

Le processus est l'unité élémentaire de gestion des traitements sous UNIX. Il s'agit d'une abstraction ( En philosophie, l'abstraction désigne à la fois une opération qui consiste a isoler par la pensée une ou plusieurs qualités d'un objet concret pour...) comprenant un espace d'adressage et supportant un ou plusieurs flots (Flots) d'exécution de programme, les threads, chacun possédant une pile et son propre contexte (Le contexte d'un évènement inclut les circonstances et conditions qui l'entourent; le contexte d'un mot, d'une phrase ou d'un texte inclut les mots qui l'entourent. Le concept de contexte issu traditionnellement de l'analyse...) d'exécution. UNIX étant un système multitâche (Un système d'exploitation est multitâche (en anglais : multi-task) s’il permet d’exécuter, de façon apparemment simultanée, plusieurs programmes informatiques. On parle également de...), il permet de partager les ressources de calcul entre les threads. D'autre part il est préemptif, ce qui implique que ce partage est effectué de manière transparente pour les threads. Ce partage transparent est réalisé grâce à un ordonnanceur adapté à l'usage (L’usage est l'action de se servir de quelque chose.) auquel est destiné le système. Dans un système à temps partagé (Le temps partagé est une approche permettant de simuler le partage par plusieurs utilisateurs de temps processeur. Il ne faut pas le confondre avec le...), l'ordonnanceur tente de répartir les ressources de calcul de manière équitable entre les threads tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) en privilégiant le temps de réponse des entrées/sorties. Dans un système temps-réel, les threads sont ordonnancés selon des contraintes temporelles qui doivent être garanties strictement (temps-réel dur) ou bien avec un certain taux d'échec (temps-réel souple).

Communications inter-processus (IPC)

Les communications inter-processus servent (Servent est la contraction du mot serveur et client.) à arbitrer l'utilisation de ressources partagées entre différents processus ou threads par le biais d'objets de synchronisation tels que les sémaphores ou les mutex (Un Mutex (anglais : Mutual exclusion, Exclusion mutuelle) est une primitive de synchronisation utilisée en programmation informatique pour éviter que des ressources non partagées d'un...), à permettre le contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) d'un processus par un autre ou bien par le noyau par le biais de signaux, et enfin à permettre à deux processus d'établir une communication : localement par le biais de pipes, de segments de mémoire partagée (Dans un contexte de la programmation concurrente, la mémoire partagée désigne un large bloc de mémoire vive qui est accédé par différentes unités de calcul au sein d'un ordinateur parallèle. Le...) ou de files de messages, et de manière transparente (localement ou sur un réseau) par le biais de sockets.

Contrôle d'accès aux ressources

Au niveau logiciel, la politique de sécurité du système UNIX est fondée sur le principe que chaque ressource admet un identificateur (En programmation informatique, les identificateurs sont des mots qui sont reconnus par le compilateur ou l'interpréteur et qui permettent, telles des étiquettes, de désigner des concepts du langage de...), un propriétaire et un ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut être comprise comme un...) de droits d'accès (en lecture, en écriture, en exécution) répartis en trois groupes : 1) les droits du propriétaire; 2) les droits du groupe auquel appartient le propriétaire; 3) les droits des autres utilisateurs. La plupart des systèmes UNIX actuels proposent un modèle plus fin, celui des listes de contrôle d'accès (ACL - Access Control List). Un utilisateur spécial appelé root possède tous les droits sur toutes les ressources. Il est en général utilisé uniquement pour des tâches d'administration. Par souci d'une meilleure sécurité, certains systèmes UNIX permettent de mieux nuancer l'acquisition (En général l'acquisition est l'action qui consiste à obtenir une information ou à acquérir un bien.) de droits supplémentaires par les utilisateurs. Ainsi Linux propose-t-il les « capacités » (capabilities) et Mac OS X (Mac OS X est une ligne de systèmes d’exploitation propriétaire développés et commercialisés par Apple, dont la version la plus récente (Mac OS X 10.5 dit 'Leopard' fin 2007) est installée sur tous les Macs vendus actuellement. Mac OS X...) permet d'installer des applications et d'intervenir sur la configuration du système au moyen d'un compte administrateur distinct de root (qui est d'ailleurs désactivé par défaut), en ce qu'il ne peut modifier les fichiers fondamentaux du système.

Au niveau matériel, le contrôle d'accès aux ressources se base d'une part sur des mécanismes inhérents aux principes de fonctionnement de la mémoire virtuelle (En informatique, le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il est basé sur l'utilisation d'une mémoire de masse...), et d'autre part sur un modèle de protection à 2 niveaux : le mode superviseur (le plus privilégié, réservé au fonctionnement du noyau) et le mode utilisateur (le moins privilégié). Ce type de contrôle d'accès est possible sur la plupart des processeurs modernes supportant un UNIX. Certains processeurs fournissent des possibilités de protection plus étendues. Ainsi les processeurs de la famille Intel ix86 comportent 4 niveaux (ou anneaux) de protection. Des systèmes d'exploitation (peu nombreux à l'heure (L’heure est une unité de mesure du temps. Le mot désigne aussi la grandeur elle-même, l'instant (l'« heure qu'il est »), y compris en sciences (« heure solaire » employé pour...) actuelle), tels que OS/2 (OS/2 est un système d'exploitation créé par Microsoft et IBM, qui ensuite a été développé par IBM seul. Le nom OS/2 signifie Operating System/2...), exploitent cette possibilité.

Page générée en 0.084 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique