[H8-ML(2442)] ダイナミックなメモリー確保
From: 植木誠 <maum@xxxxxxxxx>
Date: 2002年11月25日(月)11時23分24秒
はじめまして、いつも楽しくROMさせてもらっているmaumと申します。


実は私もH8にTCPを実装してHTTPを動作させて遊んでいるのですけど
hamayanさんと同じ事態に陥っています。
> TCP!何が面倒かと言えば、ウインドウ制御をどうしてやろうか、で蹴躓いているんですね。
> ハンドシェークの方は、それ程でも無いのですが・・・、極端な話、極々小さなWebデータを送るだけの
> 、データパケットのやり取りが一回で済む様な、限定された条件のHTTPアプリとかは直ぐにでも出来そ
> うですが、目的としてはTCPをサポートする事で、HTTPの実装でないから、ついでに勉強の目的でも
> 有りますし、ネットワークの参考書を読みながら、一つ一つ、フルスクラッチで作成しています。
> 一歩進んで、二歩さがる!って感じです。
まさに、同じことに苦慮されていますね。
私のTCP/IPもフロー制御をどうやろうかということで模索中なんです。
httpは1パケット以内に収まるような小さなものです。
たったこれだけでもシーケンス制御やら応答番号やらで結構時間がかかりました。


組み込みでの最大の弱点はダイナミックにメモリーを確保できないことですよね。
TCPとは直接関係ありませんが、H8でダイナミックにメモリーを確保したい場合
(Cのmallocに相当する)にどんなアルゴリズムでやればいいでしょうか?

私の考えでは・・。
mallocで確保するメモリーの単位を適当なメモリーブロックで管理する。
1ブロック(たとえば128バイト)を管理するテーブルを設けてその領域が
使われているかを管理する。
これは誰でも考えつきます。
問題はfreeされた場合の領域管理で、malloc、freeを繰り返すと
メモリーに虫食いが出てきましていつかは破綻するでしょう。
こうなると使えないということになってしまいます。
ということで、こちらも暗礁に乗り上げています。
皆さんのお知恵を聞かせてください。

スレッド概略
[2377(R)](起点)
 └[2422(U)]
   └[表示中]
     ├[2444(1)]
     └[2446(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]