Arquitetura de Sistemas Operacionais #1
Tags: beginners, architecture, devjournal, todayilearned
Published: 2022-08-23 13:58:06

Hoje iremos ver a evolução dos sistemas operacionais, desde um pouco antes do seu surgimento até quase os tempos atuais. 

Capítulo 1.4 do Livro Arquitetura de Sistemas Operacionais.

Então sem muita enrolação vamos lá (se ficar muito extenso irei dividir em dois posts).

## Década de 1940

Infelizmente a nossa história começa em períodos de guerra, pois, caso você não saiba, muitos dos investimentos tecnológicos que foram o ponta pé inicial para os computadores, foram feitos por conta da guerra. 

Com isso, criaram computadores, os primeiros, que eram máquinas gigantes com válvulas. Eram os computadores eletromecânicos. Sua função era a de fazer cálculos, assim como uma calculadora. Mas o que eles tinham de tamanho eles não tinham de velocidade. 

Então simbora ver como eles surgiram.

![image](https://umblogqualquer.com.br/wp-content/uploads/2020/07/200708_hardware_02.png)

Como já disse, o mundo se encontrava em guerra, e todas as máquinas eram feitas para ajudar na guerra. Assim, Alan Turing (que se você nunca ouviu falar, recomendo pesquisar sobre ele) desenvolveu o **Enigma**. 

![enigma](https://www.monomaniacos.com.br/wp-content/uploads/2015/05/enigma1.jpg)

Essa coisinha fofa aqui em cima, foi a responsável por descriptografar mensagens alemãs. Assim sendo de excelente ajuda para os aliados. Além de ser o responsável por descriptografar a mensagem do dia D.

Em 1944, o primeiro computador eletromecânico foi criado (aquele das válvulas), o nome dele é **Mark 1**, ele foi muito utilizado para realizar cálculos matemáticos para a marinha. Um fato curioso é que as armaduras do homem de ferro são nomeadas com Mark (número da versão). 

![iron man](https://media.giphy.com/media/3oriNZN3vh5XFSr8Gc/giphy.gif)

Logo após o Mark 1, em 1946 surge o **ENIAC**, foi o primeiro computador digital e eletrônico. Sua estrutura possuía 17 mil válvulas, 10 mil capacitores, 70 mil resistores e pesava em torno de 30 toneladas. Quando estava em funcionamento ele podia fazer cerca de 5 mil adições por segundo.

Um problema é que para operar ele os programadores precisavam de um profundo conhecimento do hardware dele, por conta de ser um computador que funciona a partir de hardware sem nenhum software. Além de que, para programar ele era preciso usar um painel com 6 mil conectores, usando linguagem de máquina. 

A programação dele poderia levar dias, porém, se bem programado, cálculos antes feitos em 1 dia, poderiam ser feitos em segundos. E com esse avanço, o foco de melhoria não era mais no de velocidade de processamento, mas sim na velocidade de programação. Pois programar no ENIAC era custoso demais.  

Nessa época, uma das pessoas responsáveis pelo desenvolvimento do ENIAC imaginou uma máquina onde os dados seriam armazenados em uma memória, tornando o processo de programação muito mais rápido, o que foi chamado de "programa armazenado" e essa é a base da arquitetura de computadores que temos hoje em dia.

O primeiro computador a utilizar esse sistema surgiu em 1949 seu nome era **EDSAC**, e logo após todas as máquinas criadas adotaram esse sistema. Nessa época ainda não tínhamos teclados, mouses ou telas, o uso do computador era voltado para área acadêmica e militar, e ainda não havia sinais do surgimento do primeiro SO.

## Década de 1950

Com a chegada de uma nova década, os computadores com transistores e memórias magnéticas surgiram. Assim dando uma guinada na área tecnológica. Mesmo que computadores com transistores tenham sido criados no final da década passada, eles só foram lançados comercialmente apenas no final dos anos 50. 

O transistor foi uma ferramenta que permitiu um aumento de velocidade no processamento e as fitas magnéticas permitiam um acesso mais rápidos aos dados e uma capacidade maior de armazenamento. Com isso os computadores se tornaram muito menores. 

Nessa época, as grandes empresas da área surgiram. Sejam por serem criadas exclusivamente para computadores ou investindo na tecnologia. Entre elas estão: Raytheon, RCA, Burroughs e IBM, com o surgimento delas os computadores passaram a serem usados comercialmente.

Vamos lá ver como tudo isso aconteceu. 

![ibm](https://media.giphy.com/media/SOqjY66dEdljq/giphy.gif)

Em 1946, Eckert e Mauchly deixaram a universidade que estava, para formar a primeira empresa de computadores, seu nome era Eckert-Mauchly Computer Corp., o objetivo deles era criar o UNIVAC (Universal Automatic Computer). Porém, no caminho do desenvolvimento eles tiveram problemas financeiros, assim a emprea deles foi comprada pela Remington Rand Corp.,o que permitiu que eles pudessem terminar o projeto em 1951.

Assim o primeiro computador para fins comerciais nasceu, seu nome era **UNIVAC I**. Nessa mesma época o MIT colocou em cena o primeiro computador com processamento em tempo real. 


Seu nome era **Whirlwind I**, o computador feito pelo MIT inovou em várias coisas, porém, a parte mais interessante era o uso de fitas magnéticas. Onde os programas (ou jobs), passaram a ser perfurados em cartões, que eram colocados em um equipamento de leitura e nesse equipamento os dados eram gravados em uma fita magnética. 

Essa fita magnética era lida pelo processador, assim ele faria o cálculo, que executava o programa todo de uma vez e iria gravar o resultado em uma fita magnética para depois imprimir o resultado.

Porém ele executava apenas um programa por vez. Ou seja, o computador apenas lia, executava ou imprimia. Nomearam esse tipo de processamento de batch. 

Pode parecer pouco, mas agora era possível adicionar vários programas na lista de espera, pois, anteriormente quando o computador estava executando um programa, não era possível fazer mais nada. 

E nessa mesma época surgiram as linguagens de mais alto nível, o COBOL sendo uma delas. Assim, ter que lidar totalmente com a máquina deixou de ser uma necessidade, agora era possível começar a pensar na camada 1 do SO. 

Nessa época também surgiu os SO's, que eram os responsáveis por agilizar processos custosos para o programador, que eram o de entrada e saída (Input/Output Control System - IOCS). Assim não era mais preciso desenvolver o seu código para leitura ou saída de dados.

Como um último evento desta época, a universidade de Manchester, desenvolveu o sistema ATLAS, que foi o precursor do sistema de memórias que temos hoje, com a sua memória hierarquizada. O que é extremamente essencial para a memória virtual, que eu já expliquei anteriormente.

E por hoje é isso, amanhã teremos os anos 60 e 70.