malloc()을 구현하려면 어떤 지식들이 필요한가?