Communication interprocessus (IPC)

La communication interprocessus (IPC) est un ensemble de constructions de langage de programmation ou d'appels de bibliothèque qui permettent à un programme informatique de communiquer avec un autre programme ou processus.

Les mécanismes IPC peuvent être divisés en deux catégories :

1. Mémoire partagée
2. Passage de messages

L'IPC à mémoire partagée implique que tous les processus partagent une région commune de la mémoire. La forme la plus courante d'IPC à mémoire partagée est la bibliothèque partagée, où chaque processus charge une bibliothèque commune dans son espace d'adressage. Les routines de la bibliothèque fournissent le mécanisme permettant aux processus de communiquer entre eux en lisant et en écrivant des données dans la région partagée.
L'IPC par passage de messages implique l'échange de messages entre les processus. La forme la plus courante d'IPC avec passage de messages est la file d'attente de messages, où les processus peuvent échanger des messages en les envoyant à une file d'attente commune. D'autres formes d'IPC avec passage de messages sont les pipes et les sockets.

Quelles sont les 4 conditions d'un blocage ?

Les quatre conditions qui doivent être réunies pour qu'une impasse se produise sont les suivantes :

1. exclusion mutuelle : Il doit y avoir au moins une ressource qui ne peut être accédée que par un seul processus à la fois.

2. maintien et attente : Un processus doit détenir une ressource tout en attendant d'en acquérir une autre.

3. pas de préemption : Un processus ne peut pas être préempté, ou forcé de libérer une ressource.

4. attente circulaire : il doit y avoir une chaîne circulaire de processus, chacun détenant une ressource et attendant d'acquérir une autre ressource détenue par le processus suivant dans la chaîne.

Combien de types d'IPC existe-t-il ?

Il existe quatre types de mécanismes de communication interprocessus (IPC) dans les systèmes d'exploitation :

1) Mémoire partagée
2) Passage de messages
3) Sémaphores
4) Pipes

Comment fonctionne RPC ?

RPC, ou Remote Procedure Call, est un mécanisme qui permet à un processus sur un ordinateur d'exécuter une procédure sur un autre ordinateur. Pour ce faire, le client RPC adresse une requête au serveur RPC, qui exécute alors la procédure demandée et renvoie les résultats au client.

RPC est souvent utilisé dans les systèmes distribués, où il peut être utilisé pour faciliter l'appel de procédures situées sur des serveurs distants. RPC peut également être utilisé pour appeler des procédures sur le même ordinateur, ce qui peut être utile par exemple pour appeler des procédures dans un processus ou un thread différent.

Il existe de nombreuses implémentations différentes de RPC, mais elles fonctionnent toutes de manière similaire. Pour utiliser RPC, le client et le serveur doivent d'abord convenir d'un protocole, qui définit la manière dont les demandes et les réponses RPC seront formatées. Une fois le protocole convenu, le client peut envoyer des demandes RPC au serveur, qui les exécutera ensuite.

RPC est un outil puissant qui peut être utilisé pour construire des systèmes distribués. Cependant, il est important d'être conscient des risques de sécurité potentiels associés à l'utilisation de RPC, car il peut être utilisé pour attaquer des systèmes s'il n'est pas correctement sécurisé.

Combien de types de mécanisme IPC connaissez-vous ?

Il existe quatre principaux types de mécanismes IPC :

1. Mémoire partagée
2. Passage de messages
3. sémaphores
4. pipes

Quels sont les types de deadlock ?

Il existe quatre types de blocages :

1. Blocage des ressources

2. Livelock

3. Lockout

4. Starvation