This document discusses different types of mainframe systems, beginning with batch systems where users submit jobs offline and jobs are run sequentially in batches. It then describes multiprogrammed systems which allow multiple jobs to reside in memory simultaneously, improving CPU utilization. Finally, it covers time-sharing systems which enable interactive use by multiple users at once through very fast switching between programs, minimizing response time. The key difference between multiprogrammed and time-sharing systems is the prioritization of maximizing CPU usage versus minimizing response time respectively.