Christopher Strachey, cientista da computação e pioneiro no design de programação de linguagens, publicou em junho de 1959 na Conferência Internacional de Processamento da Informação realizada em Nova York na UNESCO, o que ele intitulou de “Time Sharing Processing in Large Fast Computers”. Sua publicação tratou do aspecto do uso da multi-programação em tempo compartilhado (time sharing) e estabeleceu um novo conceito de utilização de máquinas de grande porte visando a produtividade dos recursos de hardware. O uso da multi-programação foi utilizada no super computador Atlas no começo dos anos 60. Este projeto contou com a participação das universidades de Manchester e Ferranti Ltd. e proporcionou o pioneirismo nos conceitos de paginação por demanda (demand paging) e chamadas ao supervisor (supervisor calls), o qual é referenciado como “extracodes”. De acordo com seus designers, as rotinas do Supervisor Extracodes eram formadas principalmente por chamadas dependentes do supervisor. Elas eram ativadas por rotinas de interrupção ou instruções do extracode que ocorriam em um objeto do programa. Ou seja, uma máquina virtual era usada pelo supervisor Atlas e outro era usado para rodar programas de usuários. Em meados dos anos 60, o centro de pesquisa Watson da IBM possuía o projeto M44/44X, a principal oportunidade de avaliar os conceitos do sistema de time sharing. A arquitetura era baseada em máquinas virtuais, a principal era um IBM 7044 (M44), e cada uma delas possuía uma imagem experimental da principal máquina (44X). O espaço de endereçamento do 44X era residente na hierarquia de memória das máquinas M44, implementada por meio de memória virtual e multi-programação. Após os primeiros experimentos, a IBM realizou uma série de upgrades em sua arquitetura e gerou vários outros projetos como IBM 7040 e 7094 em conformidade com o Compatible Time Sharing System CTSS desenvolvido pelo MIT (Massachusetts Institute of Technology). Nesta mesma época, a IBM