Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

+1 -800-456-478-23

MINIX 3: The Tiny Operating System Hidden Inside Millions of Intel Computers

MINIX 3: The Tiny Operating System Hidden Inside Millions of Intel Computers

There is a strange piece of computing history hiding inside many Intel-powered computers.

You may boot Windows.

You may run Linux.

You may install FreeBSD.

But underneath all of them, on many Intel systems from the Skylake era onward, another operating system has historically been running inside the platform-management subsystem:

MINIX

Not Linux.

Not Windows.

Not some tiny Intel-only firmware kernel.

MINIX 3.

That is already a fascinating story.

But it becomes even more interesting when you realize that MINIX was originally created mainly as an educational operating system, helped inspire the environment in which Linux was born, became the center of one of the most famous operating-system arguments in history, and was later selected by Intel for an extremely privileged part of its hardware platform—without its creator originally knowing that Intel was deploying it this way. Andrew Tanenbaum later wrote publicly about discovering Intel's use of MINIX in the Management Engine. (VU Amsterdam)

The story of MINIX is therefore not simply:

"Here is another Unix-like operating system."

It is a story about:

  • operating-system philosophy,
  • Linux,
  • microkernels,
  • academic decisions,
  • licensing,
  • Intel,
  • security,
  • and some decisions that look very different in hindsight.

First: What Is MINIX?

MINIX is a small Unix-like operating system created by computer scientist Andrew S. Tanenbaum.

The first version appeared in 1987.

Its original purpose was unusual.

Tanenbaum was teaching operating-system design and wanted students to be able to study a real Unix-like operating system.

Actual Unix source code was not something students could simply obtain and freely examine.

So Tanenbaum wrote something small enough to understand.

Conceptually:

UNIX concepts
     ↓
Small educational implementation
     ↓
MINIX

The original MINIX ran on IBM PC-compatible machines and was designed to accompany Tanenbaum's textbook Operating Systems: Design and Implementation. (Wikipedia)

For students studying operating systems, this was incredibly valuable.

Instead of merely reading:

A scheduler works like this...

they could study actual source code.


MINIX Was Built to Be Understandable

Modern operating systems contain millions of lines of code.

That makes them difficult teaching tools.

Imagine telling a student:

"Here is Linux. Understand the kernel."

That is like giving someone an aircraft carrier when they are trying to learn how engines work.

MINIX took the opposite approach.

Keep it:

Small
Readable
Modular
Understandable

The original MINIX source was intentionally compact enough that major portions could be printed and discussed alongside the textbook. (Wikipedia)

That educational simplicity became one of MINIX's defining characteristics.


Then a Finnish Student Bought a PC

A few years later, a university student named Linus Torvalds was studying computer science in Finland.

He was using MINIX.

He wanted a Unix-like system for his new 386 PC.

MINIX was useful.

But Linus was frustrated by some of its limitations.

So he began experimenting.

At first, he was not necessarily planning to build a global operating system.

He was experimenting with:

Task switching
Terminal handling
Disk access
386 protected mode

Eventually those experiments became a kernel.

That kernel became:

Linux

MINIX did not provide the Linux source code, but it was part of the environment in which Linux was developed. Historical accounts, including comments from both Tanenbaum and Torvalds, describe Torvalds using MINIX while developing the early Linux kernel. (WIRED)


This Is Where the Story Becomes Famous

Linux and MINIX took different architectural approaches.

MINIX favored a:

Microkernel

Linux used a:

Monolithic kernel

That difference produced one of the most famous arguments in operating-system history.


What Is a Monolithic Kernel?

A simplified Linux-style monolithic design looks roughly like:

        Applications
             │
             ▼
     ┌─────────────────┐
     │     Kernel      │
     │                 │
     │ Scheduler       │
     │ Memory          │
     │ Filesystems     │
     │ Networking      │
     │ Device drivers  │
     │ etc.            │
     └─────────────────┘
             │
          Hardware

A lot of operating-system functionality runs inside privileged kernel space.

