- Joined
- Apr 12, 2021
- Messages
- 903
- Motherboard
- Asus z590 ROG Maximus XIII Hero
- CPU
- i9-11900K
- Graphics
- RX 6600 XT
- Mac
- Classic Mac
- Mobile Phone
macOS is Unix based.
Ubuntu is Linux based.
No. But yes...
But no...
[I wanted to make a simple correction, then my explanation took on a life of its own god help you all]
Unix came from Bell labs. It had a long run of releases but the release that was the harbinger for broad adoption was System V RIII. I'm oversimplifying but this what Unix's owner, Bell, thought Unix was at the height of the Unix Wars.
Bell Unix was developed on DEC PDP computers, which had a storied history for cost/performance innovations as compared to IBM, Burroughs, CDC, etc. DEC offered inexpensive mini-computers expensive mainframes. (think $10K–$100K CPUs compared to $100K–$1,000K).
But where Unix took off was on the DEC VAX, because it was a brilliant adventure.
Big Digression on architecture significance of the DEC VAX.
The DEC mini-computer in the form of the PDP series was a seminal step from the mainframes of yore to the micro (personal) computers of today.
PDP stood for "Peripheral Data Processor," which moniker confided its designers' view that a smaller comparatively cost-effective mini-mainframe package was a desirable adjunct to zillion-dollar MIS mainframe time-share deployments.
DEC reached up from the PDP towards the MIS mainframe with a spectacular architecture innovation called the "Virtual Address eXtension" (VAX) to the PDP-11, at the time the most powerful PDP.
The VAX 11 became a reference design for the microprocessor industry by virtue of its distinctive memory architecture, which harmonized several valuable traits:
• Every program gets its own 0-origin virtualized address-space with its physical memory protected from other programs, important for reliability and security.
• IO devices can be memory mapped and accessible through special regions of the physical memory address space making the system HW scalable.
• Kernel-based protection model: a virtual address space and therefore the code within it can be designated privileged and given access to all physical memory. The privileged code is made accessible to non-privileged programs through a "trap" instruction that allows programs to invoke system-defined functions within the protected space. Those functions can be carefully limited in scope to only those actions which ensure fair and secure access to HW by all programs. Similarly IO devices activate protected code via interrupts and access physical memory directly.
Virtual memory plus trap/interrupt allowed a simple and reliable monolithic event-driven approach to orchestrating system HW activated by user program requests from the top of the kernel and device activity from the bottom of the kernel.
• The combination of above enabled a mass-storage device to extend the amount of memory available to programs beyond the RAM available, freeing the programmer from immediate concerns of memory management, as well as protecting a program's data.
• By connecting a timer with process-management CPU instructions, all of the above gets combined into an efficient, inexpensive, secure and powerful multi-tasking, multiuser system architecture.
The VAX design took the microprocessor world by storm.
Intel Architecture as we know it would not exist but for the VAX, because Intel both designed the 386 on DEC minis and copied the VAX HW memory/protection model for the 386's "protected mode". Every VAX sold came with a set of architecture books, which explained the virtual memory system design in great detail, so all the 386 engineers had to do was pick up the book that came with their development stations to learn about the VAX approach.
BOXES OF THIS BOOK WERE LAYING AROUND INTEL DESIGN OFFICES BECAUSE THE A PACK OF BOOKS CAME WITH THE PURCHASE OF VAX SYSTEMS AT THE TIME THE 386 WAS BEING DESIGNED AND A COMPONENT ENGINEERING DIVISION MIGHT HAVE 4–8 VAX 11/780S TO SUPPORT THE PROJECT.
VAX The Original Unit of One
DEC had its own OS for the VAX, called VMS, but this anecdote is about Unix.
End digression
Bell Labs Unix took advantage of DEC PDP-x designs by default, because Brian Kernighan and Dennis Ritchie and Ken Thompson et al had personal access to a PDP
—Everyone who had a lab for any discipline with a budget was buying PDPs. They were the wave of the future.
Because the Unix environment was a combination of a compiler for the C language, of their own invention, used to write the programs in particular novel idiom, they thought of their approach as a philosophy, or way.
They shared their work on C and Unix via the postal service with like-minded academicians who also had PDPs
Because Bell Unix was such an effective development environment, running on a new class of cheap PDP computer HW, it became important in the military industrial complex, starting with the university system, where many (relatively) independent contributors used and extended it.
The University of California Berkeley, (which is important because they were at the heart of the Manhattan Project and computing technology has always been corporate welfare) rolled their own version of Unix called Berkeley Standard Distribution (BSD).
Berkeley Unix advanced the Unix philosophy from the PDP to the VAX.
Berkeley adoption exploded with BSD4.2 which included usability enhancements and IP networking.
Sun based its successful network computer OS on BSD4.2.
With the accelerating value of Unix, The Phone Company began fighting for IP rights. This led to an enormous amount of rabid infighting across the industry about who owns and defines Unix, which became known as the "Unix Wars."
These wars in turn led to the POSIX standard for API interoperability.
It also led Richard Stallman at MIT to start a project to redevelop the Unix philosophy from scratch, unnumbered by intellectual property claims, as a software system he called GNU (GNU's Not Unix). After years of hard work his project redeveloped all the important programs of Unix and made the code freely available, except one program: the kernel.
An enthusiastic highschool student from Finland (which state system accommodates all of its citizens with a rich, progressive, free public education and all the social support one needs to take advantage of it) named Linus Torvalds got a new 386 PC and took it upon himself to do a simple kernel and share his work on a BBS, similar to how Bell Unix was originally shared by post across US universities and corporations. Combined with freely available SW from GNU, a huge spontaneous following amassed to became Linux.
Meanwhile, the OS architect who did VMS for VAX at DEC, Dave Cutler, left to join Microsoft. He led a little project call Windows/NT.
Remember:
I –> H
B –> A
M –> L
?
Well,
V –> W
M –> N
S –> T
Along the way, CMU was experimenting with new kernel designs for POSIX systems based on a message-passing micro-kernel, which sought to minimize the amount of protected code in the OS and improve efficiency and HW parallelism. They called this Mach.
Mach attracted the attention of Steve Jobs after he was kicked out of Apple and started NeXT. Like Sun, NeXT followed in the footsteps of BSD Unix but not the BSD kernel. The NeXTStep married CMU Mach with BSD4.3 to make XNU (X is Not Unix) which Jobs brought back to Apple in the form of XNU/Darwin supporting OS X — "X" as in Roman 10, where with OS X Apple successfully pulled off a Windows/NT for Apple by offering a far more advanced OS design in an appearance familiar to Mac OS 9 users, just as Microsoft had replaced DOS supporting Windows with Cutler's brains for VMS. In both cases, the Mac and the PC became full-fledged OSes, taking advantage of a VAX inheritance to offer greatly enhanced system power, performance and reliability. Apple's switch to x86 is also of major importance during the emergence of OS X as the success of the PC redefined the world of computing.
I hope this summary provides some context for the background of Unix, PCs and Mac and clarifies that while macOS has a Unix heritage, it is certainly not Unix in precisely the same way that Linux is not Unix.
Last edited: