Quel est le rôle d’un système d’exploitation ? Les interpréteurs de commandes et les compilateurs font-ils parties du système d’exploitation ?
Le système d’exploitation gère et contrôle le matériel et offre aux utilisateurs une machine virtuelle plus simple d’emploi que la machine réelle (grâce aux appels système). Non, les interpréteurs et les compilateurs ne font pas parties du noyau du système d’exploitation.
Qu’est ce qu’un système multiprogrammé ? Un système de traitement par lots ? Un système en temps partagé ?
Un système multiprogrammé gère l’exécution de plusieurs processus à la fois, ce qui nécessite la cohabitation de plusieurs processus en mémoire physique.
Un système multiprogrammé de traitement par lots est un système multiprogrammé qui choisit, en général selon la discipline « premier arrivé premier servi», un processus prêt et l’exécute jusqu’à ce qu’il se termine ou se bloque.
Un système multiprogrammé en temps partagé est un système multiprogrammé qui limite le temps d’allocation d’un processeur à chaque processus prêt. Un processus qui consomme ce temps limite est suspendu même s’il n’a pas fini son exécution.
Dans le système Unix, les véritables appels système sont effectués à partir :
Sont-ils exécutés en mode noyau ou en mode utilisateur ?
À partir de la bibliothèque standard des appels système sont effectués avec une instruction de déroutement (trap).
Les appels système sont effectués à partir de processus ou threads (en mode utilisateur) et sont exécutés dans le noyau (en mode système).
Comment sont organisés les fichiers dans le système Unix ? Un utilisateur peut-il accéder à un fichier d’un autre utilisateur ? Si oui, comment est-ce la possible ?
Les fichiers sont organisés dans des répertoires. Chaque répertoire peut contenir des fichiers ou des répertoires (ce qui donne une structure arborescente). Pour contrôler les accès aux fichiers, chaque fichier a son propre code d’accès sur 9 bits (3 bits pour le propriétaire, 3 bits pour les utilisateurs du groupe du propriétaire, et 3 bits pour les autres utilisateurs). Chaque groupe de 3 bits indique les accès autorisés en lecture, en écriture et en exécution. Un utilisateur peut accéder à un fichier d’un autre utilisateur si le code d’accès du fichier le permet. Le chemin d’accès est absolu ou relatif au répertoire courant.
Est-ce qu’un système d’exploitation multitâche est nécessairement multi-utilisateur ? Un système d’exploitation multi-utilisateur est-il nécessairement multitâche ? Expliquez.
RÉPONSE À VENIR
Expliquez la raison principale de l’utilisation de deux modes d’exécution (utilisateur et noyau) dans les systèmes d’exploitation. À quoi servent-ils ?
A partir du moment où il faut isoler les utilisateurs les uns des autres, il faut un mode privilégié pour exécuter le système d’exploitation. Ceci lui permet de gérer et de contrôler les accès aux ressources du système
Indiquez pour chacun des éléments logiciels suivants dans quelle catégorie de programmes (programmes d’application, utilitaires, appels système, systèmes d’exploitation) se situe-t-il ?
more
emacs
Xlib
)shell
read
RÉPONSE À VENIR
Supposons un système monoprocesseur multiprogrammé où plusieurs processus sont en attente d’exécution et le processus en cours exécute le programme suivant :
int main () {
for ( int i=0; i<10; i =(i+1) % 10 );
return 0;
}
Citez trois événements qui provoquent l’interruption de l’exécution d’un processus en cours dans un système en temps partagé.
L’ordonnanceur est une partie du noyau d’un système d’exploitation qui se charge de gérer l’allocation du processeur (ou des processeurs) aux différents processus en attente d’exécution. Comment peut-il favoriser les processus interactifs dans le cas où cette gestion est basée sur des priorités ?
L’ordonnanceur peut favoriser les processus interactifs en rehaussant la priorité des processus qui font beaucoup d’E/S. Il faudrait utiliser des métriques qui permettent de distinguer les processus interactifs des autres.
Quelle est l’utilité de l’accès direct à la mémoire (DMA) ?
L’unité DMA se charge de transférer des données entre la mémoire physique et un ou plusieurs périphériques. Elle permet de libérer le processeur, de sorte qu’il puisse exécuter un autre processus ou thread durant les opérations d’E/S.
Le degré de multiprogrammation représente le nombre maximal de processus qu’un système monoprocesseur peut gérer en même temps. Expliquez quelques facteurs matériels et logiciels qui pourraient avoir une certaine influence sur le degré de multiprogrammation d’un système.
RÉPONSE À VENIR
Une fenêtre (window ) représente un certain niveau d’abstraction de l’écran car les applications interagissent avec celle-ci et non pas directement à l’écran. Décrivez trois prototypes de fonctions qu’une application pourrait utiliser pour interagir avec une fenêtre d’écran.
RÉPONSE À VENIR