プロが教える店舗&オフィスのセキュリティ対策術

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()
のようなことをしたいと考えています.

A 回答 (1件)

「自分で作る」のが普通だと思います.


だいたい, 何をもって「空き領域」としているかわからないし.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!