Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

BeOS had a regular Unix like (even posix IIRC) dev environment.

I was able to do most of the CS course work projects normally done on my University's Sun workstations on BeOS instead. Most of these of courses were data structures, algorithms, compilers, etc projects in C, and not things that required platform specific APIs.

But arguably, BeOS' overall model - a single user desktop OS built on top of but hiding its modern OS underpinnings like memory protection and preemptive multitasking - is far more similar to what eventually became MacOSX than Linux. Which isn't so surprising since it was built by ex apple folks. Remember that consumer OSs before this point had no memory protection or preemptive multitasking.

Linux, though it had the same modern OS features, was far more closely aligned in spirit with the timeshared modern multi-user Unix OS's like what ran the aforementioned Sun workstations (it's "Linus' Unix after all).



BeOS had a POSIX-compliant layer, but under the hood it was totally different from a UNIX.

Also, let’s keep in mind that Windows95 (released that same year) featured preemptive multitasking on a desktop user OS (albeit not a strong memory protection model), and WindowsNT has been available for a couple of years by then (having first shipped in 1993, If memory serves) and was a fully ‘modern’ OS (indeed it serves as the basis for the latter Windows), albeit with a comparatively large footprint.

I was an avid BeOS user (and coincidentally a NeXT user too) and I was enthralled by its capabilities, but in terms of system architecture it was a dead end.


IIRC the Unix compatibility layer had some pretty grotty warts. Porting Unix applications virtually always required fiddling to get them working, especially the network code.

Unfortunately this meant BeOS was perpetually behind the curve on stuff like the World Wide Web. I had a native FreeBSD build of Netscape long before Be managed to get a decent browser.


The Amiga had preemptive multitasking in the 80's. (No memory protection though.)


So did the Lisa even earlier (and Xenix, which was a derivat of Unix Vers. 7, anecdotally also seen on the Lisa).


Is that true? I see contradictory information about Lisa OS. Some posts claim it was cooperative, like the original Mac System. Example: https://macintoshgarden.org/apps/lisa-os-2-and-3


(A bit of research later:) It's actually a bit of a mixed bag. The "Operating System Reference Manual for the Lisa" [0] reads on pp. 1-3/1-4:

> Several processes can exist at one time, and they appear to run simultaneously because the CPU is multiplexed among them. The scheduler decides what process should use the CPU at any one time. It uses a generally non-preemptive scheduling algorithm. This means that a process wlll not lose the CPU unless it blocks. (…)

> A process can lose the CPU when one of the following happens:

> • The process calls an Operating System procedure or function.

> • The process references one of its code segments that is not currently in memory.

> If neither of these occur, the process will not lose the CPU.

In other words, non-preemptive, unless the OS becomes the foreground process, in which case it may block the active process in favor of another one currently in ready or blocked state.

[0] https://lisa.sunder.net/LOS_Reference.pdf


BeOS was as UNIX like, as Amiga was.

Surely it had a cli, UNIX like directory navigation and a couple of UNIX command like utilities.

But good luck porting UNIX CLI software expecting a full POSIX environment.

If I am not mistaken, Haiku has done most of the work regarding POSIX support.


It had a bash shell, and used glibc, and partially implemented POSIX.

I was also able to get most my CS homework done in BeOS. But I definitely needed to keep FreeBSD around for when I hit a wall.


It was ok. Back when I ran BeOS as my primary OS (2001 or so) I built half a C++ web application on BeOS, the other half on a HP-UX server logged in through an X terminal using ftp to sync between the two. Not much support in the wider *nix ecosystem though, so anything big would often fail to build.

I regretted having to move away from BeOS, it was by far the most pleasant OS I’ve used, but the lack of hardware and software support killed it.


In college I wrote a web server in beos and ported it back to Linux, learning pthreads along the way. Bonus achievement was making it multithreaded, so I got that for free, since beos makes you think architecturally as multithreaded first


AmigaOS was not UNIX-like in the least. Amiga UNIX, which shipped on a couple models, was directly System V UNIX, though.


That was the point I was trying to convey regarding BeOS.

Having a shell that looks like UNIX, and a couple of command line utilities similar to the UNIX ones, does not make an OS UNIX.


Ah. I gotcha now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: