 Adresse IP
|
Une adresse IP est un entier 32 bits divisé en deux parties : une partie adresse du réseau et une partie adresse de la machine
dans le réseau. Elle permet de désigner une machine dans linterconnexion de réseau. On associe à une adresse IP une notation
que lon appelle la notation décimale pointée qui associe à chacun des octets composant lentier de 32 bits sa valeur décimale
séparé par un point. Exemple : 128.163.10.12.
|
 Application temps réel
|
Une application temps réel est une application pour laquelle le facteur temps est la principale contrainte à respecter. L'
application doit fournir un résultat juste mais si celui-ci est fourni hors délai, alors il ne pourra pas être validé.
|
 Coalition et famine
|
On parle de coalition de n processus contre p autres processus lorsqu un ensemble de n processus monopolisent des ressources
au détriment des p autres processus.
On dit également que les p processus qui ne peuvent pas s'exécuter faute de ressources sont en situation de famine.
|
 Commandes et appels systèmes
|
Les appels systèmes constituent l'interface du système d'exploitation et sont les points d'entrées permettant l'exécution
d'une fonction du système. Les appels système sont directement appelables depuis un programme.
Les commandes permettent elles d'appeler les fonctions du système depuis le prompt de l'interpréteur de commande (shell, invite
du dos).
|
 Commutations de contexte
|
Le passage entre les modes utilisateur / superviseur s'accompagne de commutations de contexte (sauvegarde du contexte utilisateur
- changement de mode d'exécution - restitution du contexte utilisateur)
|
 Compactage de la mémoire centrale
|
Le compactage de la mémoire centrale consiste à déplacer les programmes en mémoire centrale de manière à ne créer qu'une seule
et unique zone libre.
|
 Défaut de page
|
Le défaut de page est un déroutement qui oblige le processeur à suspendre l'exécution du programme en cours pour lancer une
entrée/sortie qui charge la page manquante en mémoire centrale dans une case libre.
|
 Degré de multiprogrammation
|
on définit le degré de multiprogrammation comme étant le nombre de processus présents en mémoire centrale.
|
 Ecroulement
|
On appelle Ecroulement, une haute activité de pagination. Un processus s'écroule lorsqu'il passe plus de temps à paginer qu'à
s'exécuter.
|
 Exclusion mutuelle
|
La propriété d'exclusion mutuelle assure qu'une ressource critique ne peut jamais être utilisée par plus de un processus à
la fois.
|
 File de messages (MSQ)
|
Une file de messages est un outil de communication entre processus Unix non nécessairement affiliés placés sur une même machine
qui implémente le concept de boîtes aux lettres. Une file de message ou MSQ est identifiée par une clé.
|
 Fragmentation
|
Allocations et désallocations successives des programmes en mémoire centrale créent des trous, c'est-à-dire des zones libres
de taille insuffisante en mémoire centrale : la mémoire centrale est alors fragmentée.
|
 Interblocage
|
Un ensemble de n processus est dit en situation dinterblocage lorsque l'ensemble de ces n processus attend chacun une ressource
déjà possédée par un autre processus de l'ensemble. Dans une telle situation aucun processus ne peut poursuivre son exécution.
L'attente des processus est infinie.
|
 Inversion de priorités
|
L'inversion de priorité est la situation pour laquelle une tâche de priorité intermédiaire (T3) s'exécute à la place d'une
tâche de forte priorité (T1) parce que la tâche de forte priorité (T1) est en attente d'une ressource acquise par une tâche
de plus faible priorité (T2). A priori, on ne peut pas borner le temps d'attente de la tâche de haute priorité qui risque
ainsi de dépasser son échéance car l'exécution de T3 n'était pas prévisible.
|
 Mode superviseur
|
Le mode superviseur est le mode d'exécution du système. C'est un mode d'exécution privilégié qui autorise notamment l'appel
à des instructions interdites en mode utilisateur (manipulation des interruptions). Ce mode assure la protection du système
d'exploitation.
Le passage du mode utilisateur vers le mode superviseur est soit provoqué par un appel système, soit par une trappe, soit
par l'arrivée d'une interruption
|
 Nom symbolique
|
À chaque adresse IP, correspond au nom symbolique formé de caractères alphanumériques. La composition du nom symbolique repose
sur la notion de domaine. Le domaine correspond à un groupe géographique (fr, jp) ou institutionnel (com , mil, edu). Le nom
symbolique d'une machine est alors formé de son nom suivi de l'ensemble des domaines auxquels elle appartient, chaque élément
étant séparés par un point. Exemple : fermi.cnam.fr.
|
 Ordonnancement
|
La fonction d'ordonnancement gère le partage du processeur entre les différents processus en attente pour s'exécuter, c'est-à-dire
entre les différents processus qui sont dans l'état prêt.
L'opération d'élection consiste à allouer le processeur à un processus.
|
 Ordonnanceur
