Bienvenue dans le référentiel UNIX 1ère édition. Vous trouverez ici le code source du noyau et les binaires de l'espace utilisateur qui vous permettront d'exécuter 1e UNIX sur un simulateur PDP-11.
Sauf indication contraire, les noms de fichiers et de répertoires font référence à ce référentiel.
Téléchargez le code source du simulateur Simh à partir d'ici : http://simh.trailing-edge.com/. Assurez-vous de télécharger la version 3.8-0 ou ultérieure ; les versions antérieures nécessitent des correctifs pour fonctionner.
Déballez Simh quelque part. Créez le répertoire BIN/ dans Simh au niveau supérieur. Faites make pdp11 pour créer le simulateur pdp11 dans le répertoire BIN/. Copiez l'exécutable BIN/pdp11 dans le répertoire tools/.
Revenez au répertoire de niveau supérieur de la 1ère édition. Faites une marque. Cela fera plusieurs choses. Il construira tools/mkfs, tools/ml et tools/apout/apout. Ces outils sont nécessaires pour construire les systèmes de fichiers pour 1e UNIX et le noyau. Il créera les sources du noyau avec certains correctifs nécessaires, assemblera le noyau et construira une image mémoire Simh amorçable qui sera installée dans le répertoire images. Enfin, le make construira les images rf0.dsk, rk0.dsk et tape et les installera dans le répertoire images. Vous pouvez également effectuer un "make clean" pour nettoyer les répertoires images/ et build/. Un "make clobber" nettoiera les répertoires images/, build/ et tools/.
Exécutez ./simh.cfg qui démarre le simulateur pdp11. Vous devriez voir ceci :
Simulateur PDP-11 V3.8-0 ./simh2.cfg> #!tools/pdp11 Commande inconnue Désactivation de CR Désactivation de XQ RF : mise en mémoire tampon du fichier en mémoire TC0 : format 16b, mise en mémoire tampon du fichier en mémoire Ecoute sur le port 5555 (socket 7)
Vous recevrez une invite de connexion : :
Tapez racine suivi de . Vous devriez recevoir une invite #.
Tapez une commande ls -l. Vous devriez voir quelque chose comme ceci :
total 6 43 sdrwr- 2 racine 620 1er janvier 00:00:00 bin 42 sdrwr- 2 racine 250 1er janvier 00:00:00 dev 104 sdrwr- 2 racine 110 1er janvier 00:00:00 etc 114 sdrwr- 2 racine 50 1er janvier 00:00:00 tmp 41 sdrwr- 7 root 70 1er janvier 00:00:00 usr
Pour changer de répertoire, utilisez chdir, par exemple chdir /usr. Le seul éditeur installé est `ed'. Vous pouvez trouver un didacticiel éducatif dans notes/edtut.txt.
Pour vous connecter plusieurs fois, telnet au port localhost 5555. Le système est configuré pour autoriser 8 connexions à distance.
Pour arrêter le système, entrez ctrl-E pour arrêter le simulateur et q pour quitter. Vous n'avez pas besoin de synchroniser le système avant l'arrêt.
Les manuels pour la 1ère édition UNIX sont disponibles ici : https://www.bell-labs.com/usr/dmr/www/1stEdman.html et http://www.bitsavers.org/pdf/bellLabs/unix/UNIX_ProgrammersManual_Nov71 .pdf
Une documentation sur les composants internes de la 1ère édition d'UNIX est disponible ici : http://www.bitsavers.org/pdf/bellLabs/unix/PreliminaryUnixImplementationDocument_Jun72.pdf
Les détails de l'architecture PDP-11/20 et de ses périphériques sont disponibles sur : http://www.bitsavers.org/pdf/dec/pdp11/handbooks/PDP1120_Handbook_1972.pdf http://www.bitsavers.org/pdf/ décembre/pdp11/handbooks/PDP11_PeripheralsHbk_1972.pdf
Le compilateur C de la 2e édition UNIX est également installé et fonctionne, mais le langage est un dialecte très ancien du C. La référence la plus proche du langage à ce stade est la suivante, mais il est probablement 2 ans trop tard : https:/ /www.bell-labs.com/usr/dmr/www/cman74.pdf
Les binaires de l'espace utilisateur proviennent d'une période comprise entre la 1ère et la 2ème édition d'UNIX. Les manuels 2e peuvent également vous être utiles : http://www.bitsavers.org/pdf/bellLabs/unix/Unix_2nd_Edition_Manual_Jun72.pdf
pages/ - Pages OCR du document PreliminaryUnixImplementation reconstruites/ - Source du noyau reconstruite à partir des pages OCR, sous forme de fichiers asm patches/ - Patchs à reconstruire/fichiers pour que le noyau exécute fs/ - Fichiers binaires et fichiers utilisateur, utilisés pour make rf0.dsk et rk0.dsk src/ - code source pour l'espace utilisateur : il n'y a pas beaucoup d'outils disponibles/ - outils et scripts pour construire le noyau et le système de fichiers/ - zone de construction : fichiers de noyau corrigés, images de systèmes de fichiers corrigées/ - images finales de disque et de bande à utiliser par le simulateur Simh divers/ - divers. fichiers, par exemple le patch Simh pour les notes de support de KE11A/ - des notes sur le travail effectué pour que 1e UNIX fonctionne à nouveau diffs/ - Les différences entre les pages/* et l'OCR de haute qualité réalisé par James Markevitch. Comprend les en-têtes et les pieds de page.