1. A data-processing method comprising: arranging a plurality of I/O devices in a sequential order; identifying a plurality of hardware resources associated with a data-processing apparatus; time-slicing said plurality of hardware resources by executing a program instruction utilizing a computer; allocating said plurality of active hardware resources among a plurality of active hardware device indices associated with said data-processing apparatus; and freeing said hardware device indices when said associated active hardware resource is allocated to one of a plurality of drives associated with or in communication with said data-processing apparatus, thereby allowing a limited number of hardware resources to service a larger number of physical devices associated with said data-processing apparatus by executing a program instruction utilizing a computer.