OVH Cloud OVH Cloud

[netbsd] port palm pilot

16 réponses
Avatar
gregg
Bonjour,

Discutant avec un camarade GNU/Linuxien, et le sujet abordant la
portabilité, je n'ai pas su quoi lui répondre quand nous avons constaté
qu'il n'existait pas de port NetBSD pour les Palm.
Pourtant, le DragonBall est à base de 68K, qui est une architecture bien
maîtrisée par les développeurs NetBSD.

C'est parce que les NetBSDistes (?) n'ont pas eu de Palm III ?
(je ne connais pas les nouveaux Zire et machins...)

++

10 réponses

1 2
Avatar
Miod Vallat
Discutant avec un camarade GNU/Linuxien, et le sujet abordant la
portabilité, je n'ai pas su quoi lui répondre quand nous avons constaté
qu'il n'existait pas de port NetBSD pour les Palm.
Pourtant, le DragonBall est à base de 68K, qui est une architecture bien
maîtrisée par les développeurs NetBSD.


Oui, mais personne ne voit l'intérer de se casser le derche pour des
processeurs ne disposant pas de MMU.

Avatar
manu
gregg wrote:

Discutant avec un camarade GNU/Linuxien, et le sujet abordant la
portabilité, je n'ai pas su quoi lui répondre quand nous avons constaté
qu'il n'existait pas de port NetBSD pour les Palm.


NetBSD a besoin d'une MMU, les ports les plus exotiques de Linux s'en
passent. A ma connaissance, personne dans le prohet NetBSD ne bosse sur
ce problème.

Pas de MMU signifie pas de protection mémoire, et donc un buffer
overflow dans un processus peut planter la machine. Dans ces conditions,
est-ce toujours un système à la Unix qu'on fait tourner?

--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz


Avatar
gregg
Emmanuel Dreyfus wrote:


Pas de MMU signifie pas de protection mémoire, et donc un buffer
overflow dans un processus peut planter la machine. Dans ces conditions,
est-ce toujours un système à la Unix qu'on fait tourner?


Oui, mon erreur: je n'avais pas vu qu'il manquait une MMU au Dragonball
(je pensais qu'il dérivait un 030, pas d'un 000)

N'est-il pas possible de simuler de façon logicielle une MMU (je suis
d'accord, ça coûterait très cher, notamment avec de tels processeurs...)


