OS/2 Version 2.0 provides for the ability to run a V86 task in a window. The PMShield manages windowed VIO sessions input/output and windowed VDM input/output.
The video VDD (Virtual Device Driver) intercepts all I/O instructions to the video adapter, and all screen updates will be redirected/mapped to a logical video buffer (LVB) maintained by the Video VDD. When the Video VDD detects changes in a VDM's video state, it notifies a new PMShield thread, providing it with update information for a specified VDM window. This thread is a high-priority thread that serves the needs of all windowed VDMs.
For keyboard and mouse input, the PMShield must simply transform keystroke and mouse event messages into calls to the keyboard and mouse VDDs.