This can be fast because components communicate directly.

But a serious bug inside privileged code can have major consequences.


What Is a Microkernel?

A microkernel tries to keep the privileged kernel very small.

Conceptually:

          Applications
               │
      ┌────────┼─────────┐
      │        │         │
 File Server Drivers  Process Server
      │        │         │
      └────────┼─────────┘
               │
        ┌─────────────┐
        │ Microkernel │
        │             │
        │ IPC         │
        │ Scheduling  │
        │ Low-level   │
        └─────────────┘
               │
            Hardware

Many services run as isolated user-space processes.

The idea is:

Driver crashes
     ↓
Restart driver
     ↓
Operating system survives

instead of:

Driver crashes
     ↓
Kernel crashes
     ↓
Entire system crashes

MINIX 3 later pushed this reliability philosophy much further, using a tiny microkernel and isolated services to make the system more fault-tolerant and potentially self-healing. (Minix3)


Then Came "Linux Is Obsolete"

In 1992, Tanenbaum criticized Linux's architecture in the famous Usenet discussion generally remembered around the phrase:

LINUX is obsolete

His argument was architectural.

From his perspective, monolithic kernels represented an older design philosophy.

Microkernels looked like the future.

The rough disagreement was:

Tanenbaum:
Microkernels provide cleaner architecture,
better modularity and better fault isolation.

Torvalds:
A practical monolithic kernel can be simpler,
faster and much easier to develop right now.

The debate resurfaced years later, and Tanenbaum continued defending the engineering advantages of microkernel designs while acknowledging some of the complexity involved in distributed-style communication between isolated components. (VU Amsterdam)


And Then Linux Took Over the World

This is where history became somewhat cruel to the prediction.

Linux grew extraordinarily quickly.

Today Linux forms the foundation of enormous portions of computing:

Servers
Cloud platforms
Supercomputers
Android
Routers
Containers
Embedded devices
Kubernetes
Networking equipment

MINIX never became a mainstream desktop or server operating system.

So when people retell the Tanenbaum-Torvalds debate, the easy joke is:

Tanenbaum:
Linux is obsolete.

Linux:
*proceeds to dominate computing*

But that version misses an important point.

Tanenbaum was not really predicting that Linux would have zero users.

He was arguing about kernel architecture.

And decades later, the microkernel philosophy would find some extremely interesting places to live.

Including inside Intel hardware.


MINIX 3 Was Not Just the Original Teaching OS

MINIX 3 was announced in 2005.

It was much more ambitious than the original educational versions.

Its goal was to create a:

Reliable
Secure
Fault-tolerant
Self-healing

Unix-like operating system.

The official MINIX project describes MINIX 3 as a free, open-source system built around a tiny microkernel, with much of the operating system running outside kernel mode. (Minix3)

The design tried to solve a very practical problem:

Device drivers contain bugs.

If a device driver is running inside a monolithic kernel and crashes badly enough, it can bring down the entire system.

MINIX 3 instead isolates components.


The Reincarnation Server

One of MINIX 3's interesting ideas was a service responsible for monitoring other system services.

Simplified:

Driver
   │
   ▼
Reincarnation Server
   │
   ├── Driver healthy → continue
   │
   └── Driver failed → restart it

The operating system attempts to recover automatically.

This is why MINIX 3 was often described as:

self-healing

The project specifically focused on reliability through modularity and fault isolation. (Minix3)


Then Intel Needed an Operating System

Modern Intel platforms contain more than just the CPU cores you normally think about.

There are also management components responsible for low-level platform functions.

One of the most controversial is:

Intel Management Engine

or:

Intel ME

At a simplified level, you can imagine an Intel computer as:

┌───────────────────────────────┐
│ Your computer                 │
│                               │
│ CPU cores                     │
│      │                        │
│      ▼                        │
│ Windows / Linux / BSD         │
│                               │
│ ----------------------------  │
│                               │
│ Management subsystem          │
│      │                        │
│      ▼                        │
│ Intel Management Engine       │
└───────────────────────────────┘

