1. 19
  1.  

  2. 7

    The context that’s always missing from these old demo videos is just how slow and limited the average PC was back then, and yet how responsive BeOS was despite the hardware limitations. Intel had released 150 MHz (yes, MHz) Pentium processors that year. Microsoft had released Windows 95 (their slow, unsophisticated, and buggy shell on MS DOS) the year prior.

    Here’s a nice article discussing “top of the line” of PCs in 1995 or so. A select quote: “Dell was selling a top-of-the-line 486 with a 66MHz processor, eight megabytes of RAM and a 320-megabyte hard drive for $4,400.”

    https://www.relativelyinteresting.com/comparing-todays-computers-to-1995s/

    This is what made Be’s real-time performance in windowing, filesystem, and A/V so mind-bending. It was achieved entirely through a complete harmony of software and hardware, and through some very clever software engineering under severe constraints.

    1. 2

      Considered by some the spiritual successor of AmigaOS, inherits some concepts from it inherits from it (system’s features and APIs abstracted as libraries rather than thousands of syscalls –> beos kits, datatypes –> translators).

      A 486/66 PC did always look sad to me, next to a dramatically cheaper, even on release, Amiga 1200 from 1992.

      AROS and Haiku are the open source continuation of AmigaOS/BeOS, so it’s not all dead.

      While the developers of many of the most popular operating systems do seem stuck in a pre-liedtke (particularly, before this paper) level of knowledge, modern systems that advance computer science instead of being clones or derivatives of UNICS from the late 60s do exist. There’s, among others, Genode/seL4, Minix3 and HelenOS.

      It is no coincidence all of these are based on the µkernel multiserver approach, as there’s fundamental limits in Monolithic kernels which prevent them from actually achieving reliability (through modularity and isolation, and the minimization of bugs and the fault tolerance they enable), security (minimization of TCB, POLA with capabilities, formally proven isolation via formally proven µkernel) and performance (particularly to do with latency and SMP contention due to kernel locks and data sharing).

      1. 1

        shell on MS DOS

        Win95/98/ME was very sad next to older systems such as OS/2, AmigaOS or BeOS, all of which had preemptive multitasking since their inception (and only NT is even comparable without looking outright pathetic, Win9x family multitasking has the quality of a stub at best, as if they wrote it early, intended to get back at it later but never did) but it definitely was not a “shell on ms-dos”.

        As I understand it, it did everything on its own, in protected mode, and never using DOS Protected Mode Interface to call a DOS underneath.

        Ultimately, the overall design, the quality of the multitasking and the APIs were awful, and it was only a success because Microsoft pushed it as the successor for msdos and Windows 3.x, while NT being itself expensive and having high hardware requirements prevented NT’s adoption.

        To this day, I see Win9x as a derail into a dead track which was only rectified when Windows 2000 was released. It should never have existed.

        1. 7

          To this day, I see Win9x as a derail into a dead track which was only rectified when Windows 2000 was released. It should never have existed.

          Actually they were successful products with net positive economic balance, also they improved upon the earlier user interfaces.

          They were incremental improvements with changes mostly in the UI, and the kernel development was going on in the NT series in a different, more reliability and extensibility centered mindset. This was a very logical and successful management strategy to not get left behind, but also work with what you have, maximizing the utility of existing resources.

          Also note, that a key selling point was DOS compatibility, which was easiest to implement this way, and which was phased out gradually.

          Products are not only about elegant technology, but delivering value to customers. As it turned out from business perspective BeOS was the dead track, despite its superiority in some aspects, which were not that valuable to most customers as the values delivered by the half-working buggy, but DOS compatible Windows 95.

          So overall the existence of Window 95 (and derivatives) is pretty much justified.

          1. 1

            Actually they were successful products

            Sure, they were. But only because of how entrenched Microsoft already was.

            As it turned out from business perspective BeOS was the dead track,

            See above.

            DOS compatibility, which was easiest to implement this way,

            DOS Compatibility as in booting into DOS mode? Basically dictates nothing about what the system is like the moment Windows actually takes over.

            So overall the existence of Window 95 (and derivatives) is pretty much justified.

            It was all about preempting OS/2, BeOS and other options and thus preventing them from taking market share.

            1. 3

              It was all about preempting OS/2, BeOS and other options and thus preventing them from taking market share.

              It was not preventing Linux from getting market share, so I don’t see how it was solely Microsoft’s fault, especially in case of OS/2 which had IBM’s resources behind. (Also OS/2 was not that great technically)

              1. 2

                Linux had not a chance in hell of gaining significant market share.

                It wasn’t like today, with installs that take a few minutes and are almost full automated. It took real work to run Linux.

                Impossible for the layman.

          2. 4

            never using DOS Protected Mode Interface to call a DOS underneath.

            If you had a DOS driver that installed interrupt hooks to support some hardware and if that driver wasn’t known to Win95, apparently it called back into that to support the hardware. Windows 95 was the way it was because it provided compatibility to the wild, wild west that was DOS until the industry caught up (either by providing new drivers or because such hardware was retired by the extremely fast innovation/replacement cycles of the 90s).

            1. 2

              If you had a DOS driver that installed interrupt hooks to support some hardware and if that driver wasn’t known to Win95, apparently it called back into that to support the hardware.

              So, basically, a BIOS module, like XT-IDE Universal BIOS?. How it is loaded is not all that important. It can be part of the BIOS (that’s the normal way), it can be in a boot rom, or it can replace bios interrupts before windows starts, on autoexec.bat or config.sys. Even today, firmware fallbacks are used for things like video (vesa, efifb).

              I wouldn’t count that as using DOS.

        2. 5

          I was using BeOS as my daily operating system in the early 2000 and really miss it. It was fast, looked great and some of the core ideas like using BeFS as the database and have translators available to all applications to load and save data in different formats is still unmatched. They really got the right abstractions at the system level, and in a way, it makes we wish we would get beyond the file-based UNIX to introduce more structured primitives (a graph maybe?) as core to the operating system.

          1. 4

            Have you checked out Haiku?

            1. 1

              Yes, definitely, but things have moved on since then and it sadly doesn’t match the Gnome desktop for my needs. I wish that in an alternate universe, BeOS had continued to evolve over the last 20 years.