Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ i286emul(1) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought



          I286EMUL(1)          INTERACTIVE UNIX System          I286EMUL(1)



          NAME
               i286emul - emulate 80286

          SYNOPSIS
               i286emul [ arg ... ] prog286

          DESCRIPTION
               I286emul is an emulator that allows programs from UNIX Sys-
               tem V Release 2 or Release 3 on the Intel 80286 to run on
               UNIX System V Release 3 on the Intel 80386.

               The UNIX system recognizes an attempt to exec(2) a 286 pro-
               gram, and automatically exec's the 286 emulator with the 286
               program name as an additional argument.  It is not necessary
               to specify the i286emul emulator on the command line.  The
               286 programs can be invoked using the same command format as
               on the 286 UNIX System V.

               I286emul reads the 286 program's text and data into memory
               and maps them through the LDT [via sysi86(2)] as 286 text
               and data segments.  It also sets callgate 89 in the GDT
               (which is used by 286 programs for system calls) to point to
               a routine in i286emul.  I286emul starts the 286 program by
               jumping to its entry point.

               When the 286 program attempts to do a system call, i286emul
               takes control.  It does any conversions needed between the
               286 system call and the equivalent 386 system call, and per-
               forms the 386 system call.  The results are converted to the
               form the 286 program expects, and the 286 program is
               resumed.

               The following are some of the differences between a program
               running on a 286 and a 286 program using i286emul on a 386:

                    A 286 program under i286emul always has 64k in the
                    stack segment if it is a large-model process, or 64k in
                    the data segment if it is a small-model process.

                    System calls and signal handling use more space on the
                    stack under i286emul than it does on a 286.

                    Attempts to unlink or write on the 286 program will
                    fail on the 286 with ETXTBSY.  Under i286emul, they
                    will not fail.

                    Ptrace(2) is not supported under i286emul.

                    The 286 program must be readable for the emulator to
                    read it.

          FILES
               /bin/i286emul


          Rev. C Software Development Set                            Page 1





          I286EMUL(1)          INTERACTIVE UNIX System          I286EMUL(1)



                    The emulator must have this name and be in /bin if it
                    is to be automatically invoked when exec(2) is used on
                    a 286 program.

          BUGS
               The signal mechanism under the emulator is the System V
               release 2 signal mechanism rather than the System V release
               3 mechanism.















































          Rev. C Software Development Set                            Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026