The management subsystem can operate separately from the main operating system.

That means Windows or Linux is not necessarily the lowest software layer running on the machine.


Intel Chose MINIX

This is the surprising part.

Intel used MINIX 3 as part of the software environment for versions of its Management Engine, particularly in the ME 11 generation associated with Skylake-era platforms. Tanenbaum later wrote that Intel had contacted the MINIX developers with technical questions but did not tell them the eventual purpose; he learned publicly later that MINIX had been deployed in Intel's Management Engine. (VU Amsterdam)

Think about the irony.

The operating system that had never become the dominant desktop platform was suddenly inside an enormous number of computers.

Potentially underneath:

Windows
Linux
macOS on Intel Macs
BSD
Hypervisors

The user might never know.


The Computer Inside Your Computer

A useful way to think about the Management Engine is:

Your PC
│
├── Main CPU
│      │
│      └── Windows/Linux/etc.
│
└── Management subsystem
       │
       └── Firmware / operating environment

The management subsystem can have capabilities and privileges unavailable to normal user software.

That is one reason its security architecture has attracted so much scrutiny.

It is effectively a small computer embedded inside the platform.


So MINIX Became Enormously Deployed Without Becoming Popular

This created one of the strangest claims in operating-system history.

Depending on exactly which Intel generations and devices are counted, people began suggesting that MINIX might have become one of the world's most widely deployed operating systems.

Not because people chose:

Install MINIX

but because they bought:

Intel computer

and some version of MINIX was embedded inside the management platform. The breadth of that deployment is why the 2017 revelation attracted so much attention. (Wikipedia)


And Andrew Tanenbaum Apparently Had No Idea

This is perhaps the most remarkable part.

Intel engineers had communicated with Tanenbaum's team.

According to Tanenbaum's later open letter, Intel asked technical questions about MINIX.

The team answered them.

But Intel apparently did not disclose:

"We are putting MINIX into the management subsystem of huge numbers of Intel computers."

Tanenbaum wrote that he only learned about the deployment later. (VU Amsterdam)

Imagine spending decades building an operating system and then discovering that your work is secretly running inside enormous numbers of computers.


Why Would Intel Choose MINIX?

From an engineering perspective, the choice actually makes sense.

Intel needed something that was:

Small
Modular
Portable
Reliable
Mature
Easy to adapt

MINIX also had a permissive license.

And its microkernel architecture was attractive for a management environment where isolation and reliability matter.

Tanenbaum himself later wrote that he understood MINIX's small size and modular microkernel structure to have been major attractions for Intel. (VU Amsterdam)


The Licensing Decision Becomes Very Interesting Here

Now we reach one of the decisions people often describe as one of Tanenbaum's "mistakes."

That wording needs some care.

It was not necessarily a mistake at the time.

But it had enormous consequences.

Early MINIX was not distributed under something like the GPL.

Later MINIX versions used permissive BSD-style licensing.

A permissive license effectively allows companies to:

Take code
   ↓
Modify code
   ↓
Use it commercially
   ↓
Often without publishing modifications

The GPL works differently.

Simplified:

GPL software
    ↓
Modify and distribute derivative work
    ↓
Source-sharing obligations apply

This distinction matters enormously.


Intel Could Use MINIX Without Opening Its Modifications

Because MINIX used a permissive license, Intel could incorporate and modify it under the license terms without having the GPL-style obligation to release its modified source tree.

Tanenbaum later explicitly acknowledged this irony.

He noted that people had suggested Intel might not have chosen MINIX if it had been GPL-licensed, because Intel would then have faced source-disclosure obligations for relevant derivative work. He considered the architecture itself likely the primary attraction, but recognized the licensing point. (VU Amsterdam)

So:

Permissive MINIX license
        ↓
Easy commercial adoption
        ↓
Intel can incorporate it
        ↓
MINIX reaches huge deployment
        ↓
Community does not automatically receive Intel's modifications

That is both a success and a frustration.


Mistake #1: Keeping Early MINIX Too Restricted

