sistemas operacionais - ctd.ifsp.edu.brctd.ifsp.edu.br/~marcio.andrey/images/introdução-so.pdf ·...

42
Sistemas Operacionais Prof. Dr. Márcio Andrey Teixeira Introdução e história dos sistemas operacionais

Upload: lybao

Post on 09-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Sistemas Operacionais

Prof. Dr. Márcio Andrey Teixeira

Introdução e história dos sistemas operacionais

Prof. Dr. Márcio Andrey Teixeira

O sistema ComputacionalElementos básicos: Barramento

Contador de

Programa

Registradores

de

Instruções

Registrador de

Endereço de Memória

Registrador de

Buffer de Memória

Registrador de

Buffer de I/O

Módulos de I/O

Memória

.

.

.

Instruções

Instruções

Instruções

Instruções

Instruções

Dados

Dados

Dados

Dados

Prof. Dr. Márcio Andrey Teixeira

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

Registradores de Índice: Acomodam endereços de dados e instruções,

da memória principal, ou acomodam informações utilizadas para calcular

endereços.

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

Prof. Dr. Márcio Andrey Teixeira

• Dois passos:

– Ir buscar;

– Executar;

O ciclo de Instruções

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

Código da operação Endereço

0 3 4 15

Formato de uma instrução

S Endereço

0 1 15

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

Sem a utilização de um sistema operacional, o desenvolvimento de

aplicações seria uma tarefa muito complexa.

O Sistema operacional e a interface Usuário / Computador

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

Programas de aplicações

Utilitários

Sistema Operacional

Hardware

Sistema

operacional

Programador

Usuário

Prof. Dr. Márcio Andrey Teixeira

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.

Este processo de evolução está ligado diretamente com a arquitetura

dos computadores sobre a qual eles eram são executados.

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.

Prof. Dr. Márcio Andrey Teixeira

A primeira geração de computadores. (Válvulas e Painéis de

programação)

A história dos Sistemas operacionais

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

Manutenção no ENIAC

Prof. Dr. Márcio Andrey Teixeira

Prof. Dr. Márcio Andrey Teixeira

Prof. Dr. Márcio Andrey Teixeira

A segunda geração de computadores. (Transistores e

sistema em Lote (Batch). Período: 1955 – 1965.

A história dos Sistemas operacionais

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.

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;

Prof. Dr. Márcio Andrey Teixeira

1 – Primeiramente, o programador escrevia o programa no papel (em

FORTRAM ou em linguagem de montagem) e depois perfurava os

cartões.

A história dos Sistemas operacionais

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

No inicio dos anos 60 havia duas linhas distintas de computadores:

Computadores científicos e computadores comerciais.

A terceira geração de computadores.

Período: 1965 a 1980

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

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.

A terceira geração de computadores.

Período: 1965 a 1980

Será que deu certo ???????????.

Prof. Dr. Márcio Andrey Teixeira

A história dos Sistemas operacionais

Nesta época foi dado inicio a uma nova técnica muito importante em

sistemas operacionais, a multiprogramação.

A terceira geração de computadores.

Período: 1965 a 1980

Três jobs na memória

Prof. Dr. Márcio Andrey Teixeira

A história dos Sistemas operacionais

Exemplo de multiprogramação com dois processos:

A terceira geração de computadores.

Período: 1965 a 1980

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

Outra aspecto muito importante desta época é a capacidade de

transferir jobs de cartões perfurados para disco magnético.

A terceira geração de computadores.

Período: 1965 a 1980

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

Para um grande número de jobs, é desejável que o usuário possa interagir

diretamente com o computador (ou seja, modo interativo);

A terceira geração de computadores.

Período: 1965 a 1980

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

O projeto MULTICS (MULTiplexed Information Computing System).

Um sistema operacional que suportasse centenas de usuários on-line.

A terceira geração de computadores.

Período: 1965 a 1980

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.