A história dos Sistemas operacionais

Propaganda
Sistemas Operacionais
Prof. Dr. Márcio Andrey Teixeira
Introdução e história dos sistemas operacionais
O sistema Computacional
Elementos básicos:
Barramento
Memória
Instruções
Contador de
Programa
Registradores
de
Instruções
Registrador de
Endereço de Memória
Instruções
Instruções
Instruções
Registrador de
Buffer de Memória
Registrador de
Buffer de I/O
Instruções
.
.
.
Dados
Dados
Módulos de I/O
Prof. Dr. Márcio Andrey Teixeira
Dados
Dados
Processador: Controla as operações do computador e realiza o
processamento de dados através de um ou mais processadores;
Memória Principal: Armazena dados e programa, sendo assim
tipicamente volátil, daí a denominação de memória real;
Módulos de entrada e saída: Move dados entre o computador e o
ambiente externo, podendo este ser constituído de uma variedades de
dispositivo, incluindo memória secundária e equipamentos de
interconexão.
Interconexão do sistema: Estrutura e mecanismos que possibilitam a
interconexão entre processadores, memória principal, e módulos de I/O
Registradores de dados: Podem ser atribuídos a uma variedade de
funções pelo programador.
Prof. Dr. Márcio Andrey Teixeira
Contador de programa: Contém o endereço da instrução que será
buscada.
Registrador de instrução: Contém a instrução mais recente buscada
Registradores de Índice: Acomodam endereços de dados e instruções,
da memória principal, ou acomodam informações utilizadas para calcular
endereços.
Prof. Dr. Márcio Andrey Teixeira
O ciclo de Instruções
• Dois passos:
– Ir buscar;
– Executar;
Prof. Dr. Márcio Andrey Teixeira
Processador- memória: Dados são transferidos do processador para a
memória e da memória para o processador;
Processador- I/O: Dados podem ser transferidos de/para os dispositivos
de I/O através da troca de informações entre o processador e os módulos
de I/O;
Processamento de dados: Operações lógicas e aritméticas são
realizadas;
Controle: Uma instrução pode requerer que uma seqüência de execução
seja alterada
Prof. Dr. Márcio Andrey Teixeira
Exemplo de uma instrução
0
3 4
15
Código da operação
Endereço
Formato de uma instrução
0 1
S
15
Endereço
Formato de um inteiro
0001 – Load AC from Memory
0010 – Store AC to Memory
0101 – Add to AC from Memory
Prof. Dr. Márcio Andrey Teixeira
Organização das memórias
Prof. Dr. Márcio Andrey Teixeira
Introdução
Um sistema operacional é um programa que controla a execução
de programas de aplicações e faz a interface entre as aplicações e
o Hardware do computador.
A área de atuação do sistema operacional pode ser visto na
abaixo.
Prof. Dr. Márcio Andrey Teixeira
Os sistemas operacionais tem os seguintes objetivos:
 Conveniência: O sistema operacional faz um computador
mais conveniente para ser utilizado.
 Eficiência: Um sistema operacional permite que um os
recursos de um sistema computacional sejam utilizados com
maior eficiência.
 Habilidade para evoluir: Um sistema operacional deve ser
construído de tal forma à permitir um eficiente desenvolvimento,
incluindo testes, e quando necessário, a introdução de novas
funcionalidades, sem interferir com os serviços existentes.
Prof. Dr. Márcio Andrey Teixeira
Um sistema operacional pode ser examinado das seguintes
maneiras:
 O Sistema operacional e a interface Usuário / Computador
 O Sistema operacional como um gerenciador de recursos
Prof. Dr. Márcio Andrey Teixeira
O Sistema operacional e a interface Usuário / Computador
 Sem a utilização de um sistema operacional, o desenvolvimento de
aplicações seria uma tarefa muito complexa.
 Criação de programas: O sistema operacional prevê uma variedade
de funcionalidades e serviços para assistir o programador na criação de
programas.
 Execução de programas: Instruções e dados precisam ser carregados
