A prefetching technique for a network interface is provided to give the network interface the opportunity to prefetch data out-of-order into send queues in the network interface, rather than prefetching data in the order produced and deposited into main memory. That allows, the state of the send queues to be taken into consideration when deciding an appropriate order to prefetch data.
A data communications system for a computer system conducting network communications, wherein a communications method is selected and set for conducting the communications (transfer) using an NIC (hardware) 2 or a host processor (CPU 4) based on communications data length, and furthermore, at this time, the free space status of the NIC memory 22 is determined, thereby the communications method as to whether, for example, data related to transmission is to be transferred to the NIC memory 22, or copied to the host memory 5, can be also appropriately determined.