I'd disagree that OS/2 was "worthless garbage", as MS would keep using it for several generations for their server/LAN OS.
I'd argue that OS/2 2.x was pretty much a ground-up re-write, as OS/2 1.x had been written for 16-bit 286 protected mode and not the 32-bit 386 protected mode which the next version targeted.
IBM did insist that the new version run all of the 1.x 16 bit stuff, but like DOS and Win 3.x mode this was done through some virtualization if memory serves.
The big hurdle OS/2 faced was being memory hungry at a time when memory prices were still high and when the installed base had less then half of the required amount by default.
I'd argue that OS/2 2.x was pretty much a ground-up re-write, as OS/2 1.x had been written for 16-bit 286 protected mode and not the 32-bit 386 protected mode which the next version targeted. IBM did insist that the new version run all of the 1.x 16 bit stuff, but like DOS and Win 3.x mode this was done through some virtualization if memory serves.
The big hurdle OS/2 faced was being memory hungry at a time when memory prices were still high and when the installed base had less then half of the required amount by default.