Mainly because there were 11 point releases of fixes and enhancements (4.11), as opposed to today where FreeBSD major version only have 3-4 point releases.
Unfortunately for FreeBSD, the launch of the Intel Pentium 4 with hyper-threading in 2003, then of the AMD dual-core CPUs in 2005 have made quickly FreeBSD 4 completely obsolete.
The smaller FreeBSD team has required many years until achieving a decent implementation for multi-threaded CPUs and during that time they have remained long behind Linux and other operating systems.
Besides perfect stability (it was normal to not reboot FreeBSD 4 for years) and great networking performance, it also had a much more reliable file system than the competition.
Despite the fact that Windows XP used NTFS and Linux had at least 3 file systems with journaling at that time, where journaling was supposed to make the file systems crash-resistant, I have seen at that time (around 1999-2003) many cases of file system corruptions after power outages, on computers without UPSes which used NTFS or Linux file systems with journaling (on Linux EXT2 without journaling any power outage was very likely to require a complete reinstallation).
During the same power outages, the computers with FreeBSD that used the UFS file system with "soft updates" never experienced any file system corruption, despite the fact that UFS with "soft updates" was not a journaling file system, but only one where the disk write operations were carefully ordered in such a way as to prevent unrecoverable file system corruption in the case of a crash.
Many OSes at the time had hitches with SMP. BSD was one of them. FreeBSD had SMP in 4.x but almost everything in the kernel was single-threaded and the kernel thread was a major bottleneck.
FreeBSD wasn't alone in this. Linux suffered from a similar problem at the time, also because of the driver architecture. (The infamous "big kernel lock" wasn't fully eliminated until 2011: https://kernelnewbies.org/BigKernelLock)
This is an area where NT was much better, or VMS, or Solaris. And yes, the SMP issue, in hindsight, does partly explain why both Linux and BSD weren't as historically attractive as they otherwise looked, for large systems.
20 years ago it was unfortunately not unusual to experience the Linux "nuclear fsck" where it scrolls by so fast and for so long you know it's toast.
FreeBSD 4 wasn't too bad on dual cpu systems, as I recall. Fine grained locking gets more important as cpu counts grow, of course, but at 2, the single Giant lock isn't unreasonable.
If it is single threaded, how does this relates to PS4 and PS5 ?
Mostly because 5.x took so long to be released.
IIRC, shortly after this experience the FreeBSD folks went from a feature-based release cycle to a time-based release cycle: everyone wanted feature X (and X and Y) in Next Release, and things got pushed and pushed.
So by having a steady cadence, a feature could be integrated regularly into HEAD, and folks didn't have to wait too long before a STABLE release was cut with all the latest and greatest stuff (that couldn't otherwise be backported because of compatibility guarantees).
5.x wasn't just the removal of Giant Lock, but also:
- GEOM - Kernel Scheduled Entities
There weren't any reasons to switch from 4.x to 5.x until 5.x got stable. Even with Giant Lock given the hardware at the time (Pentium with hyper threading) it wasn't that bad.
FreeBSD is great on its own, and that amount of attention also meant every single bit of performance would be extracted no matter what it takes, and any scaling or stability issues would be hammered out pretty quick.
Until they moved to redhat...
Does anybody know why they switched to RedHat ?
> Early tests seem to indicate that a crash is indeed present in PS4 up to 11.00 included, and PS5 8.20 included. (Which would put the patch for this issue at firmwares PS5 8.40 and PS4 11.02)
wololo has been reporting in it, and mvg made a video about current state of things