na memória, dispositivos de entrada / saída e arquivos precisam ser
inicializados e outros recursos precisam ser preparados.
 Dispositivos de Entrada / Saída : Como cada dispositivos de entrada e
saída apresenta suas próprias particularidades, tais como, conjunto de
instruções e sinais de controle para operação, cabe ao sistema operacional
abstrair estes detalhes para o usuário.
Prof. Dr. Márcio Andrey Teixeira
 Acesso restrito a arquivos : Cabe ao sistema operacional esconder do
usuário a natureza do dispositivo de armazenamento, bem como o formato do
arquivo armazenado.
 Acesso ao sistema : Funções de acesso devem proteger recursos e
dados de usuários não autorizados, bem como resolver conflitos de disputa
de recursos.
 Detecção de erro : Uma variedade de erros podem ocorrer: Erros de
hardware, erros de software, e erros decorrentes da inabilidade do sistema
operacional garantir uma requisição da aplicação do usuário.
 Respostas ao erro : Em cada caso, o sistema operacional pode: relatar
o erro ao usuário, repetir a operação ou abortar a aplicação;
 Coletas de medidas : Um bom sistema operacional deve coletar
estatísticas acerca de vários recursos bem como monitorar parâmetros de
performance. Por exemplo, tempo de resposta.
Prof. Dr. Márcio Andrey Teixeira
Usuário
Programador
Programas de aplicações
Utilitários
Sistema Operacional
Hardware
Prof. Dr. Márcio Andrey Teixeira
Sistema
operacional
O sistema operacional como um gerenciador de
recursos
Um computador é formado por um grupo de recursos, sendo
utilizado para movimentar, armazenar e processar dados.
O sistema operacional é responsável por gerenciar cada recurso
existente em um sistema computacional. Por exemplo:
- Cada programa utiliza um tempo dos recursos computacional
- Cada programa utiliza um espaço dos recursos computacionais
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
Os sistemas operacionais vêm passando por um processo gradual de
evolução.
A necessidades de mudanças em um sistema operacional exige que
certos requisitos sejam considerado no seu projeto.
Um sistema operacional se expande para oferecer novos serviços, que
também pode constituir em um monte de falhas.
Este processo de evolução está ligado diretamente com a arquitetura
dos computadores sobre a qual eles eram são executados.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A primeira geração de computadores. (Válvulas e Painéis de
programação)
Período: 1945 – 1955.
Um mesmo grupo de pessoas projetava, construía, programava e
realizava a manutenção da máquina.
A programação era feita conectando plugs em painéis para controlar as
funções da máquina.
Não havia linguagens de programação, e não havia sistema operacional.
As máquinas eram executadas através de consoles, constituídos de
lâmpadas sinalizadora, chaves, algum dispositivo de entrada e saída.
Prof. Dr. Márcio Andrey Teixeira
Se um erro ocorresse durante a execução do programa,a indicação se dava
através de lâmpadas sinalizadores (leds) – com essas informações, o
programador examinava os registros para determinar a causa do erro.
Se a execução do programa evoluía como esperado, os dados gerados
como respostas a sua execução eram enviados para uma impressora.
Para compilar um programa, era necessário: Carregar o compilador e o
programa na memória, gerar o programa objeto, bem como ligá-lo as
funções comuns.
Na ocorrência de erro, todo o processo deveria ser reiniciado, e com isso,
muito tempo era perdido na preparação do ambiente, para que somente
depois o programa fosse executado.
Prof. Dr. Márcio Andrey Teixeira
Prof. Dr. Márcio Andrey Teixeira
Manutenção no ENIAC
Prof. Dr. Márcio Andrey Teixeira
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A segunda geração de computadores. (Transistores e
sistema em Lote (Batch). Período: 1955 – 1965.
Para melhorar a utilização das máquinas, o conceito de sistema
operacional em lote foi desenvolvido.
Mais de um fornecedor já havia desenvolvido sistema operacional em
lote para seus computadores;
Essas máquinas eram denominadas computadores de grande porte
(Mainframes). Era operada por equipes profissionais.
Somente grande corporações podiam compram ($$$).
Para que um JOB (programa ou conjunto de programas) ser executado,
os seguintes passos eram seguidos.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
1 – Primeiramente, o programador escrevia o programa no papel (em
FORTRAM ou em linguagem de montagem) e depois perfurava os
cartões.
2 – Ele então, apanhava um maço de cartões para a sala de entradas,
entregava-o para um dos operadores e ia tomar um café até que a
saída impressa estivesse pronta.
3 – Ao fim da execução de um JOB pelo computador, um operador ia
até a impressora e retirava a saída da mesma, de modo que o
programador pudesse pegar mais tarde.
4 – Com o maço de cartões em mãos, o programador colocava estes
cartões em uma unidade de leitura de cartões.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
a) Os programadores levam os cartões para o 1401.
b) O 1401 gravava lote de jobs em fita.
c) O operador levava a fita de entrada para o 7094.
d) O 7094 executava o processamento.
e) O operador leva a fita de saída para o 1401.
f) O 1401 imprime a saída.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
Muito tempo de computação era desperdiçado, enquanto os operadores
andavam pela sala das máquinas. Solução adotada: O sistema de lote
(batch).
A idéia era gravar vários jobs em fita magnética usando um computador
relativamente mais barato, como o IBM 1401, que era muito bom para ler
cartões, copiar fitas e imprimir saídas.
Outras máquinas mais caras, como o IBM 7094 era utilizado para a
computação propriamente dita.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A terceira geração de computadores.
Período: 1965 a 1980
 No inicio dos anos 60 havia duas linhas distintas de computadores:
Computadores científicos e computadores comerciais.
 Manter o desenvolvimento de duas linhas de produto demanda muito
custo para os fabricantes.
 A IBM tentou resolver este problema, introduzindo o System/360.
Todas as máquinas deste linha tinham a mesma arquitetura e conjunto
de instruções.
 Um sistema operacional foi desenvolvido para lidar tanto com as
tarefas científicas quanto as tarefas comerciais.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A terceira geração de computadores.
Período: 1965 a 1980
 Este sistema operacional era chamado de OS/360, com milhões de
linhas de código escrito em linguagem de montagem por vários
programadores.
 Será que deu certo ???????????.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A terceira geração de computadores.
Período: 1965 a 1980
 Nesta época foi dado inicio a uma nova técnica muito importante em
sistemas operacionais, a multiprogramação.
Três jobs na memória
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A terceira geração de computadores.
Período: 1965 a 1980
Exemplo de multiprogramação com dois processos:
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
Algumas considerações de Hardware e Software:
Interrupções de entrada / saída e DMA: De forma a executar instruções
enquanto dispositivos de entrada / saída estão ocupados;
Gerenciamento de memória: Diversos jobs prontos para serem executados
devem ser mantidos na memória;
Proteção de memória: Dados e programas;
Escalonamento: Com vários processos a serem executados, é necessário
decidir quem deve ser executado;
Gerenciar a disputa de recursos: Não só no caso anterior, como para os
demais recursos de entrada / saída
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A terceira geração de computadores.
Período: 1965 a 1980
 Outra aspecto muito importante desta época é a capacidade de
transferir jobs de cartões perfurados para disco magnético.
 Essa técnica denomina-se spooling.
 O anseio para respostas mais rápidas abriu o caminho para o
compartilhamento de tempo (Timesharing).
 Após o sucesso do primeiro sistema operacional com capacidade de
time-sharing, um consórcio envolvendo o MIT, GE e Bell Labs foi
formado, no intuito de desenvolver um projeto ambicioso.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A terceira geração de computadores.
Período: 1965 a 1980
 Para um grande número de jobs, é desejável que o usuário possa interagir
diretamente com o computador (ou seja, modo interativo);
 Manipular jobs interativo - neste caso, a técnica utilizada é referenciado
