Trucs de Geek

Minix, ipv6 et multicast...

                        

MINIX : Un mini Unix Libre

Cette page est une traduction augmentée de la "Minix information sheet" de Andy Tanenbaum.

Les téléchargements se font a partir de la page originale.


QU'EST-CE QUE MINIX 2.0

Minix est un clone unix gratuit, basé sur un mini noyau, diffusé avec ses sources et une importante documentation. Sa petite taille en fait un systeme adapté pour expérimenter unix chez soi. Quelques mois d'utilisation permettent d'appréhender completement le systeme.

MINIX a été écrit à partir de rien, et donc ne contient pas de source protégées (ni dans le noyau, dans le compilateur, les utilitaires, ou les bibliothèques). Pour cette raison la source complète peut être distribuée (par FTP ou par l'intermédiaire du WWW).

MINIX a évolué au cours des années, ainsi plusieurs versions existent. Les versions en cours sont:
 
MINIX 2,0 (Intel PCUs de 8088 au Pentium) 
MINIX 1,5 (Intel, Macintosh, Amiga, Atari, SPARC) 
Les autres sont désuettes.

Cette page traite particulièrement de Minix 2.0. Vous pouvez visiter MINIX 1.5 FAQ et MacMINIX FAQ (en anglais).

Minix 2.0 peut etre compité en 16 bits ou en 32 bits (dans ce cas, il est nécessaire de posséder au moins un 386)


DESCRIPTION TECHNIQUE

  • Vrai multitache
  • Mode protégé disponible sur les 286, 386, 486, Pentium
  • Supporte la mémoire étendue jusqu'à 16M sur un 286; 4 GB à partir du 386
  • Supporte une RS232
  • 3 utilisateurs simultanés possibles sur une meme machine
  • Compatible POSIX (presque à 100% !!!)
  • Code source en C complet (OS, utilitaires, librairies)
  • Compilateur ANSI C
  • Shell fonctionnant comme le the Bourne shell
  • Réseau / TCP/IP
  • 5 éditeurs(emacs subset, vi clone, ex, ed, and simple screen editor)
  • plus de 200 utilitaires (cat, cp, ed, grep, kermit, ls, make, sort, etc.)
  • plus de 300 fonctions en librairies (atoi, fork, malloc, read, stdio, etc.)
  • Dictionnaire anglais 40 000 mots
  • Aide en ligne


HARDWARE NECESSAIRE

PC avec processeur 8088, 286, 386, 486, ou Pentium Le systeme doit etre 100% compatible avec les normes PC-AT (EISA bus, IDE disk, etc.).

RAM : 16 bits version, 640K minimum. 32-bit version, 2MB minimum. C'est plus confortable avec 512 k de plus !

Le disque dur n'est pas indispensable mais chaudement recommandé ! Prévoyez 20 Mo minimum, 30 c'est mieux (chez moi, j'en ai réservé 50, soyons fous !)

Vidéo : CGA, EGA, VGA, monochrome ou Hercules (ou une carte comptatible avec l'un de ces standards). Disk 5.25" ou/et 3.5" diskettes. Le systeme supporte les imprimantes paralleles, les modems (port série), CD Roms et certaines cartes Ethernet.


QUELQUES UTILITAIRES MINIX

aal add_route advent animals ar ascii ash at atrun autil backup badblocks banner basename bawk bc bin btoa byacc cal calendar cat cawf cd cdiff cdplay cgrep chmem chmod chown ci cksum clr cmp co comic comm compress cp crc cron cut date dd de decomp16 df dhrystone diff dirname dis88 diskcheck diskusage dosread du dw echo ed eject elle elvis expand expr factor fdisk fgrep file find finger flex fold format fortune fsck ftp gather getty gomoku grep head host hostaddr ic id ifconfig ifdef indent inodes install irdpd isoread join kermit kill last leave life loadfont loadkeys login look lpr ls m4 mail make man men mined mixer mkdir mkfifo mkfs mknod mkproto modem mount mref mt ncheck nm nonamed od part partition passwd paste patch pathchk ping playwave postmort pr prep pretty printenv printroot proto ps pwd rarpd rcp readall readclock readfs reboot recover recwave remsync repartition rev rlogin rmdir roff rsh screendump scripts sdump sed sh shar simple size sleep sort split strings strip stty su sum swapfs sync synctree tail tar tcpd tee telnet term termcap test time touch tr traverse treecmp tset tsort ttt tty umount uname unexpand uniq unshar update users uud uue vol wc whatsnew which who whoami width write xargs yap yes zmodem (y'en a d'autres !)


QUELQUES FONCTIONS EN LIBRAIRIE

abort abs access alarm alloca asctime asin assert asynchio atan atan2 atexit atof atoi atol bcmp bcopy brk brksize bsearch bzero calloc ceil cfgetispeed cfgetospeed cfsetispeed cfsetospeed chartab chdir chmod chown chroot clearerr clock close closedir creat crypt ctermid ctime cuserid data difftime div doprnt doscan dup dup2 ecvt environ errlist errno ether_line ethera2n ethere2a etherh2n ethern2h exec execl execle execlp execn execv execve exit exp ext_comp fabs fclose fcntl fdopen feof ferror fflush ffs fgetc fgetpos fgets fileno fillbuf floor fltpr flushbuf fmod fopen fork fpathconf fprintf fputc fputs fread freopen frexp fscanf fseek fsetpos fslib fstat fsversion ftell fwrite getc getchar getcwd getdomain getegid getenv geteuid getgid getgrent getgroups gethnmadr gethostent gethostname getlogin getopt getpass getpid getppid getprocessor getproto getprotoent getpw getpwent gets getservent getsrvbyname getsrvbyport getuid getw gmtime gtty hton hugeval hypot icompute index inet_addr inet_ntoa ioctl iolib isalnum isalpha isascii isatty iscntrl isdigit isgraph islower isnan isprint ispunct isspace isupper isxdigit itoa kill labs ldexp ldiv link loadname localeconv localtime lock log log10 longjerr lrand lsearch lseek malloc mblen mbstowcs mbtowc memccpy memchr memcmp memcpy memcspn memmove memset misc mkdir mkfifo mknod mktemp mktime modf mount mtab nlist oneC_sum open opendir pathconf pause peekpoke perror pipe popen pow printf printk ptrace putc putchar putenv puts putw qsort raise rand rcmd read readdir reboot regexp regsub remove rename res_comp res_init res_mkquery res_query res_send rewind rewinddir rindex rmdir sbrk scanf seekdir sendrec setbuf setgid setjmp setlocale setuid setvbuf sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigmisc signal sigpending sigprocmask sigreturn sigset sigsetjmp sigsuspend sin sinh sleep sprintf sqrt sscanf stat stderr stime strcasecmp strcat strchr strcmp strcoll strcpy strcspn strerror strftime strlen strncat strncmp strncpy strnlen strpbrk strrchr strspn strstr strtod strtok strtol strxfrm stty swab sync syscall sysconf system tan tanh taskcall tcdrain tcflow tcflush tcsendbreak telldir termcap termios time times tmpfile tmpnam tolower toupper ttyname tzset umask umount uname ungetc unlink utime vfprintf vprintf vsprintf wait waitpid wcstombs wctomb write


APPRENDRE MINIX PAR LES LIVRES

En anglais ! Peut-on le trouver en france ? Mystère !
           Operating Systems: Design and Implementation, 2/e
           de Andrew S. Tanenbaum, Albert S. Woodhull
           édité chez :  Prentice-Hall


LICENSE / MINIX LEGAL

Un copyright existe sur Minix (ce n'est pas du domaine public, ni du GNU). Vous pouvez le télécharger et l'utiliser gratuitement à titre privé ou pour de l'enseignement/recherche. Les sociétés souhaitant utiliser Minix doivent obtenir une permission de Prentice-Hall, pocesseur du copyright. Pour le texte détaillé de la licence, cliquez ici (Attention, c'est en anglais).


Nouveautés et archives

Nouveautés :

Sur Usenet : comp.os.minix. Ce forum contient des rapports de bugs, leur correction, des nouveaux logiciels tournant sous minix. Une mailing list existe (info-minix-request@udel.edu). Autres liens (dont des archives): MINIX 1.5 FAQ (en anglais).

Minix (distribution) n ftp.cs.vu.nl in pub/minix/CD-ROM-2.0


OBTENIR MINIX

La page principale, à partir de laquelle vous pouvez télécharcher Minix, est ici. Je vous encourage à l'ouvrir dans une autre fenetre avant de continuer la lecture...

Ca y est ? Cette page vous conseille de lire la doc avant d'installer minix. Pas de panique, voila la traduc' :

Il y a 3 distribution proposée:
  • La normale (32 bits, à partir du 386, 2 Mo de RAM recommandés) - répertoire i386
  • La petite (8086/286) - répertoire i86
  • la mini (8086 ou 286 avec peu de mémoire ou/et lecteur de disk 360ko) - répertoire i86 et xt

Ces répertoires sont dispos en archives TAR (si vous connaissez déjà un peu UNIX ou MINIX) et que vous disposez de suffisement d'espace disque pour les télécharger (10 Mo chacun - meme sur un autre disque que celui sur lequel vous souhaitez installer Minix):I386.tar i86.tar et xt.tar.

En TAR aussi, les sources et la doc (en anglais) : src.tar, pas obligatoires mais recommandées !


Si vous ne connaissez pas du tout UNIX ou MINIX, vous devez télécharger manuellement les fichiers de chaque répertoire, selon la version souhaitée. Rendez vous donc sur la page originale de téléchargement et faites vos courses !

Creer les disquettes

Pour l'installation, vous allez avoir besoin de plusieurs disquettes, créées à partir des fichiers téléchargés.

Les fichiers TAZ sont des archives qui doivent etre copiés sur plusieurs disquettes. Pour cela, utilisez sous DOS la commande FDVOL.

Si vous ne disposez pas de cette commande, pas de panique ! Téléchargez la sur le répertoire dosutil.

Utilisation : Pour copier le TAZ sur plusieurs disquette 1,4 Mo, tapez fdvol 1440 A: SYS.TAZ

(si vous utilisez des disk 720 K: fdvol 720 A: SYS.TAZ)

C'est bon ? Bien, maintenant, vous avez téléchargé 2 fichiers .HTML Renommez les sans extension (si vous faites cela sous Windows, il vous demandera "Etes vous surs de vouloir changer l'extention, ca risque de rendre le fichier inutilisable". Répondre oui !). Puis faites la meme chose : fdvol 720 A: ROOT et fdvol 720 A: USR si vous etes sur des disks 720 K, ou fdvol 1440 A: ROOT USR si vous etes sur un disk 1,4 Mo (cette commande combine USR et ROOT sur le meme disk). DONC : Quelle que soit la version et la méthode utilisée, vous vous retrouvez avec un jeu de disquettes. Ok ?

Installation :

A partir de maintenant, l'installation commence à comporter certains risques. Si vous souhaitez installer Minix sur un disque dur indépendant (ou sur un vieux PC dont minix sera le seul OS), pas de probleme, sautez toute cette partie. Par contre, si vous souhaitez faire fonctionner sur le meme disque dur Minix et un autre OS (Windows, par exemple), SAUVEGARDEZ VOTRE SYSTEME ACTUEL AVANT DE CONTINUER !!! En cas d'erreur, ca vous sera salutaire ! Minix devra être installé sur une partition de votre disque (une partition est un lecteur "logique" différent. En gros, on "coupe" le disque C en C et D). Si vous le pouvez, il est préférable de faire la partition au moment du formattage du disque. Si c'est trop tard (cas du disque déjà à moitié rempli !), téléchargez fips (format zip, doc incluse), et utilisez le pour créer la partition sur laquelle vous installerez MINIX. Ca y est ? Avant de continuer, rebootez votre systeme histoire de vérifier si windows marche toujours. Utilisez votre sauvegarde pour corriger le probleme s'il y en a.

La ou le DOS dit C ou D pour un disque, Minix, comme tous les unix, dit /dev/hd1 ou /dev/hd2 (comme un répertoire). C'est un peu déroutant au début mais on s'y fait.

L'installation peut se faire en version automatique ou manuelle. Voici comment utiliser la version automatique.

Insérez la disquette ROOT et bootez votre machine. Tapez "=". Le noyeau Minix est chargé et l'information "copyright" apparait.

tapez "setup" pour lancer le script d'installation. D'abord, choisissez votre clavier (pas de probleme particulier). Ensuite, le script vous propose d'utiliser PART pour créer une partition. L'auteur trouve que ce logiciel est facile à utiliser, en fait, c'est une horreur. Retenez bien que "q" permet de quitter et "n" ne sauve pas la partition. RETURN recommence tout. "?" permet d'obtenir de l'aide, les fleches servent à se promener.

Avec "+" et "-", selectionner la partition sur laquelle vous voulez installer minix, probablement /dev/hd0. Tapez "r" pour charcher la partition (me demandez pas pourquoi "r"). Vous pouvez créer une partition en modifiant un "NONE" ou en changeant le type d'une partition exitante (type="MINIX").

Le script vous redemande le nom de la partition que vous avez créé, continue l'installation en créant ROOT et USR (environ 1,4Mo pour Root, le reste pour usr), puis vous demande la taille de votre RAM. Vous pouvez simplement taper ENTER si vous en avez à profusion (c-à dire plus de 4Mo) ou alors entrez une valeur.

Si vous souhaitez installer Minix manuellement, referez vous à l'aide (en anglais) de la page de téléchargement.

Voila, Minix est installé ! Pour le tester, vous pouvez vous référer aux nombreuses pages parlant d' Unix (les principales commandes standart fonctionnent) ou à l'aide en anglais...


MINIX SUR UN EMULATEUR

Utilisation possible d'un émulateur (386 interpreter): Bochs. Une version de Bosh est disponnible sur le CDROM MINIX .

Minix peut tourner comme un programme normal sur une SPARC. Cliquez ici pour plus d'infos en anglais.


AUTRES RESSOURCES MINIX

Page de liens : Cliquez ici (en anglais)


Basé sur le texte original de Andy Tanenbaum (ast@cs.vu.nl) . Traduction et ajouts divers : R.Langlois - Traduction proposée avec l'accord d'Andy.