アライメントサイズが4096バイトのposix_memalignは、mmap
とどのように違いますか?それは内部でmmap
または他の何らかの仕組みを使用していますか?posix_memalignとmmapとの違い
0
A
答えて
5
posix_memalign
はmalloc
、free
realloc
とと相互運用するように設計さmmap
より高いレベルのAPIです。 mmap
使用法は、posix_memalign
(プロセスのアドレス空間にファイルをマッピングする)より多くの機能を提供するため、より複雑です。実装方法(mmap
またはそれ以外の点で)は、POSIX規格では指定されていません。
posix_memalign
ここでは、整列の制限がない場合はmalloc
を使用します。
1
mmap
が利用可能な場合、posix_memalign
は通常mmap
を使用して実装されます。主な違いは、posix_memalign
がstdlib.hにあることです。mmap
は、利用できない可能性があり、異なるプラットフォームで異なるセマンティクスを持つシステムコールです。
1
アライメントサイズが4096バイトのposix_memalignは、mmapとどのように違いますか?
明らかな答え:posix_memalignは、任意のファイルをfdでmmapできません。 :)
posix_memalignとmmapの割り当て動作(MAP_ANOYMOUS):posix_memalign(size)がmmapを使用する必要はありません。 sbrkのメカニズムをmallocとの間で共有することもできますし、brk領域の一部に適切に位置合わせされたポインタを返すこともできます。
関連する問題
- 1. FSDirectoryとMMapディレクトリの違いは?
- 2. C mmapとnumpy memmapの相違
- 3. のmmap()とと、munmap()
- 4. NumPyとマルチプロセッシングとmmap
- 5. mmapビッグエンディアンとリトルエンディアンの比較
- 6. 私はTAILQ構造体持っている間違った構造体とmmap
- 7. mmap(2)vs mmap(3)
- 8. mmap SIGBUSエラーとファイルの初期化
- 9. アドレス空間レイアウトランダム化(ALSR)とmmap
- 10. mmapでファイルを開くと、Windows上で
- 11. マップサイズとmmap無効な引数エラー
- 12. mmapファイルベースのマッピングとLinuxの匿名マッピングとの比較
- 13. メモリ割り当てのしきい値(mmapとmalloc)
- 14. Android ndk r15b - Posix_memalign()宣言されていない識別子
- 15. {!!の違い!!}と{{}}
- 16. 「 '」と「'」の違い
- 17. Open GL ES - GLenumとGlintの違いとGLintとGLsizeiの違い
- 18. ネイティブのmmapエラー
- 19. mmapへのインデックス?
- 20. posix_memalign/memalignはいつ使用されますか?
- 21. ローカルRデータフレームとSparkRデータフレームとRDDとの違いと相違
- 22. OAuth2とOmniauthとの違い
- 23. とnewgemとの間違い
- 24. Node.jsとtomcatとの違い
- 25. BroadcastReceiverとインテントとの違い
- 26. テキストファイルのCのmmap
- 27. 違いダウンケースとダウンケースの違い! Rubyで
- 28. "!"の違いと "。"オペレータ
- 29. g ++との違い
- 30. "?"の違いと "@"ビジュアルベーシック
'mmap'はPOSIXで指定されているため、準拠しているプラットフォームでは同じセマンティクスを持つ必要があります。 –
@larsmans: 'mmap'がX/Open(POSIX)によって' MAP_ANON'フラグ/挙動(メモリを割り当てるために 'mmap'を使うため)と' -1'を使って指定されました。ポータブル仕様。 'mmap'の標準ではないものについてはhttp://pubs.opengroup.org/onlinepubs/009695399/functions/mmap.htmlを参照してください。 –