OPENSTEP Enterprise 4.1: Difference between revisions
→Mach Emulation Server: Name of MailSlot, internal name/version of the server |
m some caps fix here, some punctuation changes there |
||
(7 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Preservation and Documentation]] | [[Category:Preservation and Documentation]] | ||
OPENSTEP Enterprise 4.1 is a port of the OpenStep APIs, Adobe's Display PostScript engine, the NeXT/GNU Objective-C toolchain, and graphical application development tools | OPENSTEP Enterprise 4.1 is a port of the OpenStep APIs, Adobe's Display PostScript engine, the NeXT/GNU Objective-C toolchain, and graphical application development tools to Windows NT (3.51/4.0, x86), Solaris (SPARC), and HP-UX (HP-PA). | ||
''ToDo - Elaborate on this topic, further, based on Discord discussion, from a while ago. Need to investigate compatible Windows versions, build numbers, introduction date, and other info, at some point, too...'' | ''ToDo - Elaborate on this topic, further, based on Discord discussion, from a while ago. Need to investigate compatible Windows versions, build numbers, introduction date, and other info, at some point, too...'' | ||
Line 6: | Line 6: | ||
== Windows NT Version == | == Windows NT Version == | ||
The Windows port is based on a modified version of | The Windows port is based on a modified version of Cygwin, Congruent ToolBuster, and newly-developed adaptation layer code, by NeXT, and has additional functionality, to support interoperability with OLE, and Visual BASIC/COM. | ||
This version was codenamed <code>Bastion4R1</code>, according to the "About NeXT Software" dialogue/tool. | This version was codenamed <code>Bastion4R1</code>, according to the "About NeXT Software" dialogue/tool. | ||
=== UNIX Commands === | |||
Many of the UNIX/POSIX commands are based on the Congruent ToolBuster distribution of various GNU projects, including GNU FileUtils 3.1. | |||
=== NeXT Mach Emulation Daemon v2.0 === | === NeXT Mach Emulation Daemon v2.0 === | ||
This is kept in <code>./NextLibrary/System/machd.exe</code>, relative to the installation directory of OPENSTEP Enterprise, and implements a thin veneer of Mach's messaging APIs | This is kept in <code>./NextLibrary/System/machd.exe</code>, relative to the installation directory of OPENSTEP Enterprise, and implements a thin veneer of Mach's messaging APIs on top of a Windows MailSlot (<code>\\.\mailslot\NeXT\</code>)-consuming message pump. It is intended to be ran as a Windows Service, and the main installation process will attempt to configure this, but it is also possible to run the daemon's executable with the <code>-install</code>, or <code>-remove</code> arguments, to install or uninstall the service, or with the <code>-d</code> argument, to keep it running as a foreground process that prints debugging information on the standard output. | ||
=== WindowServer, and Display PostScript === | |||
The WindowServer implementation is located in <code>./NextLibrary/System/WindowServer.exe</code>, relative to the installation directory of OPENSTEP Enterprise, and is a 1.6MB binary that implements ASCII85, CCITT fax codecs, JPEG, LZW compression, the PostScript engine/font rendering, GDI contexts, Mach port communication, mapping the cursor location, alpha channels, and binding Win32/OpenStep widgets/window drawing. | |||
A config file, written in PostScript, is used to configure BubbleJet and laser printers, and <code>./NextLibrary/System/PS.VM.le</code> (which seems to be in an undocumented format), contains implementations of PostScript drawing commands (for things like shapes and colours), and handling mouse events. | |||
=== Teflon v0.01 (Network Message Server) === | |||
This is implemented in <code>./NextLibrary/System/nmserver.exe</code>, relative to the OPENSTEP Enterprise installation directory, and communicates with the Mach Emulation Daemon to handle with port right arbitration, naming services, and TCP socket binding. | |||
Strings in this binary mention "<code>Teflon v0.01</code>", "<code>Network Server</code>", "<code>/usr/mach/etc/old_netmsgserver</code>", and <code>cthread</code>. | |||
=== NeXT Object Request Broker (ORB) === | === NeXT Object Request Broker (ORB) === | ||
''ToDo - Elaborate on this'' | ''ToDo - Elaborate on implementation of this'' | ||
The ORB is a component that integrates Windows's OLE/ActiveX runtime environment and the COM Automation framework, with APIs for network transparency over TCP/IP. It is used by some examples, included with OPENSTEP Enterprise, to demonstrate populating an Excel spreadsheet with cells from an OpenStep application via a network, as well as interfacing with OpenStep APIs from MS VisualBASIC applications, such as a calculator application. | |||
=== GDB 4.15.3 === | === GDB 4.15.3 === | ||
Line 28: | Line 45: | ||
== Solaris, and HP-UX Versions == | == Solaris, and HP-UX Versions == | ||
The Solaris | The Solaris and HP-UX ports use HP and GNU components, and NeXT-developed code, to provide an OS abstraction in place of Mach. | ||
''Note - sparc-nextpdo-solaris2, and hppa1.1-nextpdo-hpux tuples, for toolchain'' | ''Note - sparc-nextpdo-solaris2, and hppa1.1-nextpdo-hpux tuples, for toolchain'' |
Latest revision as of 16:41, 24 January 2023
OPENSTEP Enterprise 4.1 is a port of the OpenStep APIs, Adobe's Display PostScript engine, the NeXT/GNU Objective-C toolchain, and graphical application development tools to Windows NT (3.51/4.0, x86), Solaris (SPARC), and HP-UX (HP-PA).
ToDo - Elaborate on this topic, further, based on Discord discussion, from a while ago. Need to investigate compatible Windows versions, build numbers, introduction date, and other info, at some point, too...
Windows NT Version
The Windows port is based on a modified version of Cygwin, Congruent ToolBuster, and newly-developed adaptation layer code, by NeXT, and has additional functionality, to support interoperability with OLE, and Visual BASIC/COM.
This version was codenamed Bastion4R1
, according to the "About NeXT Software" dialogue/tool.
UNIX Commands
Many of the UNIX/POSIX commands are based on the Congruent ToolBuster distribution of various GNU projects, including GNU FileUtils 3.1.
NeXT Mach Emulation Daemon v2.0
This is kept in ./NextLibrary/System/machd.exe
, relative to the installation directory of OPENSTEP Enterprise, and implements a thin veneer of Mach's messaging APIs on top of a Windows MailSlot (\\.\mailslot\NeXT\
)-consuming message pump. It is intended to be ran as a Windows Service, and the main installation process will attempt to configure this, but it is also possible to run the daemon's executable with the -install
, or -remove
arguments, to install or uninstall the service, or with the -d
argument, to keep it running as a foreground process that prints debugging information on the standard output.
WindowServer, and Display PostScript
The WindowServer implementation is located in ./NextLibrary/System/WindowServer.exe
, relative to the installation directory of OPENSTEP Enterprise, and is a 1.6MB binary that implements ASCII85, CCITT fax codecs, JPEG, LZW compression, the PostScript engine/font rendering, GDI contexts, Mach port communication, mapping the cursor location, alpha channels, and binding Win32/OpenStep widgets/window drawing.
A config file, written in PostScript, is used to configure BubbleJet and laser printers, and ./NextLibrary/System/PS.VM.le
(which seems to be in an undocumented format), contains implementations of PostScript drawing commands (for things like shapes and colours), and handling mouse events.
Teflon v0.01 (Network Message Server)
This is implemented in ./NextLibrary/System/nmserver.exe
, relative to the OPENSTEP Enterprise installation directory, and communicates with the Mach Emulation Daemon to handle with port right arbitration, naming services, and TCP socket binding.
Strings in this binary mention "Teflon v0.01
", "Network Server
", "/usr/mach/etc/old_netmsgserver
", and cthread
.
NeXT Object Request Broker (ORB)
ToDo - Elaborate on implementation of this
The ORB is a component that integrates Windows's OLE/ActiveX runtime environment and the COM Automation framework, with APIs for network transparency over TCP/IP. It is used by some examples, included with OPENSTEP Enterprise, to demonstrate populating an Excel spreadsheet with cells from an OpenStep application via a network, as well as interfacing with OpenStep APIs from MS VisualBASIC applications, such as a calculator application.
GDB 4.15.3
The gdb --version
command reports the following:
GDB 4.15.3 (i386-next-cygwin32), Copyright 1996 Free Software Foundation. Inc.
GCC 2.7.2
The gcc -v
command reports the following:
Reading specs from C:/NeXT/NextDeveloper/Libraries/gcc-lib/1386-nextpdo-winnt3.5\2.7.2\specs gcc version 2.7.2 for NeXT PDO
Solaris, and HP-UX Versions
The Solaris and HP-UX ports use HP and GNU components, and NeXT-developed code, to provide an OS abstraction in place of Mach.
Note - sparc-nextpdo-solaris2, and hppa1.1-nextpdo-hpux tuples, for toolchain