The larger historical licensing story begins even earlier.

MINIX was initially distributed primarily as educational software associated with a textbook.

It was source-available in important ways, but it was not originally developed under the kind of open collaborative model that later allowed Linux to explode.

People wanted to modify MINIX.

People wanted to add features.

People wanted it to become a serious Unix replacement.

Tanenbaum's priority was different.

He wanted:

A clean teaching operating system

rather than:

A constantly expanding community operating system

That was completely reasonable academically.

But historically it created an opportunity.


Linux Said "Yes" Where MINIX Often Said "No"

Users wanted:

More hardware support
More features
More experimentation
386-specific improvements
A practical free Unix

Linux evolved in that direction.

MINIX largely remained focused on teaching and architectural cleanliness.

A contemporary historical account quotes Tanenbaum describing how users repeatedly asked him to add features and how he often declined because MINIX's purpose was educational. (WIRED)

Linux took almost the opposite approach:

Someone needs hardware support?
Add it.

Someone writes a driver?
Merge it.

Someone wants networking?
Build it.

Someone wants another architecture?
Port it.

That difference mattered enormously.


Mistake #2: Optimizing for Elegance Instead of Momentum

Again, "mistake" depends on the objective.

If your objective is:

Teach operating-system architecture

MINIX was extremely successful.

If your objective is:

Become the world's dominant Unix-like operating system

then refusing feature growth was costly.

Tanenbaum valued clean architecture.

Linux valued practicality.

You might summarize the two cultures as:

MINIX:

Can we design this correctly?


Linux:

Can we make this work?

Of course, modern Linux engineering is far more sophisticated than that simplification suggests.

But culturally the difference mattered in the early years.


Mistake #3: Underestimating Commodity x86

Tanenbaum also disliked tying an operating system too strongly to Intel's 386 architecture.

From an academic and architectural perspective, that made sense.

Architectures change.

Portable designs survive.

Linux, however, initially embraced the hardware people actually had:

Intel 386 PCs

That turned out to be a gigantic market.

Instead of saying:

Do not optimize too heavily for this architecture.

Linux effectively said:

This is the computer everyone can buy.
Let's make it work extremely well.

The explosion of commodity x86 PCs gave Linux an enormous platform on which to grow.


This Is an Important Engineering Lesson

Sometimes:

Architecturally general

loses to:

Extremely useful right now

You see this repeatedly in technology.

The technically cleaner platform does not always win.

The platform with:

Developers
Hardware support
Community
Documentation
Applications
Momentum

often does.


Mistake #4: Underestimating the Monolithic Kernel

Tanenbaum's criticism of Linux centered heavily on kernel architecture.

His fundamental argument was not absurd.

Even today, microkernels have genuine engineering advantages.

Fault isolation is valuable.

A small trusted computing base is valuable.

User-space drivers can improve reliability.

But Linux demonstrated something else:

A monolithic kernel can be engineered extremely well.

Linux gradually gained:

Loadable modules
Namespaces
cgroups
eBPF
Security frameworks
Live patching
Container isolation
Huge driver ecosystem
Multiple architectures

The architecture did not prevent Linux from becoming extremely sophisticated.


But Here Is the Twist

Decades later, some of Tanenbaum's architectural arguments look much less ridiculous than the famous "Linux is obsolete" headline suggests.

Modern systems increasingly emphasize:

Isolation
Small trusted computing bases
Sandboxing
MicroVMs
User-space services
Capability security
Fault containment

And Intel itself selected a microkernel-oriented system for a highly privileged embedded management environment.

So history gave us a strange outcome:

Linux wins the operating-system market.

MINIX loses the operating-system market.

But MINIX's architecture gets embedded
inside the hardware running Linux.

That is wonderfully ironic.


Intel's Choice Also Created a Security Controversy

There is another side to the story.

The Intel Management Engine has extremely deep access to the computer platform.

Security researchers have long debated the implications of having a large, largely opaque management environment running beneath the main operating system.

