Il s'agit de la commande pvm_shmdPVM qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
pvm_shmd - démon de mémoire partagée PVM (2)
SYNOPSIS
pvm_shmd [ -options ] [ fichier hôte ]
DESCRIPTION
Pvm_shmd est un processus démon qui maintient et gère l'utilisation de la mémoire partagée
ressources (segments de mémoire, sémaphores, files d'attente de messages) sur un hôte PVM particulier. Une
pvm_shmd doit s'exécuter sur chaque hôte d'une machine virtuelle qui souhaite utiliser le shmd partagé
couche de transmission de messages en mémoire. Les shmd la couche de transmission de messages permet aux processus locaux d'être
hôte pour utiliser la mémoire partagée pour la transmission de messages sur cet hôte UNIQUEMENT. Voir le répertoire shmd
README pour d'autres notes et restrictions.
Le démon peut être démarré manuellement comme avec n'importe quelle autre tâche PVM. Seulement un pvm_shmd peuvent être
actif par hôte. Si la pvm_shmd détecte un autre pvm_shmd il s'arrêtera.
Le pvm_shmd peut être tué à partir de la console PVM à l'aide de la commande reset. Local et
pvm_shmds distant peut également être démarré à partir du programme de console PVM pvm.
Le nom de l'exécutable du démon est pvm_shmd.
Owned Pour en savoir plus Utilisation
Le pvm_shmd tentera de créer jusqu'à MAXSEG segments de mémoire partagée jusqu'à PAGES MAX
pages de mémoire en taille. La taille de chaque page mémoire dépend de l'architecture (voir
obtenir la taille de page(3C)). Les segments sont alors numérotés 0..N-1 où N est le nombre de segments
créé. Le premier segment (0) a la structure de contrôle de la mémoire partagée placée dans son
diriger. Cette structure permet à des processus extraterrestres de localiser les autres segments de mémoire partagée
et toute information de contrôle requise.
La couche de transmission de messages alloue de la mémoire à partir de ces segments de manière asynchrone sans aucune
interaction avec le pvm_shmd utiliser des sémaphores pour protéger les données lors des mises à jour de tout
structures associées. Pour chaque segment il y a une carte de page associée dont
les processus ont actuellement verrouillé une page. Chaque carte de page pour un segment a un
sémaphore le protégeant. Les sémaphores sont accessibles avec le drapeau SEM_UNDO défini de sorte que si
un processus contenant un sémaphore devrait mourir, le système d'exploitation (devrait) réinitialiser le sémaphore
automatiquement, permettant ainsi à tous les processus en attente/bloqués de continuer.
Le pvm_shmd ne conserve que les segments et leur(s) map(s) de page d'allocation. Ainsi si un
traiter les pages allouées dans un segment puis se terminer, c'est le pvm_shmd qui détecte cela
puis libère les pages allouées.
Le pvm_shmd peut faire vérifier son statut à tout moment en utilisant le pvm_shmd_stat processus
lancez-le dans le rapport sur stdio ou le fichier journal pvm (pvml.uid) son interne
Etat.
La mémoire partagée et tous les processus associés peuvent être effacés en envoyant le pvm_shmd a
Signal HUP.
Envoi du pvm_shmd un signal TERM le fera simplement effacer toutes les ressources partagées et
puis sortie.
Le pvm_shmd ne peut pas capter le signal KILL.
Si la pvm_shmd est tué sans effacer toutes ses ressources partagées, celles-ci peuvent être
effacé en appelant sans ipc qui réside dans le répertoire pvm3/lib.
Message En passant en utilisant SHMD
Le pvm_shmd gère les ressources utilisées par les versions spéciales de pvm_psend() et
pvm_precv() stocké dans la bibliothèque libpvmshmd.a. Ainsi, pour utiliser ces facilités, les applications
devez lier à cette bibliothèque au lieu de la bibliothèque libpvm3.a habituelle.
OPTIONS
Les options suivantes peuvent être spécifiées sur la ligne de commande lors du démarrage de pvm_shmd :
-debug=niveau
Définit le pvm_shmd niveau de débogage. Utilisé pour déboguer pvm_shmd ou libpvmshmd (pas
destiné à être utilisé pour déboguer des programmes d'application).
-maxsegs=maxsegs
Définit le nombre maximum de segments que le pvm_shmd Peut créer. Ceci est utilisé pour
remplacer la valeur compilée de shmd.h. Notez que la valeur ne peut pas être supérieure
le MAXSEGS dans le fichier shmd.h.
-maxpages=pages max
Définit la taille de segment maximale sur pages max pages de mémoire. Cette valeur ne peut pas être
au-dessus de la valeur compilée MAXPAGES dans shmd.h ou de la limite réelle définie par le système d'exploitation.
NOTES
Rappelez-vous que pvm_shmd mémoire allouée de la VM disponible sur la machine. Allouer
plus de segments améliore les performances car il y a moins de partage de segments (sémaphores pour
leurs cartes de pages). Bien que vous deviez vous rappeler de laisser de la mémoire disponible pour le fonctionnement normal
l'utilisation du programme et du système d'exploitation, en tant que pvm_shmd la mémoire allouée est *UNIQUEMENT* utilisée pour le message
qui passe.
Utilisez pvm_shmdPVM en ligne à l'aide des services onworks.net