Sistema operacional
A primeira tentativa de junção de hardware e sistema operacional, segundo Tanembaun (1999), ocorreu quando Ada Lovelace fora contratada como programadora (o nome linguagem de programação Ada foi criado em sua homenagem) com intuito de fazer um software para um motor analítico – conhecido como o primeiro computador digital verdadeiro – projetado pelo matemático Babbage (1792-1871). Mais tarde, conhecida como a primeira geração (aproximadamente 1945-1955), os computadores eram tão grandes que ocupavam salas imensas e eram instalados em grandes centros de pesquisa. Foram basicamente construídos com válvulas – que eram grandes, caras, lentas e que queimavam com facilidade – e painéis, sendo utilizados para fim científico, onde os sistemas operacionais "não existiam". Os programadores, que também eram os operadores, controlavam o computador por meio de chaves , fios e luzes de aviso. Nomes como Howard Aiken (Harvard), John von Neumann (Instituto de Estudos Avançados de Princeton), John Adam Presper Eckert Jr e William Mauchley (Universidade da Pennsylvania) e Konrad Zuse (Alemanha) formaram, com suas contribuições, a base humana para o sucesso na construção dos computadores primitivos. Na geração seguinte (aproximadamente 1955-1965), foram criados os sistemas em lote (batch systems), que permitiram melhor uso dos recursos computacionais. A base do sistema operacional era um programa monitor, usado para enfileirar tarefas (jobs). O usuário foi afastado do computador; cada programa era escrito em cartões perfurados, que por sua vez eram carregados, juntamente com o respectivo compilador (normalmente Fortran ou Cobol), por um operador, que por sua vez usava uma linguagem de controle chamada JCL (job control language).
No início da computação os primeiros sistemas operacionais eram únicos, pois cada mainframe vendido necessitava de um sistema operacional específico. Esse problema era resultado de arquiteturas diferentes e da linguagem de máquina utilizada. Após