1. A method of performing an anti-virus scan of a file system on a client device, the method comprising: at the client device for files stored in the file system, commencing an initial anti-virus scan including performing an intermediate scan to obtain intermediate scanning results prior to the initial anti-virus scan of the files being completed, the intermediate scanning results including at least a file type of each file; storing the intermediate scanning results in a database; and completing the initial anti-virus scan; during a subsequent anti-virus scan of the file system, prior to performing a second intermediate scan of each file stored in the file system, determining if intermediate scanning results relating to the file are available in the database, and, where intermediate scanning results are available in the database for a particular type of intermediate scan, not performing that type of intermediate scan of the file, and where intermediate scanning results are not available in the database for a particular type of intermediate scan, performing that type of intermediate scan of the file to obtain intermediate scanning results, and in both cases completing the subsequent anti-virus scan using the stored intermediate scanning results, at a remote anti-virus server; prior to sending a malware signature update to the client device for scanning files in the file system, using the intermediate scanning results stored in the database to determine a set of malware signatures relevant to the files in the file system; and sending only the set of malware signatures to the client device together with pre-filter information including at least an identification of a file type(s) to which the set of malware signatures is relevant, at the client device; when performing the subsequent anti-virus scan of the file system for a given malware signature, for a given file of the file system comparing intermediate scanning results for the given file with pre-filter information for the given malware signature to determine if the given malware signature is relevant to the file type of the given file and scanning the given file only if this is true; storing in the database a date at which a file of the file system was last modified; estimating when infection by a recent malware was first possible; and in a subsequent anti-virus scan of the file system for a signature of the recent malware, omitting those files that were last modified before infection by the recent malware was first possible; wherein the particular type of intermediate scan comprises at least one of a checksum scan, a scan for file header information, a scan for a number of file sections, a scan for hash values for the file, a scan for hash values for parts of the file, a scan for key data from emulation, a scan for cyclic redundancy check values, and a byte search results scan.