1 Introduction à l'informatique L1 Système
2 Plan Notion de programmes, processus, systèmes d'exploitation Interfaces utilisateurs Processus Fichiers
3 Programme Un programme est une séquence d'instructions pouvant être effectuée par un ordinateur. Exemple: 1) Demande un entier x à l'utilisateur 2) Demande un entier y à l'utilisateur 3) Calcule x+y et le met dans la variable z 4) Affiche z
4 Logiciel Un logiciel est un ensemble de programmes dédié à une tâche spécifique Exemple: un logiciel de comptabilité.
5 Processus Un processus est une instance d'un programme en train de s'exécuter.
6 Schéma classique d'un ordinateur processeur/mémoire disque dur mémoireclavierécran souris carte réseau
7 Schéma de fonctionnement d'un ordinateur Un ordinateur est constitué de : Un (ou plusieurs) processeur, unité de calcul, chargé d'exécuter toute instruction demandée par un processus. La mémoire, chargée de mémoriser les données et la suite des instructions à effectuer de chacun des processus. Des périphériques d'entrée: clavier, souris,... de sortie: écran (relié par une carte vidéo), haut-parleur (relié par une carte son),... d'entrée-sortie: disque dur, carte réseau,... Chaque événement lié à un périphérique doit en principe être communiqué à un des processus
8 Systèmes d'exploitation Le système d'exploitation fait l'interface entre les différents composants (périphériques, mémoire) et les processus Exemple: Quand on appuie sur une touche du clavier c'est le système d'exploitation qui reçoit cet événement et le renvoie au bon processus.
9 Différents systèmes d'exploitation Windows 95 Windows 98 Windows NT Windows XP Windows Vista MAC OS « Classic » MAC OS X LINUX DOS Windows MeWindows 2000 SunOS
10 Classification suivant la gestion des processus Monotâche: le système ne gère qu'un seul processus à la fois Multitâche coopératif: il peut y avoir plusieurs processus, mais le passage d'un processus à un autre est laissé à l'utilisateur Multitâche préemptif: les processus s'exécutent « simultanément »
11 Windows 95 Windows 98 Windows NT Windows XP Windows Vista MAC OS « Classic » MAC OS X LINUX DOS Windows MeWindows 2000 SunOS MONOTÂCHE MULTITÂCHE COOPÉRATIF MULTITÂCHE PRÉEMPTIF Les systèmes modernes sont tous multitâches préemptifs
12 Mono-utilisateur: un seul utilisateur peut utiliser le système à un instant donné Multi-utilisateur: plusieurs utilisateurs peuvent utiliser le système simultanément, normalement chaque utilisateur n'a accès qu'à ses processus, sauf le « super-utilisateur » Conséquence pratique: en système multi-utilisateur on doit s'identifier (se « loguer ») avant d'entrer dans le système, cette identification se fait en général avec un mot de passe. Classification suivant le nombre d'utilisateur
13 Windows 98 Windows NT Windows XP Windows Vista MAC OS « Classic » MAC OS X LINUX DOS Windows MeWindows 2000 SunOS Windows 95 MULTI-UTILISATEUR MONO-UTILISATEUR
14 Autres différences entre les systèmes. système portable (linux, netbsd) tournant sur plusieurs type d'ordinateurs vs système non portable lié à une certaine architecture (windows95, MacOS) système libre (linux,netbsd, freebsd) vs système commercial (windows, SunOS, MacOS) Unix (linux, SunOS, MacOSX) vs Non Unix.....
15 Interfaces utilisateurs L'interface utilisateur régit la communication entre l'utilisateur et l'ordinateur. On va distinguer deux types d'interfaces: La ligne de commande L'environnement fenêtré
16 ligne de commande (1) L'écran ne contient que du texte L'utilisateur tape du texte en tapant sur un clavier L'utilisateur peut taper des commandes qui lancent des processus. Ces processus affichent du texte et peuvent aussi demander à l'utilisateur de rentrer du texte.
17 Ligne de commande (2) Exemple d'interface en ligne de commande (shell sous linux)
18 Environnement fenêtré L'utilisateur utilise le clavier et une souris pour rentrer ses données L'affichage sur l'écran se fait en mode graphique. Plusieurs fenêtres se partagent l'écran et peuvent être déplacées avec la souris. Les fenêtres peuvent être liées à des processus différents.
19 Environnement fenêtré (2) 4 fenêtres
20 Windows 98
21 Windows Vista
22 Linux / KDE
23 Linux / gnome
24 Mac OS X
25 ligne de commande dans un environnement fenêtré La ligne de commande peut encore être utilisée en mode fenêtré Sous Unix: xterm, konsole,.... Sous Windows: Invite de commande
26 Processus Un processus correspond à l'exécution d'un programme. Dans un système multi-tâches préemptif plusieurs processus peuvent s'exécuter en même temps. Chaque processus prend des ressources à la machine: temps processeur (CPU time), mémoire, entrées-sorties. Certains processus peuvent se partager de la mémoire. Lorsque toute la mémoire est partagée on parle de thread.
27 Processus (2) Dans un système multi-utilisateur, chaque processus a un propriétaire, c'est en principe l'utilisateur qui a lancé le processus. En principe seul le propriétaire peut arrêter un processus. Chaque processus est en général identifié par un numéro, le nom de la commande qui l'a lancé,....
28 Gestion des processus Sous windows, CONTROL-ALT-SUPPR, Gestionnaire de tâches (taskmgr)
29 Gestion de processus (2) Sous linux/gnome (moniteur système)
30 Gestion des processus (3) Sous unix, on peut gérer les processus en ligne de commande: ps donne la liste des processus. kill permet de terminer (« tuer ») un processus Dans la ligne de commande un processus peut être lancé dans la ligne de commande en gardant la main en utilisant &
31 Gestion des processus (4) % prog & [1] % ps PID TTY TIME CMD pts/2 00:00:00 zsh pts/2 00:00:03 prog pts/2 00:00:00 ps % kill % [1] + terminated./prog % ps PID TTY TIME CMD pts/2 00:00:00 zsh pts/2 00:00:00 ps exex exemple d'utilisation de la ligne de commande (voir le TP pour plus de détails)
32 Fichiers.... Rappels: La mémoire (RAM) permet de sauvegarder des données tant que l'ordinateur reste allumé donnée NON persistante Le disque dur garde les données même après une éventuelle extinction, de plus il a plus de capacité que la mémoire (de l'ordre de 100Go au lieu de 1Go). nécessité d'organiser au mieux ces données
33 Fichier Les données sur les mémoires de masses sont généralement organisées en fichiers. Un fichier est une séquence d'octets mémorisée dans un support auquel sont associés des attributs comme le nom, la date de dernière modification,... nom: MONFICHIER dernière modif: hier QLKJSQJKLQJKLQ SJQKSJSQKSJQKS QLJSQLKJSQKLJS QKLJSQKLSQJQKS JSQKJSQKJSQqsdl sqdjjdsqkdsqjkqskjd ?DNSHB SDJKDSHSDJKSZH EZQZAE221O132I U EZIOZIO ZUEIEZUIEZUEIZE UIZZUEIEZUEZIUEZ
34 Organisation des fichiers L'organisation des fichiers sur un support physique est appelé système de fichiers. Les premiers systèmes de fichiers consistaient en un simple ensemble de fichiers. Dans tous les systèmes de fichiers actuels, les fichiers sont regroupés en répertoires, et comme un répertoire peut contenir d'autre répertoires structure arborescente.
35 arborescence des fichiers chemin absolu de fic7: /rep1/rep2/rep4/fic7 \rep1\rep2\rep4\fic7 chemin relatif de fic7 dans /rep1/rep2 rep4/fic7 rep4\fic7 fic1fic2fic3fic4 répertoire racine rep1 rep4 rep3rep2fic5 fic4 fic7fic6 / sous unix \ sous windows
36 arborescence classique sous unix / usr lib home bin devlibbin dupont
37 arborescence classique sous windows (vista) c:\ Users System32 WindowsProgram Files dupontInternet Explorer DesktopMes documents
38 Emplacement des différents périphériques de stockage Un ordinateur peut avoir plusieurs périphériques contenant des fichiers: plusieurs disques durs, lecteurs de disquette, CDROM, DVD, clés USB. Sous unix chacun des périphériques est un chemin dans l'arborescence: / pour le disque dur principal, /cdrom, /floppy, /usbdisk, /mnt/disk2,.... (on parle de montage d'un périphérique sur un répertoire)
39 Sous windows chaque périphérique est associé à une lettre, qu'il faut rajouter au début du chemin du fichier pour avoir le chemin complet du fichier, précédé du caractère ':' c: pour le disque dur principal a: pour le lecteur de disquette d: e: f:..... z: pour les autres exemple de chemin complet: C:\Windows\System32\winevt\Logs\Application.evtx
40 Balade dans l'arborescence des fichiers fic1fic2fic3fic4 / rep1 rep4 rep3rep2fic5 fic4 fic7fic6 Chaque processus peut se déplacer dans l'arborescence des fichiers.. désigne alors le répertoire courant.. désigne le répertoire parent (répertoire au dessus du répertoire courant Exemple: si on est dans le répertoire /rep1/rep2 alors. désigne /rep1/rep2 et.. désigne /rep1 cela permet d'avoir des chemins relatifs pour n'importe quel fichier de l'arborescence. par exemple le chemin relatif de fic4 par rapport à /rep1/rep2 est../../fic4 Exercice: quel est le chemin relatif de fic7 par rapport à /rep1/rep3 ?
41 Majuscules et minuscules dans les noms de fichiers Sous Unix, les noms de fichiers ne peuvent différencier que par la casse. (majuscule/minuscule): FICHIER et fichier sont considérés comme 2 noms différents Sous windows au contraire, les majuscules et les minuscules sont indifférenciées.
42 Attributs des fichiers (1) A un fichier est associé certains attributs: Un nom Certaines dates: date de dernière modification, date de création, date de dernier accès Certains droits donnés à certains utilisateurs: droit en lecture, écriture,...
43 Attributs des fichiers (2) Sous Unix (interface: linux/gnome) voir aussi commandes chmod, chown, chgrp
44 Attributs des fichiers (3) Sous Windows Vista
45 Systèmes de fichiers (1) Le type du système de fichier spécifie comment sont organisés les fichiers sur le support physique. Le support physique est partagé en blocs, un fichier est constitué de plusieurs blocs pas forcément consécutifs. (la taille des blocs est fixe pour chaque système de fichier et est de l'ordre de 4ko) un fichier constitué de 5 blocs non contigus
46 Systèmes de fichiers (2) Il existe différents types de systèmes de fichiers: sous windows: fat16, fat32, ntfs sous linux: ext2, ext3 Ils sont plus ou moins efficaces, en particulier dans l'allocation des blocs pour chaque fichier. (en FAT16 et FAT32, nécessité de défragmenter régulièrement)
47 Types de fichiers (1) Les fichiers peuvent différer par leur contenu: texte, image, vidéo, son... Les fichiers ayant le même type de contenu peuvent différer par le format utilisé: par exemple PNG et JPEG sont deux formats d'images. dans les deux cas les fichiers sont de type différent
48 Types de fichiers (2) A chaque type de fichiers correspond en général un logiciel permettant de lire/éditer ce fichier Exemples: Word pour un fichier doc acroread pour un fichier pdf
49 Types de fichiers (3) La détection du type de fichier peut se faire: via le nom du fichier, et en particulier son extension: truc.doc fichier word truc.txt fichier texte truc.png fichier png via le contenu du fichier, en général les formats de fichiers spécifie que le début du contenu du fichier une suite d'octets spéciale (par exemple les 2e/3e/4e caractères d'une image PNG sont P,N,G)
50 Type de fichiers (4) Le type des fichiers peut aussi parfois être donné explicitement C'est le cas des images reçues par , ou visualisées par le WEB (spécification MIME une image png est spécifiée de type image/png)
51 Fichiers exécutables (1) Les fichiers exécutables sont les fichiers contenant un programme. Ils sont de deux types 1) Les scripts qui sont des fichiers textes contenant directement le source du programme 2) Les binaires exécutables contenant du code directement exécutable par la machine
52 Fichiers exécutables (2) Sous windows les noms de scripts « MSDOS » sont terminés par.BAT, les exécutables binaires par.EXE. Sous Unix les fichiers exécutables peuvent avoir n'importe quel nom mais ils doivent avoir l'attribut « exécutable ».
53 Scripts (1) Les scripts contiennent directement leur « source ». Le source dépend du langage utilisé, en général on utilise le même langage que pour l'environnement en ligne de commande: 1) MSDOS sous windows (fichier.BAT) 2) Shell sous linux
54 Scripts (2) Il existe d'autre langages de scripts: perl tcl python... Un script a besoin de l'interpréteur pour fonctionner: cmd.exe pour MSDOS, /bin/sh pour le shell, /usr/bin/perl pour perl, etc....
55 Fichier exécutable binaire (1) Les fichiers exécutables binaires contiennent du code directement exécutable par le processeur Ils n'ont pas besoin de programme extérieur pour fonctionner Il peuvent avoir besoin de librairies dynamiques (fichier.dll sous windows, fichiers.so sous linux) Un fichier exécutable binaire ne fonctionne en général que pour une certaine machine (PC) sous un certain système (linux/windows)
56 Fichier exécutable binaire (2) Ils sont générés par des compilateurs qui transforment un fichier source en un fichier exécutable. Il existe des compilateurs dans de nombreux langages: assembleur (langage proche du processeur) C C++ fortran....
57 Fichiers d'archive (1) Certains fichiers servent à archiver d'autres fichiers. Exemple: zip, rar, tar, tar.gz, etc....
58 Fichiers d'archive (2) Avantages: On ne manipule qu'un seul fichiers au lieu de plusieurs, et en général le fichier d'archive est moins volumineux que les fichiers qu'il contient. (car le format utilise de la compression) Inconvénients: il faut en général le bon logiciel pour pouvoir extraire des fichiers d'une archive. (par exemple WinZip pour zip, winrar pour rar)
59 Conseils d'informaticiens à propos des systèmes Un disque dur peut à tout moment devenir HS FAÎTES DES SAUVEGARDES DE VOS DONNÉES IMPORTANTES (en utilisant des disquettes, clés USB, CD, disque dur d'un autre ordinateur,...) N'utilisez pas un logiciel en lequel vous n'avez pas confiance (possibilité de virus) Sous windows utilisez un anti-virus Mettez à jour régulièrement votre système (mise à jour automatiques)