como time-sharing, uma vez que o tempo do processador é compartilhado
entre os usuários
 Com esta técnica, múltiplos usuários acessam simultaneamente o sistema
através de terminais, com o S.O intercalando a execução de cada programa
do usuário em pequenas porções (quantum) de tempo de uso do recurso
computacional.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A terceira geração de computadores.
Período: 1965 a 1980
 O projeto MULTICS (MULTiplexed Information Computing System).
Um sistema operacional que suportasse centenas de usuários on-line.
 Esta idéia introduziu idéias inovadores, mas sua implementação foi
impraticável para a década de sessenta.
 O projeto MULTICS influencio os pesquisadores da Bell Labs, que
vieram a desenvolver o UNIX uma década depois.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
O primeiro S.O foi desenvolvido pelo MIT no projeto MAC, e tinha as
seguintes particularidades:
 O sistema executava em uma máquina com 32k palavras de 36 bits na
memória principal, com um monitor residente consumindo 5k palavras;
 Programas e dados do usuário eram carregados nos 27k palavras
restantes da memória;
 O clock gerava uma interrupção de 0.2 segundos;
 A cada interrupção, o S.O readequaria o controle da máquina para
atribuí-lo a outro processo de um outro usuário;
 A cada interrupção, o S.O readequaria o controle da máquina para
atribuí-lo a outro processo de um outro usuário;
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A Quarta geração de computadores.
Período: 1980 -
 Com o desenvolvimento de circuitos LSI, chips contendo milhares de
transistores por centímetro quadrado de silício, surgiu a era dos
computadores pessoais.
 Enquanto os minicomputadores atendiam companhias e universidades, os
computadores pessoais e estações de trabalho passaram a atender usuários
individualmente.
 O aumento do potencial destas máquina criou um vastíssimo mercado
de software a eles dirigido,
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A Quarta geração de computadores.
Período: 1980 -
 Dois sistemas operacionais dominaram o mercado: O MS-DOS para
computadores pessoais e o UNIX para estações de trabalho.
 O próximo desenvolvimento no campo de sistemas operacionais
surgiu com a tecnologia de redes de computadores. Estes são:
 Os Sistemas Operacionais de Rede;
Os Sistemas Operacionais Distribuído.
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A Quarta geração de computadores.
Período: 1980 -
 Linhagem do MS-DOS
 EM 1980 Deu-se início aos computadores IBM PC;
 Em 1983 é lançado o IBM PC 80286 como MS-DOS;
 Em 1985 a Microsoft desenvolveu um “novo” MS-DOS, com
ambiente gráfico;
 E 1995 é lançado o Windows 95;
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A Quarta geração de computadores.
Período: 1980 -
 Linhagem do DOS
 Em 1998 foi lançado uma nova versão do windows levemente
modificada, o Windows 98 ;
 Depois disso a Microsoft lançou o Windows NT, um sistema
totalmente 32 bits.
Mais uma versão da Microsoft, o Windows ME;
 Depois Windows 2000 até então .........
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
A Quarta geração de computadores.
Período: 1980 -
 Um outro competidor no mundo dos computadores pessoais, o UNIX
 O UNIX é mais forte em estações de trabalho, como servidores
etc;
 Ele é especialmente popular em máquinas cujo os processadores
são da arquitetura RISC.
 Possui em gerenciador de janelas, diferente do windows que o
sistema todo é baseado em janelas;
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
Atualmente, existe uma variedade de sistemas operacionais,
tais como:
 Sistemas operacionais de computadores de grande porte;
 Sistemas operacionais de servidores;
 Sistemas operacionais de múltiplos processadores;
 Sistemas operacionais de computadores pessoais;
 Sistemas operacionais de tempo real;
Prof. Dr. Márcio Andrey Teixeira
A história dos Sistemas operacionais
Uma pequena revisão sobre hardware de computadores:
Exemplo de alguns componentes de um computador pessoal
simples.
Prof. Dr. Márcio Andrey Teixeira
Download