Tanenbaum himself criticized the general idea after learning how MINIX was being used, describing the management engine as a potential security problem while emphasizing that Intel's architectural decision was separate from MINIX itself. (VU Amsterdam)

The concern is straightforward.

Suppose:

Windows compromised

You can reinstall Windows.

Suppose:

Linux compromised

You can reinstall Linux.

But what if software beneath the operating system is compromised?

Now the trust model becomes much harder.


Privilege Changes Everything

Imagine the hierarchy:

Applications
     ↓
Operating System
     ↓
Hypervisor
     ↓
Firmware / Management environment
     ↓
Hardware

The lower you go, the more dangerous compromise can become.

That is why firmware and management systems deserve extremely strong security controls.

A vulnerability there is potentially more significant than a vulnerability in an ordinary desktop application.


MINIX Was Not the Security Problem by Itself

This distinction is important.

People sometimes hear:

Intel ME uses MINIX

and conclude:

MINIX is malware.

That is incorrect.

MINIX is simply an operating system.

The controversy is about:

What the management subsystem can do
+
How privileged it is
+
How transparent it is
+
How it is secured

The same conceptual concern could exist whether the underlying OS were:

MINIX
Linux
FreeBSD
Custom RTOS

The architecture and privilege model are the important pieces.


Why MINIX Was Actually a Logical Choice

Ironically, MINIX's design is quite suitable for this type of environment.

Intel wanted a small operating environment.

MINIX had:

Microkernel architecture
Small codebase
Modularity
Process isolation
Unix-like environment
Permissive license

That makes much more sense than embedding a giant general-purpose desktop Linux distribution.

The same qualities Tanenbaum valued academically became useful commercially decades later.


The Biggest Irony of All

The famous historical narrative says:

Tanenbaum chose microkernels.

Torvalds chose monolithic kernels.

Linux won.

Tanenbaum was wrong.

But reality is more interesting.

A better version might be:

Torvalds was right about
what would work practically
for a rapidly evolving general-purpose OS.

Tanenbaum was right that
small isolated components can be valuable
for reliability and trusted systems.

Both ideas survived.

They simply succeeded in different places.


MINIX vs Linux

A simplified comparison:

Area MINIX 3 Linux
Architecture Microkernel Monolithic/modular kernel
Original focus Education/reliability General-purpose Unix-like OS
Creator Andrew Tanenbaum Linus Torvalds
First generation 1987 1991
Main philosophy Modularity and fault isolation Practical performance and broad hardware support
Device drivers Mostly isolated user-space services in MINIX 3 Mostly kernel-space modules
Community scale Small Massive
Server dominance No Yes
Embedded use Yes Massive
Intel ME deployment Historically yes Not as the ME OS in the discussed generations
Licensing BSD-style permissive GPL

MINIX 3's official project documentation emphasizes reliability, modularity, and a tiny microkernel as its defining characteristics. (Minix3)


What Could Tanenbaum Have Done Differently?

With decades of hindsight, you could imagine an alternate timeline.

Suppose MINIX had been:

Freely collaborative from the beginning
+
Friendly to user-requested features
+
Highly optimized for 386 PCs
+
Community governed
+
Released under a license encouraging shared development

Maybe Linux never becomes necessary.

Perhaps people build:

GNU + MINIX kernel

instead of:

GNU + Linux kernel

and today we might be typing:

uname -s

and seeing:

MINIX

instead of:

Linux

But history does not work from architecture alone.

Linux arrived at exactly the right time with exactly the right development model.


And This Is Why Calling Tanenbaum's Decisions "Mistakes" Is Complicated

From a commercial-market perspective, some choices clearly limited MINIX.

But Tanenbaum was a professor building an operating system for education and research.

His goal was not:

Beat Microsoft.
Beat Unix.
Build a trillion-dollar ecosystem.

His goal was closer to:

Teach students how operating systems work.
Explore cleaner operating-system architectures.
Build highly reliable systems.

By that standard, MINIX was enormously successful.

It influenced generations of computer-science students.

