Oodoc change de nom : découvrez tousLesDocs

X

Accéder à ce doc

Le sommaire
  ACCÉDER à ce doc

I) La gestion des processus

A. Les états d'un processus
B. Les caractéristiques
C. La création d'un processus
D. La mort d'un processus
E. Les commandes disponibles
F. Les threads (processus légers)
G. Le démarrage, l'arrêt du système et les fichiers de configuration
H. L'ordonnancement
I. Le système de fichiers/proc

II) La programmation des processus

A. Les fonctions d'identification
B. La création d'un processus
C. La fin d'un processus
D. La priorité d'un processus
E. La synchronisation
F. La primitive system

III) Les primitives systèmes de manipulation des fichiers

A. La création et l'ouverture
B. La fermeture
C. Les primitives de lecture et d'écriture
D. Le positionnement dans le fichier
E. Les autres primitives

IV) La synchronisation par signaux

A. Principe
B. La liste des signaux
C. L'émission d'un signal
D. La réception d'un signal
E. L'attente d'un signal
F. Primitives de manipulation d'un ensemble de signaux

V) La communication par tubes

A. Les tubes systèmes ou anonymes
B. Les tubes nommés

VI) La synchronisation par les sémaphores

A. Les caractéristiques de IPC
1. Le fichier ipc.h
2. Les droits
3. Le numéro de poste
B. Les sémaphores
1. Définition
2. Les primitives Int, P et V de Dijkstra
3. Exemple d'utilisation pour une section critique
4. Exemple d'utilisation de P et V pour résoudre le modèle lecteurs-rédacteurs
5. Exemple d'utilisation de P et V pour résoudre le modèle producteur-consommateur
C. Les primitives de gestion des sémaphores en C
1. Création
2. Gestion du tableau des sémaphores
3. Modification de la valeur des sémaphores
4. Impact de fork, exec et exit
D. Exemples d'implantations des fonctions Init, P et V
1. La fonction Init
2. La fonction P
3. La fonction V
4. La fonction de suppression

VII) La communication par la mémoire partagée

A. Création
B. Structure associée dans sys/shm.h
C. Contrôle de l'état
D. Attachement et détachement d'un segment
ACCÉDER à ce doc  

Résumé du document
  ACCÉDER à ce doc

Les processus (tâches ou jobs) sont les images dynamiques de l'exécution d'un programme en mémoire centrale. Le contexte d'un processus correspond aux trois zones de l'environnement mémoire pour le code, pour les données statiques et dynamiques ainsi que la pile et à la zone système qui stocke les informations de l'environnement d'exécution du programme (liste des fichiers ouverts, registres, catalogue de travail, les signaux). Un processus dispose d'un père unique et, dans le contexte de temps partagé multitâche, c'est l'ordonnanceur des processus (le scheduler) qui gère les transitions d'états des processus.

Le noyau Linux est un gestionnaire de processus, qui offrent des services. Ces services peuvent être appelés par le biais d'un appel système ou d'une commande.
Il existe deux modes d'exécution, le mode maître pour les routines systèmes et un mode utilisateur.

Le noyau comporte aussi des threads noyaux qui s'exécutent en mode maître pour des tâches spécifiques ()

Extraits

[...] L’environnement système du fils hérite aussi des informations du père. Les deux processus, qui proviennent du même code, ont le même nom. La primitive du langage C fork() permet de créer un nouveau processus. Un processus peut aussi être créé en recouvrement d’un processus existant, il récupère le pid du processus qu’il recouvre ainsi que ses zones de données. Ce mécanisme permet donc le changement du nom du processus recouvert. Par exemple l’interprète bash utilise les deux mécanismes. [...]


[...] redémarrage de la machine S ou s mode monoutilisateur avec seulement le système de fichiers monté Linux utilise le niveau 5 pour l’environnement graphique et le niveau 3 pour l’ensemble de ces services. Le fichier de configuration /etc/inittab comporte les lignes suivantes : Les actions sont : Respawn relance après la fin d’exécution Once exécuté une seule fois Wait idem once mais avec attente de fin du processus Powerfail commande a exécuter si l’alimentation est interrompue . Dans ce fichier, les consoles qui peuvent être ouvertes en utilisant la suite .sont précisées. La commande telinit permet de changer le runlevel courant. [...]


[...] system( char * nom_processus) LES PRIMITIVES SYSTEMES DE MANIPULATION DES FICHIERS Toutes les primitives systèmes retournent la valeur en cas d’erreur et affectent la variable errno La création et l’ ouverture. En langage les fichiers sont identifiés via un descripteur. A chaque processus est associé une table des descripteurs ou fichiers ouverts dans laquelle les descripteurs de numéro 0 correspondant au clavier, de numéro 1 correspondant à l’écran et de numéro 2 correspondant aux erreurs dupliquées en sortie sur l’écran sont initialisés à la création du processus. [...]


