tag:blogger.com,1999:blog-34057821.post4993480000049315343..comments2024-03-29T16:17:36.198+01:00Comments on Bilou HomeBrew's Blog: Try Again ...PypeBroshttp://www.blogger.com/profile/10564522267743689261noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-34057821.post-1167294641245625462009-08-05T22:38:03.513+02:002009-08-05T22:38:03.513+02:00en fait, pas vraiment. Dans un système de fichiers...en fait, pas vraiment. Dans un système de fichiers, tu construis des clusters (en groupant n secteurs) de manière à n'avoir que 2^k clusters en tout, et donc pouvoir les adresser sur k bits.<br /><br />En mémoire, tu sais toujours adresser tous tes bytes, par contre, tu dois retenir de l'information sur chaque zone libérée. Sa taille, l'emplacement de la zone libre suivante au minimum, et selon l'algorithme utilisé, l'emplacement d'une zone 2x plus grande ou celui d'une zone 2x plus loin pour accélérer les opérations d'allocation/désallocations.<br /><br />Résultat, tu te retrouves avec une structure décrivant une zone libre qui fait au moins n bytes, et il vaut mieux éviter de renvoyer une zone de moins de n bytes au "logiciel client" sous peine de se retrouver dans la situation embarassante de ne plus pouvoir mémoriser qu'une zone spécifique est vide.<br /><br />Si tu as souvent besoin de petites zones (moins de 16 bytes qui est une valeur typique des implémentations que je connais), il vaut alors mieux passer à un "allocateur de cellules" qui prend p.ex. 4KB et les divise en 1000x4 bytes.PypeBroshttps://www.blogger.com/profile/10564522267743689261noreply@blogger.comtag:blogger.com,1999:blog-34057821.post-79279197842360708812009-08-05T18:51:35.725+02:002009-08-05T18:51:35.725+02:00[blabla]Il fallait que je l'ouvre ce site dans...[blabla]Il fallait que je l'ouvre ce site dans tout les cas ^^ (mon hébergeur actuel n'est pas top http://ludo6431.o-n.fr (down en ce moment d'ailleurs)).[/blabla]<br /><br />Et pour malloc, je suppose que c'est le même principe que les clusters sur un FS. isn't it ?Ludo6431https://www.blogger.com/profile/16284902456957442065noreply@blogger.comtag:blogger.com,1999:blog-34057821.post-74557517352896224732009-08-05T12:12:57.578+02:002009-08-05T12:12:57.578+02:00très sympa d'avoir ouvert un site pour réagir ...très sympa d'avoir ouvert un site pour réagir à ce billet! Et rien de surprenant à ce que malloc ait une "granularité" de 16 bytes: il lui faut ... <br /><br />mais je raconterai ça dans un prochain post.PypeBroshttps://www.blogger.com/profile/10564522267743689261noreply@blogger.comtag:blogger.com,1999:blog-34057821.post-57103219185647220502009-08-05T02:38:37.370+02:002009-08-05T02:38:37.370+02:00Salut,
au début je faisais ça aussi pour récupérer...Salut,<br />au début je faisais ça aussi pour récupérer la mémoire libre mais je trouvais ça pas très élégant, j'ai un peu fouiller le net et j'ai trouver du code que j'ai posté sur mon site :<br />http://sites.google.com/site/ludo6431/nds-tips-tricks/get-free-memoryLudo6431https://www.blogger.com/profile/16284902456957442065noreply@blogger.com