|
L'ordonnanceur est un programme système dont le rôle est d'allouer le processeur à un processus prêt.
|
 Politique d'ordonnancement
|
La politique d'ordonnancement détermine le choix d'un processus à élire parmi tous ceux qui sont prêts.
|
 Port
|
Le port est un entier de 16 bits permettant dadresser une application sur la couche de protocole TCP/IP.
|
 Préemption
|
Selon si l'opération de réquisition du processeur est autorisée ou non, l'ordonnancement sera qualifié d'ordonnancement préemptif
ou non préemptif :
si l'ordonnancement est non préemptif, la transition de l'état élu vers l'état prêt est interdite : un processus quitte le
processeur si il a terminé son exécution ou si il se bloque.
si l'ordonnancement est préemptif, la transition de l'état élu vers l'état prêt est autorisée : un processus quitte le processeur
si il a terminé son exécution , si il se bloque ou si le processeur est réquisitionné.
|
 Primitive Accept
|
sock_service = accept (int sock_ecoute, struct sockaddr_in p_adr, int p_lgadr) : Acceptation de connexion sur la socket locale
d'écoute avec la socket distante p_adr. En résultante, création de la socket de service sock_service.
|
 Primitive Bind
|
int bind (int sock, sockaddr_in *p_adresse, int lg) : attâchement de l'adresse p_adresse à la socket sock
|
 Primitive close
|
int close (int idf) : fermeture du descripteur idf.
|
 Primitive Connect
|
int connect (int sock, struct sockaddr_in *p_adr, int lgadr) : demande d'établissement de connexion avec la socket distante
dont l'adresse est *p_adr
|
 Primitive EXIT
|
void exit (int valeur) : provoque la terminaison du processus appelant
|
 Primitive FORK
|
pid_t fork (void) : permet la création d'un processus Unix par duplication complète du créateur.
|
 Primitive Listen
|
int listen (int sock, int nb) : création de la file de connexions pendantes (n max) associée à la socket d'écoute sock
|
 Primitive msgctl
|
int msgctl (int msgid, int op, struct msgid_ds *buf) : accès et modification des informations contenues dans la table des
files de messages gérée par le système
int msgctl (msgid, IPC_RMID, NULL) : destruction de la file de message identifiée par msgid.
|
 Primitive msgget
|
int msgid = msgget (key_t cle, int option) : permet de créer une nouvelle file de messages ou de récupérer une file de messages
existante.
|
 Primitive msgrcv
|
int msgrcv (int msgid, struct message *buf, int lg, long montre, int option) : réception du message buf de taille lg octets
dans la MSQ d'identifiant msgid. Le paramètre montre spécifie le type de message à extraire. Les options permettent de rendre
la réception non bloquante si la file ne contient pas de message avec le type attendu.
|
 Primitive msgsnd
|
int msgsnd (int msgid, struct message *buf, int lg, int option) : envoi du message buf de taille lg octets dans la MSQ d'identifiant
msgid. Les options permettent de rendre l'envoi non bloquant si la file est pleine.
|
 Primitive pipe
|
int pipe (int p[2]) : création du tube p.
|
 Primitive Read (réseau)
|
int read (int sock,char *msg, int lg) : lecture du message msg de taille lg octets sur la socket sock en mode connecté
|
 Primitive read (tube)
|
nb_lu = read (p[0], buf, nb) : lecture dans le tube p d'au plus nb caractères. Les caractères lus sont retournés dans le tampon
buf. nb_lu contient le nombre de caractères effectivement lus.
Par défaut, la lecture sur un tube vide est bloquante.
|
 Primitive Recvfrom
|
int recvfrom (int sock, char *msg, int lg, int option, struct sockaddr_in *p_exp, int *lgexp) : réception d'un datagramme
msg envoyé par *p_exp.
|
 Primitive Sendto
|
int sendto (int sock, char *msg, int lg, int option, struct sockaddr_in *p_dest, int lgdest) : envoi d'un datagramme msg à
*p_dest.
|
 Primitive Socket
|
int socket (int domaine, int type, int protocole) : création d'une socket de communication
|
 Primitive WAIT
|
pid_t wait (int *status) : attente de la mort du fils
|
 Primitive Write (réseau)
|
int write (int sock,char *msg, int lg) : écriture du message msg de taille lg octets sur la socket sock en mode connecté
|
 Primitive write (tube)
|
nb_écrit = write (p[1], buf, nb) : écriture dans le tube p des nb caractères placés dans le tampon buf. nb_lu contient le
nombre de caractères effectivement écrits.
|
 Primitives EXEC