Mais pour rebondir, puisque j'ai vu passer l'annonce sur Slashdot il y a
quelques jours: OpenBSD est porté sur Zaurus.
PAs sur NetBSD, qui se veut omni-portable ("of course it runs ...").
Net ne semble pas si réactif que ça sur le marché des PDAs.
(ce n'est pas un troll ! je me pose juste la question).

Ca semble pourtant un point intéressant, le PDA, non ?

(je dis ça et j'utilise FreeBSD, ou GNU/Linux, donc je suis certainement
mal positionné pour la ramener. Mais NetBSD commence à m'intéresser de
plus en plus, je l'avoue...)

++

Avatar
gregg
Miod Vallat wrote:

Oui, mais personne ne voit l'intérer de se casser le derche pour des
processeurs ne disposant pas de MMU.


Oups, j'avais cette idée préconçue, que le DB descendait du 030...
Excusez-moi :-(

Pas de MMU, pas de chocolat, quoi.
( au fait il a une MMU, le grille-pain ?? :-D )

++

Avatar
Miod Vallat
N'est-il pas possible de simuler de façon logicielle une MMU (je suis
d'accord, ça coûterait très cher, notamment avec de tels processeurs...)


Pas sans une minimum d'assistance matérielle (en particulier, la
possibilité d'avoir un trap sur chaque accès mémoire)... et quitte à
se faire aider par le matériel, autant mettre un vrai MMU.

En fait, sur un processeur de type ColdFire / DragonBall, si tu sais
exactement quel code tourne sur la machine, tu peux faire en sorte que
le système fournisse toujours des adresses non alignées à l'userland, et
gérer les traps d'accès non alignés, mais ça ne marche pas si ton code
manipule des octets... Et de toutes façons ce serait une horreur, tant
en termes de conception que de performances.

Ca semble pourtant un point intéressant, le PDA, non ?


Les PDA ne servent à rien.

Avatar
F. Senault

Mais pour rebondir, puisque j'ai vu passer l'annonce sur Slashdot il y a
quelques jours: OpenBSD est porté sur Zaurus.
PAs sur NetBSD, qui se veut omni-portable ("of course it runs ...").
Net ne semble pas si réactif que ça sur le marché des PDAs.
(ce n'est pas un troll ! je me pose juste la question).

Ca semble pourtant un point intéressant, le PDA, non ?


Comme tous les projets libre, c'est bien beau d'avoir un créneau à
prendre, il faut encore des volontaires pour s'en occuper, tout
simplement.

NetBSD fait déjà des miracles avec relativement peu de monde pour autant
de plateformes, ils ne peuvent pas non plus être omniprésents...

Fred
--
Comme elle vient Comme on peut C'est cruel et sans fard
Ca choisit pas, merci pour eux Comme une flèche Comme un pieu
C'est bon pour la mémoire Ca vous fait quoi d'être au milieu ?
(Noir Désir, Comme elle vient)

Avatar
manu
gregg wrote:

Mais pour rebondir, puisque j'ai vu passer l'annonce sur Slashdot il y a
quelques jours: OpenBSD est porté sur Zaurus.
PAs sur NetBSD, qui se veut omni-portable ("of course it runs ...").
Net ne semble pas si réactif que ça sur le marché des PDAs.
(ce n'est pas un troll ! je me pose juste la question).


C'est comme toujours, il faut la conjonction de la motivation, de la
copmpétence et de l'accès au matériel. Mais bon, maintenant le problème
se réduit à repomper ce que OpenBSD a fait, donc ca devrait se faire
plus rapidement :-)

Ca semble pourtant un point intéressant, le PDA, non ?


Oui, j'en ai un (sous NetBSD) qui me sert de console série.

--
Emmanuel Dreyfus
Le cahier de l'admin BSD 2eme ed. est dans toutes les bonnes librairies
http://www.eyrolles.com/Informatique/Livre/9782212114638/livre-bsd.php


Avatar
gregg
Emmanuel Dreyfus wrote:

Re-bonsoir !

Pas de MMU signifie pas de protection mémoire, et donc un buffer
overflow dans un processus peut planter la machine. Dans ces conditions,
est-ce toujours un système à la Unix qu'on fait tourner?


La MMU sert à gérer la mémoire virtuelle, pas à la protéger (ce deuxième
point n'est qu'une conséquence du premier). Non ?
Je suis à Toulouse pour l'instant, je n'ai donc pas toute ma
bibliothèque, mais il me semblait bien que c'était ça: gérer la mémoire
virtuelle.

D'un autre côté, le buffer overflow existe malgré la MMU: est-ce que ce
n'est pas plutôt dû à la segmentation (qui est logicielle, pas liée à la
MMU cette fois) ?


(Nota: je suis d'accord, ce serait une douleur dans la nuque que de
devoir porter Netbsd sur une machine MMU-less, hein... C'est juste pour
la discussion. Qui est in-charte puisque la mémoire virtuelle, liée à la
MMU, a été apportée par BSD. Euh ? version 3 ?)

M'enfin, y'a pas de MMU dans un grille-paingue ?
(évidemment je n'en ai pas sous la main pour vérifier, grrrr)

++

Avatar
gregg
Miod Vallat wrote:

Les PDA ne servent à rien.


Si, à bidouiller dans le train. Un portable c'est trop lourd et encombrant.
Et puis on peut faire plein de trucs avec un PDA, comme planifier les
rendez-vous et activités que l'on ne pourra bien sûr pas assumer.

Et ça sert de console, aussi (comme le dit Emmanuel Dreyfus dans un post
plus tôt). C'est bien pratique des fois.


/me s'interroge sur l'utilité de l'informatique en général :-)

Avatar
Miod Vallat
La MMU sert à gérer la mémoire virtuelle, pas à la protéger (ce deuxième
point n'est qu'une conséquence du premier). Non ?


Non, le MMU sert à pouvoir accéder à la mémoire physique autrement
qu'avec une correspondance 1:1.

Pour ce faire, il est indispensable qu'il fournisse un minimum de
protection (au moins pour les accès en lecture et en écriture).

Ensuite, on peut se servir de cette caractéristique pour fournir de la
mémoire virtuelle (à condition que le processeur puisse relancer une
instruction ayant provoqué une exception ; à titre d'exemple, le MMU du
80286 permettrait de gérer la mémoire virtuelle si le traitement des
exceptions propres au MMU ne détruisait pas accidentellement la valeur
du registre CX...).

D'un autre côté, le buffer overflow existe malgré la MMU: est-ce que ce
n'est pas plutôt dû à la segmentation (qui est logicielle, pas liée à la
MMU cette fois) ?


Je ne suis pas sûr de comprendre ce que tu veux dire...

Si un buffer est alloué de façon à ce que sa fin coïncide avec une fin
de page MMU, et que la page correspondant aux adresses virtuelles
immédiatement ultérieures n'est pas mappée, alors il n'est pas possible
de provoquer un overflow sans provoquer également une exception.

Maintenant, d'une part, c'est un cas très rare, et d'autre part, le
système peut très bien en cette occasion, rendre la page accessible (par
exemple en allouant du rab de pile sur les architectures où la pile
croît vers les adresses croissantes, ou en chargeant une nouvelle page
de la section de données de l'exécutable depuis le disque, etc).

(Nota: je suis d'accord, ce serait une douleur dans la nuque que de
devoir porter Netbsd sur une machine MMU-less, hein... C'est juste pour
la discussion. Qui est in-charte puisque la mémoire virtuelle, liée à la
MMU, a été apportée par BSD. Euh ? version 3 ?)


32V plutôt, non ?

M'enfin, y'a pas de MMU dans un grille-paingue ?


Ça doit dépendre du modèle. De toutes façons, le pain est nettement
meilleur grillé au four.

1 2