DPMI .

55
• DPMI https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and- online-course.html

Transcript of DPMI .

Page 1: DPMI .

• DPMI

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 2: DPMI .

FreeDOS - MS-DOS and Win32 console

1 It is also possible to run 32-bit DPMI executables using DOS

extenders

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 3: DPMI .

FreeDOS - Memory management

1 The HIMEM and EMM386 memory management programs included with FreeDOS provide extended memory (XMS) and expanded memory (EMS) for old real mode software, EMM386

also supports VCPI, which allows DPMI hosts and DOS extenders to co-

exist within V86 mode

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 4: DPMI .

Arachne (web browser) - Derivatives

1 Caldera UK added Novell's dialer and TCP/IP stack, animated GIFs, printing on a multitude of printers,

JavaScript (beta), completely changed the design of the browser (customizable), implemented their own support for frames, and ported it to compile as a 32-

bit protected mode extended DOS application (utilizing DOS Protected Mode Interface|DPMI using

DJGPP, a GNU compiler for DOS),[https://web.archive.org/web/20050302181238/

http://home.arachne.cz/arachne-faq.html#3 Is Arachne the same program as Caldera Webspyder?]

Arachne Frequently Asked Questions while Arachne is a 16-bit application

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 5: DPMI .

PC compatible - Design limitations and more compatibility issues

1 When the 386 was introduced, again a protected mode OS could be written for

it. This time, DOS compatibility was much easier because of virtual 8086

mode. Unfortunately programs could not switch directly between them, so

eventually, some new memory-model APIs were developed, VCPI and DOS

Protected Mode Interface|DPMI, the latter becoming the most popular.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 6: DPMI .

OS/2 - DOS compatibility

1 Like most 32-bit environments, OS/2 could not run protected-mode DOS

programs using the older VCPI interface, unlike the Standard mode of Windows

3.1; it only supported programs written according to DOS Protected Mode

Interface|DPMI. (Microsoft discouraged the use of VCPI under Windows 3.1,

however, due to performance degradation.)

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 7: DPMI .

DOSEMU - Features

1 It is thus able to achieve nearly native speed for 8086-compatible

DOS operating systems and applications on x86 compatible

processors, and for DOS Protected Mode Interface|DPMI applications on x86 compatible processors as well as

on x86-64 processors

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 8: DPMI .

QEMM - Manifest

1 *Version 2.0 provides information on network, enhance reporting of video

capabilities, APM, DPMI/VCPI/EMS/XMS memory. New

feature include editing DOS and Windows boot configuration files.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 9: DPMI .

QEMM - 7.0

1 New utilities include SWAPECHO.COM, OPTIMIZE.EXE

(replaced OPTIMIZE.COM), QDPMI (Quarterdeck DPMI 0.9 host), QSETUP

(QEMM Setup for Windows), SCANMEM.COM (USERAM= memory

scanner).

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 10: DPMI .

QEMM - DOS equivalents

1 DR-DOS EMM386 could fill free areas with UMBs or map RAM over unused ROM areas in virtual mode, provide

support for DOS Protected Mode Interface|DPMI (and - in some special

issues - DOS Protected Mode Services|DPMS), and load the support

for pre-emptive multitasking and multithreading components of the

operating system.https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 11: DPMI .

QEMM - Windows transition / Decline of QEMM

1 The final version was QEMM 97, which was compatible with Windows 95 and later

Windows 98/Windows ME|ME, but by this point, not only was DOS memory

management no longer in high demand, but the remaining competitive DOS applications

(including various GNU utilities and text editors) supported EMS, XMS, or DPMI - which reduced demand for conventional

memory - or had been ported to Windows 95 or higher

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 12: DPMI .

DR-DOS - Contribution by Novell

1 Novell DOS 7 introduced much advanced memory management

including new support for DPMI (DOS Protected Mode Interface) and DPMS

(DOS Protected Mode Services) as well as more flexible loadhigh options

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 13: DPMI .

DR-DOS - After Novell

1 Another version, DR-DOS 7.03 (still with BDOS 7.3 and reporting itself to applications as PC DOS 6.0 for compatibility purposes), was pre-released at Christmas 1998 and then officially released on January 6, 1999 by Caldera UK. It

came with significantly improved memory managers (in particular enhanced DPMI support in conjunction with the multitasker) and other enhancements, such as added DEVLOAD and DRMOUSE utilities. It would become the last

version of DR-DOS also tailored for desktop use.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 14: DPMI .

DR-DOS - Recent versions

1 DR-DOS 8.0 was released on March 30, 2004 featuring FAT32 and large

disk support, the ability to boot from ROM or Flash, multitasking and a

DPMI memory manager

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 15: DPMI .

Real mode - Switching to real mode

1 This mode-switching technique is also the one used by DOS Protected Mode Interface|DPMI (under real, not emulated, DOS) and DOS extenders

like DOS/4GW to allow protected mode programs to run under DOS; the DPMI system or DOS extender

switches to real mode to invoke DOS or BIOS calls, then switches back to return to the application program

which runs in protected modehttps://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 16: DPMI .

IP Pascal - The Z80 implementation

1 in 1987, the Z80 system used for IP was exchanged for an 80386 IBM-PC,

and work on it stopped. From that time several other, ISO 7185

standard compilers were used, ending with the SVS Pascal compiler,

a 32 bit DOS Protected Mode Interface|DPMI extender based

implementation.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 17: DPMI .

IP Pascal - The 80386 implementation

1 This process was aided considerably by the ability of the DOS Protected

Mode Interface|DPMI based SVS Pascal to run under Windows 95,

which meant that the need to boot back and forth between DOS and

Windows 95 was eliminated.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 18: DPMI .

Btrieve - Client-based Btrieve accessing server-based Btrieve

1 The client-based version of Btrieve for Windows could access server-

based versions of Btrieve via a DOS-based requester. The requestor

required the use of DOS Protected Mode Interface (DPMI) which allows

the program access to DOS's extended memory which could only accessed using the protected mode|Protected Mode functionality of the

CPU's x86 architecture.https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 19: DPMI .

Btrieve - Client-based Btrieve accessing server-based Btrieve

1 If it needs to access the server then it uses the Windows version of DPMI

to access a DOS-based requester named BREQUEST.EXE

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 20: DPMI .

Terminate and stay resident - Faults

1 However, since DOS and most DOS programs run in real mode (VCPI or DPMI makes a

protected mode program look like a real mode program to DOS and the rest of the system by

switching back and forth between the two modes), DOS TSRs and device drivers also run in real mode, and so any time one gets control, the DOS extender has to switch back to real mode

until it relinquishes control, incurring a time penalty (unless they utilize techniques such as DOS Protected Mode Services|DPMS or Helix

Cloaking|CLOAKING).https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 21: DPMI .

Expanded memory - Software emulation

1 Interaction between extended memory, expanded memory

emulation and DOS extenders ended up being regulated by the XMS,

Virtual Control Program Interface (VCPI), DOS Protected Mode Interface

(DPMI) and DOS Protected Mode Services (DPMS) specifications.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 22: DPMI .

Expanded memory - Decline

1 DOS itself did not directly support protected mode, but Microsoft

eventually developed DOS Protected Mode Interface|DPMI and several

DOS extenders were published based on it

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 23: DPMI .

Phar Lap (company)

1 Phar Lap developed the Virtual Control Program Interface (VCPI) specification in

cooperation with Quarterdeck Office Systems, who produced the DESQview task-switching

software. Phar Lap was also a member of the 12-firm committee that designed the DOS Protected Mode Interface (DPMI). VCPI and DPMI are industry standards allowing DOS

extenders to co-exist with expanded memory (EMS) emulators and multi-tasking

environments.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 24: DPMI .

NTVDM

1 32-bit DOS emulation is present for DOS Protected Mode Interface (DPMI) and 32-bit

memory access

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 25: DPMI .

Extended memory

1 Extended memory can also be accessed directly by DOS programs

running in protected mode using VCPI or DOS Protected Mode

Interface|DPMI, two (different and incompatible) methods of using

protected mode under DOS.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 26: DPMI .

Extended memory - Overview

1 A protected-mode operating system such as Microsoft Windows can also run real-mode programs and provide expanded memory to them. The DOS

Protected Mode Interface (DPMI) is Microsoft's prescribed method for an MS-DOS program to access extended

memory under a computer multitasking|multitasking

environment.https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 27: DPMI .

Protected mode - Operating systems

1 Today, 16-bit protected mode is still used for running applications, e.g. DOS Protected

Mode Interface|DPMI compatible DOS extender programs (through virtual DOS machines) or Windows 3.x applications

(through the Windows on Windows subsystem) and certain classes of device

drivers (e.g. for changing the screen-resolution using BIOS functionality) in OS/2 2.0 and later, all under control of a 32-bit

kernel.https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 28: DPMI .

DOS Protected Mode Services - DPMS

1 DPMS was originally developed by Novell's Digital Research GmbH, Germany, in 1992. It is compatible with any DOS and can coexist with memory managers and DOS extenders such as DOS Protected Mode Interface|DPMI,

VCPI, etc. The DPMS API is Reentrancy (computing)|reentrant and compatible with

multitaskers such as the DR-DOS multitasker orDESQview. By providing a built-in DPMS

VxD-driver, it is also compatible with Windows3.x and Windows9x.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 29: DPMI .

List of BASIC dialects - F

1 * FreeBASIC (DOS (DPMI32), MS Windows and Linux)An open source (GNU General Public License|GPL) BASIC compiler, that employs a

similar syntax to QuickBASIC's, with more advanced features like pointer (computer programming)|pointers

and object-oriented programming, it also supports a dialect specially designed to be compatible with

QuickBASIC.https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 30: DPMI .

Windows 2.1x - Windows/386

1 This was remedied in version 3.0, which is compatible with Virtual

Control Program Interface (VCPI) in standard mode and with DOS

Protected Mode Interface (DPMI) in 386 enhanced mode (all versions of

Windows from 3.0 to 98 exploit a loophole in EMM386 to set up

protected mode)

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 31: DPMI .

Conventional memory - DOS extenders

1 The latest DOS extension is DOS Protected Mode Interface (DPMI), a

more advanced version of XMS which provided many of the services of a

modern kernel, obviating the need to write a custom kernel. It also

permitted multiple protected mode clients. This is the standard target

environment for the DOS port of the GNU Compiler Collection|GCC

compilers.https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 32: DPMI .

Upper memory area - Windows

1 Only the DOS Protected Mode Interface (DPMI) API for switching to protected mode

was supported.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 33: DPMI .

Terminate and stay resident program - Faults

1 However, since DOS and most DOS programs run in real mode (VCPI or DPMI makes a

protected mode program look like a real mode program to DOS and the rest of the system by

switching back and forth between the two modes), DOS TSRs and device drivers also run in real mode, and so any time one gets control, the DOS extender has to switch back to real mode

until it relinquishes control, incurring a time penalty (unless they utilize techniques such as DOS Protected Mode Services|DPMS or Helix

Cloaking|CLOAKING).https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 34: DPMI .

DEBUG (DOS Command) - Background

1 Enhanced DEBUG package includes a 32-bit clone DEBUGX version

supporting 32-bit DOS Protected Mode Interface|DPMI programs as well. Andreas Japheth Grech, the author of the DOS extender#DOS

extenders|HX DOS extender, developed enhanced DEBUG versions 0.98…1.25, and former IBM PC DOS|

PC DOS developer Vernon Brooks added versions 1.26…1.30.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 35: DPMI .

MS-DOS API

1 In the late 1980s, DOS extenders along with the DOS Protected Mode Interface (DPMI) allow the programs

to run in either 16-bit or 32-bit protected mode and still have access

to the DOS API.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 36: DPMI .

Quarterdeck Expanded Memory Manager - DOS equivalents

1 DR-DOS EMM386 could fill free areas with UMBs or map RAM over unused ROM areas in virtual mode, provide

support for DOS Protected Mode Interface|DPMI (and - in some special

issues - DOS Protected Mode Services|DPMS), and load the support

for pre-emptive multitasking and multithreading components of the

operating system.https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 37: DPMI .

DOS Protected Mode Interface

1 Almost all DOS extenders are based on DPMI and allow DOS programs to address all memory available in the

PC and to run in protected mode (mostly in ring (computer security)|

ring 3, least privileged).

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 38: DPMI .

DOS Protected Mode Interface - Overview

1 DPMI can be thought of as a translator that takes (for example)

protected mode DOS calls and translates the registers to and from real and protected mode, including taking 16-bit segmented addresses and translating them to a suitable

protected mode format.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 39: DPMI .

DOS Protected Mode Interface - Overview

1 DPMI also allows, for some time, 32-bit programs to run under Windows 3.x, since Windows itself was 16-bit.

This capability remains today in a 32-bit Windows DOS box all the way to the Windows 7 operating system for

backwards compatibility reasons (although unofficially deprecated).

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 40: DPMI .

DOS Protected Mode Interface - Overview

1 While Windows has long had native support for 32-bit programs, the

many MS-DOS compatible systems that still exist must typically use DPMI to provide protected mode

services or risk being incompatible

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 41: DPMI .

DOS Protected Mode Interface - Overview

1 A DPMI service can be 16-bit, 32-bit, or universal and is called the DPMI kernel, DPMI host, or DPMI server. It

is provided either by the host operating system (virtual DPMI host)

or by a DOS extender (real DPMI host). The DPMI kernel can be part

of a DOS extender such as in DOS/4GW or DOS/32A, or separate,

like CWSDPMI or HDPMI.https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 42: DPMI .

DOS Protected Mode Interface - History

1 This undocumented full nature of DPMI has become known as 'true DPMI' in the industry.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 43: DPMI .

DOS Protected Mode Interface - History

1 When it turned out that Microsoft's DPMI proposal addressed a number of similar issues and was supported by Windows, these efforts led to the creation of the DPMI Committee in February 1990 during a meeting at

Intel in Santa Clara.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 44: DPMI .

DOS Protected Mode Interface - History

1 In 1991, the DPMI Committee revised DPMI to version 1.0 in order to

incorporate a number of clarifications and extensions, but it still did not include the missing true DPMI bits implemented in Windows. In fact,

true DPMI never became part of the official DPMI specification, and

Windows likewise never implemented the DPMI 1.0 extensions.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 45: DPMI .

DOS Protected Mode Interface - History

1 While DPMI is tailored to run extended DOS application software in

protected mode and extended memory, it is not particularly well

suited for resident system extensions

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 46: DPMI .

DOS Protected Mode Interface - History

1 The DPMI solution appears to be mainly needed to address third party

need to get DOS protected mode programs running stably on Windows

3.x before the dominant operating system vendor, Microsoft, could or would address the future of 32-bit

Windows

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 47: DPMI .

DOS Protected Mode Interface - Compatibility

1 While Windows 3.0 implements true DPMI and reports support for DPMI 0.9, DPMI version 1.0 was never

implemented in Microsoft Windows, so most programs and DOS

extenders were mostly only written for version 0.9. Few extenders, however, implement true DPMI.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 48: DPMI .

DOS Protected Mode Interface - Compatibility

1 The KRNL386.SYS of DR DOS StarTrek and the EMM386.EXE

memory managers of Novell DOS 7, Caldera OpenDOS and DR-DOS 7.02 and higher have built-in support for

DPMI when loaded with the /DPMI[=ON] option. Multiuser DOS, Datapac System Manager|System

Manager and REAL/32 support DPMI as well.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 49: DPMI .

DOS Protected Mode Interface - Compatibility

1 The most famous separate DPMI kernel is probably CWSDPMI; it

supports DPMI 0.9, but no undocumented DOS API translation.

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 50: DPMI .

DOS Protected Mode Interface - Compatibility

1 Currently DPMIONE (formerly part of 386MAX|386MAX) is the only

standalone DPMI host which supports DPMI 1.0 completely (e.g. uncommitted memory).

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 51: DPMI .

DOS Protected Mode Interface - DPMI Committee

1 The DPMI 1.0 Committee met between 1990 through 1991 and consisted of 12 groups:

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 52: DPMI .

RAR (file format) - Older Operating Systems support

1 * RAR v3.93 is the last version that supports MS-DOS and OS/2 on 32-bit

CPU, such as Intel 80386|80386 and later. It supports long file names in a Windows DOS box (except Windows NT), and uses

the EMX (programming environment)|RSX DOS Protected Mode Interface|DPMI extender.[http://comments.gmane.org/gmane.comp.emulators.freedos.general/

14467 FreeDOS general questions.]

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 53: DPMI .

Asia-Pacific - Main countries and territories data

1 ! List of countries by GDP (nominal)|GDPmillions of USD

(2009)

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Page 54: DPMI .

Thiram - Metabolic effects

1 Thiram has been described to interfere with glucocorticoid metabolism, by inhibiting the

activity of the enzyme 11beta-hydroxysteroiddehydrogenase type 2, which

converts cortisol to cortisone.Atanasov AG, Tam S, Röcken JM, Baker ME,Odermatt A. Inhibition of 11beta-hydroxysteroid dehydrogenase type

2 bydithiocarbamates. Biochem Biophys ResCommun. 2003 Aug 22;308(2):257-62.

PubMedPMID 12901862. http://www.ncbi.nlm.nih.gov/pubmed/12901862

https://store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html