WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'une application de gestion du presse-papier de Windows 7.

( Télécharger le fichier original )
par MAKA MAKA Ebenezer NOUMBO NGUETSOP Stephane Cedric
ENSET DE DOUALA - DIPET II 2013
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

1.1. Noyau d'un système d'exploitation

1.1.1. Généralités

Le noyau d'un système d'exploitation est lui-même un logiciel, mais ne peut cependant utiliser tous les mécanismes d'abstraction qu'il fournit aux autres logiciels. Son rôle central impose par ailleurs des performances élevées. Cela fait du noyau la partie la plus critique d'un système d'exploitation et rend sa conception et sa programmation particulièrement délicates. Plusieurs techniques sont mises en oeuvre pour simplifier la programmation des noyaux tout en garantissant de bonnes performances.

En informatique, le noyau d'un système d'exploitation est le logiciel qui assure :

· la communication entre les logiciels et le matériel ;

· la gestion des divers logiciels (tâches) d'une machine (lancement des programmes, ordonnancement...) ;

· la gestion du matériel (mémoire, processeur, périphérique, stockage...).

La majorité des systèmes d'exploitation est construite autour du noyau. L'existence d'un noyau, c'est-à-dire d'un programme unique responsable de la communication entre le matériel et le logiciel, résulte de compromis complexes portant sur des questions de performance, de sécurité et d'architecture des processeurs.

L'existence d'un noyau présuppose selon Andrew Tanenbaum6 une partition virtuelle de la mémoire vive physique en deux régions disjointes, l'une étant réservée au noyau (l'espace noyau) et l'autre aux applications (l'espace utilisateur). Cette division, fondamentale, de l'espace mémoire en un espace noyau et un espace utilisateur contribue beaucoup à donner la forme et le contenu des actuels systèmes généralistes (GNU/Linux, Windows, Mac OS X, etc.), le noyau ayant de grands pouvoirs sur l'utilisation des ressources matérielles, en particulier de la mémoire. Elle structure également le travail des développeurs : le développement de code dans l'espace noyau est a priori plus délicat que dans l'espace utilisateur car la mémoire n'y est pas protégée. Ceci implique que des erreurs de programmation, altérant éventuellement les instructions du noyau lui-même, sont potentiellement beaucoup plus difficiles à détecter que dans l'espace utilisateur où de telles altérations sont rendues impossibles par le mécanisme de protection.

6 Andrew Tanenbaum, Operating Systems: Design and Implementation, Prentice Hall, 3rd ed. (ISBN 0-13-142938-8), chapitre 1,3 - 1,4 - 4.

5

Le noyau offre ses fonctions (l'accès aux ressources qu'il gère) au travers des appels système. Il transmet ou interprète les informations du matériel via des interruptions. C'est ce que l'on appelle les entrées et sorties.

Diverses abstractions de la notion d'application sont fournies par le noyau aux développeurs. La plus courante est celle de processus (ou tâche). Le noyau du système d'exploitation n'est en lui-même pas une tâche, mais un ensemble de fonctions pouvant être appelées par les différents processus pour effectuer des opérations requérant un certain niveau de privilèges. Le noyau prend alors en général le relais du processus pour rendre le service demandé et lui rend le contrôle lorsque les actions correspondantes ont été réalisées.

Il peut arriver cependant que le processus puisse poursuivre une partie de son exécution sans attendre que le service ait été complètement réalisé. Des mécanismes de synchronisation sont alors nécessaires entre le noyau et le processus pour permettre à celui-ci, une fois qu'il est arrivé au point où il a besoin que le service ait été rendu, d'attendre que le noyau lui notifie l'exécution effective du service en question.

Un processeur est capable d'exécuter un seul processus, un multiprocesseur est capable de gérer autant de processus qu'il a de processeurs. Pour pallier cet inconvénient majeur, les noyaux multitâches permettent l'exécution de plusieurs processus sur un processeur, en partageant le temps du processeur entre les processus.

Lorsque plusieurs tâches doivent être exécutées de manière parallèle, un noyau multitâche s'appuie sur les notions de :

· commutation de contexte : (context switch en anglais) en informatique consiste à sauvegarder l'état d'un processus pour restaurer à la place celui d'un autre dans le cadre de l'ordonnancement d'un système d'exploitation multitâche.

· ordonnancement : c'est le fait d'ordonner des tâches à exécuter selon certaines contraintes. Ces tâches peuvent être l'exécution d'opération sur les entrées-sorties ou le traitement de processus. Les contraintes peuvent être temporelles ou dimensionnelles. ;

· temps partagé.

Les entrées et les sorties font l'objet d'un traitement spécifique par l'ordonnanceur. De l'anglais scheduler, il désigne dans un système d'exploitation le composant du noyau chargé de choisir l'ordre d'exécution des processus d'un ordinateur. Il s'avère donc important de mettre un accent sur les fonctions remplies par un noyau.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Qui vit sans folie n'est pas si sage qu'il croit."   La Rochefoucault