Brevet FR2618578A1 — publié le 19890127

SYSTEME INFORMATIQUE MODULAIRE EMBARQUE A MEMOIRE VIRTUELLE INTEGREE La présente invention a pour objet un système informatique modulaire embarqué comprenant au moins un bus global, un module d'unité centrale, un moduLe mémoire et un module d'entrée-sortie. Les équipements militaires embarqués comprennent des systèmes informatiques destinés le plus souvent à des applications de type temps réel, telles que la conduite d'armes, qui imposent de courts délais de réactionaux évènements externes mais sont en général suffisamment déterministes pour ne pas nécessiter de mécanismes complexes d'allocation dynamique de mémoire. Toutefois, actuellement les exigences en capacité de mémorisation croissent rapidement, non pas tellement pour les programmes de traitement, mais surtout pour les données traitées bases de données tactiques, images numérisées ou synthétiques. Si ces données sont structurables en blocs de taille suffisamment faible pour résider individuellement en mémoire, une organisation classique par fichiers demeure appropriée. Ce n'est plus le cas si les données ne sont pas structurables a priori, par exemple lorsque le critère statistique de localisation des accès successifs ne peut etre respecté. Par ailleurs, les applications informatiques militaires n'exigent pas toujours de façon systématique un délai d'accès court ou déterministe Il est donc souhaitable de pouvoir disposer d'une mémoire de très grande capacité apparente capable d'être intégrée dans un système modulaire de type processeur à usage militaire sans imposer de contrainte fonctionnelle aux architectures matérielles et logicielles des machines existantes. On a déjà proposé d'implanter sur des ordinateurs ou des micro-processeurs des unités de gestion de mémoire qui, grâce au principe de la segmentation, permettent La réalisation de systèmes à multiprogrammation et, grâce au mécanisme de La pagination, permettent en outre d'offrir une capacité d'adressage individuelle très grande à chaque processus. L'utilisation de telles techniques est cependant cantonnée dans le domaine des applications en temps réel, car les contraintes en termes de temps de réponse sont importantes. Or, pour de nombreuses applications en temps réel, il convient de manipuler des volumes importants de données et les contraintes temporelles, bien que non négligeables, permettent de tolérer un très léger accroissement du temps d'accès à la mémoire centrale. La présente invention vise précisément à prendre en compte ces applications et à permettre de fournir à un processeur, notamment un processeur d'équipement militaire embarqué, un espace d'adressage important, supérieur aux tailles de mémoire vive actuellement disponibles, sans que le temps d'accès à La mémoire soit augmenté de façon significative. Ces buts sont atteints grâce à un système informatique moduLaire embarqué comprenant au moins un bus global, un module d'unité centrale, un module mémoire et un module d'entrée-sortie, caractérisé en ce que le module mémoire est constitué par une mémoire virtuelle intégrée comprenant une mémoire primaire constituée par un bloc de mémoire RAM ayant une capacité de l'ordre de quelques mégaoctets, une mémoire secondaire constituée par une mémoire de masse ayant une capacité de plusieurs centaines de mégaoctets, et une unité de gestion mémoire regroupant un dispositif de traduction d'adresse et un dispositif de gestion de transferts entre la mémoire primaire et la mémoire secondaire, en ce que la mémoire secondaire est divisée en pages de taille fixe qui constituent l'unité d'accès à cette mémoire et se trouve structurée de façon linéaire, en ce que la mémoire primaire est adaptée pour contenir la copie d'un sous-ensemble limité des pages de la mémoire secondaire, en ce que le dispositif de traduction d'adresse comprend un ensemble de mémoires statiques constituant une table descriptive comprenant un nombre de descripteurs de pages égal au nombre de pages de la mémoire secondaire et en ce que le dispositif de gestion de transferts entre la mémoire primaire et la mémoire secondaire comprend un ensemble de mémoires statiques constituant une table descriptive annexe comprenant un nombre de descripteurs de pages égal au nombre de pages de la mémoire primaire. La table descriptive comprend pour chaque descripteur correspondant à une page un espace de stockage pour fournir L'indication d'un numéro de page physique dans le cas où la page corr#espondante est effectivement présente en mémoire primaire, et un espace de stockage pour contenir des indications de protection associées à la page correspondante. La table descriptive annexe comprend pour chaque descripteur correspondant à une page un espace de stockage constituant un pointeur pour permettre de retrouver directement le numéro de page mémoire secondaire et un espace de stockage pour contenir des indications relatives à la fonction des pages de mémoire primaire telles que des indications de modification ou de date du dernier accès à la page correspondante. La mémoire virtuelle intégrée comprend en outre un dispositif matériel de communication avec l'unité centrale comprenant une pile FIFO matériel à double sens, des interruptions associées à la pile FIFO et un système de signalisation d'erreur de bus. L'invention est applicable à un système d'exploitation à adressage linéaire, dans Lequel les processus sont implantés à une adresse physique immuable ou à un système d'exploitation à multiprogrammation dans lequel les adresses générées par l'unité centrale sont des adresses logiques, les processus présentant des espaces Linéaires d'adressage qui se recoupent. Dans ce dernier cas, le dispositif de gestion de transferts entre la mémoire primaire et la mémoire secondaire comprend une table descriptive de processus contenant pour chaque processus un espace de stockage pour fournir une indication de la taille du processus et un espace de stockage pour fournir une indication de L'adresse d'implantation en mémoire secondaire. D'autres caractéristiques et avantages de L'invention ressortiront de la description suivante de modes particuliers de réalisation donnés à titre d'exemple, en référence aux dessins annexés, sur lesquels - la figure 1 représente le schéma fonctionnel général d'un système informatique mettant en oeuvre l'invention ; - la figure 2 représente le schéma d'un mécanisme possible de traduction d'adresse ; - la figure 3 représente un schéma illustrant L'adressage logique d'une mémoire virtuelle intégrée dans le cas d'un espace d'adressage de processeur utilisant des adresses logiques ; - la figure 4 représente le schéma fonctionnel complet d'une unité de gestion mémoire d'une mémoire virtuelle intégrée conforme à l'invention, applicable au cas d'un adressage logique selon la figure 3 ; et - la figure 5 représente le schéma synoptique d'ensemble d'un système informatique à mémoire virtuelle intégrée réalisé selon l'invention. La figure 1 montre un système informatique prévu pour être embarqué sur un engin militaire, architecturé autour d'un bus global 10 et comportant un module d'unité centrale 20, un module mémoire 30 et un module d'entrée-sortie 50. Conformément à L'invention, le module mémoire 30 est réalisé sous la forme d'une mémoire virtuelle intégrée qui peut présenter une capacité allant jusqu a plusieurs centaines de mégaoctets. Le système informatique présente ainsi une capacité réelle de mémoire à accès direct très supérieure à la taille des mémoires vives actuellement disponibles, qui ne dépasse pas quelques mégaoctets. Le module 30 de mémoire virtuelle intégrée (ci-après désignée par MVI) utilise de façon spécifique des techniques connues de pagination pour gérer l'ensemble de la mémoire et comprend des ensembles fonctionnels 31 à 34 qui seront énumérés ci-après. Une mémoire primaire 31 est constituée par un bloc de mémoire vive RAM, dont la capacité typique peut être par exemple de 2 mégaoctets. Une mémoire secondaire 32 qui définit la capacité totale du module mémoire 30 est constituée par une unité de rangement périphérique de grande capacité, telle qu'un disque magnétique, et peut présenter une capacité par exemple de 256 mégaoctets. Les mémoires primaire 31 et secondaire 32 sont divisées en pages de taille fixe, la page constituant l'unité d'accès à la mémoire secondaire 32. La mémoire primaire 31 contient la copie d'un sous-ensemble des pages de la mémoire secondaire 32. Lors d'un accès à une mémoire 30 de type MVI, deux cas peuvent se présenter : - la page qui contient la case mémoire qui est adressée par le processeur 20 est présente en mémoire primaire 31 : la donnée est alors disponible ; - la page qui contient la case mémoire qui est adressée par le processeur n'est pas présente en mémoire primaire 31 : la page concernée doit alors être transférée de la mémoire secondaire 32 à la mémoire primaire 31. La mémoire 30 doit ainsi comprendre une unité de gestion mémoire qui regroupe un dispositif 34 de- gestion des transferts entre la mémoire primaire 31 et la mémoire secondaire 32 et un dispositif 33 de traduction d'adresse. La mémoire secondaire 32 est structurée de façon linéaire de sorte que la correspondance entre L'adresse 110 (Fig. 2) d'une donnée émise par le processeur 20 et l'adresse de cette même donnée en mémoire secondaire 32 soit immédiate. Ainsi, l'adresse 110 est constituée par un mot dont une partie fixe 111 contient le numéro de page et une partie fixe 112 constitue le déplacement. Le processeur 20 accède aux données par l'intermédiaire de La mémoire primaire 31 qui contient la copie d'un sous-ensemble limité des pages de la mémoire secondaire 32. La gestion de la mémoire primaire 31 implique l'existence d'une table de descripteurs qui permet d'obtenir L'adresse d'une page en mémoire primaire 31, à partir de l'adresse générée par le processeur 20. L'unité de gestion mémoire doit permettre : - de déterminer la page à laquelle appartient la donnée référencée, - de déterminer si la page en question est présente en mémoire primaire 31, - d'effectuer la traduction d'adresse dans le cas où la page est présente en mémoire primaire 31. Pour faciliter la compréhension de l'invention, on décrira d'abord, en référence à la figure 2, une architecture idéale pour une unité de gestion mémoire, laquelle architecture présente toutefois des difficultés pratiques de mise en oeuvre dans l'application envisagée. Selon la solution de la figure 2, on utilise un ensemble 72 de registres descripteurs 120 en nombre égal au nombre de pages de la mémoire primaire 31. Chaque registre descripteur 120 contient dans une première partie 121 le numéro N de la page considérée et dans une seconde partie 122 un ensemble d'éléments binaires pour la gestion de la page (protection, indicateur de modification,....). Avec un tel ensemble 72 de registres descripteurs 120, le mécanisme de traduction d'adresse peut être très simple. Le numéro de page N peut en effet être déduit par troncature à partir de l'adresse 110 générée par le processeur, en supprimant la partie 112 correspondant au déplacement. Une recherche associative peut alors être effectuée dans L'ensemble 72 des registres descripteurs 120 entre les informations des parties 112 et 121. Lorsqu'il y a correspondance, le numéro i figurant dans la seconde partie 122 du registre descripteur 120 fournit le numéro de page de mémoire primaire. L'adresse 130 de mémoire primaire peut alors être obtenue en concaténant le numéro i qui figurera alors dans la partie d'adresse 131 avec le déplacement de la partie 112 qui constituera la seconde partie 132 de l'adresse 130. Un inconvénient de L'architecture idéale de la figure 2 réside toutefois dans le fait qu'il est difficile de réaliser avec un encombrement et un coût limités une mémoire associative présentant une taille suffisante pour la présente application. En effet, chaque mot de la mémoire associative contient un descripteur. Si la mémoire primaire 31 contient 2 mégaoctets découpés en pages de 4K, il faut que la mémoire associative comprenne 512 mots ayant une longueur d'une quarantaine de bits dont une vingtaine pour le numéro de page logique qui sert de clé d'accès associatif. La réalisation d'une mémoire associative d'une telle capacité reste complexe et diminue donc l'intérêt de l'architecture idéale de la figure 2. C'est pourquoi, selon un mode de réalisation de la présente invention, on n'associe pas de façon bi-u#ivoque une position mémoire de descripteur à une page physique et on n'utilise pas de mémoire vive pour les descripteurs. Le schéma d'une unité de gestion mémoire selon l'invention est représentée sur la figure 4. Une table 63 de descripteurs de page est constituée par des mémoires statiques et comporte autant de descripteurs de page 330 que de pages en mémoire secondaire 32. Ainsi pour des pages de 4K et une mémoire secondaire 32 de 256 mégaoctets, la table 63 comporte 64K descripteurs. La traduction d'adresses consiste alors simplement à remplacer la partie 111 de l'adresse processeur 110 contenant le numéro de page N par Le numéro de page physique N' contenu dans la partie 331 du descripteur de page 330, dans Le cas où la page N est effectivement présente en mémoire primaire 31 dans une position N'. La partie 332 du descripteur 330 appelée 11prote contient les indicateurs de protection associés à la page. Selon L'invention, une table annexe 64 de descripteurs de page en mémoire primaire est constituée par des mémoires statiques et comporte autant de descripteurs de page 340 que de pages en mémoire primaire. Ainsi, pour des pages de 4K et une mémoire primaire 31, de L'ordre de 2 mégaoctets t2048 K), la table 64 comporte 512 descripteurs. La table 64 n'est pas utilisée pour la traduction d'adresse, mais chaque descripteur 340 comprend une partie 342 dite "serv" qui est mise#à jour à chaque accès à la page et contient les indicateurs nécessaires à la fonction des pages de mémoire primaire : indicateur de modification, temps de présence de la page en mémoire primaire (date du dernier accès). Chaque descripteur 340 comprend une autre partie 341 dite "pointeur descripteur" qui permet de retrouver directement Le numéro de page secondaire. La mise en oeuvre d'une table annexe 64 de descripteurs de page en mémoire primaire est avantageuse dans la mesure où elle évité l'implémentation des information "serv" dans les descripteurs de page de la table 63 qui ne serait pas satisfaisante car elle conduirait à une perte de place du fait que les informations "serv" ne sont utiles que pour les pages présentes en mémoire primaire. Par ailleurs, une optimisation de La gestion des pages de mémoire primaire nécessite le balayage fréquent des descripteurs associés pour anticipation de chargement ou de vidage en mémoire secondaire, par exemple. Or ceci n'est pas envisageable sur une table de grande capacité telle que la table 63. Ainsi, la mise en oeuvre à la fois d'une grande table 63 de descripteurs de page et d'une table annexe 64 de taille réduite, comportant exclusivement des descripteurs de mémoire primaire, permet d'optimiser la gestion de la mémoire virtuelle intégrée. On notera qu'un système informatique à mémoire virtuelle intégrée se distingue d'une unité de gestion de mémoire paginée classique par plusieurs aspects. Ainsi, le concepteur d'une unité de gestion de mémoire paginée classique associée à un processeur n'a aucune connaissance a priori de la taille de la mémoire primaire qui sera utilisée dans les applications de cette unité de gestion mémoire. La réalisation matérielle est donc très complexe. Au contraire, le concepteur d'un module MVI conforme å L'invention définit lui-même la capacité de la mémoire primaire du module. Il peut alors mettre en oeuvre des techniques simplificatives ou accélératrices #optimisées pour cette capacité, notamment par l'utilisation de tables adressée par le numéro de page physique. La réalisation matérielle est ainsi grandement simplifiée. Selon L'invention, la présence en mémoire de traduction d'adresse (table 63) de la totalité des descripteurs de page de la mémoire secondaire évite la gestion, pénible et lente, des défauts de descripteurs, qui est inévitable avec des unités de gestion mémoire classiques dont la table de traduction n'abrite qu'un petit nombre de descripteurs. La mémoire de type MVI selon L'invention est par construction une mémoire non volatile, ce qui n'est pas le cas des unités de gestion mémoire paginées. L'intégration de la gestion de la mémoire secondaire 32 au sein de la mémoire virtuelle intégrée n'entraîne que des modifications très minimes et faciles dans le système d'exploitation et constitue un facteur important pour l'amelio- ration des performances. Ainsi, la structure linéaire de la mémoire secondaire 32 évite les erreurs de direction d'adresse lors du transfert d'une page de mémoire primaire vers la mémoire secondaire. De plus, la séparation physique de la mémoire secondaire par rapport au système de gestion de fichiers évite la traversée de couches du logiciel ainsi que les interférences avec ce dernier et rend les transferts de page très rapides. Selon l'invention, les mécanismes de gestion de mémoire virtuelle sont de type Local et quasi transparents pour le système d'exploitation du processeur central. Il suffit que ce dernier soit en mesure d'attendre le temps de chargement d'une page si celle-ci n'est pas en mémoire primaire. L'accès multiprocesseur à une mémoire paginée pose de nombreux problèmes dans les architectures classiques où le dispositif de gestion de mémoire se trouve sur le module processeur lui-même. Ces problèmes concernent en particulier la cohérence entre les processeurs des tables de descripteurs de pages et la gestion de la pagination, c'est-à-dire des transferts entre mémoires primaire et secondaire. Au contraire, l'intégration de L'ensemble des mécanismes dans un seul module résout par principe le problème des accès multiprocesseurs. Dans la description précédente, on a essentiellement pris en compte le cas d'un espace d'adressage du processeur qui est linéaire et de très grande capacité. Il s'agit alors de modes# d'adressage physique dans lesquels les processus ou tâches sont implantés à une adresse physique immuable. Les contraintes liées å la multiprogrammation, qui existent dans les systèmes d'exploitation de type UNIX par exemple, peuvent toutefois être facilement prises en compte dans une mémoire virtuelle intégrée selon l'invention. Dans les systèmes à multiprogrammation, les adresses générées par le processeur sont des adresses logiques, chaque processus ou tache ayant un domaine d'adressage possible identique. La distinction entre des adresses identiques de processus différents est faite par le numéro de processus attribué par le système lors de sa création. Comme on peut le voir sur la figure 3, l'espace total 11 d'adressage du processeur n'est pas constitué par un seul espace linéaire dont la dimension correspond à celui de la mémoire secondaire 32, mais par un ensemble de plusieurs espaces Linéaires qui correspondent aux différents processus et se recouvrent, la réunion des divers espaces linéaires correspondant à la taille de La mémoire secondaire. Dans ce cas, le mécanisme de traduction d'adresse doit permettre la correspondance entre un ensemble constitué par une adresse logique du processeur et un numéro de processus, une adresse de page de mémoire primaire et une adresse de page de mémoire secondaire. Chaque processus P1, P2,... est stocké de façon linéaire dans la mémoire secondaire 32. Afin d'optimiser l'encombrement de chaque processus en mémoire, on n'effectue pas une correspondance directe entre L'ensemble numéro de processus et adresse logique d'une part et L'adresse de page de mémoire secondaire d'autre part. Ceci imposerait en effet une taille maximum égale pour chaque processus et donc une perte de place en mémoire secondaire. On crée en revanche une table descriptive de processus contenant pour chaque processus ta taille et l'adresse d'implantation en mémoire secondaire. Cette table n'intervient pas dans la traduction d'adresse processeur en adresse mémoire primaire, mais seulement lors des transferts de page entre mémoire primaire et mémoire secondaire. Dans le cas d'une multiprogrammation, l'unité de gestion mémoire prend en compte le numéro de processus courant (initialisé à chaque commutation de processus par le processeur central 20) pour effectuer la traduction d'adresse selon le schéma de la figure 4. C'est pourquoi on a représenté sur la figure 4 deux registres 35, 36 définissant L'implantation des descripteurs du processus couvrant une table de traduction : un registre 36 de "base" qui pointe sur le premier descripteur et un registre 35 "de taille qui définit le nombre de pages logiques du processus. Il existe une contrainte sur la taille des espaces adressables par les processus : leur somme doit être inférieure ou égale à la taille de la mémoire secondaire 32. Pour tenir compte de cela, le registre de taille 35 est associé à un dispositif logique de protection contre les risques de débordement. De cette manière, un processus qui tenterait d'accéder à une adresse logique au-delà de la zone qui Lui est allouée, donc à un descripteur ne lui appartenant pas, sera automatiquement refoulé par une information "d'erreur bus" complétée d'un bit d'identification dans le registre d'état de la mémoire virtuelle intégrée. On notera que le cas d'un adressage Linéaire constitue simplement un cas particulier mettant en oeuvre un processus unique ayant une taille correspondant à celle de la mémoire secondaire. Ce cas particulier est donc bien pris en compte par le schéma de la figure 4. Par ailleurs, La table auxiliaire 64 adressable par numéro de page physique permet de gérer le partage de pages entre plusieurs processus et contient tous les indicateurs nécessaires à la fonction des pages de mémoire primaire, comme indiqué précédemment. La figure 5 représente le schéma synoptique du système informatique à mémoire virtuelle intégrée décrit ci-dessus. Hormis l'unité de gestion mémoire 42 et la mémoire double accès jouant le rôle de mémoire primaire 31, l'architecture de la MVI est analogue à celle d'un micro-ordinateur monocarte et comprend un microprocesseur 44 et une mémoire privée 46 reliés à un bus interne 49 de La MVI. De façon optionnelle, la MVI peut comprendre un moniteur de mise au point 45, résident en EPROM, associé à un coupleur série asynchrone 47 permettant la connexion d'un terminal de dialogue. La mémoire de masse constituant la mémoire secondaire 32 est reliée par un bus 52 à un coupleur 48 de type SCSI qui est relié au bus interne 49. L'ensemble de la mémoire virtuelle-intégrée 30 est relié par une interface 41 à un bus local 10 de liaison avec une unité centrale 20. La mémoire primaire 31 est reliée directement à l'interface 41, ce qui permet notamment un téléchargement de programme. Outre les liaisons de contrôle et de commande logique entre l'interface 41 et l'unité de gestion mémoire 42, un bus 51 assure une liaison entre l'interface 41 et un module 43 de communication de la MVI avec l'unité centrale 20. La mémoire virtuelle intégrée 30 est en effet parfaitement "transparente" à L'utilisation, mais nécessite un minimum de communication avec le système central notamment pour le compte rendu des tests à la mise sous tension, la communication d'un événement "page présente" après un défaut de page, le compte rendu des erreurs d'adressage (en cas de débordement, protection), l'initialisation de L'espace d'adressage processus (dans une utilisation en mode adresses logiques). Le module 43 de communication comprend essentiellement des moyens matériels constitués par une pile FIFO matériel à double sens, des interruptions associées à la pile FIFO et des moyens de signalisation d'une erreur de bus. La génération d'une erreur de bus a lieu lors de chaque échec de traduction d'une adresse processeur en adresse mémoire primaire. Un compte rendu est alors déposé dans un registre dédié avec affectation automatique d'un numéro de défaut s'il s'agit d'un défaut de page. Lorsqu'à la suite d'un défaut de page, la page est chargée en mémoire primaire 31, le module 43 prévient le système central 20 par l'intermédiaire de la pile FIFO avec référence au numéro de défaut donné précédemment. Le système central 20 peut alors redémarrer la tâche ayant provoqué le défaut de page. REVENDICATIONS 1. Système informatique modulaire embarqué comprenant au moins un bus global (10), un module d'unité centrale (20), un module mémoire (30) et un module d'entrée-sortie (50), caractérisé en ce que le module mémoire (30) est constitué par une mémoire virtuelle intégrée comprenant une mémoire primaire (31) constituée par un bloc de mémoire RAM ayant une capacité de l'ordre de quelques mégaoctets, une mémoire secondaire (32) constituée par une mémoire de masse ayant une capacité de plusieurs centaines de mégaoctets, et une unité de gestion mémoire (42) regroupant un dispositif (33) de traduction d'adresse et un dispositif (34) de gestion de transferts entre la mémoire primaire et la mémoire secondaire, en ce que la mémoire secondaire (32) est divisée en pages de taille fixe qui constituent L'unité d'accès à cette mémoire et se trouve structurée de façon linéaire, en ce que la mémoire primaire (31) est adaptée pour contenir la copie d'un sous-ensemble limité des pages de la mémoire secondaire, en ce que Le dispositif (33) de traduction d'adresse comprend un ensemble de mémoires statiques constituant une table descriptive (63) comprenant un nombre de descripteurs de pages (330) égal au nombre de pages de La mémoire secondaire (32) et en ce que le dispositif (34) de gestion de transferts entre la mémoire primaire et la mémoire secondaire comprend un ensemble de mémoires statiques constituant une table descriptive annexe (64) comprenant un nombre de descripteurs de pages (340) égal au nombre de pages de la mémoire primaire (31). 2. Système selon la revendication 1, caractérisé en ce que la table descriptive (63) comprend pour chaque descripteur (330) correspondant à une page un espace de stockage (331) pour fournir L'indication d'un numéro de page physique dans le cas où la page correspondante est effectivement présente en mémoire primaire, et un espace de stockage (332) pour contenir des indications de protection associées à la page correspondante. 3. Système selon la revendication 1, caractérisé en ce que la table descriptive annexe (64) comprend pour chaque descripteur (340) correspondant à une page un espace de stockage (341) constituant un pointeur pour permettre de retrouver directement le numéro de page mémoire secondaire et un espace de stockage (342) pour contenir des indications relatives à la fonction des pages de mémoire primaire telles que des indications de modification ou de date du dernier accès à la page correspondante. 4. Système selon L'une quelconque des revendications 1 à 3, caractérisé en ce que la mémoire virtuelle intégrée comprend en outre un dispositif matériel (43) de communication avec l'unité centrale (20) comprenant une pile FIFO matériel à double sens, des interruptions associées à la pile FIFO et un système de signalisation d'erreur de bus. 5. Système selon L'une quelconque des revendications 1 à 4, caractérisé en ce qu il est appliqué à un système d'exploitation à adressage linéaire, dans lequel les processus sont implantés à une adresse physique immuable. 6. Système selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu il est appliqué à un système d'exploitation à multiprogrammation dans lequel les adresses générées par l'unité centrale sont des adresses logiques, les processus présentant des espaces linéaires d'adressage qui se recoupent. 7. Système selon la revendication 6, caractérisé en ce que le dispositif (34) de gestion de transferts entre la mémoire primaire et la mémoire secondaire comprend une table descriptive de processus contenant pour chaque processus un espace de stockage pour fournir une indication de la taille du processus et un espace de stockage pour fournir une indication de l'adresse d'implantation en mémoire secondaire. 8. Système selon la revendication 6 ou la revendication 7, caractérisé en ce que l'unité de gestion mémoire comprend en outre un registre de base (36) pour la prise en compte du numéro de processus courant et un registre de taille (35) qui définit le nombre de pages logiques du processus courant. 9. Système selon la revendication 8, caractérisé en ce qu'un dispositif logique de protection contre les risques de débordement à une adresse logique au-delà de la zone allouée est associé au registre de taille (35).