Task based virtual address spaces