C
HAPITRE
1
:
S
YSTEMES D
'
EXPLOITATION ET UTILISATEURS
1. Fonctions d'un système d'exploitation (SE)
Le SE fournit une couche logicielle dont la tâche est de permettre l'interaction entre différents
composants matériels tels le processeur, le disque dur ...
Il a diverses fonctions
Gestion de processus (les programmes) et de la mémoire
Gestion des utilisateurs et sécurité
Organisation des fichiers (les données)
Gestion des entrées/sorties (les périphériques)
Partage des ressources
Gestion des communications
Interface utilisateur et langage de commande
Fournir une interface logicielle pour la programmation (fonctions systèmes)
Question : Citer des périphériques d'entrée, de sortie, et d'entrée sortie (E/S).
2. Grands types de systèmes d'exploitation
Actuellement, les SE sont tous multi-tâches et multi-utilisateurs. Ce n'était pas toujours le cas, il
s'agit d'une évolution majeure des SE. Une tâche est un processus, c'est-à-dire une instance de
programme en cours d'exécution.
Remarque : il faut bien différencier instance et programme, comme dans les langages orientés objet,
une classe et une instance de classe diffèrent.
Un système multi-tâches gère les différentes tâches.
Il n'attend pas la fin d'une tâche pour prendre en charge une nouvelle (non linéaire).
Le processeur est partagé entre les différentes tâches créées : chacune son tour, pendant un
laps de temps déterminé. Cela nécessite des stratégies parfois complexes, dites
d'ordonnancement des tâches.
Un utilisateur peut demander l'exécution de plusieurs tâches.
Système
d'exploitation
Périphériques
Utilisateur
Processeur
Mémoire
Réseau
Le système gère tous les utilisateurs :
Identification
Authentification
Sécurité et droits
Partage des ressources
Chaque utilisateur peut demander l'exécution de plusieurs tâches
3. Caractéristiques des systèmes Unix
Les systèmes Unix, comme celui que l'on utilisera en TP, ont les caractéristiques suivantes :
Multi-tâches et multi-utilisateurs
Ouvert, indépendant du matériel
Ecrit en langage C (maintenance et portabilité)
Populaire car universitaire et professionnel (serveur web, serveur courriels, ...)
Simple (à l'origine en tout cas ...)
Nombreux utilitaires et logiciels, bien souvent gratuit et libre (le code source est disponible)
L'architecture d'un système Unix est composée comme suit :
Noyau (kernel) : Il administre les ressources comme le processeur (ordonnancement ou
scheduling) et gère la mémoire centrale (pagination ou swaping). Il gère les fichiers (système
de gestion de fichiers ou SGBD), crée les processus, gère les échanges d'informations (E/S),
assure la sécurité des objets, leur contrôle et leur compatibilité.
Appels systèmes : Ces primitives fournissent une interface logicielle pour écrire plus
facilement des programmes qui utilisent les composants du système.
Interpréteur de commandes (Shell) : Le Shell ne fait pas parti du SE. C'est un programme en
interaction avec l'utilisateur qui interprète les commandes et démarre les processus de
l'utilisateur. Il intègre des commandes internes. Il existe de nombreuses versions (sh, csh,
ksh, bash, zsh ...)
Utilitaires et outils : gestionnaire de fichiers (nautilus, konqueror), éditeurs (vi, nedit, gedit,
...), compilateurs (java, c, c++,...)
Communications via des services réseau : transfert de fichiers (ftp), connexion sur
ordinateurs distants (telnet, rlogin, ...), communication entre utilisateurs (mail, write, talk),
accès transparent à des fichiers distants (NFS) et services internet (news, www).
Interface graphique (X11, GTK+) et environnements de bureau (Gnome, KDE)
Question : identifier les acronymes inconnu et cherchez leur sens.
Question : en quel langage de programmation sont les primitives UNIX ?
Question : Lister quelques primitives. Conclure de leur intérêt pour le programmeur.
4. Utilisateurs
Les utilisateurs se répartissent dans des groupes. Ils possèdent un mot de passe propre à leur
compte, possèdent une session de travail personnelle, un espace fichiers personnel ainsi que leur
propre Shell.
Le mot de passe
Il s'agit de la "clé" d'accès au compte (fichiers, courriel)
Il doit être fiable : pas de prénom, nom, mot du dictionnaire, mais plutôt avec des chiffres,
des majuscules, des minuscules et des caractères spéciaux.
Il faut impérativement le changer régulièrement.
La session de travail
Commencer une session nécessite une identification : donner son login et mot de passe
Le SE authentifie l'utilisateur : il détermine si l'utilisateur existe, que son mot de passe est
correct, mais aussi quel est son espace de fichiers, quels sont ses droits, ...
Question : proposer plusieurs façons de quitter une session
Le répertoire personnel
Le fichier utilisateur
Tout le monde peut le consulter
Il se trouve ici : /etc/passwd
Question : afficher ce fichier et comprendre son organisation.
Le Shell
Syntaxe d'une commande [-options] [arguments]
les options sont précédées de -
les arguments sont séparés par des espaces
Question : voici deux commandes. Identifier le nom du programme, ses options et ses
arguments.
ls
lsls
ls
ou encore
ls
ls ls
ls -
--
-al /home
al /homeal /home
al /home
Attention, unix est "peu bavard" : il n'affiche que les réponses demandées ou les messages
d'erreurs, mais rien d'autre.
Question : lister toutes les commandes que vous connaissez.
Question : trouver une commande qui n'affiche rien mais qui effectue bien quelque chose.
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !