ajout dossier os

This commit is contained in:
2022-04-01 11:52:15 +02:00
parent 3dadc192e1
commit f2a99c421d
8 changed files with 1500 additions and 0 deletions

View File

@@ -0,0 +1,677 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Terminus, ou introduction aux commandes Linux par le jeu"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Durée : 1h - 1h30\n",
"<br>\n",
"Objectifs à atteindre : Découvrir et apprendre les commandes de base d'un sytème Linux\n",
"<br>\n",
"Niveau des connaissances : Première <br>\n",
"Pré requis : <li> Savoir lire\n",
" <li> Être curieux\n",
" \n",
" \n",
"Systèmes mis en œuvre : PC / Machines personnelle / Téléphones connectés au réseau <br>\n",
" \n",
"Logiciels utilisés : Navigateur Web. <br>\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Type de document\n",
"\n",
"Document d'accompagnement de l'activité"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Programme\n",
"\n",
"Découverte des commandes d'un système d'exploitation libre (via une activité ludique ici)\n",
"\n",
"![Programme 1ere NSI](assets/programme.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Contexte\n",
"\n",
"<br>\n",
"\n",
"<li>Activité personnelle\n",
"<li>1H à 1h30 de travail necessaire pour terminer le jeu.\n",
"<li>TP à compléter sur ce support afin que les élèves puissent donner leur ressenti, et également dans un cadre d'évaluation de leur connaissances\n",
"<li>L'utilisation d'un suppport MarkDown permet aux élèves de tester les commandes ici même\n",
"<li>Possibilité de transmettre le support version papier car cette activité est jouable à la maison ou dans les transports grâce aux téléphones et autres appareils mobiles disposant d'un navigateur web acceptant le JavaScript.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Approche de l'activité\n",
"\n",
"<br>\n",
"\n",
"<li>Dans un premier temps, montrer l'activité au tableau et faire les premières minutes avec la classe\n",
"<li>Passage dans la classe, être proche des élèves mais leur laisser une liberté de découverte\n",
"<li>Des questions sont présentes sur le support, afin de proposer des recherches et rapprochement avec les \"vraies\" commandes.\n",
"<li>Celles ci permettent également de s'assurer de la compréhension du résultat de l'activité\n",
"<li>Introduction du prochain TP avec des commandes à réutiliser dans un environnement système Linux cette fois ci.\n",
"<li>Expliquer aux élèves qu'ils et elles peuvent jouer à Terminus depuis leurs machines personnelles ou même leurs téléphones.\n",
"<li>Permettre aux élèves de donner leur ressenti vis à vis de l'activité et agir en conséquence.\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Table des matières\n",
"\n",
"1. Les logiciels libres\n",
"2.\tTerminus\t\n",
"3.\tDébut de l'activité\n",
"4.\tLancez vous !\n",
"5.\tRetours sur l'activité\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" ## 1. Les logiciels libres\n",
"\n",
"Dans le cadre de votre spécialité NSI, nous allons nous interesser à un type de logiciels et de système d'exploitation : le monde du logiciel libre.\n",
"<br>\n",
"\n",
"Comme nous l'avons vu dans le cours associé, il existe un pan de l'informatique qui tente de promouvoir un marché parralèle aux logiciels propriétaire : c'est le monde du libre, voir de l'open source.\n",
"\n",
"On parle de logiciels libre car ceux ci ne sont pas soumis aux règles du droit à la propriété mais à d'autres principes :\n",
"\n",
"<li>Le logiciel doit être utilisable par tout le monde\n",
"<li>Il doit être étudiable par n'importe qui\n",
"<li>On doit pouvoir le modifier\n",
"<li>Voir même le dupliquer\n",
"<li>Et enfin le partager, le diffuser <br>\n",
" <br>\n",
"Beaucoup de ces logiciels sont nés du projet GNU lequel est aujourd'hui couplé au noyau Linux dans une famille de système d'exploitation.\n",
" \n",
"Parmis les logiciels et systèmes d'exploitation libres, on peut citer Ubuntu, Gimp, LibreOffice, VLC, Mozilla Firefox...\n",
" \n",
"Ici, nous nous concentrerons sur une activité visant à vous faire découvrir les commandes de base de ces sytèmes GNU / Linux, à travers un jeu.\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.\tTerminus"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Avant de passer à l'utilisation des commandes en environnement Linux pur et dur, nous allons découvrir celles-ci en vous donnant l'occasion de jouer à Terminus.\n",
"\n",
"**Qu'est ce que Terminus ?**\n",
"\n",
"Et bien il s'agit d'un jeu d'aventure textuel, un peu à la façon des premiers jeux sur ordinateurs développés dans les années 80.\n",
"\n",
"Il vous sera demandé de naviguer dans l'aventure en utilisant les commandes Linux associées aux actions du jeu.\n",
"\n",
"Nous progresserons pas à pas dans un premier temps, histoire de ne pas se perdre tout de suite, puis vous pourrez tenter de parcourir l'aventure par vous mêmes par la suite.\n",
"\n",
"Après certaines étapes, vous trouverez des questions auxquelles il vous faudra répondre sur ce document en changeant la couleur du texte ( rappel : pour mettre en couleur, utilisez la balise html _< span style=\"color:red\">texte coloré en rouge < /span>_ en veillant bien sûr à retirer l'espace entre < et span )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. Début de l'activité"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ouvrez donc votre navigateur et rendez vous à cette adresse <http://luffah.xyz/bidules/Terminus/>\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le jeu se présente sous forme de textes vous racontant une histoire, dans laquelle vous avez la possibilité d'intéragir avec votre environnement."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"![intro](assets/intro.png)\n",
"\n",
"\n",
"--------------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le jeu commence par vous demander votre prénom : il vous sera plus facile de vous identifier au personnage de cette manière. Vous pouvez, évidemment, utiliser un pseudonyme.\n",
"\n",
"![prenom](assets/prenom.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Début de l'aventure"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"D'entrée, le jeu vous donne quelques commandes avec lesquelles vous allez pouvoir avancer :\n",
"\n",
"![debut](assets/linux.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nous avons donc : <br>\n",
"\n",
"<li> CAT (pour conCATener) qui vous permettra de d'examiner les objets, d'interroger les personnages présents sur le lieu où vous vous situez\n",
"<li> LS (pour LiSter) qui vous indiquera ce qui se trouve dans un lieu précis\n",
"<li> CD (pour Changer de Destination) qui vous permettra de vous déplacer d'un lieu à l'autre\n",
" \n",
"Ces trois commandes existent sous Linux et utilisent la même syntaxe que celle que vous rencontrerez ici."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>\n",
"\n",
"Si vous arrivez dans un endroit que vous ne connaissez pas, que faites vous en premier ? Vous observez. Et bien la commande **LS** est parfaite pour cela, allons-y.\n",
"\n",
"![ls](assets/ls.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ici, on peut donc voir qu'il y a une Palourde avec laquelle on peut **interagir** ainsi que deux chemins menant à de nouvelles places."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Question n°1\n",
"\n",
"À votre avis, que fait la commande LS dans un système d'exploitation Linux ?\n",
"Vous pouvez tester la commande vous même dans la cellule juste en dessous !\n",
"\n",
"Remarquez vous quelque chose au niveau des noms ?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"------------------------------------------------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Une fois cela fait, retournons à notre jeu : On peut commencer par parler avec la Palourde.\n",
"\n",
"\n",
"![palourde](assets/cat.png)\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Celle ci nous donne de plus amples informations sur les commandes dont l'on dispose.\n",
"\n",
"À retenir : Pour utiliser la commande **cd** il est necessaire de connaitre la destination souhaitée, car vous allez devoir l'indiquer!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ainsi, pour parvenir au **BoisDeslutins/** il vous faut taper : <br>\n",
"\n",
"\n",
"![cd](assets/cd.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>\n",
"\n",
"#### Question n°2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Si vous refaites un coup de **ls** dans la cellule en dessous, puis que vous faites **cd** *Dossier*, que se passe t-il ?\n",
"\n",
"Executez les deux commandes, puis refaites un **ls** pour confirmer."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Astuce** Pour revenir dans le repertoire d'avant, tapez **_cd .._**\n",
"Allez y essayez !"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-------------------------------------------------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Mais du coup, ça va être hyper long de tout taper !_\n",
"\n",
"Et bien pas forcément, car il se trouve que les personnes qui ont développé ces commandes ont pensé à vous aider : regardez en dessous, il y a une incone qui ressemble à la touche **_tabulation_** de votre clavier\n",
"\n",
"\n",
"![tab](assets/tab.png)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Si vous cliquez sur cette icone, la machine va tenter de remplir le texte par elle même !\n",
"\n",
"![tab_2](assets/tab_2.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"En realité, vous pouvez même vous passer de cliquer : votre touche **tab** du clavier effectue la même manipulation."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Question N°3\n",
"\n",
"<br>\n",
"\n",
"Que se passe t-il si vous appuyez plusieurs fois sur tab ? <br>\n",
"Réponse :"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----------------------------------------------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Revenons donc en arrière, et choisissez d'entrer dans la **Prairie/**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Comme à chaque fois que l'on entre dans un nouveau lieu, que fait - on ?\n",
"\n",
"\n",
"![prairie](assets/ls_prairie.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Comme vous pouvez le voir, ce Poney a l'air tout content de pouvoir vous aider.\n",
"Parlez lui donc à l'aide de la commande **cat** et prenez la direction des Montagnes/"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![montagnes](assets/montagnes.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Question n°4\n",
"\n",
"<br>\n",
"\n",
"Que signifie le \"/\" à la fin de certains noms ? <br>\n",
"Réponse :"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---------------------------------------------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Suivez donc le conseil du jeu, et faites un **ls** afin de faire apparaître votre prochaine destination\n",
"\n",
"<br>\n",
"Puis prenez en la direction <br>\n",
"\n",
"\n",
"\n",
"![cd_montagnes](assets/cd_montagnes.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Si vous parlez au **Vieil Homme** qui se trouve là, vous débloquerez une nouvelle commande : **exit**\n",
"\n",
"<br>\n",
"\n",
"![exit](assets/exit.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"N'oubliez pas qu'il fait également mention d'un manuscrit, que vous pouvez lire grâce à la commande **cat**\n",
"\n",
"<br>\n",
"\n",
"![vieil_homme](assets/vieil_homme.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Question n° 5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Que fait la commande **exit** dans un terminal de commande linux ? <br>\n",
"Attention, ici, on ne testera pas la commande dans le document : faites des recherches sur Internet et indiquez votre réponse :"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"--------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Comme vous avez pu le remarquez en analysant le manuscrit, il existe deux commandes susceptibles de vous aider sur un système GNU / Linux : **help** et **man**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![help_man](assets/help_man.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-----------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Executez donc la commande indiqué afin d'en savoir plus sur la commande **mv**\n",
"\n",
"<br>\n",
"\n",
"![man_mv](assets/man_mv.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plus loin un rocher vous bloque la route, essayez donc de le déplacer avec **mv** + lieu...\n",
"\n",
"<br>\n",
"\n",
"Horreur ! Nous n'avons pas débloquer la commande mv, même si nous en connaissons le principe!\n",
"Peut-être serait il necessaire de revenir au départ et d'emprunter un chemin non bloqué cette fois ci, en direction, du **BoisDesLutins**..."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. Lancez-vous !"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>\n",
"\n",
"Desormais, vous voilà aux manettes de cette aventure, et il vous reste beaucoup de choses à voir.\n",
"\n",
"Explorez, essayez, manipulez, bref, jouez, afin d'en apprendre davantage sur les commandes linux.\n",
"\n",
"Evidemment, si vous êtes en difficulté, n'hésitez pas à m'appeler (dans la limite du raisonnable !)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-----------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. Retours sur l'activité"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>\n",
"\n",
"Une fois la séance terminée, revenez à votre place devant le tableau, afin que nous puissions échanger à propos de cette activité.\n",
"\n",
"Préparez donc des notes sur :\n",
"\n",
"<li>Votre ressenti : Avez-vous aimé, préféré le jeu à d'autres séances ?\n",
"<li>La difficulté : Etait-ce trop dur ? Pas assez ?\n",
"<li>Le résultat : Qu'avez vous retenu de la séance ?\n",
"<li>La poursuite : Comptez-vous terminer le jeu chez vous, dans le bus, sur votre téléphone ou ordinateur ?\n",
"Pourquoi ?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---------------"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

74
architecture/os/README.md Normal file
View File

@@ -0,0 +1,74 @@
## Les Systèmes D'exploitation
> Dans ce chapitre, nous allons découvrir les grandes familles de systèmes d'exploitation et devenir capable de les classer, tout en acquérant une vie d'ensemble sur leur histoire.
### Le programme
![programme](assets/programme.png)
-----------
### Qu'est ce qu'un système d'exploitation ?
Un système d'exploitation est perçu comme un ensemble de programmes constituant une interface entre le matériel et la personne qui utilise la machine.
Il a deux objectifs :
- fournir une machine virtuelle au dessus du matériel
- partager et gérer des ressources de plus en plus complexes
Le système d'exploitation relie la machine composée d'éléments physiques comme le processeur, la mémoire, avec l'utilisateur - utilisatrice souhaitant effectuer des calculs (car tout n'est que calcul !)
Sans le contrôle de l'OS, les utilisateurs pourraient détruire irrémédiablement certaines données, voir détruire certains périphériques en programmant des opération illicites.
----------------
### Historique des OS
Dans les premiers ordinateurs à base de tubes à vide, il n'existait aucun OS pour les gérer.
C'est en 1956 que furent mis au points les premiers systèmes d'exploitation, comme **Input Output System** de chez [Général Motors](https://fr.wikipedia.org/wiki/GM-NAA_I/O) pour le pc IBM 704.
À cette époque, un même ensemble de personnes était en charge de concevoir, de construire, de programmer et d'éffectuer la maintenance des machines. On programmait alors en langage machine, en câblant des cartes electroniques, en perçant des trous dans des cartes ou en manipulant des interrupteurs.
![cartes perforées](assets/cartes_perforées.png)
Les opératrices prenaient les cartes contenant les programmes et éventuellement la carte contenant le compilateur **FORTRAN** (FORmula TRANslator) afin de faire des calculs qui étaient fournis sous forme de listes.
Puis l'opératrice prenait un nouveau jeu de cartes et lancer une nouvelle execution.
![manipulation cartes](assets/manipulation_cartes.png)
![cartes](assets/cartes.png)
Le système est automatisé désormais mais le fonctionnement était toujours le même : traitement par lot.
Pendant ce temps, quelques nouveaux OS faisaient leur apparition, mais ils restaient mono-tâche et mono-utilisateur.
Ce n'est qu'en 1961, Corbato et Fano, du MIT, font la démonstration du [CTSS](https://fr.wikipedia.org/wiki/Compatible_Time_Sharing_System) (Compatible Time Sharing System) qui permet pour la première fois à plusieurs personnes de travailler en même temps sur un même système : 3 utilisateurs sont ainsi connectés dans le cadre de la démo.
En 1964, le projet [MULTICS](https://fr.wikipedia.org/wiki/Multics) est lancé par le MIT, la société General Electric ainsi que les laboratoires Bell.
L'objectif ? Pouvoir connecter des centaines d'utilisateurs à une énorme machine qui fournirait de la puissance de calcul comme on obtient de la puissance electrique en étant connecté au réseau...
Cela se rapproche beaucoup du système de machine virtuelle que l'on connait aujourd'hui.
### Unix
### Les micros
### DOS / Windows

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because one or more lines are too long