Les unités de Pure Pascal (langage Pascal pour les ordinateurs de la gamme Atari ST), compatible Turbo Pascal.
Unité TOS : Exécution de programme
Exécution de programme
Les routines de ce groupe sont utilisées pour l'exécution et le contrôle des programmes, du démarrage et de la fin des programmes à la gestion et à l'influence des processus dans le système d'exploitation multitâche MinT.
(Notes du webmaster) Dans ce sommaire se trouve les fonctions et procédures de traitement de processus de type UN*X pour le système d'exploitation FreeMiNT (ex MultiTOS). Toutes les fonctions UN*X moderne (2025) ne sont pas présentes dans ces fonctions mais une majorité de celles présentes en 1995 sont présentes. Toutes ces fonctions (Hormis Pause) ont leur équivalent en langage C unix, avec quasiment la même syntaxe (il suffit de supprimer l'initiale "p" de chacune de ces fonctions ou procédures pour avoir les noms en C).
- Pterm0 (GEMDOS 0) Quitter le programme avec le code de sortie 0
- Ptermres (GEMDOS 49) Installer le programme résidant en mémoire
- Pexec (GEMDOS 75) Exécutez le programme
- Pterm (GEMDOS 76) Quitter le programme
- Pdomain (GEMDOS 281) Spécifier le comportement des appels système. Fonction MiNT et MagiC.
- Pvfork (GEMDOS 275) Créer un nouveau processus. Fonction MiNT.
- Pfork (GEMDOS 283) Créer un nouveau processus avec sa propre mémoire variable. Fonction MiNT.
- Pgetpid (GEMDOS 267) Obtenir l'identifiant du processus. Fonction MiNT et MagiC.
- Pgetppid (GEMDOS 268) Obtenir l'identifiant du processus d'origine (parent). Fonction MiNT et MagiC.
- Pgetpgrp (GEMDOS 269) Obtenir l'Identifiant de groupe REEL du processus. Fonction MiNT.
- Psetpgrp (GEMDOS 270) Définir l'ID du groupe de processus. Fonction MiNT.
- Pgetgid (GEMDOS 276) Obtenir l'ID de groupe du processus. Fonction MiNT.
- Psetgid (GEMDOS 277) Définir l'ID de groupe du processus. Fonction MiNT.
- Pgetegid (GEMDOS 313) Obtenir l'ID de groupe effectif du processus. Fonction MiNT.
- Pgetuid (GEMDOS 271) Obtenir l'ID utilisateur du processus. Fonction MiNT.
- Psetuid (GEMDOS 272) Définir l'ID utilisateur du processus. Fonction MiNT.
- Pgeteuid (GEMDOS 312) Obtenir l'ID utilisateur effectif du processus. Fonction MiNT
- Pause (GEMDOS 289) Suspendre le processus. Fonction MiNT et MagiC.
- Psignal (GEMDOS 274) Installer le gestionnaire de signal. Fonction MiNT et MagiC.
- Psigaction (GEMDOS 311) Défnit l'action par défaut pour un signal. Fonction MiNT et MagiC.
- Psigsetmask (GEMDOS 279) Bloquer les signaux. Fonction MiNT et MagiC.
- Psigblock (GEMDOS 278) Bloquer des signaux supplémentaires. Fonction MiNT et MagiC.
- Psigpause (GEMDOS 310) Bloquer les signaux et attendez. Fonction MiNT et MagiC.
- Psigpending (GEMDOS 291) Vérifier quels signaux ont été envoyés mais pas encore traités. Fonction MiNT et MagiC.
- Psigreturn (GEMDOS 282) Préparez la sortie à partir d'un signaleur. Procédure MiNT et MagiC.
- Pkill (GEMDOS 273) Envoie d'un signal à des processus. Fonction MiNT et MagiC.
- Pwait (GEMDOS 265) Essayez d'obtenir le code de sortie du processus enfant en attente ou terminé. Fonction MiNT et MagiC.
- Pwait3 (GEMDOS 284) Obtenir le code de sortie de tout enfant en attente ou terminé du processus appelant. Fonction MiNT et MagiC.
- Pwaitpid (GEMDOS 314) Obtenir des informations sur le code de sortie d'un ou plusieurs processus enfants. Fonction MiNT et MagiC.
- Pmsg (GEMDOS 293) Envoyer et recevoir des messages. Fonction MiNT.
- Psemaphore (GEMDOS 308) Crée, utilise ou détruit un sémaphore. Fonction MiNT et MagiC.
- Pnice (GEMDOS 266) Modifie la priorité du processus appelant. Fonction MiNT et MagiC.
- Prenice (GEMDOS 295) Ajuste la priorité d'un processus spécifique. Fonction MiNT et MagiC.
- Psetlimit (GEMDOS 287) Définir ou obtenir des limites d'allocation des ressources système. Fonction MiNT et MagiC.
- Prusage (GEMDOS 286) Obtenir les information de ressource du procesus en cours. Fonction MiNT.
- Pusrval (GEMDOS 280) Définir/interroger des informations de processus spécifiques. MiNT et MagiC.
- Pumask (GEMDOS 307) Définir le masque de création initial pour les fichiers et les répertoires. MiNT et MagiC.
Addentum du webmaster
-
J'ai ajouté une fiche pour chacune des fonctions/procédures suivante, qui étaient mentionnées dans la documentation HLP de Pure Pascal mais sans fiches associées : Pvfork, Pgetpid, Pgetppid, Pgetgid, Psetgid, Pgetegid, Pgetuid, Psetuid, Pgeteuid, Psigaction, Psigpending, Psigreturn, Pkill,Pwait, Pwait3, Psemaphore, Pnice, Prenice, Psetlimit, Prusage, Pusrval, Pumask.
J'ai également ajouté une fiche de existante dans Pure Pascal mais non mentionnées : Pwaitpid.
-
Ces fonctions nécessitent quasiment toutes d'utiliser le système multitâche MiNT (Système de type UN*X) ou MagiC (Pour les fonction ne gérant pas les utilisateurs ou groupes). Ce sont des fonctions de type UN*X tels qui existaient en 1995.
- A chaque création de processus, MiNT crée une nouvelle entrée dans sa table de processus. Chaque nouveau procesus créé se voit attribué un iD de processus réel (PID, unique dans la table) et un iD de groupe réel (GID qui est généralement le groupe auquel appartient le parent). De même, le système lui attribut un EPiD (Id de processus effectif) qui est le même que le PiD à la création et un EGiD (GiD effectif) qui prend la même valeur que le GID. A l'origine de chaque processus il y a un processus Leader dont le numéro d'identifiant de groupe (GiD) est le même que l'Identifiant du processus (PiD) lui-même. Pour tout système Unix, l'utilisateur 0 est l'utilisateur racine (root) et le groupe 0 est celui du root, ayant tous les droits.
- Chaque utilisateur,groupe et processus a des droits bien définis de lecture/écriture/exécution de fichiers. Un utilisateur peut lire ou pas, écrire ou pas, exécuter ou pas un quelconque fichier du système. C'est ce qui est attribué à son numéro d'identifiant utilisateur ou de groupe. Les numéro d'identifiant sont des entiers long (32 bits).
Il peut être nécessaire que l'ID utilisateur effectif (EUID) d'un processus (exemple avec le processus "passwd"). Ainsi l'EUID d'un processus peut être changé en 0 (root) avant que ne soit rétabli l'EUID initial. C'est ce que font les fonctions PSETUID et PSETGID.
- Sous systèmes Atari ST 16/32 bits (St au Falcon), les bornes d'identifications de processus vont de 0 (Système MiNT) à 65535 et ceux de groupe vont de 0 à 255.
|
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!)
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)