Software-update: Minix 3.1.5

Minix is een besturingssysteem bedacht door Andrew Tanenbaum, hoogleraar informatica aan de Vrije Universiteit in Amsterdam. Ooit diende het als inspiratiebron voor Linus Torvalds' geesteskind Linux. Versies 1.x en 2.x van Minix waren vooral bedoeld als studiemateriaal, maar sinds versie 3.x is het de bedoeling een besturingssysteem aan te bieden voor productieomgevingen waar het gebruik van resources beperkt moet blijven en betrouwbaarheid belangrijk is. Voor de veiligheid wordt bijvoorbeeld benadrukt dat er minder dan vierduizend regels code in kernel-mode draaien. Alle drivers en applicaties werken in user-mode. Hierdoor kan een drivercrash er normaal niet voor zorgen dat het hele systeem platgelegd wordt. De ontwikkelaars hebben bij monde van Arun Thomas versie 3.1.5 van Minix uitgebracht, met de volgende aankondiging:

Hi all,

We are pleased to present the MINIX 3.1.5 stable release. Many bugs have been fixed since the last release, so we recommend you upgrade. The major features of this release are:
  • Better performance
  • Shared memory support
  • Open Source Sound System (OSSv4)
  • Network card autodetection (for supported cards) and improved network configuration
  • More ports: PostgresSQL, QEMU, Sudo, more recent OpenSSH
  • And more...
To find out more about this release, please see http://wiki.minix3.org/en/MinixReleases. You can grab the ISO image from the download page: http://www.minix3.org/download.

Thanks everyone for all your contributions and feedback. We hope you enjoy the new release.

Arun
Versienummer 3.1.5
Releasestatus Final
Website Minix
Download http://www.minix3.org/download
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Japke Rosink

Meukposter

14-11-2009 • 04:17

10

Submitter: LeonM

Bron: Minix

Update-historie

09-'14 Minix 3.3.0 13
11-'09 Minix 3.1.5 10
10-'05 Minix 3.1.1 12

Reacties (10)

10
10
2
1
0
6
Wijzig sortering
Hoewel we hier op tweakers zitten en het aandeel linux gebruikers een stuk hoger zal liggen dan op "normale" websites, betwijfel ik sterk of iemand hier ervaring zal hebben met Minix. Gezien het inspiratie is geweest voor Linux heeft het ongetwijfeld een interessant ontwerp.
edit: Mijn kennis is slechts oppervlakkig maar wat Googlen leert mij dat onderstaande klopt.

Minix is één van de weinig 'echte' micro-kernel systemen. Drivers, bijvoorbeeld, hebben geen toegang tot het door de kernel gebruikte geheugen. Hierdoor is er een veel betere afscheiding tussen je diverse onderdelen: de ene driver kan niet (door een bug, bijvoorbeeld) geheugen van een andere driver wijzigen. De kans dat je systeem over de kop gaat is daardoor veel kleiner.

Overigens zorgt dat er voor dat alle communicatie tussen drivers of andere modules via de kernel moet en dit brengt enige overhead met zich mee. Die overhead is als ik me het goed herinner zo'n 10%.

Verder is het natuurlijk nog steeds mogelijk dat een enkele driver crasht. Als die driver niet meer in de goede 'state' kan komen, zal je systeem er alsnog aan onderdoor gaan. De kans dat dat gebeurd is echter veel kleiner dan bij een conventioneel systeem (monolithische kernel of hybride kernel).

[Reactie gewijzigd door Zsub op 24 juli 2024 20:42]

Anoniem: 69679 @Zsub14 november 2009 11:27
Van de website:
A special process, called the reincarnation server, periodically pings each device driver. If the driver dies or fails to respond correctly to pings, the reincarnation server automatically replaces it by a fresh copy. The detection and replacement of nonfunctioning drivers is automatic, without any user action required. [...]
Ah true. Voor simpele drivers gaat dat inderdaad op. Wat echter zou kunnen gebeuren als je 'zomaar' een nieuwe instance start, is als je geluidsdriver crasht en opnieuw gestart wordt, dat het volume weer naar default gaat, om maar iets te noemen.

In een artikel van een tijdje terug van Tanenbaum et al. stelt hij ook het hypothetische scenario voor dat de reincarnationserver onderuit gaat. Dan zit je ook met een groot probleem. Overigens stelt hij in datzelfde artikel dat je best kan loggen wat welke driver gedaan heeft en bij het replacen dat log als het ware af kan spelen om de driver in dezelfde staat terug te krijgen.

Mocht de bug structureel zijn zal de driver crashen, maar stel dat het een ongelukkige samenloop van omstandigheden was (timing bug/race condition) dan zal het geheel gewoon verder kunnen werken. Geen reden om niet naar de oorzaak van de crash te kijken, natuurlijk ;)

[Reactie gewijzigd door Zsub op 24 juli 2024 20:42]

Er is war extra overheid maar er zijn ook voldoende voordelen om dit verder te ontwikkelen zodat het net als Linux voor gewoon desktop-gebruik geschikt wordt.
Een systeem waarvan de hardware nauwelijks veranderd, zoals een telefoon, netbook of notebook is waarschijnlijk beter af met een Linux of xBSD distributie (inclusief OS-X) met een monolithische of hybride kernel (randapparatuur-drivers wel in user-space) maar bij meer veranderlijjke hardware zoals desktops is de architectuur van Minix waarschijnlijk beter (even ervan uitgaande dat ze beide even ver doorontwikkeld zijn).

Een hybride kernel (ala Haiku/Beos, Windows, Symbian) is uiteraard ook voor notebooks en in iets mindere mate netbooks geschikt maar voor (smart)phones juist weer niet.
"De kans dat je systeem over de kop gaat is daardoor veel kleiner."

Euhm, en Windows dan? :) Das micro kernel.
MINIX is op de Vrije Universiteit (andere universiteiten, ik meen Delft, hebben hier dingen van overgenomen) de basis van de OS en networking practica. Ik heb die practica zelf met plezier gedaan en het niveau was vrij behoorlijk als je het vergelijkt met hoe bijvoorbeeld een TUe beperkt aandacht aan praktijk op dat gebiedt besteedt. Ik ben een redelijke fan van de benadering van Tanenbaum, en de manier waarop hij MINIX voor onderwijs ontwikkeld heeft :)
Minix is de afgelopen 1,5 jaar een stuk volwassener geworden.

Er is tegenwoordig virtual memory (geen swap), oss, shared memory en er waren nog een paar GSoC projecten die nog geïntegreerd moeten worden. Waaronder /dev en /proc.
Het enige wat Minix mist voor dagelijks gebruik, is een volwaardige browser en ondersteuning voor hedendaagse netwerkkaarten en WiFi.
Via mijn stageplaats ben ik in aanraking gekomen met Minix in 1989. Multitasking en multiuser op een XT, Intel 8088 met 640kb geheugen. Dat waren nog eens tijden. De C compiler in Minix was toen de vermaarde Amsterdam C Compiler. Tanenbaum heeft er toen een boek over geschreven.

Linus Torvald heeft later een IDE driver voor Minix geschreven en zo was Linux geboren.
nostalgie.. Minix op de Atari ST1024 (Motorola 68000 processor) :9
Een belangrijke stap in de richting van Linux was, meen ik, het beschikbaar komen van de GCC compiler voor Minix. Toen kon de 386 versie ontstaan die Linux werd genoemd.

Op dit item kan niet meer gereageerd worden.