MINIX – Unix-lignende mikrokerne-OS til undervisning og open source
MINIX – open source Unix-lignende mikrokerne skabt af Tanenbaum til undervisning. Lærerig, minimal og historisk vigtig som inspiration til Linux.
MINIX er et Unix-lignende computerstyresystem baseret på en mikrokerne-arkitektur. Andrew S. Tanenbaum skrev styresystemet, så det kunne bruges til undervisningsformål; MINIX hjalp også Linus Torvalds med at designe Linux-kernen. Navnet kommer af ordene minimal og Unix.
MINIX er udgivet under BSD-licensen og er gratis og open source.
Arkitektur og design
MINIX bygger på en mikrokerneidé, hvor kernen holdes så lille som muligt. Kerneopgaver som inter-proces-kommunikation (IPC), planlægning og grundlæggende hukommelsesstyring ligger i kernen, mens funktioner som filsystemer, netværksstakke og enhedsdrivere køres som separate brugerrumsprocesser (servers). Kommunikation mellem disse komponenter foregår typisk ved meddelelser (message passing).
- Fordele: Bedre fejlisolering og modulær opbygning gør det lettere at genstarte eller udskifte individuelle komponenter uden at tage hele systemet ned.
- Ulemper: Historisk har mikrokerner haft større overhead ved kommunikation mellem processer end monolitiske kerner, selvom moderne implementeringer og optimeringer har reduceret forskellen.
Historie og indflydelse
MINIX blev oprindeligt udviklet af Andrew S. Tanenbaum og udgivet sammen med lærebogen "Operating Systems: Design and Implementation" for at give studerende et fuldt fungerende, læsbart og relativt lille styresystem at studere. I begyndelsen af 1990'erne spillede MINIX en central rolle i udvikling af moderne frie kerner, da Linus Torvalds brugte MINIX som udviklingsplatform, inden han skrev den første version af Linux-kernen. Diskussionen mellem Tanenbaum og Torvalds om mikrokerner versus monolitiske kerner er også velkendt i fagmiljøet.
Uddannelse og anvendelse
MINIX er især udbredt i undervisningssammenhæng, fordi kildeteksten er overskuelig og kommenteret, hvilket gør det velegnet til at lære om kernedesign, processer, hukommelsesstyring og filsystemer. Mange universitetskurser bruger MINIX som praktisk eksempel eller som udgangspunkt for opgaver, hvor studerende kan læse, ændre og eksperimentere med kernekode.
MINIX 3 og moderne udvikling
Senere udviklinger, især MINIX 3, fokuserede på høj pålidelighed og evnen til at reparere sig selv: kritiske servere og drivere køres i brugerrum og kan genstartes eller udskiftes uden at genstarte hele systemet. Projektet har haft fokus på at gøre systemet robust nok til indlejrede systemer og til anvendelser, hvor oppetid og sikkerhed er vigtige.
Nøgleegenskaber
- Små og velkommenterede kildefiler — velegnet til undervisning og forskning.
- Mikrokerne med brugerrumskomponenter øger fejltolerance og modularitet.
- Aktivt open source-fællesskab, der vedligeholder kildekoden og tager imod bidrag.
- Porteret til flere platforme, med fokus på x86 og moderne ARM‑arkitekturer.
- God delvis kompatibilitet med POSIX-standarder, hvilket letter portering af programmer.
MINIX forbliver et vigtigt værktøj i undervisning og forskning inden for operativsystemer, både som et praktisk læremiddel og som et demonstrativt eksempel på fordele og udfordringer ved mikrokerne-design.
Historie
Andrew S. Tanenbaum skabte MINIX på Vrije Universiteit i Amsterdam.
MINIX 3
MINIX 3 blev offentliggjort den 24. oktober 2005 af Andrew Tanenbaum i sin tale på toppen af ACM Symposium Operating System Principles-konferencen. MINIX 3 understøtter i øjeblikket kun pc-systemer med IA-32-arkitektur. Det har et Live CD-format, der gør det muligt at bruge det på en computer uden at installere det. Version 3.1.2 blev udgivet den 8. maj 2006. Den indeholder X11, emacs, vi, cc, gcc, perl, python, ash, bash, zsh, ftp, ssh, telnet, pine og over 400 andre almindelige UNIX-programmer. Med tilføjelsen af X11 begynder denne version ændringen fra et system, der kun indeholder tekst.
MINIX og Linux
De designprincipper, som Tanenbaum anvendte på MINIX, havde påvirket de designbeslutninger, som Linus Torvalds anvendte i forbindelse med skabelsen af Linux-kernen. Torvalds brugte og værdsatte MINIX, men hans design adskilte sig fra MINIX-arkitekturen på væsentlige punkter, især ved at anvende en monolitisk kerne i stedet for en mikrokerne. Dette blev som bekendt misbilliget af Tanenbaum i Tanenbaum-Torvalds-debatten. (Tanenbaum forklarede igen sin begrundelse for at anvende en mikrokerne i maj 2006).
Linux er kopieret fra MINIX
I maj 2004 beskyldte Kenneth Brown fra Alexis de Tocqueville Institution i en bog med titlen Samizdat, at store dele af Linux-kernen var blevet kopieret fra MINIX.
Disse beskyldninger blev afvist af næsten alle - især af Andrew Tanenbaum, som var af den faste overbevisning, at Kenneth Brown tog meget fejl, og som offentliggjorde en lang tilbagevisning på sit eget personlige websted.
Licensering
Licensgebyret var meget lavt (69 dollars) sammenlignet med licensgebyret for andre styresystemer. Selv om Tanenbaum ønskede, at MINIX skulle være lige så let tilgængeligt for studerende, ville hans forlægger ikke tillade det.
Da gratis/open source Unix-lignende styresystemer som Linux blev tilgængelige i begyndelsen af 1990'erne, holdt mange frivillige softwareudviklere op med at bruge MINIX til Linux. I april 2000 blev MINIX til fri/open source-software under en fri software-licens, men på dette tidspunkt var andre styresystemer langt bedre, og det blev mest brugt som et styresystem for studerende og hobbyfolk.
Relaterede sider
- GNU Hurd
- HelenOS
- QNX
Søge