Vous êtes sur la page 1sur 24

bekkalimohammed@gmail.

com
Introduction
Fonctions et caractéristiques d’un Système d’Exploitation (SE)

 UN système d’exploitation est un programme qui doit permettre aux


utilisateurs d’utiliser les fonctionnalités d’un ordinateur.
 Le système d’exploitation doit aussi aider le programmeur à
développer des logiciels de la façon la plus efficace possible.
 Un système d’exploitation est mis en route dès qu’on met en marche
l’ordinateur. Le système constitue donc une interface entre
l’utilisateur et la machine physique.
Introduction
Fonctions et caractéristiques d’un Système d’Exploitation (SE)

 Un Système un ensemble de programmes qui réalisent l'interface


entre le matériel de l'ordinateur et les utilisateurs. Il a deux objectifs
principaux :
 Construction au dessus du matériel d'une machine virtuelle plus facile
d'emploi et plus conviviale
 Prise en charge de la gestion de plus en plus complexe des ressources
et partage de celle-ci
 Le SE a en charge l'exploitation de la machine pour en faciliter
l'accès, le partage et l'optimisation
Introduction
Fonctions d’un Système d’Exploitation (SE)

Machine physique
Introduction
Fonctions d’un Système d’Exploitation (SE)

1) Gestion du processeur
Le système doit gérer l'allocation du processeur aux différents
programmes pouvant s'exécuter. Cette allocation se fait par le biais
d'un algorithme d'ordonnancement qui planifie l'exécution des
programmes.

2) Gestion de la mémoire
Le système doit gérer l'allocation de la mémoire centrale entre les
différents programmes pouvant s'exécuter. Comme la mémoire
physique est souvent trop petite pour contenir la totalité des
programmes, la gestion de la mémoire se fait selon le principe de la
mémoire virtuelle.
Introduction
Fonctions d’un Système d’Exploitation (SE)

3) Gestion de la concurrence
Comme plusieurs programmes coexistent en mémoire centrale, ceux-ci
peuvent vouloir communiquer pour échanger des données. Par ailleurs,
il faut synchroniser l'accès aux données partagées afin de maintenir
leur cohérence, le système offre des outils de communication et de
synchronisation entre programmes

4) Gestion des objets externes


La mémoire centrale est une mémoire volatile. Aussi, toutes les
données devant être conservées au delà de l'arrêt de la machine,
doivent être stockées sur une mémoire de masse ( disque dur,
disquette, cédérom...)
Introduction
Fonctions d’un Système d’Exploitation (SE)

5) Gestion de la protection
le système doit fournir des mécanismes garantissant que ses
ressources (CPU, mémoire, fichiers) ne peuvent être utilisées que par
les programmes auxquels les droits nécessaires ont été accordés.
Il faut notamment protéger le système et la machine des programmes
utilisateurs (mode d'exécution utilisateur et superviseur)
Introduction
Qu’est ce qu’un Système d’Exploitation ?

On trois concepts de bases :


1. Processus : c’est programme en cours d’exécution, composé de :
1. Code + données + pile d’exécution
2. Autres informations caractérisant son état
2. Fichiers : ensemble de blocs de données stockés sur le disque
3. Mémoire virtuelle: espaces d’adressage virtuels des processus
(créés par les compilateurs)
Introduction
Qu'est-ce que la programmation système ?

Le système d’exploitation permet de différencier deux types de


programmes :
 les programmes d'application des utilisateurs, ces programmes sont
réalisés lors de la programmation dite « classique »
 Les programmes systèmes qui permettent le fonctionnement de
l'ordinateur

La programmation système permet de créer des drivers, communiquer


avec les périphériques, voire même créer un système d'exploitation
Introduction
Généralités sur le développement sous Unix

 Unix est un système d'exploitation qui est constitué de plusieurs


programmes, et chacun d'eux fournit un service au système. Tous les
programmes qui fournissent des services similaires sont regroupés
dans une couche logicielle
 Une couche logicielle qui a accès au matériel informatique s'appelle
une couche d'abstraction matérielle.
 Le noyau est une sorte de logiciel d'arrière-plan qui assure les
communications entre ces programmes. C'est donc par lui qu'il va
nous falloir passer pour avoir accès aux informations du système.
Introduction
Généralités sur le développement sous Unix

 Pour accéder à ces informations, nous allons utiliser des fonctions


qui permettent de communiquer avec le noyau. Ces fonctions
s'appellent des appels-systèmes.

 De manière plus théorique, le terme « appel-système » désigne


l'appel d'une fonction, qui, depuis l'espace utilisateur, demande des
services ou des ressources au système d'exploitation. Par exemple,
les fonctions read et write sont des appels-systèmes.
Introduction
Généralités sur le développement sous Unix

 On peut également qualifier le système de multitâche, ce qui signifie


qu'il est capable de gérer l'exécution de plusieurs programmes en
simultanée et de multi-utilisateur car il permet que plusieurs
utilisateurs aient accès au même ordinateur en même temps, et
qu'ils puissent profiter des mêmes ressources.
Introduction
Quelques appels systèmes d’UNIX et de Windows
Introduction
Appels systèmes création et manipulation des fichiers

Les appels systèmes permettant de créer des fichiers, de les supprimer


de les ouvrir de les lire de les modifier et de récupérer leurs attributs …
Caractéristique d’UNIX
 Multi-utilisateurs Plusieurs utilisateurs peuvent se connecter et
travailler en même temps. Chaque utilisateur a propre
environnement
 Multi-tâches Un même utilisateur peut lancer plusieurs travaux
simultanément.
 Interactif Il est possible de dialoguer avec l'ordinateur. Possibilité
aussi de lancer des processus (tâches) en arrière plan et en mode
différé (batch).
 Un système de fichiers hiérarchisé
(Organisation arborescente)
Caractéristique d’UNIX
 Un mécanisme de protection
- identification des utilisateurs par mot de passe
- protection des fichiers
- Un super-utilisateur
 Une vision simplifiée par l'utilisateur des entrées sorties
Les périphériques sont représentés par des noms de fichier, et
peuvent être utilisés comme des fichiers ordinaires)
 Le choix d’un langage de commandes :
