OS/2, eCS & ArcaOS - Technical > Internet
Mypal68: A possible alternative browser?
Dave Yeo:
Other challenges.
Browsers have gone multi-process where each tab or at least each domain runs in its own process. They communicate with local sockets and our local sockets, meant for things like syslog, isn't up to it. If you run Dooble, you might notice it is in single process mode, which is only there for debugging purposes and is unsupported. If you put Dooble into multi-process mode, it becomes unstable. Multi-process also uses more memory, not too bad as most of the code is shared in DLL's.
Compiling. Firefox moved to Rust, memory intensive and a really crappy language for compatibility with itself. For example, something compiles with version 1.0.16 won't compile with 1.0.17. numbers might be off but minor version changes break stuff. Probably unusable on a 32 bit platform.
Modern C++ also can be pretty memory intensive, I've seen 2GB of memory used to compile one file. Makes it hard to run multiple jobs without running out of memory. Memory also gets fragmented where sometimes only a reboot will fix the fragmentation.
Linking the large DLL's, same problem with memory. Often need the whole address range (VIRTUALADDRESSLIMIT=3072) to link.
Actually it is pretty amazing how well OS/2 does in the memory department considering it was optimized to run on 4MB (really needed 8MB to use the WPS) and was developed in a time when 16MB of ram was a lot.
Mathias:
Hmm... just a question out of curiosity.
> Often need the whole address range (VIRTUALADDRESSLIMIT=3072) to link.
Here's a naive question from a non-developer: Would cross compiling be a solution?
I have seen that you can use dist-cc on 64bit Linux to build ARM software on an x86_64 compiler.
On Gentoo Linux I have used dist-cc on a 64bit machine to build 32bit software on an x86_64 compiler for that other 32bit machine.
I have seen that you can build Windows NT executables with your Watcom OS/2 software. Would that also work the other way around? Compile a 32bit OS/2 application on a 64bit Windows 11 GCC *for* OS/2?
Let's say you have a 64bit machine with a huuuge ammount of memory. In my naive thought, wouldn't that mean, you could utilise as much memory as 64bit adressing would allow, and cross-compile a 32bit application, that (once compiled) is working within its 32bit memory range? - And if so.. then may the target not be a Windows executable, but OS/2?
I mean if compiling and linking needs 64 bit adressing, since stuff grew so huge over the years.. okay.. be it. But running the application later .... does that imply to have a 64bit environment also? Because if not, we could have all that big stuff on 32bit also. - And if that could be compiled then for OS/2 also on that 64bit machine... then this whole memory thing (while compiling and linking) would be solved.
Mathias
Dave Yeo:
Yes, cross-compiling is possible.
Currently OpenWatcom runs on Linux and Windows and can build OS/2 programs fine. The official OW is still 32 bit, but running on a 64 bit platform gives a full 4GB address range rather then the (if lucky) 3.5 GB or so on real hardware.
There is also Jiri's 64bit fork of OpenWatcom which should also work. I'm not sure if he has ported the latest OS/2 OW fixes to his fork so possibly it might not work quite as well as the official OW but will give endless memory for building.
The problem with GCC is we use a fork of GCC so that would have to be ported and we also use various OS/2 binaries when building, which would also need to be ported. And the whole build environment needs to exist on the 64 bit platform. Both Windows and Linux should be possible with Linux perhaps the best choice.
So in theory with some work, GCC and the EMX tools can be rebuilt on Linux etc with some work. These would still be 32 bit but have access to the full 4GB's of address range.
Porting to 64bit could also be done but would likely turn out harder, perhaps much harder as all the basic types double in size.
Power is getting shut off so I'll continue
Edit: Hydro is finished doing whatever they did at the pole and I've lost my train of thought.
Basically, an OS/2 developer environment needs to be ported, things arranged and such. Possible that perhaps OS/2 in a virtualbox or such and using Samba could work with the host system.
Big job that is possible if a knowledgeable developer spent a bunch of time.
Mathias:
Sounds worth the effort! : ) - Cool stuff. Thank you for your time! - Great explaination!
Jochen Schäfer:
A cross compile environemnt would really be neat, especially because more and more software move to build environment like meson, which also have to be ported to OS/2 otherwise.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version