1. A data processing system comprising: a physical disk; at least two disk emulators operating in parallel, wherein each of the at least two disk emulators emulates a respective disk subsystem and is associated with a respective file in a file system for any data stored on the physical disk; and a de-duplicator for de-duplicating the data stored in the respective files associated with the at least two disk emulators, wherein the de-duplicator operates in parallel to the at least two disk emulators, wherein the de-duplicator is associated with an additional disk emulator emulating an additional disk subsystem, wherein the additional disk emulator is associated with an additional file in a file system configured to store data shared between the respective disk subsystems emulated by the at least two disk emulators, wherein the additional file is accessible by each of the at least two disk emulators, and wherein the de-duplicator is configured to: communicate with the at least two disk emulators to identify duplicated data in the respective files associated with the at least two emulators, retrieve the duplicated data and store the duplicated data in the additional file via the additional disk emulator, and instruct each disk emulator among the at least two disk emulators that is associated with a respective file having the duplicated data to delete the duplicated data in the respective file and replace the deleted duplicated data with a reference to the duplicated data in the additional file.