1. In a computer system including a host computer connected to a storage system having storage devices, a method of carrying out data movement operations, the method comprising: receiving a data movement instruction, from an application program executing on the host computer, specifying a source data location in the storage devices and a destination data location in the storage devices; and transferring source data from the source data location to the destination data location at an operating system level of the host computer without transferring the source data between an address space of the application program and an operating system address space, wherein the transferring includes translating the source data location, as specified in the data movement instruction, into file segments of a file, translating the file segments of the file into logical extents, and then translating the logical extents to a blocklist representing the file and comprising source blocks which are non-contiguous to each other and which do not all have a fixed separation between each other, each source block identifying a contiguous region of storage locations in a single logical storage unit, the logical storage unit being provisioned as a logical storage device from the storage devices.