Fiche technique | |
---|---|
Auteur : | IBM |
Date de publication : | 1987 à 1990 |
Catégorie : | Micrologiciel |
Sommaire
La partie ABIOS du PS/2 BIOS ROM fournit des micro-ordinateurs PS/2 de l'entreprise IBM et compatibles avec une compatibilité ascendante avec les systèmes d'exploitation multitâche, bimodaux (mode réel, mode protégé ou les deux), tels que le système d'exploitation OS/2 de l'entreprise IBM. L'ABIOS prend en charge les mêmes périphériques matériels que le CBIOS, mais son interface et ses structures de données sont spécifiquement conçues pour faciliter la nature multitâche et bimodale de sa conception.
L'ABIOS occupe 64 Ko des 128 Ko du BIOS du micro-ordinateur PS/2. L'ABIOS prend en charge 16 types de périphériques physiques. Il existe un service de périphérique ABIOS pour chaque périphérique physique.
Périphériques pris en charge par le ABIOS
Le tableau suivant répertorie les périphériques physiques pris en charge par les identificateurs (appelé ID en anglais) de périphérique ABIOS et le ABIOS leur étant attribués :
Identificateur de périphérique | Description |
---|---|
0000h | Cet identificateur de périphérique permet d'indiquer les appels internes au ABIOS. |
0001h | Cet identificateur de périphérique permet d'indiquer l'unité de disquette. |
0002h | Cet identificateur de périphérique permet d'indiquer l'unité de disque dur. |
0003h | Cet identificateur de périphérique permet d'indiquer la vidéo. |
0004h | Cet identificateur de périphérique permet d'indiquer le clavier. |
0005h | Cet identificateur de périphérique permet d'indiquer le port parallèle. |
0006h | Cet identificateur de périphérique permet d'indiquer le port série. |
0007h | Cet identificateur de périphérique permet d'indiquer la minuterie de l'horloge du système. |
0008h | Cet identificateur de périphérique permet d'indiquer la minuterie de l'horloge en temps réel. |
0009h | Cet identificateur de périphérique permet d'indiquer les services système. |
000Ah | Cet identificateur de périphérique permet d'indiquer les interruptions non-masquables. |
000Bh | Cet identificateur de périphérique permet d'indiquer un périphérique de pointage. |
000Ch | Cet identificateur de périphérique est réservé. |
000Dh | Cet identificateur de périphérique est réservé. |
000Eh | Cet identificateur de périphérique permet d'indiquer la RAM du CMOS. |
000Fh | Cet identificateur de périphérique permet d'indiquer la DMA (Direct Memory Access). |
0010h | Cet identificateur de périphérique permet d'indiquer le Programmable Option Select. |
0011h | Cet identificateur de périphérique permet d'indiquer les erreurs du journal de bord. |
0012h à 0015h | Cet identificateur de périphérique sont réservés. |
0016h | Cet identificateur de périphérique permet d'indiquer le clavier de sécurité. |
0017h à FFFFh | Cet identificateur de périphérique sont réservés. |
Fonctions ABIOS standard
Les fonctions numérotées de 00h à 09h sont des fonctions standard dans tous les services ABIOS. Les fonctions de 10h à FFh sont adaptées au périphériquers en cours de service.
Fonction | Description |
---|---|
00h | Cette fonction permet d'indiquer le gestionnaire d'interruption par défaut. |
01h | Cette fonction permet de demander les paramètres d'identificateurs logiques. |
02h | Cette fonction est réservé. |
03h | Cette fonction permet d'indiquer les paramètres de lecture de périphérique. |
04h | Cette fonction permet de fixer les paramètres de périphérique. |
05h | Cette fonction permet de réinitialiser ou d'initialiser. |
06h | Cette fonction permet d'effectuer des activations. |
07h | Cette fonction permet d'effectuer des désactivations. |
08h | Cette fonction permet d'effectuer des lectures. |
09h | Cette fonction permet d'effectuer des écritures. |
Modèle de traitement ABIOS
Dans un BIOS en ROM traditionnel basé sur un PC (contenant le CBIOS), toutes les fonctions sont traitées sur le modèle d'appel/processus/retour en une seule étape. Une fois qu'une fonction est appelée, le microprocesseur ne peut pas se tourner vers l'autre travail tant que la fonction n'est pas terminée et ne revient pas. Si la fonction appelée doit s'interfacer avec du matériel externe plus lent, le BIOS lance une attente et suspend le traitement du processeur jusqu'à ce que l'interruption du matériel se produise. La quantité de temps processeur inactif en résultant peut être considérable.
- Systèmes d'exploitation de traitement en une seule étape/mono-tâche : Bien que cette méthode d'appel/retour en une seule étape soit interfacée avec un système d'exploitation à tâche unique, elle minimise l'impact de la méthode sur le débit du système. Un BIOS traitant des fonctions exclusivement sur le modèle à une seule étape est donc le mieux adapté aux systèmes d'exploitation à une seule tâche.
- Systèmes d'exploitation de traitement multi-tâche/multi-traitement : Pour qu'un système d'exploitation multi-tâche soit interfacé avec un BIOS, les problèmes liés au débit du système doivent être traités avec plus de soin qu'ils ne le sont avec un système d'exploitation à tâche unique. Le microprocesseur doit être libre pour traiter d'autres tâches pendant qu'une fonction du BIOS attend qu'une interruption matérielle se produise. Pour ce faire, le BIOS doit traiter les fonctions de manière à minimiser le contrôle du BIOS sur le temps du microprocesseur. Cette situation est accompli en traitant les appels de fonction en plusieurs étapes.
- Emplacement où le ABIOS est intégré : Le ABIOS est écrit spécifiquement pour les systèmes d'exploitation multi-tâche. À ce titre, l'interface ABIOS et les méthodes que le ABIOS utilise pour traiter les appels de fonction sont spécifiquement conçues pour minimiser le contrôle ABIOS du temps de microprocesseur.
- Objectif des fonctions multi-étapes : Les fonctions multi-étapes sont pilotées d'étape en étape par l'interruption matérielle ou une durée de la fonction demandée. Certaines fonctions à plusieurs étapes sont pilotées uniquement par une interruption matérielle. D'autres sont déterminés uniquement par la période. D'autres sont toujours motivés par une combinaison à la fois d'interruption matérielle et de période.
- Étapes entraînées par une interruption Chaque service ABIOS piloté par une interruption est associé à un niveau de l'interruption matériel. Le ABIOS suppose que tous les gestionnaires d'interruptions matérielles sont sous le contrôle du système d'exploitation. Lorsqu'une interruption matérielle se produit, le système d'exploitation doit appeler la fonction associée à l'interruption afin que la condition d'interruption puisse être traitée. Le ABIOS réinitialise la condition d'interruption au niveau matériel. Le gestionnaire d'interruption matérielle du système d'exploitation doit effectuer un traitement de fin d'interruption au niveau du contrôleur d'interruption. Un service peut avoir plus d'une demande de fonction active. Dans ce cas, le gestionnaire d'interruption matérielle appelle chaque fonction jusqu'à ce que le ABIOS réponde que l'interruption matérielle a été traitée.
- Étapes pilotées par période de temps : Certaines fonctions du ABIOS sont entraînées d'une étape à l'autre par l'écoulement d'une période de temps demandée par la fonction. Le ABIOS suppose que les gestionnaires d'étape de période de temps sont sous le contrôle du système d'exploitation. Lorsque la période demandée par la fonction expire, le gestionnaire de période du système d'exploitation doit appeler la fonction ABIOS spécifiée.
- Étapes d'interruption matérielle et délai d'expiration matériel : Toutes les étapes d'une fonction entraînées par une interruption matérielle indiquent un délai maximum (en secondes) pour attendre l'interruption matérielle. Le ABIOS suppose que tous les gestionnaires de temporisation du matériel sont sous le contrôle du système d'exploitation. Si le délai d'expiration du matériel associé à une fonction commandée par interruption spécifiée expire, le système d'exploitation doit appeler le ABIOS pour terminer la fonction et réinitialiser le matériel.
- Étapes de temporisation matérielle et de période de temps La terminologie entourant les étapes pilotées par période et la gestion du délai d'expiration du matériel est similaire. Cependant, il est important de ne pas confondre le traitement associé à la gestion du délai d'expiration matériel et à la gestion de l'étape de la période. La gestion du délai d'expiration du matériel est exclusivement associée aux étapes d'une fonction à plusieurs étapes étant pilotées par une interruption matérielle et est conçue pour gérer proprement la terminaison de la fonction. L'exécution d'une routine de gestion du délai d'attente est symptomatique d'une erreur matérielle. La gestion des périodes de temps est associée aux étapes d'une fonction à plusieurs étapes étant pilotées par des périodes de temps. L'exécution d'une routine de traitement de période de temps indique l'écoulement d'un délai de temps demandé par la fonction et ne doit pas être associée à une erreur matérielle.
- Comment les gestionnaires appellent les fonctions ABIOS : routines d'entrée du ABIOS : Chaque service ABIOS est associé à un ensemble de routines d'entrée de fonction. Il existe trois types de routines d'entrée : Démarrer la routine (la routine de démarrage associée à un service est appelée puis une fonction est d'abord démarrée), routine d'interruption (la routine d'interruption associée à un service est appelée lorsque la fonction s'interrompt ou lorsqu'une fonction pilotée par une période de temps nécessite une maintenance) et la routine de temporisation (la routine de temporisation associée à un service est appelée lorsqu'une fonction déclenchée par interruption subit une temporisation matérielle). Pour réduire la surcharge de l'appelant, le ABIOS contient également un ensemble de routines d'entrée communes: routines de démarrage, d'interruption et de temporisation communes. Les routines d'entrée communes effectuent un traitement initial puis transfèrent le contrôle à la routine d'entrée liée au service spécifique.
Remarque
- À partir du OS/2 version 1.1 de l'entreprise IBM, les programmes ont un accès complet à ABIOS via le système d'exploitation des deux services DevHlp du système d'exploitation OS/2 de l'entreprise IBM : ABIOSCommonEntry et ABIOSCall. L'accessibilité du ABIOS pour les versions d'OS/2 autres que l'entreprise IBM varie d'un fournisseur à l'autre. Les programmeurs n'utilisant pas le OS/2 d'IBM doivent se référer à leur documentation OS/2 pour déterminer si leur version d'OS/2 prend en charge l'accès au programme à ABIOS.