PLEX86  x86- Virtual Machine (VM) Program
 CVS  |  Mailing List  |  Download  |  Newsgroups

Moving buttembler programs above the line 512


Your Ad Here

Your Ad Here

Eric

Software for IBM 36030 was DOS360: Forty years 513
Eric Smith Why couldn't it be more than 64k? Was that all the30 could hold? I...

Most OSes have taken the notion that the old small-address-space world and the new big-address-space world are pretty separate. In Solaris or Linux a process is either 32-bit or 64-bit. You can't use a 32-bit shared library from a 64-bit main program, or vice versa. Old 32-bit apps and new 64-bit apps can communicate through standard OS facilities, but they can't share memory. Nice and clean.

When migrating from 24-bit addressing to 31-bit addressing the mainframe guys got this one wrong. So they allowed a 24-bit process to call a 31-bit function, or vice versa. You could have a 24-bit "main" program that then called some 31-bit code, which then called into older 24-bit code.

The "32nd" bit, then, indicated whether the address that a called routine was given was a 24-bit address or a 31-bit address. When a function returned to its caller, the mode of the system was put back automatically.

Each function had an AMODE attribute (whether it ran with 24-bit or 31-bit addressing) and an RMODE attribute (whether it could live above or below the 16MByte line). These could be different, since if a 31-bit function is going to call a 24-bit subroutine it could only pbutt the 24-bit subroutine pointers to data that was below the line.

The linker would try to sort all of this out.

This was an unbelievable mess that no other OS has copied since - for very good reason.

...Sam



Your Ad Here

List | Previous | Next

Software for IBM 36030 was DOS360: Forty years 513

Alt Folklore Computers from Newsgroups

The #1 Usenet Provider on the Internet

Moving buttembler programs above the line 511