Contactez-nous
Gestion des activités parallèles
Systèmes d'exploitation - Principes et fonctions
H1510 v1 Archive

Gestion des activités parallèles
Systèmes d'exploitation - Principes et fonctions

Auteur(s) : Sacha KRAKOWIAK

Date de publication : 10 févr. 2008

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Organisation

2 - Gestion des activités parallèles

3 - Désignation et gestion de l'information

4 - Allocation de ressources

5 - Sécurité et protection

  • 5.1 - Politiques de sécurité
  • 5.2 - Mécanismes de protection

6 - Nouvelles applications, nouvelles structures

7 - Conclusions et perspectives

Sommaire

Présentation

RÉSUMÉ

Le système d'exploitation d'un ordinateur est un logiciel qui vise à faciliter l'emploi de cet ordinateur par ses utilisateurs. En contact direct avec le matériel, il remplit deux fonctions: présenter à l'utilisateur une interface plus commode que celle de la machine sous-jacente gérer les ressources matérielles et logicielles de l'installation. La technique utilisée est la virtualisation: à chaque ressource correspond une ressource virtuelle qui en fournit une image idéale, plus facile à utiliser. Cet article présente les principes d'organisation et de fonctionnement des systèmes d'exploitation et la gestion des différentes ressources: activités, mémoire, information, et donne quelques indications sur l'évolution de ces systèmes et sur leurs futures applications.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

INTRODUCTION

Le système d'exploitation d'un ordinateur, ou d'un ensemble d'ordinateurs connectés en réseau, est un ensemble de programmes qui remplissent deux grandes fonctions :

  • allouer les ressources matérielles et logicielles pour satisfaire les besoins des programmes d'application ;

  • présenter aux applications une interface mieux adaptée à leurs besoins que celle fournie par le matériel, en dissimulant la complexité de l'infrastructure sous-jacente.

Il est plus exact de parler d'un ensemble d'interfaces. En effet, les utilisateurs et les applications peuvent généralement interagir avec différentes couches du système d'exploitation. Au niveau le plus haut, l'interface se présente comme un langage de commande symbolique ou graphique. L'interprète de ce langage est, en général, en dehors du système d'exploitation proprement dit, et peut donc être remplacé ou modifié. À un niveau plus bas se situe l'interface principale, constituée d'un ensemble d'« appels systèmes », qui permettent d'utiliser les différentes entités définies par le système : processus, fichiers, messages, etc. Cette interface est utilisée par les applications, soit directement, soit, le plus souvent, au travers de bibliothèques spécialisées, associées à un langage de programmation. Enfin, certains systèmes d'exploitation (à micro-noyau, à composants) ont une structure modulaire qui permet d'accéder à plusieurs niveaux différents de fonctions, plus ou moins proches de la machine physique.

L'évolution des systèmes d'exploitation est gouvernée, à la fois, par l'évolution des architectures matérielles et par celle des besoins des applications. Les faits marquants des années 2000 peuvent être résumés comme suit :

  • transition progressive des systèmes dits « propriétaires » (associés à une architecture particulière de machines, fournissant une interface spécifique) vers des systèmes « ouverts » (portables sur une gamme étendue de machines et présentant des interfaces normalisées, pour faciliter le transport et l'interconnexion des applications). Cette évolution est liée à la diffusion croissante du logiciel libre, dont un exemple marquant est le système Linux ;

  • passage d'une informatique centralisée à une informatique distribuée, dans laquelle le système d'exploitation prend en compte la répartition des ressources matérielles, des données et des applications, tout en dissimulant cette répartition aux utilisateurs ;

  • globalisation des échanges, par l'interconnexion généralisée des réseaux et l'informatique « nomade » (connexion d'ordinateurs mobiles), forte interaction de l'informatique et des télécommunications, développement des applications coopératives et des communications multimédias ;

  • développement rapide des systèmes embarqués, inclus dans des objets ou environnements divers (téléphones, véhicules, sites de production), communiquant avec le monde physique et soumis à des contraintes fortes de temps de réaction, de ressources matérielles et de consommation d'énergie.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1510

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(237 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

2. Gestion des activités parallèles

La gestion d'activités parallèles coordonnées est l'une des fonctions principales d'un système d'exploitation. Les concepts et outils du parallélisme (processus, exclusion mutuelle, synchronisation et communication) ont été développés à cet effet. Nous présentons successivement ces concepts et les modalités de leur mise en œuvre.

2.1 Processus et threads

Un processus est l'entité dynamique qui représente l'exécution d'un programme sur un processeur.

  • Le déroulement d'un processus est une suite d'actions élémentaires, l'exécution des instructions du programme. Le contexte d'exécution (ou simplement le contexte) d'un processus est l'ensemble des ressources (éléments matériels et information) accessibles à ce processus pendant son exécution. On distingue le contexte privé (propre au processus) et le contexte global (partagé avec d'autres processus). Deux processus ne peuvent interagir que si leur contexte a une partie commune.

    Chaque action d'un processus peut modifier l'état de son contexte. Cet état n'est défini qu'en une suite discrète de points observables. La suite des états en ces points constitue l'histoire (ou trace temporelle) du processus.

    Soit maintenant deux processus p et q. Notons début(p) et fin(p) les instants de début et de fin d'exécution de p, et de même pour q.

    On dit que p et q s'exécutent en parallèle si on a la relation :

    Si, à un instant donné, on peut observer l'exécution simultanée d'une action de p et d'une action de q, il y a parallélisme réel. Si on ne peut observer qu'une action à la fois, il y a pseudo-parallélisme.

    Le parallélisme réel nécessite autant de processeurs physiques que de processus parallèles.

    Le pseudo-parallélisme est un moyen de simuler le parallélisme réel sur un processeur unique, en entrelaçant les traces temporelles des différents processus. L'exploitation des ordinateurs en temps partagé (time-sharing ) s'appuie sur ce principe.

  • Dans les réalisations...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Gestion des activités parallèles

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(237 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(237 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Virtualisation logicielle : de la machine réelle à la machine virtuelle abstraite

Masquer l'hétérogénéité est un des grands challenges de l'informatique moderne : le nombre de ...

Sécurité des applications Web et mobiles

En 22 ans le Web, son langage HTML et son protocole de transport http se sont transformés, ils étaient ...

Attaques des systèmes - Identifier les faiblesses du bastion

Cet article est consacré aux attaques des systèmes informatiques, menaces devenues plus que ...