Systèmes d'exploitation
Système d'exploitation
Un système d’exploitation (SE) ou Operating System (OS) en anglais est un ensemble de programmes installés sur une machine qui permet de gérer ses dispositifs matériels (comme la mémoire, ses périphériques) et d’en donner une représentation virtuelle aux utilisateurs, permettant de commander la machine.
Ainsi, le système d'exploitation permet d'utiliser la machine en ignorant les détails de l'architecture matérielle.
Il existe différents systèmes d’exploitation : ceux de la famille Windows (par exemple Windows 11), ceux de la famille Apple (par exemple macOS 15), ou encore ceux de la famille GNU/Linux (Ubuntu, Fedora, Debian, Archlinux…).


Le système d'exploitation possède différentes responsabilités :
-
Gestion des ressources matérielles :: L’OS cache la complexité du matériel : il joue le rôle d'interface entre les programmes et la machine ainsi qu'avec les périphériques d'entrée/sortie. Il rend ainsi possible l'exécution de programmes sur des machines parfois très différentes physiquement.
-
Exécution des programmes :: L’OS charge les programmes depuis la mémoire et gère leurs exécutions sur le processeur. On appelle ces programmes en mémoire des processus. Cependant, le processeur ne peut faire qu'une seule chose à la fois ! Les systèmes d'exploitation modernes permettent de faire fonctionner plusieurs processus en même temps.
-
Gestion de la mémoire :: Un programme avec ses données est stocké dans la mémoire. L'OS s’assure que seule la partie utile à l’exécution du programme à l’instant $t$ est chargée dans la RAM en effaçant les données non utilisées pendant un certain temps. Il permet de faire fonctionner ensemble efficacement les différents composants matériels de l'ordinateur.
-
Sécurisation :: L’OS assure la sécurité globale du système. Il empêche que certaines opérations soient effectuées dans certains contexte (par exemple que certains utilisateurs aient accès aux fichiers d'un autre utilisateur, pourtant présents sur la même machine).
Fichiers et utilisateurs
Le système d'exploitation permet d'accéder facilement aux données situées dans l'espace de stockage de la machine.
Le système d'exploitation utilise pour cela des fichiers, organisés dans des dossiers (ou répertoire).
- un fichier possède un nom, une extension (
.py,.pdf,.mdetc), ainsi que des métadonnées (date de création, de modification, type de donnée, etc). - les dossiers sont constitués de plusieurs fichiers et d'autres dossiers. Ils sont organisés de manière hiérarchique, on parle d'arborescence.
Le répertoire racine est le répertoire le plus haut dans l'arborescence des fichiers. On le note / tous les fichiers et tous les dossiers sont contenus dans le répertoire racine ou un de ses sous-répertoires.
Chaque fichier et chaque dossier est identifié de manière unique par un chemin d'accès (son emplacement dans le système de fichiers).
Il existe deux types de chemins :
- les chemins absolus : ils sont issus de la racine du système de fichier et mentionnent chaque dossier jusqu'au fichier ou dossier en question ;
- les chemins relatifs : on traite les chemins comme issus du répertoire de travail (ou dossier courant) et ils mentionnent chaque sous-dossier jusqu'au fichier ou dossier en question.
On considère un dossier data-shell présent dans le répertoire /home/ada/
Le répertoire de travail est /home/ada/data-shell
| 🐍 Code Python | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
-
Donner deux exemples de chemins relatifs.
-
Donner deux exemples de chemins absolus.
-
Donner le chemin absolu et le chemin relatif du dossier
old.
On utilise souvent des abréviations de chemins pour nommer certains répertoires.
| Abréviation | Répertoire |
|---|---|
./ |
Répertoire courant. |
../ |
Répertoire contenant le répertoire courant (son parent). |
~/ |
Répertoire personnel de l'utilisateur (équivalent à /home/nom_utilisateur/). |
Une même machine peut être utilisée par différents utilisateurs. Tout fichier ou dossier présent dans l'arborescence des fichiers possède un propriétaire (la personne qui a créé le fichier).
Chaque fichier possède des permissions qui gèrent les autorisations d'accès au fichier pour le propriétaire ainsi que les autres utilisateurs.
| Permission | Abréviation | Description |
|---|---|---|
| Lecture | r |
L'utilisateur peut afficher le contenu du fichier. |
| Écriture | w |
L'utilisateur peut écrire dans le fichier. |
| Exécution | x |
L'utilisateur peut exécuter le fichier comme un programme. |
Par défaut, pour des raisons de sécurité, seul l'utilisateur peut lire et écrire dans son répertoire personnel, et les fichiers créés par l'utilisateur sont non exécutables.
Ligne de commande
Le terminal est un programme qui permet d'exécuter des lignes de commande. Il s'agit d'instructions données directement au système d'exploitation sous forme de texte. Celui-ci les exécute depuis le répertoire courant, puis affiche le résultat (textuel) dans le terminal.
Les commandes de base à connaître sont :
| Commande | Description |
|---|---|
pwd |
Affiche le chemin du répertoire courant. |
ls |
Liste le contenu du répertoire courant. |
cp |
Copie un fichier ou un dossier d'un emplacement à un autre. |
mv |
Déplace un fichier ou un dossier d'un emplacement à un autre. |
rm |
Supprime un fichier ou un dossier. |
| Commande | Description |
|---|---|
cd |
Change de répertoire courant. |
mkdir |
Créé un répertoire. |
cat |
Affiche le contenu d'un fichier. |
grep |
Cherche du texte dans un fichier. |
chmod |
Change les permissions d'un fichier ou d'un dossier. |
man |
Affiche la page de manuel. |
Il est possible de modifier le comportement d'une commande à l'aide d'options. Les options de commande sont listées dans la page de manuel de la commande, ou accessibles à l'aide de l'option --help. Les commandes prennent souvent la forme :
commande [OPTIONS] [ARGUMENTS]
On affiche le contenu d'un fichier présent dans le sous-répertoire cours-nsi-premiere.
| 🐍 Code Python | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |