Changes between Version 45 and Version 46 of Archi-1-TP10
- Timestamp:
- Jan 3, 2021, 10:22:36 AM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Archi-1-TP10
v45 v46 51 51 52 52 Cette séance illustre le [htdocs:cours/AS5-10-2p.pdf cours2]. 53 Les applications de l'utilisateur s'exécutent en mode user. Dans la séance précédente, nous avons vu que les registres de commande des contrôleurs de périphériques sont placés dans l'espace d'adressage du processeur. Les adresses de ces registres ont été placées dans la partie de l'espace d'adressage interdite en mode user. Ainsi, une application n'a pas un accès direct aux périphériques, elle doit utiliser des appels système (avec l'instruction syscall) pour demander au noyau du système d'exploitation. C'est ce que nous allons voir. 53 Les applications de l'utilisateur s'exécutent en mode user. Dans la séance précédente, nous avons vu que les registres de commande des contrôleurs de périphériques sont placés dans l'espace d'adressage du processeur. Les adresses de ces registres ont été placées dans la partie de l'espace d'adressage interdite en mode user. Ainsi, une application n'a pas un accès direct aux périphériques, elle doit utiliser des appels système (avec l'instruction `syscall`) pour demander au noyau du système d'exploitation de faire l'accès. C'est ce que nous allons voir. 54 54 55 Le code est désormais découpé en 4 couches logicielles : 55 1. `1_klibc` le code de boot (utilisé seulement au démarrage);56 2. `2_appk` le noyau du système d'exploitation, ici pour l'essentiel, la fonction d'initialisation `kinit()` etle gestionnaire des appels systèmes;57 3. `3_syscalls` la bibliothèque de fonctions standards (libc);58 4. `4_libc` l'application. 56 - **`1_klibc`**\\⟶ le code de boot (utilisé seulement au démarrage) mais avec une librairie de fonctions standard pour le noyau; 57 - **`2_appk`**\\⟶ le noyau du système d'exploitation, ici pour l'essentiel, la fonction d'initialisation `kinit()`\\et une application mais **sans** le gestionnaire des appels systèmes; 58 - **`3_syscalls`**\\⟶ le noyau **avec** le gestionnaire des appels système et une application **sans** la librairie de fonctions standards (libc); 59 - **`4_libc`**\\⟶ le noyau avec gestionnaire de syscall, une libc, et une application 59 60 60 61 … … 69 70 70 71 71 Dans cette section, nous allons nous intéresser à ce que propose le processeur MIPS concernant les modes d'exécution. Ce sont des questions portant sur l'usage des modes en général et le comportement du MIPS vis-à-vis de ces modes. Dans la section A3, nous verrons le code de gestion des changements de mode; 72 Le MIPS propose deux modes d'exécution. 72 Dans cette section, nous allons nous intéresser à ce que propose le processeur MIPS concernant les modes d'exécution. Ce sont des questions portant sur l'usage des modes en général et le comportement du MIPS vis-à-vis de ces modes en particulier. Dans la section **A3**, nous verrons le code de gestion des changements de mode dans le noyau. 73 73 74 74 … … 83 83 ''''''''''''''' 84 84 }}} 85 1. Commencez par rappeler ce qu'est l'espace d'adressage du MIPS , puis dîtes ce que veut dire qu'une adresse X mappée en mémoire, et enfin dîtes si une adresse X mappée en mémoire est toujours accessible (en lecture ou en écriture) quelque soit le mode d'exécution du MIPS.85 1. Commencez par rappeler ce qu'est l'espace d'adressage du MIPS et dîtes ce que veut dire qu'une adresse X mappée en mémoire. Dîtes si une adresse X mappée en mémoire est toujours accessible (en lecture ou en écriture) quelque soit le mode d'exécution du MIPS. 86 86 {{{#!protected ------------------------------------------------------------------------------------ 87 87 '''''''''''''''