What are OS responsibilities for memory management?

Allocate memory space to new process

Manage memory space for process

Protect memory space of process from each other

Provides memory related system calls to process

Manage memory space for internal use