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
UNIX Codebase/Distros?
- PavelChekov
- Member
- Posts: 113
- Joined: Mon Sep 21, 2020 9:51 am
- Location: Aboard the Enterprise
UNIX Codebase/Distros?
USS Enterprise NCC-1701,
The Final Frontier,
Space,
The Universe
Live Long And Prosper
Slava Ukraini!
Слава Україні!
The Final Frontier,
Space,
The Universe
Live Long And Prosper
Slava Ukraini!
Слава Україні!
- PavelChekov
- Member
- Posts: 113
- Joined: Mon Sep 21, 2020 9:51 am
- Location: Aboard the Enterprise
Re: UNIX Codebase/Distros?
I understand what the terms mean just not how AIX uses the SVR3 codebase.
USS Enterprise NCC-1701,
The Final Frontier,
Space,
The Universe
Live Long And Prosper
Slava Ukraini!
Слава Україні!
The Final Frontier,
Space,
The Universe
Live Long And Prosper
Slava Ukraini!
Слава Україні!
Re: UNIX Codebase/Distros?
You'd have to look at the source code of both AIX and SVR4 to answer that question. Or perhaps do some research on the origin of AIX and how it was build.
No single answer will explain the relationship between all Unix variants.
No single answer will explain the relationship between all Unix variants.
- PavelChekov
- Member
- Posts: 113
- Joined: Mon Sep 21, 2020 9:51 am
- Location: Aboard the Enterprise
Re: UNIX Codebase/Distros?
So it's more of just a fork of these existing codebases? Like OpenBSD to 4.3BSD?kzinti wrote:You'd have to look at the source code of both AIX and SVR4 to answer that question.
USS Enterprise NCC-1701,
The Final Frontier,
Space,
The Universe
Live Long And Prosper
Slava Ukraini!
Слава Україні!
The Final Frontier,
Space,
The Universe
Live Long And Prosper
Slava Ukraini!
Слава Україні!
-
- Member
- Posts: 426
- Joined: Tue Apr 03, 2018 2:44 am
Re: UNIX Codebase/Distros?
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.)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 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.
- PavelChekov
- Member
- Posts: 113
- Joined: Mon Sep 21, 2020 9:51 am
- Location: Aboard the Enterprise
Re: UNIX Codebase/Distros?
From some stuff I read, I get the idea that the AT&T System V kernel was just a reference implementation for others to be based on. Is this correct? Were the other kernels structured similarly?
USS Enterprise NCC-1701,
The Final Frontier,
Space,
The Universe
Live Long And Prosper
Slava Ukraini!
Слава Україні!
The Final Frontier,
Space,
The Universe
Live Long And Prosper
Slava Ukraini!
Слава Україні!