Type Unix

Un article de Wikipedia, l'encyclopedie libre.
Graphique montrant les relations entre les differents systemes de types Unix existants.

Un systeme d’exploitation de type Unix (en anglais  : Unix-like ) est un systeme d’exploitation qui se comporte d’une facon semblable a un systeme Unix , bien que n’etant pas necessairement conforme ou certifie par une quelconque version de la Single UNIX specification . Le terme peut regrouper les systemes d’exploitations libres ou open source inspires par Unix des laboratoires Bell ou concu pour imiter ses fonctionnalites.

Le systeme UNIX [ modifier | modifier le code ]

Le systeme UNIX est multi-utilisateur et multitache , il a ete construit pour etre sur, vis-a-vis des manipulations illicites des utilisateurs pour acceder a des donnees d'un autre utilisateur ou vis-a-vis des erreurs lors de l'execution d'un programme. Il permet donc a un ordinateur mono ou multi-processeurs d'executer apparemment simultanement plusieurs programmes dans des zones protegees appartenant chacune a un utilisateur en minimisant tout risque de fraude ou d'incident. Contrairement aux systemes anterieurs sur mainframes, l'utilisateur de ce systeme ne doit savoir manipuler que deux concepts de base, celui des fichiers et celui des processus , autrement dit les donnees et les traitements. Chacun de ceux-ci se complexifie cependant par exemple avec respectivement la gestion des droits d'acces ou les IPC (communications inter-processus).

Le systeme de fichier [ modifier | modifier le code ]

Le fichier est l'unite elementaire de stockage de l'information, ou plus exactement la ressource elementaire sous UNIX, il est accessible via l'≪  espace de nommage  ≫, une arborescence de fichier. Il existe des fichiers speciaux et des fichiers normaux. Les fichiers speciaux permettent d'acceder aux informations lues ou ecrites dans des peripheriques , par exemple les imprimantes, la memoire, l'ecran.

Un fichier sous UNIX n'est intrinsequement pas type, ce qui veut dire que le systeme ne connait pas le format des donnees qu'il contient, et peut representer differentes ressources telles qu'une suite de caracteres stockee sur un support physique, un peripherique, tel que: disque dur , imprimante , derouleur a bandes, memoire, interface reseau . Le systeme d'exploitation gere toutes les informations necessaires au traitement de ce fichier : proprietaire, groupe (chaque fichier etant detenu par un proprietaire faisant partie d'un ou plusieurs groupes, le proprietaire et chaque groupe possedent des droits particuliers), droits d'acces des differentes categories d'utilisateurs, taille, date de derniere modification, date du dernier acces, references des blocs de donnees sur le disque s'il represente une suite de caracteres.

Processus [ modifier | modifier le code ]

Unix est par definition multi-utilisateur et multi-tache. Le processus est l'unite elementaire de gestion des traitements sous UNIX et initialement la seule. Il s'agit d'une abstraction comprenant un espace d'adressage et supportant un ou plusieurs flots d'execution de programme, les threads noyaux apparus plus tard, chacun possedant une pile et son propre contexte d'execution . UNIX etant un systeme multitache , il permet de partager les ressources de calcul entre les threads. D'autre part il est preemptif , ce qui implique que ce partage est effectue de maniere transparente pour les threads. Ce partage transparent est realise grace a un ordonnanceur adapte a l'usage auquel est destine le systeme. Dans un systeme a temps partage, l'ordonnanceur tente de repartir les ressources de calcul de maniere equitable entre les threads tout en privilegiant le temps de reponse des entrees/sorties . Dans un systeme temps-reel, les threads sont ordonnances selon des contraintes temporelles qui doivent etre garanties strictement (temps-reel dur) ou bien avec un certain taux d'echec (temps-reel souple).

Controle d'acces aux ressources [ modifier | modifier le code ]

Au niveau logiciel , la politique de securite du systeme UNIX est fondee sur le principe que chaque ressource admet un identificateur , un proprietaire et un ensemble de droits d'acces (en lecture, en ecriture, en execution) repartis en trois groupes :

  1. les droits du proprietaire ;
  2. les droits du groupe auquel appartient le proprietaire ;
  3. les droits des autres utilisateurs.

La plupart des systemes UNIX actuels proposent un modele plus fin, celui des listes de controle d'acces (ACL - Access Control List). Un utilisateur special appele root possede tous les droits sur toutes les ressources. Il est en general utilise uniquement pour des taches d'administration. Par souci d'une meilleure securite, certains systemes UNIX permettent de mieux nuancer l'acquisition de droits supplementaires par les utilisateurs. Ainsi Linux propose-t-il les ≪ capacites ≫ (capabilities) et Mac OS X permet d'installer des applications et d'intervenir sur la configuration du systeme au moyen d'un compte administrateur distinct de root (qui est d'ailleurs desactive par defaut), en ce qu'il ne peut modifier les fichiers fondamentaux du systeme.

Au niveau materiel, le controle d'acces aux ressources se base d'une part sur des mecanismes inherents aux principes de fonctionnement de la memoire virtuelle, et d'autre part sur un modele de protection a 2 niveaux : le mode superviseur (le plus privilegie, reserve au fonctionnement du noyau) et le mode utilisateur (le moins privilegie). Ce type de controle d'acces est possible sur la plupart des processeurs modernes supportant un UNIX. Certains processeurs fournissent des possibilites de protection plus etendues. Ainsi les processeurs de la famille Intel x86 comportent 4 niveaux (ou anneaux) de protection. Des systemes d'exploitation (peu nombreux a l'heure actuelle), tels que OS/2 , exploitent cette possibilite.

Voir aussi [ modifier | modifier le code ]

Articles connexes [ modifier | modifier le code ]