Introduction à l`informatique L1 Système

Transcription

Introduction à l`informatique L1 Système
Introduction à l'informatique
L1
Système
1
Plan
1) Notion de programmes, processus,
systèmes d'exploitation
2) Interfaces utilisateurs
3) Processus
4) Fichiers
2
Programme
Un programme est une séquence
d'instructions pouvant être effectuée par
un ordinateur.
Exemple:
1)
2)
3)
4)
Demande un entier x à l'utilisateur
Demande un entier y à l'utilisateur
Calcule x+y et le met dans la variable z
Affiche z
3
Logiciel
Un logiciel est un ensemble de
programmes dédié à une tâche spécifique
Exemple: un logiciel de comptabilité.
4
Processus
Un processus est une instance d'un
programme en train de s'exécuter.
5
Schéma classique d'un
ordinateur
carte réseau
disque dur
souris
processeur/mémoire
écran
mémoire
clavier
6
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), hautparleur (relié par une carte son), ...
● d'entrée-sortie: disque dur, carte réseau,...
Chaque événement lié à un périphérique doit en
7
principe être communiqué à un des processus
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.
8
DOS
Différents systèmes
d'exploitation
Windows 95
Windows NT
MAC OS « Classic »
Windows 98
SunOS
LINUX
Windows Me
Windows 2000
MAC OS X
Windows XP
Windows Vista
9
Classification suivant la gestion
des processus
1) Monotâche: le système ne gère qu'un
seul processus à la fois
2) Multitâche coopératif: il peut y avoir
plusieurs processus, mais le passage d'un
processus à un autre est laissé à
l'utilisateur
3) Multitâche préemptif: les processus
s'exécutent « simultanément »
10
MONOTÂCHE
MULTITÂCHE
COOPÉRATIF
DOS
Windows 95
Windows NT
MAC OS « Classic »
Windows 98
SunOS
LINUX
Windows Me
Windows 2000
MAC OS X
Windows XP
Windows Vista
MULTITÂCHE PRÉEMPTIF
Les systèmes modernes sont tous multitâches préemptifs11
Classification suivant le nombre
d'utilisateur
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.
12
DOS
MONO-UTILISATEUR
Windows 95
Windows NT
MAC OS « Classic »
Windows 98
SunOS
LINUX
Windows Me
Windows 2000
MAC OS X
Windows XP
Windows Vista
MULTI-UTILISATEUR
13
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
.....
●
14
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é
15
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.
●
16
Ligne de commande (2)
Exemple d'interface en ligne de commande
(shell sous linux)
17
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.
●
18
Environnement fenêtré (2)
4 fenêtres
19
Windows 98
20
Windows Vista
21
Linux / KDE
22
Linux / gnome
23
Mac OS X
24
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
25
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.
26
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é,....
27
Gestion des processus
●
Sous windows, CONTROL-ALT-SUPPR,
Gestionnaire de tâches (taskmgr)
28
Gestion de processus (2)
Sous linux/gnome (moniteur système)
29
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 &
30
Gestion des processus (4)
e
x
exemple
d'utilisation de
la ligne de
commande
(voir le TP pour plus
de détails)
% prog &
[1] 15802
% ps
PID TTY TIME CMD
14554 pts/2 00:00:00 zsh
15802 pts/2 00:00:03 prog
15806 pts/2 00:00:00 ps
% kill 15802
% [1] + terminated ./prog
% ps
PID TTY TIME CMD
14554 pts/2 00:00:00 zsh
15813 pts/2 00:00:00 ps
31
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
32
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,...
QLKJSQJKLQJKLQSJ
QKSJSQKSJQKSQLJ
SQLKJSQKLJSQKLJS
QKLSQJQKSJSQKJS
QKJSQqsdlsqdjjdsq
kdsqjkqskjd02923
83298?DNSHBSDJ
KDSHSDJKSZHEZQ
ZAE221O132I1230
1230123U123013
200312913093203
901291320913209
310932103219EZI
OZIOZUEIEZUIEZU
EIZEUIZZUEIEZUE
ZIUEZ
nom: MONFICHIER
dernière modif: hier
33
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.
●
34
arborescence des fichiers
/ sous unix
\ sous windows
répertoire
racine
fic1
fic2
fic3
rep1
rep2
rep4
fic6
fic5
fic4
fic7
fic4
rep3
chemin absolu de fic7:
/rep1/rep2/rep4/fic7
\rep1\rep2\rep4\fic7
chemin relatif de fic7
dans /rep1/rep2
35
rep4/fic7
rep4\fic7
arborescence classique sous unix
/
bin
lib
dev
bin
usr
lib
home
dupont
36
arborescence classique sous windows
(vista)
c:\
Program Files
Internet Explorer
Windows
Users
System32
dupont
Desktop
Mes documents
37
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)
●
38
●
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
39
Balade dans l'arborescence des
Chaque processus peut se
fichiers déplacer dans l'arborescence
des fichiers.
/
fic1
fic2
fic3
rep1
rep2
rep4
fic6
fic5
fic4
fic7
fic4
rep3
. 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 ?
40
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.
●
41
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,...
42
Attributs des fichiers (2)
Sous Unix (interface: linux/gnome)
voir aussi commandes chmod, chown, chgrp
43
Attributs des fichiers (3)
Sous Windows Vista
44
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)
16
17
58
59
5
un fichier constitué de
5 blocs non contigus
1
10
19
28
37
46
55
64
73
2
11
20
29
38
47
56
65
74
3
12
21
30
39
48
57
66
75
4
13
22
31
40
49
58
67
76
5
14
23
32
41
50
59
68
77
6
15
24
33
42
51
60
69
78
7
16
25
34
43
52
61
70
79
8
17
26
35
44
53
62
71
80
45
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)
46
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
47
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
48
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
49
(par exemple les 2e/3e/4e caractères d'une image PNG sont P,N,G)
Type de fichiers (4)
●
Le type des fichiers peut aussi parfois
être donné explicitement
C'est le cas des images reçues par e-mail,
ou visualisées par le WEB
(spécification MIME une image png est
spécifiée de type image/png)
50
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
51
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 ».
52
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
53
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....
54
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)
●
55
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
● ....
56
Fichiers d'archive (1)
Certains fichiers servent à archiver d'autres
fichiers.
Exemple: zip, rar, tar, tar.gz, etc....
57
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)
58
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)
●
59