- 締切済み
mmap()した領域の領域確保
mmapで特定のデバイスのIOメモリを仮想空間に割り付けて, その領域に対してユーザーからデータを書き込むことを考えています. ユーザープログラム側でその領域上に,ある構造体の双方向リスト を作りたいのですが,ユーザー空間の特定のアドレス範囲から空き メモリ領域を動的に確保する方法はないでしょうか void *vm_malloc(start_address, end_adress, nbyte); とすると"仮想アドレスstart_address~end_adressの範囲から空き領域を探し出し, nbyteバイトの領域を確保する"みたいなイメージです 一連の流れとしては,struct hogeをIOメモリに書き込む場合, ・mmap()でIOメモリを仮想空間にマップ ・struct hoge* addr = vm_malloc();でマップされた領域からsizeof(struct hoge)だけ領域を確保 ・*addr = .....; ・vm_malloc, データの書き込みの繰り返し ・fsync() のようなことをしたいと考えています.
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
「自分で作る」のが普通だと思います. だいたい, 何をもって「空き領域」としているかわからないし.