TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Duncan Christie
from: Mike Bilow
date: 1995-08-29 06:21:52
subject: OS/2

Duncan Christie wrote in a message to All:

 DC> This doesn't have to do with programming for OS/2 but it is
 DC> about the  programming of OS/2.  I have read that OS/2
 DC> creates virtual machines each with  4GB of memory. One for
 DC> OS/2 programs and one for Win progs.  That might not be 
 DC> right, so please correct me.  How does OS/2 create each
 DC> virtual machine?  I  understand how one system has 4GB of
 DC> memory using paging but how could a group  of apps have 4GB
 DC> of memory and another group have 4GB.  If I am correct NT 
 DC> creates a virtual machine for each app.  

I guess this is a programming question...

OS/2 actually creates a separate virtual machine for each process.  When
running Windows programs, usually Windows itself is a process and the
various apps run within that single process.  OS/2 does allow running
Windows programs in "separate sessions," where multiple instances
of Windows, each its own OS/2 process, are started.

Ther are basically two types of OS/2 virtual machines.  Native OS/2
processes see a 4 GB virtual machine with the first 0.5 GB private to each
process, and the remaining 3.5 GB global to all processes.  Unlike Windows,
the global area is not directly accessible to applications, and attempts to
access those areas will be trapped by the operating system.  The choice of
the boundary at the 0.5/3.5 GB point is because of backward compatibility
with OS/2 1.x.

When OS/2 runs a DOS program, including Windows, the virtual machine is set
up somewhat differently.  The lower 1 MB is a standard DOS arena with the
DOS kernel, some pseudo buffers, and a transient program area.  The HMA and
UMB areas are also provided.  EMS and XMS services are provided by
protected mode drivers.  DPMI memory addressibility is provided by simply
showing the DOS program the native OS/2 virtual memory space owned by the
protected mode monitor process, above the virtual 1 MB boundary.

Note especially that each OS/2 and DOS process gets its own virtual machine.
 
-- Mike


---
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)
SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809
@PATH: 323/107 150 3615/50 396/1 270/101 105/103 42 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.