Subj : Re: Synchronet vs Mystic vs ?? To : Arelor From : tenser Date : Tue Apr 25 2023 12:34 am On 23 Apr 2023 at 06:05p, Arelor pondered and said... Ar> Afaik FreeBSD is not the original. Ar> Ar> NetBSD has an initial release date set at 19 April 1993, whereas Freebsd Ar> has it on 1 November 1993. Ar> Ar> NetBSD was derived from 386BSD just the same as FreeBSD. OpenBSD is a Ar> fork of NetBSD. If anything, the o"original" the big *BSDs are branched Ar> from is 386BSD. This is correct: Bill and Lynne Jolitz ported the "Net/2" distribution of BSD from UC Berkeley to the 386, famously writing a series of articles about it in Dr Dobbs Journal; the series was later collected into a book. The result was 386BSD. However, the Jolitz's were a bit, um, "challenging" to deal with and progress on, say, necessary bug fixes, supporting new hardware, etc, was all slow, and unofficial patchsets were floating around on the net. Eventually, these were collected and distributed as part of NetBSD. FreeBSD was an independent effort along the same lines. Of the two, FreeBSD concentrated on excellent support for the PC platform, while NetBSD was more concerned about portability; for a while in the 90s, if you had a reasonable computer of almost any description, it was likely there was a NetBSD port for it. OpenBSD was a fork of NetBSD, created after Theo de Raadt was kicked off the NetBSD core team and his access to the NetBSD source repository suspended. The details there are not terribly interesting; suffice it to say that he has a tendency to behave badly. OpenBSD claims to favor security and correctness over all else, but honestly, I'm not really sure that's _actually_ true, but that's their main selling point. Dragonfly is the other main BSD fork; it derives from FreeBSD. Matt Dillon, the principle author, forked it from the FreeBSD 4.x series, as he disagreed with the direction they wanted to take for SMP implementation in FreeBSD 5 and beyond: all of the BSDs were original single-processor only (indeed, same with Unix; multiprocessor systems were not terribly common in the era it was written and on the types of computers it was written for: minicomputers). As time moved all, all of them realized that multicore was going to be a critical, particularly with the end of Denard scaling, so set out to modify their systems to support SMP (symmetric multiprocessing). Suffice it to say that retrofitting that onto an existing operating system that wasn't designed to support it from the start is challenging; lots of code was written making lots of assumptions about things that it presumes can't happen when there's only one CPU, but that very much can, and do, happen when there are multiple. Anyway, there are several ways to do this, and in particular to expose it to userspace programs. The most common is a 1:1 thread model, where a single user-space thread corresponds to a single thread of execution in the operating system kernel. This is far and away the most common. The second most common is to use what are called "Green Threads", or N:1, in which many userspace threads are multiplexed onto a single kernel thread; the problem with this is that, if a user-thread initiates some blocking operation (say, opening a file), this blocks all threads. Finally, the least common is N:M, where N userspace threads are muxed onto M kernel threads, and M != N, usually. This was a hot area of research in the late 90s, and this is what FreeBSD tried to do in FreeBSD 5. Dillon thought this was too complex and would yield poor performance, and so forked DragonFly to explore a different model. He has since pivoted to working on advanced filesystems, with HAMMER and now HAMMER2. Incidentally, he was right: after a long struggle, the FreeBSD people _did_ implement their N:M threading model, but it wasn't a good match for real-world applications, and was very complex. Eventually, they deprecated it and went with the 1:1 model. I suspect some support is still in there, but practically no one uses it. As noted, all of these descend from the original BSD work done at UC Berkeley, which had a long history of Unix involvement, starting with the 5th Research Edition in 1974. Ken Thompson had gone to Berkeley, and took a Unix tape with him when he went on sabbatical there in '74. This, all of the modern BSDs descend from Net/2. Net/2 was interesting: it was an _almost_ complete Unix distribution, just with some small proprietary parts removed. This was the culmination of a large body of work spearheaded by Keith Bostic, to create a freely available BSD under a permissive license. It was very close in interface and usage to the final 4.4 releases, which in turn, were mostly POSIX compatible; the various 4.3 and earlier releases were not. A company spun out of Berkeley, BSDi, around the time of that release to market a commercial version of BSD called "BSD/OS". Famously, their phone number was "1-800-ITS-UNIX". This led to a lawsuit where AT&T sued both BSDi and UC Berkeley, and Berkeley counter-sued AT&T, over copyright and trade secret infringement: AT&T had been legally barred from competing in the computer industry as long as they held their regulated monopoly status over the telephone system. However, shortly before all this went down they'd split themselves up and thus been released from the consent decree that so barred them: they intended to enter the industry marketing Unix (they did, but were largely unsuccessful). This lead to a period of FUD over the future of BSD-derived systems, which gave the new Linux upstart a chance to get a foothold in the industry. Linux, on the other hand, was a complete reimplementation from scratch. Linus Torvalds wanted something that took better advantage of his hardware than Minix, the teaching system by Andy Tannenbaum that he had been running. Linux took a far more traditional approach to building a Unix-like system, in that it's a monolithic kernel (the kernel exists in a single address space), while Minix is a microkernel (services are logically distinct and isolated from one another, and communicate via message-passing). Famously, Tannenbaum took Torvalds to task for this decision, declaring Linux obsolete before it was finished. Of course, it is now, by far, the most popular and important operating system in the world. --- Mystic BBS v1.12 A48 (Linux/64) * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101) .