Accueil        Lexique        UNITéS        Algorithmes        Tutoriel   

Les unités de Pure Pascal (langage Pascal pour les ordinateurs de la gamme Atari ST), compatible Turbo Pascal.

Unité TOS : Fonction Psetlimit

Cette page a été ajoutée au document HLP Atari d'Origine, car manquante

Fonction Gemdos 287

Déclaration

function Psetlimit( lim : Integer; value : LongInt ): LongInt;

Description

La fonction Psetlimit permet de définir ou d'obtenir des limites d'allocation de ressources pour le processus en cours. Le paramètre lim détermine le type de ressource souhaité :
limSignification
1 Temps CPU maximal du processus (millisecondes)
2Mémoire totale maximale autorisée pour le processus (en octets)
3Mémoire maximale allouable pour le processus (en octets)
La différence entre 2 et 3 réside dans le fait que la mémoire totale inclut également les segments TEXT, DATA et BSS du processus.

Cette fonction permet de définir les limites d'allocation de ressources pour le processus en cours et individuellement pour tous les processus enfants créés ultérieurement. Ainsi, si un processus définit une limite CPU et crée ensuite plusieurs processus enfants, cette limite s'applique également à chaque processus enfant individuellement, et non à tous les processus enfants ensemble.

Le paramètre value détermine la valeur maximale autorisée pour une ressource. Une valeur de 0 signifie que la ressource est illimitée. Une valeur négative renvoie la valeur actuelle, la laissant inchangée.

Remarque : Il n'y a aucune restriction quant à l'augmentation des limites. Chaque processus peut modifier ses limites, voire les définir comme illimitées.

Les limites d'allocation mémoire ne s'appliquent pas à Pexec. Si, par exemple, un processus est limité à 256 Ko, il peut néanmoins utiliser Pexec pour lancer un processus enfant utilisant davantage de mémoire. Attention : ceci ne s'applique pas à MagiC ; ici, les limites de mémoire sont héritées de Pexec !

Les limitations de mémoire ne sont pas valables rétrospectivement. Si, par exemple, un processus possède 256 Ko et appelle ensuite Psetlimit pour réduire ses besoins à 128 Ko, il ne peut alors plus allouer de mémoire tant que sa taille ne descend pas sous les 128 Ko spécifiés.

Les limitations de temps CPU, en revanche, agissent rétroactivement. Si un processus réduit son temps CPU en dessous de la valeur précédemment valide, il recevra immédiatement un signal SIGXCPU.

Avertissement : Les numéros de fonction non valides et ceux qui ne sont pas pris en charge par MagiC renvoient -32 (EINVFN).

Remarque concernant MagiC : Si un programme a été modifié avec l'utilitaire LIMITMEM, ce paramètre est prioritaire sur la limite de mémoire du processus appelant. Psetlimit est pris en charge par le mode shel_write étendu ; de ce fait, les applications à mémoire limitée peuvent également être démarrées en parallèle.

Résultat

La fonction renvoie l'ancienne valeur limite.

Remarque : Cette fonction est uniquement disponible sous le< système d'exploitation multitâche MinT (à partir de 1.04) et MagiC (à partir de 4.0)

Références croisées Prusage signal


Vous trouverez dans cette zone la liste de toutes les Unités (équivalent des "Librairies" en C) de Pure Pascal. Les Unités indiqués comme standards existent dans la majorité des compilateurs Pascal existant sur ordinateurs 16 bits et au dela (dont Turbo Pascal 3 mini). Les unités indiqués comme Atari sont spécifiques aux systèmes d'exploitation des Atari ST (TOS n.n).

Accès aux unités

Les menus déroulants de chaque unité sont des accès directs aux procédures et fonctions, classés alphabétiquement (sans tenir compte de la casse, puisque le langage Pascal ne tient pas compte de la casse!)
CRT (Standard)

DOS (Standard)

GEM : AES (Atari)

GEM : VDI (Atari)

Graph (Standard)

Overlay (Standard)

Printer Strings (Standard)

System (Standard)

TOS : BIOS (Atari)

TOS : GEMDOS (Atari)

TOS : XBIOS (Atari)

Cette page Unités est issu du fichier UNIT.HLP de la documentation de Pure Pascal (d'Application Systems Heidelberg), qui a été convertie en format TXT puis traduite de l'Allemand grâce à Google Translator : des milliers de copier/coller de et vers Google translator ont été nécessaires, ne connaissant pas un mot d'Allemand!

Les unités CRT, DOS, Graph, Overlay, Printer et System sont standard à TOUS les compilateurs Pascal compatible avec Turbo Pascal 5. L'unité String a été introduit avec Turbo Pascal 7 (Et Pure Pascal 1.1) et permet de manipuler les chaines de caractères de type langage C. Les Unités GEM (VDI et AES) et TOS (BIOS, GEMDOS et XBIOS) sont spécifiques au système Atari ST et contiennent parfois des fonctions équivalentes à certaines fonctions des Unités générales (notamment BIOS). Les fonction XBIOS sont des fonctions permettant de tirer pleinement partie du matériel spécifique Atari, notamment Falcon (Audio, DSP, Blitter, Résolutions étendues etc)


Copyright © 2021 par Albatros Concept (Bruno Aubin)