Marcel Bosc Introduction système Université Paris-13Département informatiqueIUT de Villetaneuse Cours-2/
Plan du cours ● qu'est-ce qu'un programme? ● rôles du système d'exploitation ● les processus ● les types de fichiers ● systèmes multi-utilisateurs partie pratique ● ligne de commande: se simplifier la vie ● commandes de base
qu'est-ce qu'un programme? 1ère partie
une petite recette Ingrédients (pour 20 cookies) : ● 1 oeuf ● 100 g de sucre de cassonnade ● 125 g de farine ● 1 cuillère à café de levure chimique ● 1 pincée de sel ● 125 g de pépites de chocolat ● 10 cl de crème légère à 8% Préparation : 5 mn Cuisson : 5 mn
les instructions 1. Préchauffer le four à 200°C. 2. Mettre l'oeuf, le sucre et la crème légère dans un récipient. 3. Bien mélanger. 4. Ajouter la farine et la levure. 5. Remélanger. 6. Mettre les pépites dans la préparation. 7. Déposer sur une plaque de cuisson beurrée des petits tas de la préparation. 8. Cuire au four préchauffé à 200°C pendant 5 mn Instructions :
programme = recette processeur
les instructions 1. Ouvrir une fenêtre. 2. Saisir le nom et le mot de passe de l'utilisateur. 3. Vérifier que la saisie est correcte 4. Si elle n'est pas correcte, retourner à l'instruction Afficher un message de bienvenue. 6. Afficher les informations sur le compte de l'utilisateur. 7. Afficher un menu des opérations possibles... Instructions :
processeur Recette 1. Préchauffer le four à 200°C. 2. Mettre l'oeuf, le sucre et la crème légère dans un récipient. 3. Bien mélanger. 1. Ajouter la farine et la levure. 2. Remélanger. 3. Mettre les pépites dans la préparation. 4. Déposer sur une plaque de cuisson beurrée des petits tas de la préparation. 5. Cuire au four préchauffé à 200°C pendant 5 mn français Programme Ouvrir une fenêtre. 1. Saisir le nom et le mot de passe de l'utilisateur. 2. Vérifier que la saisie est correcte 3. Si elle n'est pas correcte, retourner à l'instruction Afficher un message de bienvenue. 5. Afficher les informations sur le compte de l'utilisateur.... fichier livre langage de programmation ( simplifié ) langage des instructions
rôles du système d'exploitation 2ème partie ● introduction ● simplifier l'accès au matériel ● partage des ressources
application traitement de texte navigateur web jeu vidéo ? système d'exploitation Linu x matériel Qu'est-ce qu'un système d'exploitation? (rappel)
système d'exploitation A quoi sert un système d'exploitation? partage des ressources application traitement de texte navigateur web jeu vidéo accès simplifié au matériel matériel
API: interface de programmation d'une application Simplifier l'accès au matériel « dessine une ligne » système d'exploitation pilote « commande n°4A2 avec les registres 73 et 0C » programmeur carte graphique
Partage du processeur traitement de texte navigateur web musique mp3 } un seul processeur!! ? chacun son tour multitache très vite! sentiment que c'est « simultanée »
la mémoire, c'est quoi? RA M (très simplifié!) calcul: mémoire ● programmes ● données ● rapide ● volatile ● taille limitée 1 Go processeur
Partage de la mémoire traitement de texte navigateur web logiciel musique mp3 mémoire conflit l'embrouille
Partage de la mémoire le rôle du SE (sys. expl.) mémoire système d'exploitation traitement de texte je voudrais 30 Ko de mémoire ok, tu as les cases à navigateur web je voudrais 50 Ko de mémoire ok, tu as les cases à allocation mémoire allocation mémoire
les processus 3ème partie
rappel: structure d'une commande ~]# rm -r toto titi zozo nom de la commande (rm = effacer) nom de la commande (rm = effacer) arguments de la commande arguments de la commande option: (-r = récursif) option: (-r = récursif)
La notion de processus traitement de texte navigateur web logiciel musique mp3 gestionnaire de fenêtres gestionnaire de terminaux serveur web processus simultanés! ● s'exécutent « en même temps » ● partagent les ressources (mémoire, processeur, périphériques...) ● chacun sa propre région mémoire
processus: exemples ~]# ps -a PID TTY TIME CMD pts/3 00:00:03 gedit pts/8 00:12:42 soffice.bin pts/0 00:00:02 gpdf pts/6 00:00:00 gedit pts/10 00:00:00 man pts/10 00:00:00 bash pts/8 00:00:00 ps la commande ps les numéros des processus les numéros des processus les commandes correspondant à chaque processus les commandes correspondant à chaque processus même programme lancé deux fois : 2 processus même programme lancé deux fois : 2 processus
créer un processus ● chaque fois que vous lancez un programme ● chaque fois que vous tapez une commande ●... ~/public_html]# ls README.html HEADER.html ~/public_html]# ls création du processus fin du processus exemples:
créer un processus ~]# gedit gedit création du processus en tâche de fond on a perdu la main! ~]# gedit & [2] 8367 ~]# gedit création du processus en tâche de fond on récupère la main
tuer un processus éditeur de texte ~]# ps -a PID TTY TIME CMD pts/3 00:00:03 man pts/8 00:12:42 gedit ~]# kill la commande: kill numéro de processus de l'éditeur de texte numéro de processus de l'éditeur de texte (à la main)
les types de fichiers 4ème partie ● fichiers texte ● fichiers binaires ● fichiers compressés ● archives
fichiers fichier: suite d'octets stockés sur un support. (rappel) taille du fichier: octets
fichiers texte bonjour, comment ca va? b o n j o u r , 7 8 utiliser un éditeur de texte exemples: sources programme.java programme.c programme.php page.html.bashrc /etc/passwd httpd.conf script-shell configurationdivers style.css donnees.xml t c a v a ? 22 fichier:
formats de fichiers binaires pas d'éditeur de texte créés et gérés par des programmes spécifiques autres exemples: multimedia photo.jpg musique.mp3 video.avi dessin.png bureautique document.doc document.pdf document.sxc calcul.xls divers executable libc.so libz.dll compress.gz image gif taille de l'image et autres infos données binaires de l'image exemple simple: logiciels: gimp, photoshop...
fichiers compressés octets 4 fois 54 fois 15 fois octets exemple très simple: Comment c'est possible? réduire la taille d'un fichier réduire les informations redondantes
fichiers compressés ~]# ls -l page.html -rw-r--r-- 1 bosc bosc :01 page.html ~]# gzip page.html ~]# ls -l page.html.gz -rw-r--r-- 1 bosc bosc :01 page.html.gz le fichier d'origine fait 24 Ko le fichier d'origine fait 24 Ko le fichier compressé ne fait que 3 Ko ! le fichier compressé ne fait que 3 Ko ! exemples: compress.gz compress.bz2 compress.Z compress.z compress.rar compress.zip
les fichiers archives chez-moi système tp1 algo sujet.txt photo.jpg archive.tar toute l'arborescence dans un seul fichier exemples: archive.tar archive.tar.gz archive.tgz archive.zip archive.rar archive.jar souvent: archive+compression =
systèmes multi-utilisateurs 1ère partie ● présentation ● droits d'accés des fichiers
systèmes multi-utilisateurs pourquoi? ordinateur familial éviter que: ● votre petit frère détruise vos fichiers ● vos parents lisent vos courriers ● votre petite soeur administre la machine
systèmes multi-utilisateurs ● gérer de nombreux utilisateurs ● groupes d'utilisateurs serveur exemple: comptes IUT
systèmes multi-utilisateurs comment? ● définir des comptes utilisateurs ● authentification ● fichiers - propriétaire, groupe ● ressources du système (administration) root: le compte de l'administrateur système sous UNIX
droits d'accès aux fichiers ~/public_html]# ls -l README.html -rw-r bosc prof 17:44 README.html droits d'accès moi mon groupe propriétaire (moi): User groupe: Group les autres: Others catégories droits lecture: Read écriture: Write execution: eXecute -rw-r----- U:moi G:groupe O:les autres
changer les droits : chmod chmod o+r unfichier.txt +r catégories droits lecture: Read écriture: Write execution: eXecute -rw-r--r-- U:moi G:groupe O:les autres propriétaire (moi): User groupe: Group les autres: Others
changer les droits : chmod chmod o+rw unfichier.txt catégories droits lecture: Read écriture: Write execution: eXecute chmod og+r unfichier.txt on peut combiner : propriétaire (moi): User groupe: Group les autres: Others on peut enlever des droits: chmod o-rw unfichier.txt
changer les droits : chmod catégories droits lecture:4: Read écriture:2: Write execution:1: eXecute -rw-r----- U:moi G:groupe O:les autres droits « numériques » chmod 0640 unfichier.txt propriétaire (moi): User groupe: Group les autres: Others 2x2x
changer le propriétaire chown: changer le propriétaire d'un fichier ~]# ls -l fichier -rw-r bosc prof 17:44 fichier ~]# chown durand fichier ~]# ls -l fichier -rw-r durand prof 17:44 fichier changement de propriétaire admin chgrp: changer le groupe d'un fichier utilisateurs
partie pratique
ligne de commande: se simplifier la vie 1ère partie ● raccourcis clavier ● méta-caractères
raccourcis clavier ctrl-c: tuer le processus courant tab : compléter flèches: (haut/bas) dernières commandes début/fin: début/fin de ligne contrôle(ctrl) flèches tab début/fin de la ligne de commande
méta-caractères : pourquoi? rep-courant sousrepphoto.giffich20.txtfich10.txtfich1.txtphoto.jpg on veut copier tous les fichiers dans « sousrep » : ~/rep-courant]# cp fich1.txt fich10.txt fich20.txt photo.gif photo.jpg sousrep répertoire destination fichiers source trop long à écrire! !
méta-caractère: * ~/rep-courant]# cp *.txt photo.* sousrep tous les fichiers finissant par «.txt » tous les fichiers finissant par «.txt » répertoire destination tous les fichiers commençant par « photo. » tous les fichiers commençant par « photo. » *.txt fich1.txt fich10.txt fich20.txt photo.* photo.gif photo.jpg remplacement par le shell: * = n'importe quelle suite de caractères
méta-caractère * : exemples fich1.txt fich10.txt fich20.txt photo.gif photo.jpg sousrep fich*0.txt fich10.txt fich20.txt *o* photo.gif photo.jpg sousrep *p* photo.gif photo.jpg sousrep * fich1.txt fich10.txt fich20.txt photo.gif photo.jpg sousrep * = rien tout!
commandes de base 2ème partie ● ls ● rm ● cp
fichiers cachés fichiers ou répertoires dont le nom commence par un point fichiers de configuration dans votre répertoire personnel.bash_profile.bash_history.emacs.gnome
la commande ls ~/public_html]# ls -la total 16 drwxr-xr-x 2 bosc prof :45. drwxr-xr-x 8 bosc prof :22.. -rw-r--r-- 1 bosc prof :45.caché -rw-r--r-- 1 bosc prof :45 HEADER.html -rw-r--r-- 1 bosc prof :44 README.html options: -l:toute l'information -a:tout les fichiers options: -l:toute l'information -a:tout les fichiers nom de fichier nom de fichier date de modification date de modification taille du fichier en octets taille du fichier en octets propriétaire droits d'accès plus en détail
~/public_html]# ls -l *.html -rw-r--r-- 1 bosc prof :45 HEADER.html -rw-r--r-- 1 bosc prof :44 README.html la commande ls ~]# ls public_html HEADER.html README.html affiche toute l'information des fichiers finissant par «.html » public_html est un répertoire: ls affiche son contenu
la commande rm options: -r : récursif : le répertoire, ses fichiers, et sous-répertoires, etc. -f : forcer: ne pose pas de questions Dangereux! ! détruit un ou plusieurs fichier ou répertoires dupond algo photo.jpg systeme sujet.txt tp1 script.sh ~]# rm -rf systeme
~]# rm public_html rm: ne peut enlever `public_html': est un répertoire ~]# rm -r public_html ~]# la commande rm ~]# rm public_html/README.html test/toto message d'erreur ok effacer deux fichiers effacer un répertoire
la commande cp syntaxe: cp source1 [ source2 source3... ] destination options: -r : récursif : le répertoire, ses fichiers, et sous-répertoires, etc.
la commande cp ~]# cp a b duplication simple: source -> destination ~]# cp a public_html crée un fichier « a » dans le répertoire public_html ~]# cp x y z public_html copie de plusieurs fichiers vers un répertoire
la commande cp ~]# cp public_html toto cp: omission du répertoire `local' duplication d'un répertoire message d'erreur ~]# cp -r public_html toto ~]# ok
la commande echo ~]# echo bonjour comment ca va bonjour comment ca va ~]# echo "bonjour" bonjour ~]# cd public_html ~/public_html]# echo "*" * ~/public_html]# echo * HEADER.html README.html ~/public_html]# répéter les arguments:
ce document est distribué librement : ● sous licence GNU FDL : ● les originaux sont disponibles aux formats OpenOffice et powerpoint