It influenced Linux indirectly.

It became a serious research platform.

And then, unexpectedly, parts of it found their way into Intel's management infrastructure.


The License Was Both a Mistake and a Success

This is perhaps the most interesting philosophical question.

Because MINIX used permissive licensing:

Intel could adopt it easily.

That resulted in enormous deployment.

But:

Intel did not have to return all its modifications
to the public project in the way GPL-style copyleft
would have required for covered distributed derivatives.

So what matters more?

Maximum adoption?

or:

Maximum contribution back?

There is no universal answer.

That same debate exists today between:

MIT
BSD
Apache
GPL
AGPL

licenses.

MINIX is one of the most fascinating real-world examples of the consequences.


A Small Academic OS Ended Up Beneath a Giant Industry

MINIX began as something a professor could explain to students.

The trajectory looks almost absurd:

1987
Teaching operating system
      ↓
Students study MINIX
      ↓
Linus Torvalds uses MINIX
      ↓
Linux appears
      ↓
Linux becomes globally dominant
      ↓
MINIX evolves into MINIX 3
      ↓
Intel chooses MINIX
      ↓
MINIX runs inside Intel management hardware
      ↓
Millions of computers quietly run it

Few operating systems have had a stranger history.


There Is Also a Lesson for Open-Source Developers

The MINIX story demonstrates that:

The way you license software

can be just as consequential as:

How you architect the software.

Architecture determined why Intel may have liked MINIX.

Licensing determined how easily Intel could use it.

Community decisions determined why Linux grew faster.

All three mattered.


Another Lesson: Technical Superiority Does Not Guarantee Adoption

Technology history is full of examples where engineers ask:

Why did technology A win when technology B was cleaner?

Because winning depends on more than architecture.

It depends on:

Timing
Community
Licensing
Developer experience
Hardware
Compatibility
Marketing
Ecosystem
Luck

Linux had an extraordinary combination of these.

MINIX had different goals.


And Another Lesson: Old Ideas Sometimes Return

Microkernels never disappeared.

They continue to appear in systems where:

Reliability
Isolation
Security
Certification

matter heavily.

Examples across the broader industry include microkernel-oriented and highly componentized systems used in embedded, automotive, aerospace, mobile, and security-sensitive environments.

So the old debate never really ended.

It simply became less binary.


The Linux vs MINIX Question Today

The modern answer is probably:

Which architecture fits the problem?

For a massive general-purpose operating system with thousands of drivers:

Linux works exceptionally well.

For a highly isolated, reliability-focused embedded environment:

A microkernel may be extremely attractive.

Engineering is rarely about finding one architecture that wins everywhere.


Final Thoughts

MINIX has one of the strangest histories in computing.

It started as:

A small operating system
for teaching students.

It helped create the environment that inspired:

Linux.

Its creator then argued that Linux's monolithic architecture represented the wrong direction.

Linux went on to dominate huge parts of computing.

That made Tanenbaum's position look foolish.

Then decades later:

Intel

quietly chose:

MINIX

for a deeply embedded management environment in vast numbers of computers. (VU Amsterdam)

And the very qualities Tanenbaum had defended—

Small kernel
Modularity
Isolation
Reliability

—were exactly the kinds of properties that made MINIX attractive for embedded systems.

The biggest "mistake" was therefore probably not that Tanenbaum misunderstood operating-system engineering.

His architectural ideas were serious, and many remain relevant.

The bigger missed opportunity was that he underestimated something else:

Community.

Linux was not merely a kernel architecture.

It became a movement.

Thousands of developers could change it.

Hardware vendors could support it.

Users could add what they needed.

The project could evolve in directions its original creator never planned.

MINIX was designed to demonstrate how an operating system should be built.

Linux evolved according to what millions of people needed it to become.

And computing history ultimately rewarded the second model.

Yet in one final piece of irony, somewhere underneath many Intel systems, the little operating system that supposedly lost the battle was quietly running all along.

Leave a comment

Your email address will not be published. Required fields are marked *