Operating System Dynamic memory allocation techniques