Author Topic: OS/2 Architecture Illustration  (Read 2305 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5249
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
OS/2 Architecture Illustration
« on: March 09, 2025, 09:28:52 pm »
Hello

I found in Wikipedia an OS/2 architecture illustration that is based in a graphic I made (which I consider great that someone remixed my little work, that was the intention).
- https://en.wikipedia.org/wiki/OS/2#/media/File:OS-2_Warp_x86_Architecture.svg

I found it interesting that this author extended the Presentation Manager component and added the rings on the architecture graphic.

I understand this is a graphical interpretation with the idea of trying to explain better the architecture, so some "concessions" are made to make it easy to explain. But I have some question here:

1) Does Presentation Manager do not depend at all of CPI?
2) Does "Full Screen Session" does not depend at all of CPI? Can an OS/2 application run directly to the kernel without going thought CPI ?

Regards
« Last Edit: March 09, 2025, 09:31:03 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5335
  • Karma: +126/-1
    • View Profile
Re: OS/2 Architecture Illustration
« Reply #1 on: March 09, 2025, 10:35:25 pm »
This looks wrong to me, at least the Ring 2 stuff. I thought it was the DOS (and Win) VDM's that run in ring 2, not the graphics and print system. Ring 2 allows DOS device drivers to be generally used.
As for CPI, if it means what I think it means, everything depends on it. A full screen session only needs it, some device drivers and their corresponding DLL's, eg mouse.dll. A minimal OS/2 system boots to a full screen session without any graphics driver, think booting off a floppy.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5249
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Architecture Illustration
« Reply #2 on: March 10, 2025, 02:20:18 am »
Hello

I asked Google's NotebookLM AI, where I load some OS/2 books, and it referenced me to:

Quote
Many of the system services that exist at Ring 3 in dynamic link libraries (DLLs) access another DLL called PMGRE.DLL, which is the graphics engine or kernel of the OS/2 graphics subsystem. The graphics engine is composed entirely of Ring-2-conforming code that interfaces with the presentation drivers, which interface directly with the physical device drivers (at Ring 0) and the hardware. These DLLs are identified as presentation drivers for hardcopy devices (hardcopy drivers) by the file-name extension .DRV, and as presentation drivers for display devices (display drivers) by the file-name extension .DLL. The following figure shows a conceptual view of presentation drivers.
Source: PDRREF.PDF

Maybe the EDM/2 illustration is more align of what I think about the architecture. Even that I don't think that "MMPM/2" should be over "PM Printer Drivers". Also I guess that  "Virtual Device Drivers" should be over the kernel. But I get that is kind of hard to get a graphic that everybody will like, since it is an interpretation.

Regards

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5335
  • Karma: +126/-1
    • View Profile
Re: OS/2 Architecture Illustration
« Reply #3 on: March 10, 2025, 03:42:57 am »
Interesting. I note that, ignoring Win drivers, the only .drv files are printer drivers in \os2 and PMGRE.DLL is a simple forwarder DLL. Could this be OS/2 1.x that had the graphics system in ring 2 and used device drivers of the form *.drv? I don't know enough to say, perhaps someone more informed can comment.

Pete

  • Hero Member
  • *****
  • Posts: 1396
  • Karma: +13/-0
    • View Profile
Re: OS/2 Architecture Illustration
« Reply #4 on: March 10, 2025, 06:04:53 am »
Hi

I suspect "drivers for hardcopy devices" means printer drivers, aka "*.drv".
Graphics drivers have dll files  - those using Panorama will find PANOPMI.DLL and PANOGREX.DLL in [BootDrive]:\OS2\DLL, I'm sure snap also has dll files - maybe "PMGRE.DLL is a simple forwarder DLL" to whatever graphics driver is involved?


Regards

Pete

Greg Pringle

  • Full Member
  • ***
  • Posts: 154
  • Karma: +1/-0
    • View Profile
Re: OS/2 Architecture Illustration
« Reply #5 on: March 12, 2025, 02:46:22 pm »
Here are some pages from "The Design of OS/2" 32-BIT OS/2 by H.M. Deitel and M.S. Kogan 1992

This is from the Presentation Management chapter.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5335
  • Karma: +126/-1
    • View Profile
Re: OS/2 Architecture Illustration
« Reply #6 on: March 12, 2025, 06:02:03 pm »
Here are some pages from "The Design of OS/2" 32-BIT OS/2 by H.M. Deitel and M.S. Kogan 1992

This is from the Presentation Management chapter.

Hi Greg, thanks for this.
Reading, OS/2 1.x graphics engine used ring 2 to directly write to the graphics buffer. Presumably OS/2 2.x may have kept the same behaviour but the pages posted don't clarify whether that assumption is true.
I still think DOS also used ring 2, at least on OS/2 2.x to support DOS device drivers.

Greg Pringle

  • Full Member
  • ***
  • Posts: 154
  • Karma: +1/-0
    • View Profile
Re: OS/2 Architecture Illustration
« Reply #7 on: March 12, 2025, 09:59:15 pm »
Hi Greg, thanks for this.
Reading, OS/2 1.x graphics engine used ring 2 to directly write to the graphics buffer. Presumably OS/2 2.x may have kept the same behaviour but the pages posted don't clarify whether that assumption is true.
I still think DOS also used ring 2, at least on OS/2 2.x to support DOS device drivers.
Your welcome. I also have this other book in pdf format and here is page 2 on ring 2 and IO.