En informatique, sous les systèmes de type UNIX et similaires, zombie (on utilise plutôt l'orthographe anglaise) est un terme désignant un processus qui s'est achevé, mais qui dispose toujours d'un identifiant de processus (PID) et reste donc encore visible dans la table des processus. On parle aussi de processus défunt (en anglais "defunct").
Au moment de la terminaison d'un processus, le système désalloue les ressources que possède encore le processus mais ne détruit pas son bloc de contrôle. Le système passe ensuite l'état du processus à la valeur TASK_ZOMBIE (représenté généralement par un Z dans la colonne « statut » lors du listage des processus par la commande ps). Le signal SIGCHLD est alors envoyé au processus père du processus qui s'est terminé, afin de l'informer de ce changement. Dès que le processus père a obtenu le code de fin du processus achevé au moyen des appels systèmes wait ou waitpid, le processus terminé est définitivement supprimé de la table des processus.
Il existe un bug classique dans le développement de programme UNIX gérant plusieurs processus : un processus qui crée des fils, mais n'attend pas leurs valeurs de retours. Ces fils restent donc sous forme de zombies pendant (au moins) toute la durée d'exécution du processus père. Étant donné que les processus zombies ne peuvent pas être supprimés par les méthodes classiques (y compris pour les utilisateurs privilégiés), le système se retrouve alors encombré de processus achevés (« morts ») mais encore visibles. Ceux-ci ne consomment, à proprement parler, pas plus de ressources systèmes que les quelques octets de mémoire occupés par le bloc de contrôle dans la table des processus ; toutefois, le nombre de processus étant limité par le nombre possible de PID, un trop grand nombre de zombies peut empêcher le système de créer de nouveaux processus. Cette métaphore de horde de processus défunts, impossibles à tuer car déjà morts, est à l'origine du terme de « zombie ».
La seule manière d'éliminer ces processus zombies est de causer la mort du processus père, par exemple au moyen du signal SIGKILL.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
This course will allow students to engage in hands-on projects defined by themselves, in a dedicated workshop environment. Students work together in small groups on their own ideas, with access to a w
Introduction to basic concepts of operating systems.
Un processus (en anglais, process), en informatique, est un programme en cours d'exécution par un ordinateur. De façon plus précise, il peut être défini comme : un ensemble d'instructions à exécuter, pouvant être dans la mémoire morte, mais le plus souvent chargé depuis la mémoire de masse vers la mémoire vive ; un espace d'adressage en mémoire vive pour stocker la pile, les données de travail ; des ressources permettant des entrées-sorties de données, comme des ports réseau.
On many computer operating systems, a computer process terminates its execution by making an exit system call. More generally, an exit in a multithreading environment means that a thread of execution has stopped running. For resource management, the operating system reclaims resources (memory, , etc.) that were used by the process. The process is said to be a dead process after it terminates. Under Unix and Unix-like operating systems, a process is started when its parent process executes a fork system call.
In computer operating systems, a process (or task) may wait for another process to complete its execution. In most systems, a parent process can create an independently executing child process. The parent process may then issue a wait system call, which suspends the execution of the parent process while the child executes. When the child process terminates, it returns an exit status to the operating system, which is then returned to the waiting parent process. The parent process then resumes execution.
Couvre les bases des processus dans les systèmes d'exploitation, y compris la création, la mise en page de la mémoire, les transitions d'état, la virtualisation, les API et l'exécution de programmes.
Explore l'exécution des processus, la protection et les mécanismes d'exploitation efficaces pour des environnements multi-programmes sécurisés et fiables.
Explore les principes 2PC, les scénarios d'échec et les stratégies de réplication dans les transactions distribuées et discute de la transition des propriétés ACID vers BASE dans les systèmes NoSQL.
Informed by longstanding artistic practice, this doctoral thesis approaches entanglements of Swiss coloniality in Brazil and Switzerland under the lens of land, archive, and visuality. The enduring legacies of imperial capitalism in the former Colonia Leop ...
Design exploration is a creative process that consists of the incremental generation of design candidates. Supported by digital means or not, the process handles the ill-structured nature of design and allows creativity to flourish through diversity of des ...
EPFL2022
Between 1671 and 1716, the German mathematician Gottfried Wilhelm Leibniz attempted to design a reckoning machine. Working closely with the Parisian clockmaker Monsieur Ollivier, Leibniz eventually failed at producing a working prototype. After the redisco ...