Le Forum de TI-BANK.fr

Le forum de la banque de programmes pour calculatrices graphiques Texas Instruments (aide débutants, résolution problèmes...).
Accueil­Portail­Calendrier­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Confusions Kernel/Nostub

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
fpgforce
Elite
Elite


Classe: Programmation :), HandBall, Litterature
Calculatrice(s): Etudiant licence Maths-Info
Messages: 325
Efficacité: 0
Localisation: Paris
Date d'inscription: 14/11/2004

MessageSujet: Confusions Kernel/Nostub   Mer 17 Nov - 18:35

Suite à de nombreuses confusions concernants les deux modes de programmation (nostub et kernel) je poste un extrait du tutoriel de squale92 pris sur http://www.squalenet.net/tutorial_asm/.

Je vous conseille particulièrement ce tutoriel qui est très bien fait.


Citation:
"Kernel vs Nostub" : Que choisir ?

Sur nos TIs, il existe deux modes de programmation. Le premier (historiquement parlant, puisqu'il a vu le jour au temps de la TI-92) est le mode Kernel. Le second, qui s'est répandu à peu près en même temps que la possibilité de coder en langage C pour nos TIs est le mode Nostub.
Chaque mode, quoi qu'en disent certains, présente des avantages, et des inconvénients. Je vais ici tenter de vous décrire les plus importants, afin que vous puissiez, par la suite, faire votre choix entre ces deux modes, selon vos propres goûts, mais aussi (et surtout !) selon ce dont vous aurez besoin pour votre programme.

1) Mode Kernel :

Avantages:

* Permet une utilisation simple de librairies dynamiques (équivalent des Dll sous Windows) déjà existantes (telles Ziplib, Graphlib, Genlib, ...), ou que vous pourriez créer par vous-même.
* Le Kernel propose de nombreuses fonctionnalités destinées à vous faciliter la vie, ainsi qu'un système d'anticrash parfois fort utile.
(Une fois le kernel installé, l'anticrash l'est aussi, pour tous les programmes que vous exécutez sur la machine ; pas uniquement le votre !)


Inconvénients:


* Nécessite un programme (le Kernel) installé avant que vous ne puissiez lancer le votre.
* L'utilisation de librairies dynamiques fait perdre de la RAM lors de l'exécution du programme (parfois en quantité non négligeable) si toutes les fonctions de celle-ci ne sont pas utilisées. Cependant, notez qu'il est tout à fait possible de programmer en mode Kernel sans utiliser de librairies dynamiques !
Naturellement, la mémoire RAM est récupérée une fois l'exécution du programme terminée.

2) Mode Nostub :


Avantages:

* Ne nécessite pas de Kernel installé (Fonctionne même, normalement, sur une TI "vierge" de tout autre programme).
* En théorie, si le programme n'a pas besoin des fonctionnalités proposées par les Kernels (qu'il lui faudrait ré-implémenter !), il pourra être plus petit que s'il avait été développé en mode Kernel (car les programmes en mode Kernel sont dotés d'un en-tête de taille variable, qui peut monter à une bonne cinquantaine d'octets, et jamais descendre en dessous de environ 20-30 octets)
Cela dit, en pratique, c'est loin de toujours être le cas, en particulier pour les programmes de taille assez importante.

Inconvénients:


* Ne permet pas, en ASM, la création et l'utilisation de librairies dynamiques (du moins, pas de fa&ccedilon aussi simple qu'en mode Kernel !) ; cela est actuellement permis en C, mais pas encore en ASM.
* En cas de modifications majeures (par Texas Instrument) dans les futures versions d'AMS, certaines fonctions d'un programme Nostub peuvent se révéler inaccessibles, et alors entraîner des incompatibilités entre la calculatrice et le programme. Il faudra alors que l'auteur du programme corrige son code et redistribue la nouvelle version du programme (Sachant que la plupart des programmeurs sur TI sont des étudiants, qui stoppent le développement sur ces machines une fois leurs études finies, ce n'est que rarement effectué !). Ce n'est pas le cas en mode Kernel, pour les fonctions des librairies dynamiques : l'utilisateur du programme n'aura qu'à utiliser un Kernel à jour pour que le programme fonctionne de nouveau.

_________________
God bless ETP-Basic!
Sexy Programmers: http://www.sexy-programmers.info
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.fpgforce.fr.st
 

Confusions Kernel/Nostub

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Forum de TI-BANK.fr :: Forum TI68k :: Programmation-
Poster un nouveau sujet   Répondre au sujet