Contrôleur des ressources système
Cet article fournit des informations sur le contrôleur de ressources système (SRC), qui facilite la gestion et le contrôle de sous-systèmes complexes.
Le code SRC est un contrôleur de sous-système. Les programmeurs de sous-système qui possèdent un ou plusieurs processus démon peuvent utiliser des services SRC pour définir une interface de gestion système cohérente pour leurs applications. Le code SRC fournit un ensemble unique de commandes permettant de démarrer, d'arrêter, de tracer, d'actualiser et d'interroger l'état d'un sous-système.
De plus, le code SRC fournit une fonction de notification d'erreur. Vous pouvez utiliser cette fonction pour incorporer des méthodes de reprise spécifiques au sous-système. Le type d'informations de reprise inclus est limité uniquement par la condition que la méthode de notification soit une chaîne dans un fichier et qu'elle soit exécutable.
Consultez les informations suivantes pour en savoir plus sur les exigences de programmation SRC:
Interaction du sous-système avec le code SRC
Le code SRC définit un sous-système comme un programme ou un ensemble de programmes connexes conçus comme une unité pour exécuter des fonctions connexes. Voir "Contrôleur de ressources système" dans Gestion des systèmes d'exploitation et des unités pour une description plus détaillée des caractéristiques d'un sous-système.
Un sous-serveur est un processus qui appartient à et est contrôlé par un sous-système.
Le code SRC opère sur les objets de la classe d'objets SRC. Les sous-systèmes sont définis dans le code SRC en tant qu'objets de sous-système ; les sous-serveurs, en tant qu'objets de type sous-serveur. Les structures associées à chaque type d'objet sont prédéfinies dans le fichier usr/include/sys/srcobj.h .
Le code SRC peut émettre des commandes SRC sur des objets au niveau du sous-système, du sous-serveur et du groupe de sous-systèmes. Un groupe de sous-systèmes est un groupe de sous-systèmes définis par l'utilisateur. Le regroupement de sous-systèmes permet de contrôler plusieurs sous-systèmes en appelant une seule commande. Les groupes de sous-systèmes peuvent également partager une méthode de notification commune.
Le code SRC communique avec les sous-systèmes en envoyant des signaux et en échangeant des paquets de demande et de réponse. En plus des signaux, le code SRC reconnaît les sockets et les types de communication de file d'attente de messages IPC. Un certain nombre de sous-routines sont disponibles en tant qu'API SRC pour faciliter la programmation de la communication entre les sous-systèmes et le code SRC. L'API SRC prend également en charge la communication de programmation entre les programmes client et le code SRC.
Le code SRC et la commande init
Le code SRC est opérationnellement indépendant de la commande init . Toutefois, le code SRC est destiné à étendre la fonctionnalité de génération de processus fournie par cette commande. En plus de fournir un point de contrôle unique pour démarrer, arrêter, tracer, actualiser et interroger l'état des sous-systèmes, le code SRC peut contrôler les opérations des sous-systèmes individuels, prendre en charge le contrôle du système à distance et consigner les défaillances des sous-systèmes.
Sur le plan opérationnel, la seule fois où la commande initialisation et le code SRC interagissent se produit lorsque le démon srcmstr (maître SRC) est imbriqué dans le fichier inittab . Par défaut, le démon srcmstr se trouve dans le fichier inittab . Dans ce cas, la commande init démarre le démon srcmstr au démarrage du système, comme avec tous les autres processus. Vous devez disposer des droits d'utilisateur root ou être dans le groupe de systèmes pour appeler le démon srcmstr .
Génération de programmes pour interagir avec le démon srcmstr
Pour permettre aux programmes d'interagir avec le démon srcmstr , le fichier /usr/include/spc.h doit être inclus et le programme doit être compilé avec la bibliothèque libsrc.a . Cette prise en charge n'est pas nécessaire si le sous-système utilise des signaux pour communiquer avec le code SRC.
Opérations SRC
Pour utiliser la fonctionnalité SRC, un sous-système doit interagir avec le démon srcmstr de deux manières:
- Un objet de sous-système doit être créé pour le sous-système dans la classe d'objets de sous-système SRC.
- Si un sous-système utilise des signaux, il n'a pas besoin d'utiliser des sous-programmes SRC. Toutefois, s'il utilise des files d'attente de messages ou des sockets, il doit répondre aux demandes d'arrêt à l'aide des sous-programmes SRC.
Tous les sous-systèmes SRC doivent prendre en charge la commande stopsrc . Le code SRC utilise cette commande pour arrêter les sous-systèmes et leurs sous-serveurs à l'aide des signaux SIGNORM (arrêt normal), SIGFORCE (arrêt forcé) ou SIGCANCEL (annulation de systèmes).
La prise en charge du sous-système est facultative pour les commandes startsrc, lssrc -l, traceson, tracesoff et refresh, les rapports sur l'état long et l'état du sous-serveur, ainsi que le mécanisme de notification SRC.
Fonctionnalités du code SRC
Le code SRC fournit la prise en charge suivante pour le programmeur de sous-système:
- Une interface de commande commune pour prendre en charge le démarrage, l'arrêt et l'envoi de demandes à un sous-système
- Un point central de contrôle pour les sous-systèmes et les groupes de sous-systèmes
- Format commun pour les demandes adressées au sous-système
- Définition des sous-serveurs afin que chaque sous-serveur puisse être géré car il est défini de manière unique sur le sous-système
- Possibilité de définir des méthodes de notification d'erreur spécifiques au sous-système
- Possibilité de définir des réponses spécifiques au sous-système aux demandes de statut, de support de trace et d'actualisation de la configuration
- Un point de contrôle unique pour le traitement des demandes de sous-système dans un environnement de calcul réseau