EVOLUÇÃO DOS SISTEMAS OPERATIVOS
Definição de Sistema Operativo
Um computador, é controlado por um SO (Sistema Operativo), sigla utilizada para designar esta classe de software. Na pratica um SO é a interface entre o utilizador e a máquina cujas principais funções são:
- Gestão de Processos;
- Gestão de Memória;
- Sistema de Ficheiros;
- Entrada e Saída de Dados;
Componentes
Um sistema operativo é composto por diversos componentes que permitem o funcionamento conjunto do computador.
As componentes mais importantes são:
- Kernel;
- Rede;
- Segurança;
- Interface;
- O Kernel (núcleo), em conjunto com os drivers e o firmware do dispositivo, fornecem o nível mais básico de controle sobre todos os dispositivos de hardware do computador. Este gere os acessos à memória RAM e determina quais os programas com maior prioridade e quais os recursos do hardware a que as aplicações acedem.
- A Rede é fundamental na maioria dos Sistemas Operativos pois permite-nos a ligação com outras máquina, incluindo máquinas que estão na Internet. Assim, computadores com Sistemas Operativos diferentes, podem participar na mesma rede e partilhar recursos entre eles, como impressoras, scanners, etc.
- A segurançaé outra das caraterísticas fundamentais num sistema operativo pois deverá ter mecanismos para proteger a informação, para que os processos acedem as zonas de memória permitidas, etc.
- A interface com o utilizador pode ser gráfica ou linha de comandos (terminal). Atualmente, quase todos os Sistemas Operativos contam com uma interface gráfica, mas ainda é possível encontrar o terminal em muitos locais. Depois do arranque do computador pela BIOS parte do sistema sistema operativo é carregado para a memória RAM. Os programas de computador, funcionam dentro do Sistema Operativo e passam a chamar-se processos quando executados.
Evolução dos sistemas operativos
Processamento em série
Primeira geração (1945-55)
- O Hardware das máquinas era baseado em tubos de vácuo e válvulas.
- Não existia qualquer tipo de sistema operativo.
- Baixa produtividade, pois era sempre necessário introduzir tudo à mão. Programação através dos painéis.
- Execução das operações necessárias era feita através de comandos do monitor ou painéis da máquina.
- Com o aparecimento dos cartões perfurados a programação deixou de ser feita através dos painéis.
- Os programas eram introduzidos pelo utilizador e depois executados pela máquina. Cada utilizador tinha um período de tempo de utilização da máquina, dispondo da máquina como um todo.
- No final da sessão guardavam os programas e os resultados sob a forma de listagens, fitas de papel perfuradas ou, nos sistemas mais evoluídos, em fita magnética.
- Verificava-se o uso ineficiente dos recursos - quando era preciso mudar uma fita ou toner na impressora a máquina estava parada.
- Durante a maior parte do tempo o processador estava inativo, à espera de um comando ou a efetuar uma operação de I/O.
- O tempo de execução de um programa era gasto essencialmente nas operações de I/O.
Monitor de controlo
Um monitor típico era composto por um conjunto de rotinas utilitárias que facilitavam a interação (operação) com a máquina:
- Interpretador de uma linguagem de comando que permite fazer executar os restantes módulos.
- Compilador.
- Tradutor de linguagem simbólica (Assembler).
- Editor de ligações (Linker).
- Carregador de programas em memória (Loader).
- Rotinas utilitárias para o controlo de periféricos: consola; leitor de cartões; leitor/perfurador de fita de papel; bandas magnéticas.
Processamento em Lotes (Batch)
Segunda geração 1955 -1965
- Aparecimento do transístor (meados dos anos 50).Computadores mais confiáveis. Podiam ser comercializado.
- Apareceram as primeiras linguagens de programação (FORTRAN, LISP, COBOL, PASCAL).
- O primeiro S.O. foi o CTSS (Compatible Time-Sharing System), foi desenvolvido no MIT e apresentado em novembro de 1961. Depois do CTSS, o MIT, os laboratórios Bell da AT&T e a General Eletric desenvolveram o Multics, cujo objetivo era suportar centenas de utilizadores. Apesar do fracasso comercial, o Multics serviu como base para o estudo e desenvolvimento de sistemas operativos. Um dos criadores do Multics, que trabalhava para a Bell, Ken Thompson, começou a reescrever o Multics num conceito menos ambicioso, criando o Unics (em 1969), que mais tarde passou a chamar-se Unix.
O Unix foi o 1º Sistema Operativo Moderno
- Para resolver o problema da incompatibilidade de SOs de máquinas distintas, um grupo de programadores da AT&T criaram o Unix em 1969, sendo o primeiro sistema operativo moderno da computação.
- A sua primeira versão foi escrita em linguagem Assembly, sendo posteriormente reescrita em C no ano de 1973, linguagem que é utilizada até os dias de hoje.
- Este sistema introduziu conceitos muito importantes para a computação: portabilidade, multiutilizador, multitarefas.
- Durante a década de 70, o Unix foi distribuído gratuitamente (incluindo o seu código fonte) para universidades e órgãos governamentais norte-americanos, o que conferiu muita popularidade a este sistema. A sua interface era totalmente em modo texto, sem interface gráfica.
- Nestes sistemas as tarefas, sem interação com o utilizador, eram organizadas em grupos (ou lotes) e eram submetidas ao sistema para serem executados.
- Um lote consistia num conjunto de tarefas (jobs) e cada tarefa consistia num programa e todos os dados do input necessários.
Como era executado um job (programa):
- Cada programa era escrito em cartões perfurados.
- Os cartões 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 controllanguage).
- O programa era processado pela máquina.
- O relatório no final do processamento era impresso.
Problemas
- Não era possível a interação entre um programa (tarefa/job) em execução e o utilizador.
- Uma vez submetida para execução uma tarefa de batch podia ficar horas à espera de ser executado dependendo da carga no sistema.
- Os dispositivos de I/O eram muito lentos:
- Um leitor de cartões lia 20 cartões/s.
- Os primeiros discos rígidos eram muito lentos.
- O tempo de execução de um programa dependia das operações de I/O.
Multiprogramação
Terceira geração 1965 -1980
- Utilização do Circuito Integrado.
- No início de 60 existiam basicamente dois tipos de produtos incompatíveis: máquinas orientadas à palavra (IBM 7094) e máquinas orientadas ao caracter (IBM 1401).
- Isso gerava custos para os fabricantes. Porém a IBM resolveu a situação através do IBM 360.
- A família de máquinas 360 da IBM foi a primeira a usar Circuitos Integrados.
- Tentaram construir um S.O. que pudesse ser utilizado por toda a família 360, mas era muito complexo e quanto mais se corrigia, mais bugs apareciam.
- Foi criada e implantada na 3ªgeração a técnica da Multiprogramação.
Multiprogramação - é a divisão da memória em diversas partes para alocar vários programas/jobs.
Vários programas (jobs) são carregados para memória central, e o tempo do processador é repartido por eles:
- A execução concorrente de vários programas permite otimizar a utilização do processador.
- Sempre que um programa/processo não necessita do processador, por exemplo para ler dados de um ficheiro, a sua execução fica bloqueada até que os sectores com os dados sejam lidos e transferidos para a memória, passando a execução para um outro programa/processo.


Webgrafia
https://trabalhosfeitosnavegante.blogspot.pt/2015/06/evolucao-do-sistemaoperativo.html
https://queconceito.com.br/sistema-operativo
https://alumni.ipt.pt/~deeold/so99x07/public_html/sistemas.htm
https://www.i-tecnico.pt/sistema-operativo-o-que-e-e-para-que-serve/
https://conceito.de/sistema-operativo
https://sites.google.com/site/conteudossobreinformatica/sistemas-operativos/evolucao-dos-sistemas-operativos-1