Abstract: First an operating system, along with the host-based printing system, are initialized. The queue processor waits for the host-based printing system to issue a job open command. While waiting for a job open command, other applications may acquire and use the parallel port. Upon receiving a job open command, the queue processor informs the engine monitor to acquire the parallel port resource from the operating system. After the print job is done or canceled, the queue processor checks whether there are any additional print jobs than have been sent since the parallel port was acquired. After all print jobs are completed or canceled, the queue processor informs the engine monitor to release the parallel port resource to the operating system. Once the engine monitor has released the parallel port resource, the queue processor again waits for the next job open command.