PavelChekov wrote:In the 80s, it seems there were a plethora of UNIXes, but when you look them up it says, something along the lines of:
- SunOS used the 4.3BSD codebase
- Solaris is based off of SVR4
- AIX uses SVR3
What does this mean? Are they just like distros, different userspaces for one of these established kernels?
Thanks
The kernel will have been vendor ported, and probably had the most modifications from the UNIX (BSD, SysV) on which it was based. Early version of AIX, for example, used a kernel that was not even written in C, AIX kernel prior to v3 used a PL/I based microkernel, with the AIX personality on top (I'm not sure if the UNIX personality was implemented in C.)
The SunOS kernel was heavily modified from the BSD kernel from which it was derived. So much so, that the SunOS 4 virtual memory design completely replaced the VAX based virtual memory from BSD 4.2, and was in fact ported to be used as VM design for the SVR4 kernel (this was basically an agreement between Sun and AT&T, and I think is what triggered SunOS 5 becoming a SVR4 based system.)
OSF/1, developed by a consortium including DEC, HP and IBM, used the Mach microkernel, with a BSD kernel personality bolted on top, and a BSD user space, and so was BSD based. Ditto for NextSTEP.
So the kernel is necessarily vendor specific. The SysV or BSD-ness is basically the API to user space and the commands presented to the user. That would be the system call and libc API, differences in terminal handling (BSD and SysV had incompatible terminal C interfaces) and the shell and user commands.
A BSD based system with SysV enhancements would have been provided with a SysV compatibility library and perhaps also SysV commands.
A SysV based system with BSD enhancements would similarly have been provided with a BSD compatibility library and commands.
In contrast, Linux distros tend to be a different user space on top of the common Linux kernel, though the user space used by most distros tends to be largely GNU based, so you could say that while SunOS 4 was BSD based and SunOS 5 was SVR4 based, something like Redhat is GNU based, and it's the reason GNU have such a bee in their bonnet about calling Linux based distros GNU/Linux.
Of course, in any case, much of the user space interface presented to the user is not any of SVR4, BSD or GNU, but in fact X11 released under the MIT license from Project Athena.