IBCS(9) | Fonctions du noyau Linux | IBCS(9) |
NOM¶
iBCS - Module chargeable qui permet d'exécuter les programmes binaires d'autres Unix pour x86
SYNOPSIS¶
insmod iBCS
DESCRIPTION¶
La Spécification de Compatibilité Binaire d'Intel (Intel Binary Compatibility Specification) ou iBCS, spécifie une interface standard entre les programmes applicatifs et les systèmes d'exploitation pour ix86. Il existe cependant plusieurs variantes d'iBCS (SVR4, SVR3 ainsi que plusieurs extensions de SVR3 propriétaires aussi différentes qu'incompatibles). L'émulateur iBCS pour Linux supporte toutes les variantes connues ainsi que plusieurs extensions.
Lorsque le module iBCS est chargé, vous pouvez exécuter quasiment tout programme compilé pour n'importe lequel des Unix autres que Linux, et ce de manière totalement transparente. Tout ce que vous avez à faire est de lancer ce type de programmes comme des programmes natifs.
ARCHITECTURES SUPPORTEES¶
Sparc
FORMATS BINAIRES SUPPORTES¶
ELF (utilisé par les variantes de SVR4 et SCO OS5)
COFF (utilisé par les variantes de SVR3)
XOUT (utilisé par Xenix)
ÉMULATIONS SUPPORTÉES¶
SVR4 (Interactive, Unixware, USL, Dell etc.)
SVR3 générique
SCO (SVR3 avec des extensions pour les liens symboliques et les noms de fichiers longs)
Wyse V/386 (SVR3 avec une extension pour les liens symboliques)
Xenix V/386 (exécutables au format 386 compact seulement)
Xenix 286
ÉMULATIONS DE SOUS-SYSTÈMES SUPPORTÉES¶
/dev/socksys interface sockets telle qu'utilisée par les implémentations réseaux basées sur Lachman STREAMS.
interface d'appel système de socket Wyse V/386.
les pilotes de flux /dev/spx pour les connexions à un serveur X local.
pilotes IP TLI.
BOGUES¶
Il y a deux principales bogues. Cependant, la plupart des utilisateurs ne les rencontreront jamais.
Les variantes d'Unix proposant des extentions non standard (autres que SVr4, SCO ou Wyse) ne seront pas reconnues et peuvent provoquer des core dump inexpliqués. Une nouvelle personnalité devrait être créée.
La reconnaissances des programmes de SCO et de Wyse dépdent des commentaires inclus dans les exécutables lors de la compilation. Si ces chaînes de caractères étaient absentes ou différentes de celles recherchées, l'exécutable ne sera pas reconnu correctement et pourra ne pas s'exécuter correctement. Il est également possible que des exécutables d'autres systèmes soient mal reconnus bien que la probabilité que cela arrive soit proche de zéro.
Certaines fonctions de Xenix ne sont pas implémentées comme les sémaphores et la mémoire partagée de Xenix (Ndt: pour être portable, utilisez IPC).
Un support élémentaire des interfaces réseaux STREAMS et XTI/TLI est inclu. Comme Linux n'utilise pas ces interfaces, l'émulation n'est peut être pas complète ; cependant ce devrait être suffisant pour la majeure partie des programmes. (Ndt : quand on voit que des monstres tels qu'Oracle pour SCO passent sous Linux, il est inutile de s'inquiéter pour de telles broutilles)
Les programmes, applications ou progiciels qui nécessitent des modules ou des pilotes de périphériques spéciaux ne fonctionneront pas. Linux n'est pas basé sur le code SYSV et est fonctionne de manière totalement différente en interne (Ndt : par opposition à Free/Open/Net-BSD qui repose sur le code officiel de l'Unix de Berkeley). Les pilotes spécifiques à SYSV (Ndt : Système V) nécessiteront d'être réécrits pour Linux.
NOTE ADDITIONNELLE DU TRADUCTEUR¶
Veuillez consulter undocumented(2) unimplemented(2)
undocumented(3) pour connaître les appels système et
les routines de la libc qui ne sont pas implémentés. Pour
implémenter une « personnalité de
processus », consultez personality(2).
Intel a proposé d'établir un format standard de pilote de
périphérique pour les Unix fonctionnant sur le futur
Merced ; il est donc possible que la compatibilité binaire
fasse un bond en avant sur l'architecutre IA-64.
FICHIERS¶
- /lib/modules/`uname-r`/misc/iBCS
- emplacement par défaut du module iBCS
VOIR AUSSI¶
AUTEURS¶
Mike Jagdis <jaggy@purplet.demon.co.uk>.
D'après un premier jet de Eric Youngdale, Alfred Longyear, Drew Sullivan, Joseph L. Portman III et plusieurs autres.
TRADUCTION¶
Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999
19 mars 1999 | Linux |