[...] Les primitives open et close seront utilisées pour l’écriture ou la fermeture du tube. On peut aussi utiliser : Int mkfifo( const char *tel_nom, int tel_mode De manière standard, une ouverture en lecture seule sans producteur (respectivement en écriture seule sans consommateur) conduit le processus à se bloquer jusqu’à l’émergence d’un producteur (ou d’un consommateur) qui le réveillera; le processus reviendra alors de l’open. Sans précaution, l’ouverture est bloquante. L’attente est en mode interruptible et est donc sensible aux signaux. [...]


[...] La variable tel_shmflg peut prendre les valeurs IPC_CREAT création IPC_ALLOC ouverture IPC_EXCL création avec vérification de l’existence On peut combiner ces valeurs avec SHM_R et SHM_W. Remarque: Comme pour les sémaphores IPC_PRIVATE permet de créer une zone privée Structure associée dans sys/shm.h struct shmid_ds { struct ipc_perm shm_perm ; permissions int shm_segsz; taille du segment struct region *shm_reg ; pointeur table région char pad[4]; pour compatibilité de swap ushort shm_lpid ; pid du dernier shmop ushort shm_cpid; pid du créateur ushort shm_nattch; nombre de processus attachés ushort shm_cnattch; usage interne time_t shm_atime ; heure du dernier shmat time_t shm_dtime ; heure du dernier shmdt time_t shm_ctime ; heure du dernier shmctl } 3. [...]

ACCÉDER à ce doc  

Informations sur le doc

Date de publication
04/06/2009
Langue
français
Format
Word
Type
dissertation
Nombre de pages
20 pages
Niveau
grand public
Consulté
2 fois

Informations sur l'auteur Dimitri C. (étudiant)

Niveau
Grand public
Etude suivie
informatique
Ecole, université
Master ESGI
Note du document :
         
ACCÉDER à ce doc  
Cours sur la programmation UNIX : processus, gestion des processus, primitives, signaux, sémaphores, etc.

«Les processus (tâches ou jobs) sont les images dynamiques de l'exécution d'un programme en mémoire centrale. Le contexte d'un processus correspond aux trois zones de l'environnement mémoire pour le code, pour les donn&eacut...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   20 pages   |   publié en 2009
Cours sur la programmation UNIX : installation d'une distribution Linux, gestion des utilisateurs, système de protection et la sécurité, ligne de commandes, etc.

«C'est en 1969 que Ken Thompson au sein des laboratoires Bell développa le premier système UNIX.En collaboration avec Dennis Ritchie le noyau UNIX fut réécrit en langage C avec un souci de convivialité, de soup...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   25 pages   |   publié en 2009
Unix : fonctionnement et commandes utilisées

«Exposé décrivant le fonctionnement d'Unix et les commandes utilisées. Les commandes les plus courantes sont présentées, permettant à un utilisateur de se débrouiller avec n'importe quel système Unix, de HP-UX à Solaris en passant par Linux. Ce docume...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   46 pages   |   publié en 2007
Cours Linux et travaux pratiques corrigés

«Unix est l'un des systèmes d'exploitation le plus populaire du monde. Linux est un système Unix libre sur plate-forme PC. L'idée d'un système d'exploitation libre est née en 1984 avec la Free Software Foundation (FS...»

Sciences et technologies   |  Informatique  |   Cours  |   fr  |   .doc  |   95 pages   |   publié en 2010
Implémentation de Linux sur Altera EPXA1

«De manière générale, puissance fiabilité flexibilité et extensibilité sont quatre idées fortes du monde Linux. L'autre facteur déterminant dans les récents succès de Linux dans le ...»

Sciences et technologies   |  Électronique  |   Dissertation  |   fr  |   .pdf  |   66 pages   |   publié en 2009

Meilleures ventes en informatique

Derniers docs en informatique

La gestion de projet sous Microsoft Project
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   79 pages   |   publié en 2007
Rapport de projet en système d'information
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   31 pages   |   publié en 2007
Le piratage informatique
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .ppt  |   17 pages   |   publié en 2007
Dépannage de premier niveau d'un réseau local
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   177 pages   |   publié en 2007
Gestion de notes d'un ensemble d'élèves en C++
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   25 pages   |   publié en 2006
Conception et développement d'un système en ligne de la gestion de recrutement
Sciences et technologies   |  Informatique  |   Mémoire  |   fr  |   .pdf  |   29 pages   |   publié en 2014
Etude et mise en place d'une solution cloud computing
Sciences et technologies   |  Informatique  |   Rapport de stage  |   fr  |   .doc  |   52 pages   |   publié en 2014
Les systèmes experts en ingénierie
Sciences et technologies   |  Informatique  |   Cours  |   fr  |   .pdf  |   29 pages   |   publié en 2013
Cours de systèmes répartis
Sciences et technologies   |  Informatique  |   Cours  |   fr  |   .pdf  |   18 pages   |   publié en 2013