Systèmes Flashcards
def. : Système d’exploitation
Logiciel entre les applications et le matériel. Ses principales fonctions sont : - gestion de l'activité - gestion de l'information (mémoire) - gestion des communications - protection
def : interface + 2 types
L’interface est l’ensemble des fonctions accessibles aux utilisateurs du service
Interface de commande (ex : commande Shell) et interface de programmation
Les différentes couches du système avec ce qu’elles contiennent
+ Niveau utilisateur : Applications utilisateur, Logiciels de base, Bibliothèques système, Appels de fonction
+ Niveau noyau : Gestion des processus, Système de fichier, Gestion de la mémoire
+ Niveau matériel : Firmware, contrôleur, SOC (système complet embarqué sur une seule puce)
Méthodes d’isolation des programmes (et utilisateurs) dangereux
+ Préemption : ne donner aux applications que ce qu’on peut leur reprendre
+ Interposition : pas d’accès direct, vérification de la validité de chaque accès
+ Mode privilégié : certaines instructions machines réservées à l’OS
def : processus + exemples
Entité dynamique représentant l’exécution d’un programme sur un processeur
ex : - L’exécution d’un programme
- La copie d’un fichier sur disque
- La transmission d’une séquence de données sur un réseau
Un processus est identifié grâce à son PID et possède une mémoire propre et un contexte
Le père attend la fin de l’un des fils (donner la fonction)
pid_t wait (int *ptr_etat) retour : pid du fils qui a terminé ; code de fin stocké dans ptr_etat
Attendre la fin du fils pid (donner la fonction)
pid_t waitpid (pid_t pid, int *ptr_etat, int options)
def : processus zombie
un fils terminé dont le père n’a pas fait wait()
résultat création fork()
0 = fils >0 = père <0 = erreur
Moyens de communication entre processus sous Unix
- Signaux
- Fichiers et tubes (pipes, FIFOs)
- Files de messages : pas étudié dans ce module
- Mémoire partagée et sémaphores
- Sockets (dans les réseaux, mais aussi en local)
Signal : synchrone ou asynchrone ? émis par ? limites ? Intérêt ? Exemples de signaux
- asynchrone
- émis par l’OS ou un processus
- intérêts : simplifient le contrôle d’un ensemble de processus, pratique pour des événements liés au temps
- limites : à manipuler avec précaution (risque de pertes de signaux)
- exemples : SIGINT -> frappe du caractère
SIGTSTP -> frappe du caractère
SIGSTOP / SIGCONT
SIGTERM
SIGKILL
fonction open
fd = open(“/home/toto/fich”, O_RDONLY, 0);
Ici, ouverture en lecture seule
- Autres modes : o_rdwrite, o_wronly
- fd stocke le descripteur alloué par le système (ou –1 si erreur)
- Fichier créé s’il n’existe pas
création d’un pipe()
int fd[2]
pipe(fd)
utilisation write et read
write(fd, &BUFF, TAILLE). ex : #define BUFSIZE 10 char bufin[BUFSIZE] = "empty"; char bufout[ ] = "hello"; write(fd[1], bufout, strlen(bufout)+1);
def : cluster
Découpages du disque en clusters (4Ko en général)
Le cluster est la plus petite unité de stockage du système de fichiers.