Les shells.
Architecture d’UNIX
Architecture d’UNIX
1. Le noyau gère les tâches de base du système :
La gestion des ressources
La gestion des processus
La gestion des fichiers
La gestion des Entrées/Sorties
2. L’utilisateur communique avec le noyau par l'intermédiaire
d'un SHELL. Les shells sont aussi des Langages de
commandes et de programmation.
3. Les utilitaires sont des outils d'interfaçage avec le
système, de programmation et de communication.
Architecture d’UNIX
Le shell
Sous le nom shell (coquille), on désigne l'interface utilisateur qui, dans
l'architecture d'UNIX, entoure le noyau. Plus simplement, le shell est
un programme qui permet à l'utilisateur de dialoguer avec le cœur du
système (le noyau).

Il permet de réaliser plusieurs tâches :


· il interprète les ordres tapés au clavier par l'utilisateur et permet ainsi
l'exécution des programmes;
· il fournit à l'utilisateur un langage de programmation interprété;
· il se charge de réaliser les redirections des entrées-sorties
Les fichiers UNIX
fichiers normaux
* texte : courrier, sources des programmes, scripts, configuration ...
* exécutables : programmes en code binaire
fichiers répertoires
ce sont des fichiers conteneurs qui contiennent des références à
d'autres fichiers. Ils permettent d'organiser les fichiers par catégories
fichiers spéciaux
situés dans /dev, ce sont les points d'accès préparés par le système aux
périphériques. Le montage va réaliser une correspondance de ces
fichiers spéciaux vers leur répertoire "point de montage".
fichiers liens symboliques
Ce sont des fichiers qui ne contiennent qu'une référence (un pointeur)
à un autre fichier. Cela permet d'utiliser un même fichier sous
plusieurs noms sans avoir à le dupliquer sur le disque.
Organisation des fichiers UNIX
Organisation des fichiers UNIX
Liste des répertoires principaux et leur rôle :

 /bin les fichiers exécutables (en binaire) (initialisation du système +


commandes "essentielles")
 /boot le noyau vmlinuz et les fichiers de démarrage
 /dev répertoire de fichiers spéciaux, qui servent de canaux de
communication avec les périphériques (disques, adaptateur réseau, cartes
son etc...)
 /etc les fichiers de configuration du système et les principaux scripts de
paramétrage
o /etc/rc.d scripts de démarrage du système
o /etc/sysconfig configuration des périphériques
o /etc/cron description des tâches périodiques à effectuer
Organisation des fichiers UNIX
Liste des répertoires principaux et leur rôle (suite) :

 /home la racine des répertoires personnels des utilisateurs


 /lib les bibliothèques et les modules du noyau
 /mnt la racine des points de montage des systèmes de fichiers
périphériques ou extérieurs (cd, disquette, ..).
 /opt lieu d'installation d'applications supplémentaires (comme starOffice,
java ..)
 /root répertoire personnel du super-utilisateur root
 /sbin les fichiers exécutables pour l'administration du système
 /tmp stockage des fichiers temporaires
 /usr programmes accessibles à tout utilisateur; sa structure reproduit celle
de la racine /
Droit d’accès UNIX
Il existe trois niveaux de sécurité qui correspondent respectivement aux
droits de l'utilisateur, du groupe, et des autres utilisateurs.
À chacun de ces niveaux, il est possible de déterminer les droits suivants :
· La lecture (R ou 4) ;
· L'écriture (W ou 2) ;
· L'exécution (X ou 1)

Vous aimerez peut-être aussi