Projet système : extensions : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(A faire)
 
Ligne 20 : Ligne 20 :
 
Il ajouter trois fichiers de sources et modifie le Makefile ainsi que le kernel.lds. La seule fonction ajoutée par ce patch est décrite dans le fichier <tt>.h</tt>.
 
Il ajouter trois fichiers de sources et modifie le Makefile ainsi que le kernel.lds. La seule fonction ajoutée par ce patch est décrite dans le fichier <tt>.h</tt>.
 
Notez bien que cette fonction doit être appelée avec la pagination désactivée ! Dans vos noyaux la pagination est activée. Voir <tt>crt0.S</tt>.
 
Notez bien que cette fonction doit être appelée avec la pagination désactivée ! Dans vos noyaux la pagination est activée. Voir <tt>crt0.S</tt>.
 
== Mémoire virtuelle (TODO DD à intégrer dans aspects techniques du projet système) ==
 
 
Voir aussi la partie sur ''Memory Management'' de la documentation Intel.
 
 
=== Conseil de mapping mémoire (pagination) ===
 
 
* 0 à 4ko -> adresse non valide (pour lever une exception en cas de pointeur null)
 
* 4Go-4ko à 4Go -> adresse non valide (pour lever une exception en cas d'accès à cette zone mémoire)
 
* 4ko à 64Mo  -> Garder @virtuelle = @ physique
 
* 1Go -> @virtuelle de tous les programmes utilisateurs (allocation et correspondance à chaque pgalloc)
 
 
; Conseil :
 
: Placer à 1Go le programme utilisateur.bin (.rodata, .data, .text, .bss) + tas (qui peut être alloué dynamiquement lors d'un memalloc, appel système à prévoir)
 
: Placer à (4Go-4ko) et avant la pile du programme utilisateur.
 
 
S'il y a un débordement de la pile, il y aura une exception.
 

Version actuelle en date du 24 avril 2013 à 13:13

AttentionCette page est maintenue par les enseignants et utilisée par les élèves de la matière concernée. Vos contributions sont les bienvenues, mais merci d'en discuter avant de faire des modifications non triviales de la page, pour être sûr de ne pas perturber le déroulement du cours.

Mycomputer.png  Deuxième Année  CDROM.png  Informatique 

Résumé

Ce document présente quelques extensions possible pour le projet système. Il sera complété au fil du temps.

BIOS

Pour programmer des appels au BIOS en mode réel sur PC, nous vous fournissons un patch à appliquer avec la commande suivante :

# Pour voir les changements appliques par le patch
patch -p1 --dry-run < ~/Psys_bios.patch
# Enlever le parametre --dry-run pour appliquer effectivement les changements

Il ajouter trois fichiers de sources et modifie le Makefile ainsi que le kernel.lds. La seule fonction ajoutée par ce patch est décrite dans le fichier .h. Notez bien que cette fonction doit être appelée avec la pagination désactivée ! Dans vos noyaux la pagination est activée. Voir crt0.S.