|
Ensemble de primitives (famille EXEC) permettant à un processus de charger en mémoire, un nouveau code exécutable :
int execl (const char *ref, const char *arg, ..., NULL) : ref est le chemin d'un exécutable à partir du répertoire courant,
const char *arg, ..., NULL est la liste des arguments.
int execlp (const char *ref, const char arg, ..., NULL) : ref est le chemin d'un exécutable à partir de la variable d'environnement
PATH, const char *arg, ..., NULL est la liste des arguments.
int execv (const char *ref, const char *arg[]) : ref est le chemin d'un exécutable à partir du répertoire courant, const char
*arg [] est un tableau contenant les arguments.
int execvp (const char *ref, const char *arg[]) : ref est le chemin d'un exécutable à partir de la variable d'environnement
PATH, const char *arg [] est un tableau contenant les arguments.
|
 Processus
|
Un processus est un programme en cours d'exécution auquel est associé un environnement processeur (CO, PSW, RSP, registres
généraux) et un environnement mémoire appelés contexte du processus.
Un processus est l'instance dynamique d'un programme et incarne le fil d'exécution de celui-ci dans un espace d'adressage
protégé (objets propres : ensemble des instructions et données accessibles)
Un programme réentrant est un programme pour lequel il peut exister plusieurs processus en même temps
|
 Processus léger
|
Un processus léger est un espace d'adressage dans lequel plusieurs fils d'exécution peuvent évoluer en parallèle. Ces fils
d'exécution sont chacun caractérisés par une valeur de compteur ordinal propre et une pile d'exécution privée.
|
 Ressource
|
Une ressource désigne toute entité dont a besoin un processus pour s'exécuter. La ressource peut être matérielle comme le
processeur ou en périphérique ou elle peut être logicielle comme une variable.
Une ressource est caractérisée :
Par un état : elle est libre ou occupée
Par son nombre de points d'accès, c'est-à-dire le nombre de processus pouvant lutiliser en même temps.
|
 Ressource critique
|
Une ressource critique est une ressource à un seul point d'accès, c'est-à-dire accessible par un seul processus à la fois.
L'utilisation s'effectue en exclusion mutuelle. L'allocation et la désallocation d'une ressource critique peuvent être gérées
à l'aide d'un sémaphore R initialisé à 1. L'allocation se traduit alors par un P(R) et la restitution par un V(R).
|
 Ressource critique
|
Une ressource critique est une ressource accessible par un seul processus à la fois.
|
 Section critique
|
Le code d'utilisation de la ressource critique s'appelle une section critique. La section critique doit offrir au moins une
propriété essentielle : celle de l'exclusion mutuelle c'est-à-dire assurer qu'effectivement elle ne sera jamais exécutée par
plus d'un processus à la fois. Pour ce faire, la section critique est précédée par un prélude et suivie d'un postlude (le
prélude et le postlude sont du code) qui doivent assurer cette propriété d'exclusion mutuelle.
|
 Serveur à états
|
Un serveur à état est un serveur qui conserve, sur un support non volatile, des informations sur les requêtes en cours de
traitements. C'est un serveur à mémoire qui en cas de panne, peut restaurer une partie de son état au moment de la panne et
reprendre des requêtes en cours.
|
 Serveur itératif
|
Un serveur itératif est un serveur qui ne peut traiter qu'une seule requête client à la fois. Il est composé d'un processus
unique qui effectue les opérations de réception de requêtes, de traitement de requêtes et d'émission des réponses.
|
 Serveur parallèle
|
Un serveur parallèle est un serveur qui peut traiter plusieurs requêtes client à la fois. Il est composé d'un processus père
qui effectue les opérations de réception de requêtes et pour chaque requête reçue, d'un processus fils qui effectue le traitement
de la requête et l'émission de la réponse.
|
 Serveur sans état
|
Un serveur sans état est un serveur qui ne conserve aucune informations sur les requêtes en cours de traitements. C'est un
serveur sans mémoire qui en cas de panne, repart "à zéro".
|
 Système d'exploitation
|
C'est un ensemble de programmes qui réalise 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
Comme son nom le suggère, le système dexploitation a en charge l'exploitation de la machine pour en faciliter l'accès, le
partage et pour l'optimiser
|
 Table des pages
|
La table des pages est une table contenant autant d'entrées que de pages dans l'espace d'adressage d'un processus. Chaque
processus a sa propre table des pages. Chaque entrée de la table est un couple < n°de page, n°de case physique dans laquelle
la page est chargée >.
|
 Table des segments
|
La table des segments est une table contenant autant d'entrées que de segments dans l'espace d'adressage d'un processus. Chaque
entrée de la table est un couple < n°de segment, adresse d'implantation du segment >.
|
 Tube anonyme
|
Un tube anonyme est un outil de communication unidirectionnel permettant de faire communiquer entre eux des processus de même
filiation, ayant connaissance des descripteurs permettant l'accès au tube.
|
|