01 Intro Shell
01 Intro Shell
01 Intro Shell
Leçon 1 : Introduction
Système informatique ?
• Combinaison de matériel
• Processeu
• Mémoir
• Périphériques d’entrée/sorti
• Périphériques de stockag
fi
e
Objectifs de ce cours
Thèmes abordés
fi
Organisation du cours
Ressources en ligne
indispensables
• Inscription sur Moodle (code LINFO1252
• Informations sur les séances de chaque semaine
Matériel du cours
• Syllabus en lign
• https://sites.uclouvain.be/SystInfo
• Commun avec LEPL150
1. Théori
• Matière du cour
• Couvert dans les cours magistrau
2. Outil
• Apprentissage des outils systèm
• Approfondissemen
• Contributions d’étudiants (en partie
3. Exercice
• Mis à jour chaque semaine avec les sujets d’exercice
• Liens vers exercices Inginious
Communication
• Interlocuteur principal :
votre tuteur et votre assistan
• Forums sur Moodle pour les questions
intéressant aussi les autres étudiant
• Canaux Team
• Email pour les cas particulier
• ou pour une demande de rendez-vou
s
Equipe LINFO1252
• Prof Etienne Rivièr
• 4 assistant
• et 5 tuteurs
Emeline Christoph Jonathan de Salle Colin Evrard Julien Herman Sophie Otlet
10
Organisation
11
Vendredi
Bac ing. civil (FSA1BA) : étudiants XXX-INFO où XXX ≠ MATH
10h45
Classes
• Chaque classe sous la responsabilité d’un
assistant + une ou un tutrice/tuteur (ou deux
• Mercredi :
• Vendredi :
13
Matériel
fi
n
14
Évaluation
Session de janvier
- Participation aux séances et exercices annoncés comme obligatoires (10%
- Evaluation continue et mini-projets (30%
- Examen (60%
Session de septembre
- La note de participation compte et ne peut pas être refaite (10%
- Réalisation d'exercices et de mini-projet(s) de façon individuelle (30%
- Examen (60%)
Des activités formatives sont susceptibles d'être considérés comme certi catives et
prendront alors une partie ou tout du poids de l'examen dans la note si les
circonstances le demandent
Le professeur titulaire peut demander un examen oral complémentaire à l'examen,
incluant mais non limité au, cas de problèmes techniques ou de suspicion
d'irrégularités.
fi
)
15
Cours d’aujourd’hui
• Deux partie
16
Syllabus
• https://sites.uclouvain.be/SystInfo/notes/
Theorie/intro.html
18
Système informatique :
fondamentaux
• Composant
• Un (des) processeur(s) — CPU en anglai
• Mémoire principal
• Dispositifs d’entrée/sortie (y.c. de stockage
fi
r
19
• Processus “Fetch/Decode/Execute
• Compteur de programme : registre incrémenté pour savoir quelle
instruction exécuter à la suite de l’instruction courant
• Des instructions de contrôle peuvent positionner le compteur de
programme selon le résultat d’un test : permet while, if, etc.
21
fi
)
22
fi
fi
?
23
24
Opérations d’entrée/sortie
traitement de l’interruption : récupération de l’identi ant de
la touche depuis le buffer du contrôleur de périphérique
26
Le rôle du système
d’exploitation
• Programmer directement au dessus du matériel,
gérer les interruptions, les divers gestionnaires de
périphériques, etc. ? 😱
• Système d’exploitation = intermédiaire entre matériel
et application
• 3 rôles principau
✓ Rendre l’utilisation et le développement d’applications
plus simple et plus universel (portable d’une machine à
une autre
✓ Permettre une utilisation plus ef cace des ressource
✓ Assurer l’intégrité des données et des programmes
entre eux (e.g., un programme crash mais pas le système)
fi
s
28
Virtualisation
29
30
• Virtualisation de la mémoir
• Plusieurs processus en mémoire : tous utilisent la mémoire
physique présente sur la machin
• Comment s’assurer que les processus ne puissent pas lire/
écrire dans l’espace mémoire des autres processus (propriété
d’isolation)
fi
e
31
fi
)
32
33
34
Modes d’exécution
35
fi
e
36
En résumé …
37
UNIX
38
Syllabus
• https://sites.uclouvain.be/SystInfo/notes/
Theorie/shell/shell.html
41
Utilitaires UNIX
42
fi
fi
43
La documentation
fi
fi
e
44
UNI
Section: User Commands (1 -s, --skip-chars=N
Updated: April 201 avoid comparing the rst N character
-u, --unique
NAM only print unique line
uniq - report or omit repeated lines -z, --zero-terminated
SYNOPSI
syntaxe end lines with 0 byte, not newlin
uniq [OPTION]... [INPUT [OUTPUT]] -w, --check-chars=N
DESCRIPTIO compare no more than N characters in line
Filter adjacent matching lines from INPUT (or standard input), writing to --help
OUTPUT (or standard output) display this help and exi
With no options, matching lines are merged to the rst occurrence --version
Mandatory arguments to long options are mandatory for short options too output version information and exi
-c, --count A eld is a run of blanks (usually spaces and/or TABs), then
pre x lines by the number of occurrence non-blank characters. Fields are skipped before chars
-d, --repeated Note: 'uniq' does not detect repeated lines unless they are
only print duplicate line
option adjacent. You may want to sort the input rst, or use `sort -u'
-D, --all-repeated[=delimit-method without `uniq'. Also, comparisons honor the rules speci ed by
print all duplicate lines delimit-method={none(default),prepend,separate} `LC_COLLATE'.
Delimiting is done with blank line
-f, --skip- elds=N
avoid comparing the rst N eld description
-i, --ignore-case
ignore differences in case when comparing
fi
S
fi
fi
s
fi
)
fi
fi
.
fi
.
45
Sections de manuel
• Section 1: Utilitaires disponibles pour tous les utilisateur
• Section 2: Appels systèmes en
• Section 3: Fonctions de la librairi
• Section 4: Fichiers spéciau
• Section 5: Formats de chiers et conventions pour certains types de chier
• Section 6: Jeu
• Section 7: Utilitaires de manipulation de chiers texte
• Section 8: Commandes et procédure de gestion du systèm
fi
x
fi
s
fi
?
46
Shell / interpréteur de
commande
• Interaction avec le système d’exploitatio
• Différents shells possibles : bcsh, bash, zsh, etc
• bash est le plus répand
• Exécution d’utilitaires/programmes et de
commandes interne
• e.g. cd permet de changer le répertoire couran
• Complémentaire avec une interface graphique
47
Redirections
STDOUT
STDIN commande
STDERR
fi
48
Pipes
fi
!
49
Exemples de redirections
50
Scripts
#!/bin/bash
echo "Hello, world"
#!/usr/bin/python
#!/usr/bin/env python
51
Variables
#!/bin/bash
PROG="LINFO"
COURS=125
# concaténatio # : commentaire
echo $PROG$COURS
⚠ ambiguïté possible
milieu = "mi"; echo do$milieuno
utiliser des { } pour délimiter le nom de la variable
echo do${milieu}no
52
Arguments de la ligne de
commande
#!/bin/bash
# $# nombre d'arguments
# $1 $2 $3 ... arguments
echo "Vous avez passé" $# "arguments"
echo "Le premier argument est :" $1
echo "Liste des arguments :" $@
Conditionnelles (if )
⚠ espace important (source de bug commune)
#!/bin/bash
# Vérifie si les deux nombres passés en arguments sont égaux
if [ $# -ne 2 ]; then
echo "Erreur, deux arguments sont nécessaires" > /dev/stder
exit
fi
if [ $1 -eq $2 ]; then
echo "Nombres égaux"
else
echo "Nombres différents"
fi
exit 0
54
fi
r
55
Combinaisons logiques
if [ -d $1 -o ! -f $1 ]; then
echo "Erreur, $1 n'existe pas ou est un répertoire" > /dev/stder
exit
fi
… aussi -a (AND)
Systèmes Informatiques — E. Rivière
2
fi
t
56
Boucles : for
#!/bin/bash
# exemple_for.sh
students="Julie Maxime Hakim"
for s in $students; do
l=`wc -l TP1-$s.txt | cut -d' ' -f1`
echo "Bonjour $s, ton compte rendu de TP comporte $l lignes."
done
?
57
Exercices
• À valider pour la n de S2
(dimanche 26/9 23:59) !
fl
fi
n
s
58
Conclusion
Conclusion
• Système informatiqu
• Processeur et mémoir
• Périphériques d’entrée/sortie (y. c. stockage
• Système d’exploitation (y.c. utilitaires
• Application
60
À la suite …
61
Présentation Kot-à-Projet
Louvain Linux