Cを使用してメモリ管理機能を実装したかった.状況は..物理メモリの合計サイズは256mb
.
128mb
あるプロセス64mb
を他のプロセスに割り当てるにはどうすればよいですか。
&を使用して最適なアルゴリズムを実装したいのですがfreelist
、圧縮を行う必要があります。
この点で誰か私を助けてくれますか、それとも同じことを勉強するための本を提案してくれますか?
プロセスが使用できるメモリの最大量 (常駐セット) を設定できます。
ulimit -m 131072
たとえば、シェルからフォークされたすべてのプロセスを最大常駐セットの 128 MB に制限します。
またはCで
#include <sys/time.h>
#include <sys/resource.h>
int setrlimit(int resource, const struct rlimit *rlim);
例えば
struct rlimit rlim;
getrlimit(RLIMIT_RSS, &rlim);
rlim.rlim_cur = (128 << 20) / sysconf(_SC_PAGESIZE) // 128 MiB
setrlimit(RLIMIT_RSS, &rlim);