Wednesday, 20 August 2008 arrowHome Add to Technorati Favorites
Main menu
Home
Articoli
RSS news
Saputello
Segnalazioni
Info
The Four Keys
Info sullo speciale
Approfondimenti sul codice
C++, STL, Design Pattern
OpenGL, SDL e Computer Graphics
Artwork




MINIX 3: Linux ha i giorni contati? E-mail

 

minix 3Ovviamente il titolo di questo articolo è volutamente provocatorio ma riassume un po' lo spirito di riscossa che sta dietro agli sviluppatori di MINIX 3. Intendiamoci, MINIX 3 come i suoi illustri predecessori, è stato creato prevalentemente a scopo didattico ed è oggetto di disamina nel celeberrimo libro "Operating System Design and Implementation" di Andrew Tanenbaum. Tuttavia questa nuova versione introduce un nuovo obbiettivo oltre a quello puramente didattico, ovvero diventare un sistema utile ed usabile in applicazioni reali, in particolare in sistemi a risorse limitate, nei sistemi embedded ed ovunque sia necessario un sistema operativo ad alta affidabilità. Si noti comunque che al momento questo rimane ancora un obbiettivo alquanto lontano dato che il grado di maturità di MINIX 3 non è neanche comparabile con quello di Linux e BSD-derivati.

 

Ma quali sono le feature di MINIX 3? Cosa può fare in concreto e perché dovrebbe interessarci? Cominciamo dalle caratteristiche chiave così come sono riportate nel sito www.minix3.org (versione di riferimento 3.1.2, rilasciata l'8 maggio 2006):

  • Architettura a microkernel

  • Riscrittura completa rispetto MINIX 1 e 2

  • Gira su i386-compatibili con 8 o 16Mb di ram

  • Può effettuare il boot da un "Live CD" e se istallato su disco richiede 50Mb

  • Codice C completo disponibile sotto licensa BSD

  • Il kernel consta di sole 4000 linee di codice

  • Compatibilità POSIX

  • Sistema di rete TCP/IP

  • Supporta fino a 4Gb di RAM

  • Virtual File System, file system proprietario non journaled, indirizzamento VFS a 64 in via di sviluppo, supporta blocchi da 1,2,4 e 8K, swap su disco opzionale.

  • Totalmente multi utente e multi programmato

  • I driver girano in "user space"

  • Alto grado di "fault tolerance" grazie all'architettura a microkernel

  • Possibilità di autoripararsi ("reincarnation server")

  • easypack, sistema di pacchettizazione che scarica ed istalla automaticamente componenti e programmi (simile a deb e rpm)

Principali programmi supportati:

  • X Window R6.8.2

  • Vari linguaggi tra cui: cc, gcc, g++, perl, python

  • Più di 400 programmi Unix

  • FLTK 1

  • Anitiword

  • Driver audio SB16 ISA and ES1371

  • Berkeley DB

  • Emacs e vi

  • Lynx, wget, ftp, openssh e openssl

  • Moltissimi altri programmi e librerie GNU

Principali programmi il cui porting è in corso:

  • GLib 1.2

  • GTK+ 2.10

  • Apache 1.3

  • Equinox Desktop Environment

  • 3D Athena widget set

  • EFLTK 2 e FLTK 2

  • Subversion

  • Ghostscript

  • pthreads

  • g++ e gdb

Principali componenti in fase di sviluppo:

  • USB drivers

  • Framework per driver audio

  • Framework per portare driver Linux e *BSD su MINIX 3

  • Supporto Inet, Ethernet, sockets

  • Supporto alle librerie dinamiche

  • Stampa

  • Porting su varie architetture: AMD64, PowerPC, MIPS, XEN, ARM

Evidentemente una volta portate librerie chiave come glib e gtk+ la crescita di MINIX sarà esponenziale e supporterà un infinità di programmi e tool sviluppati per Linux e BSD vari. Nonostante questo il problema chiave che gli sviluppatori di MINIX 3 dovranno affrontare rimarrà certamente il supporto hardware, ovvero lo sviluppo/porting di un adeguato numero di driver. Senza questo MINIX 3 è destinato a rimanere un software di nicchia a cui pochi sono interessati. In un mondo perfetto i driver verrebbero scritti una volta sola e sarebbero compatibili, almeno a livello di sorgente, con Linux, BSD-derivati e MINIX 3... D'altro canto le migliaia di utenti giornalieri che visitano il sito dimostrano che l'interesse verso il nuovo SO non manca, ma anzi si parla di una vera e propria rinascita di MINIX.



 
Next >



I più letti
Suggerimenti Google
Novità
© 2006-2007 Michele Bosi
E' vietata la riproduzione, anche parziale, di contenuti e grafica
Ottimizzato per Firefox 2.0 ed Internet Explorer 6.0