Procesamiento por lotes, multiprogramación y tiempo compartido