Classic Operating Systems: From Batch Processing to Distributed Systems