introdução aos sistemas operacionais

32
Introdução aos Introdução aos Sistemas Operacionais Sistemas Operacionais Luiz A M Palazzo Abril de 2010 UCPEL/CPOLI/BCC Introdução à Ciência da Computação

Upload: skule

Post on 31-Jan-2016

18 views

Category:

Documents


0 download

DESCRIPTION

UCPEL/CPOLI/BCC Introdução à Ciência da Computação. Introdução aos Sistemas Operacionais. Luiz A M Palazzo Abril de 2010. Sistema operacional. usuários. Aplicação. Aplicação. Aplicação. Sistema Operacional. Hardware. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introdução aos  Sistemas Operacionais

Introdução aos Introdução aos Sistemas OperacionaisSistemas Operacionais

Luiz A M PalazzoAbril de 2010

UCPEL/CPOLI/BCCIntrodução à Ciência da Computação

Page 2: Introdução aos  Sistemas Operacionais

Sistema operacionalSistema operacional

• Camada de Camada de softwaresoftware entre o entre o hardwarehardware e as aplicações dos usuáriose as aplicações dos usuários

HardwareHardware

Sistema OperacionalSistema Operacional

AplicaçãoAplicação AplicaçãoAplicaçãoAplicaçãoAplicação

usuáriosusuários

2Introdução aos Sistemas Operacionais

Page 3: Introdução aos  Sistemas Operacionais

Funções do sistema operacional

• A partir da máquina real (hardware), A partir da máquina real (hardware), criar criar uma uma máquina estendida.máquina estendida.

• Gerenciar os recursosGerenciar os recursos de hardware de hardware disponíveis para as aplicações.disponíveis para as aplicações.

3Introdução aos Sistemas Operacionais

Page 4: Introdução aos  Sistemas Operacionais

O SO como máquina estendida

• Ocultar a complexidadeOcultar a complexidade do hardware. do hardware.

• Oferecer Oferecer interfaces padronizadasinterfaces padronizadas de de acesso ao hardware.acesso ao hardware.

• Permitir uma Permitir uma visão homogêneavisão homogênea de de dispositivos distintos.dispositivos distintos.

4Introdução aos Sistemas Operacionais

Page 5: Introdução aos  Sistemas Operacionais

O SO como máquina estendida

Sistema operacionalSistema operacional

aplicaçãoaplicação

Clicar em um arquivoClicar em um arquivo

Assign(file, “D:\README.TXT”);Assign(file, “D:\README.TXT”);open(file);open(file);read(file, ch);read(file, ch);……close(file);close(file);

Move head to sector 123 in FATMove head to sector 123 in FATread 256 bytes to mem 36234Hread 256 bytes to mem 36234Hmove head to sector 4684753move head to sector 4684753read 1024 bytes to mem 578567read 1024 bytes to mem 578567......

5Introdução aos Sistemas Operacionais

Page 6: Introdução aos  Sistemas Operacionais

O SO como gerente de recursos

• Recursos da máquinaRecursos da máquina• processadoresprocessadores• espaço em memóriaespaço em memória• arquivosarquivos• conexões de redeconexões de rede• dispositivos externosdispositivos externos

• Controle de acessoControle de acesso• equilibrar usoequilibrar uso• evitar conflitosevitar conflitos

6Introdução aos Sistemas Operacionais

Page 7: Introdução aos  Sistemas Operacionais

O SO como gerente de recursos

Sistema operacional

aplicação aplicação aplicação

source app source app source app

sdgf jhgsdfj dsjhfkhj khjHKjhkjghj hgjhgj jgh jhg jhg jhg jhg kjhgjhgj hg jhgkjhkjhgjhg jhg jhg jhg jhkjhjkhgjhgjhkgjhgjhgjhgj

7Introdução aos Sistemas Operacionais

Page 8: Introdução aos  Sistemas Operacionais

Computador como Máquina de Níveis

• O Hardware:O Hardware:• responsável pela execução das instruções de responsável pela execução das instruções de

um um programa;programa;

• Primeiros computadores:Primeiros computadores:• programação realizada através de fios;programação realizada através de fios;

• Evolução: Evolução: O Sistema OperacionalO Sistema Operacional;;• A Interação se tornou mais fácil, confiável e A Interação se tornou mais fácil, confiável e

eficiente;eficiente;

8Introdução aos Sistemas Operacionais

Page 9: Introdução aos  Sistemas Operacionais

Computador como Máquina de Níveis

• Computador como máquina de níveis:Computador como máquina de níveis:• Nível 2 – Aplicativos;Nível 2 – Aplicativos;• Nível 1 – Sistema operacional;Nível 1 – Sistema operacional;• Nível 0 – Hardware.Nível 0 – Hardware.

• A Linguagem utilizada em cada nível A Linguagem utilizada em cada nível varia varia da mais elementar da mais elementar (microprogramação) à (microprogramação) à mais sofisticada(alto nível).mais sofisticada(alto nível).

9Introdução aos Sistemas Operacionais

Page 10: Introdução aos  Sistemas Operacionais

Histórico dos Sistemas Operacionais• 1º computador:1º computador:

• Máquina analítica de Charles Babbage (1792-Máquina analítica de Charles Babbage (1792-1871);1871);

• Primeira GeraçãoPrimeira Geração (1945-1955): (1945-1955):• Válvulas e painéis;Válvulas e painéis;

• Segunda GeraçãoSegunda Geração (1956-1965): (1956-1965):• Transistores e Sistemas Batch;Transistores e Sistemas Batch;

• Terceira GeraçãoTerceira Geração(1966-1980):(1966-1980):• Circuitos Integrados e Multiprogramação;Circuitos Integrados e Multiprogramação;

• Quarta GeraçãoQuarta Geração(1981-1990):(1981-1990):• Computadores Pessoais;Computadores Pessoais;

• Quinta GeraçãoQuinta Geração (1991- 20??): (1991- 20??):• Atualidade; Sistemas MóveisAtualidade; Sistemas Móveis

10Introdução aos Sistemas Operacionais

Page 11: Introdução aos  Sistemas Operacionais

Histórico dos Sistemas Operacionais

• Primeira Geração (1945-1955):Primeira Geração (1945-1955):

• Programação através de chaves;Programação através de chaves;• Inexistência de linguagens ou SO.;Inexistência de linguagens ou SO.;• Toda a atividade é seqüencial;Toda a atividade é seqüencial;

11Introdução aos Sistemas Operacionais

Page 12: Introdução aos  Sistemas Operacionais

Histórico dos Sistemas Operacionais

• Segunda Geração (1956-1965):Segunda Geração (1956-1965):

• IBM 1401 e 7094;IBM 1401 e 7094;• Separação entre programação e operação;Separação entre programação e operação;• Execução batch de programas;Execução batch de programas;• Linguagens Fortran e Assembly;Linguagens Fortran e Assembly;

12Introdução aos Sistemas Operacionais

Page 13: Introdução aos  Sistemas Operacionais

Histórico dos Sistemas Operacionais

• Terceira Geração (1966-1980):Terceira Geração (1966-1980):

• Família IBM/360 e sucessores;Família IBM/360 e sucessores;• Compatibilidade a nível de software;Compatibilidade a nível de software;• Multiprogramação;Multiprogramação;• Escalonamento de CPU; Escalonamento de CPU; • Sistemas On-line;Sistemas On-line;• Base dos S.O. modernos;Base dos S.O. modernos;

13Introdução aos Sistemas Operacionais

Page 14: Introdução aos  Sistemas Operacionais

Histórico dos Sistemas Operacionais

• Quarta Geração (1981-1990):Quarta Geração (1981-1990):

• Multiprocessadores;Multiprocessadores;• Sistemas Operacionais user-friendly;Sistemas Operacionais user-friendly;• S.O. para computadores pessoais;S.O. para computadores pessoais;• S.O. para redes de computadores;S.O. para redes de computadores;

14Introdução aos Sistemas Operacionais

Page 15: Introdução aos  Sistemas Operacionais

Histórico dos Sistemas Operacionais

• Quinta Geração (1991-20??):Quinta Geração (1991-20??):

• Processamento Distribuído;Processamento Distribuído;• Interfaces Gráficas;Interfaces Gráficas;• S.O. para dispositivos móveisS.O. para dispositivos móveis• S.O. para S.O. para cloud computingcloud computing

15Introdução aos Sistemas Operacionais

Page 16: Introdução aos  Sistemas Operacionais

16

S.O. como interface usuário/computador

Introdução aos Sistemas Operacionais

Page 17: Introdução aos  Sistemas Operacionais

17

Diferentes “imagens” de um S.O.

• Sistema operacional na visão do usuárioSistema operacional na visão do usuário• Imagem que um usuário tem do sistemaImagem que um usuário tem do sistema• Interface oferecida ao usuário para ter acesso Interface oferecida ao usuário para ter acesso

a recursos do sistemaa recursos do sistema• Chamadas de sistemaChamadas de sistema• Programas de sistemaProgramas de sistema

• Sistema operacional na visão do projetoSistema operacional na visão do projeto• Organização interna do sistema operacionalOrganização interna do sistema operacional• Mecanismos empregados para gerenciar Mecanismos empregados para gerenciar

recursos do sistemarecursos do sistema

Introdução aos Sistemas Operacionais

Page 18: Introdução aos  Sistemas Operacionais

18

Chamada de sistema

• Forma que um programa solicita serviços ao Forma que um programa solicita serviços ao sistema operacionalsistema operacional• Análogo a sub-rotinasAnálogo a sub-rotinas

• É o núcleo (É o núcleo (KernelKernel) do sistema operacional que ) do sistema operacional que implementa as chamadas de sistemasimplementa as chamadas de sistemas• Existem chamadas de sistemas associadas a gerência Existem chamadas de sistemas associadas a gerência

do do processador, de memória, arquivos e de entrada e saídaprocessador, de memória, arquivos e de entrada e saída

• Variação: Variação: micro-kernelmicro-kernel• Serviços básicos são implementados pelo micro-kernelServiços básicos são implementados pelo micro-kernel• Kernel implementa demais serviços empregando esses Kernel implementa demais serviços empregando esses

serviços básicosserviços básicos

Introdução aos Sistemas Operacionais

Page 19: Introdução aos  Sistemas Operacionais

19

APLICAÇÃO

KERNEL

MICROKERNEL

HARDWARE

Chamada de sistema

Serviços do microkernel

Organização do S.O

Introdução aos Sistemas Operacionais

Page 20: Introdução aos  Sistemas Operacionais

20

Programas de sistema

• Programas executados fora do kernel (utilitários)Programas executados fora do kernel (utilitários)• Implementam tarefas básicasImplementam tarefas básicas

• Muitas vezes confundidos com o próprio sistema Muitas vezes confundidos com o próprio sistema operacionaloperacional• Ex: compiladores, Ex: compiladores, assemblersassemblers, ligadores, etc, ligadores, etc

• Interpretadores de comandosInterpretadores de comandos• Ativado sempre que o sistema operacional inicia Ativado sempre que o sistema operacional inicia

sessão de trabalhosessão de trabalho• Ex: bash, tsch, sh, etcEx: bash, tsch, sh, etc

• Interface gráfico de usário (GUI)Interface gráfico de usário (GUI)• Ex: Família windows, MacOs, etcEx: Família windows, MacOs, etc

Introdução aos Sistemas Operacionais

Page 21: Introdução aos  Sistemas Operacionais

21

Sistema em lote (batch)

• Introdução de operadores profissionaisIntrodução de operadores profissionais• Usuário era mais o operador da máquinaUsuário era mais o operador da máquina

• JobJob• Programa a ser compilador e executado, Programa a ser compilador e executado,

acompanhado dos dados de execuçãoacompanhado dos dados de execução• Jobs são organizados em lote (batch)Jobs são organizados em lote (batch)

• Necessidades semelhantes (ex: mesmo Necessidades semelhantes (ex: mesmo compilador)compilador)

• Passagem entre diferentes jobs continua sendo Passagem entre diferentes jobs continua sendo manualmanual

Introdução aos Sistemas Operacionais

Page 22: Introdução aos  Sistemas Operacionais

22

Monitor residente

• EvoluçãoEvolução• Sequenciamente automático de jobs, transferindo o Sequenciamente automático de jobs, transferindo o

controle de um job a outrocontrole de um job a outro• Primeiro sistema operacional (rudimentar)Primeiro sistema operacional (rudimentar)

• Monitor residenteMonitor residente• Programa que fica permanente em memóriaPrograma que fica permanente em memória• Execução inicialExecução inicial• Controle é transferido para o jobControle é transferido para o job

• Cartões de controleCartões de controle• Quando o job termina, o controle retorna ao Quando o job termina, o controle retorna ao

monitormonitor• Centraliza as rotinas de acesso a periféricos Centraliza as rotinas de acesso a periféricos

disponibilizando aos programas de usuáriosdisponibilizando aos programas de usuáriosIntrodução aos Sistemas Operacionais

Page 23: Introdução aos  Sistemas Operacionais

23

Sistema batch multiprogramado (multitarefa)

• Monitor residente permite a execução de apenas um Monitor residente permite a execução de apenas um programa a cada vezprograma a cada vez

• Desperdício de tempo de CPU com operações de E/SDesperdício de tempo de CPU com operações de E/S• EvoluçãoEvolução

• Manter diversos programas na memória ao mesmo tempoManter diversos programas na memória ao mesmo tempo• Enquanto um programa realiza E/S, outro pode ser Enquanto um programa realiza E/S, outro pode ser

executadoexecutado

Introdução aos Sistemas Operacionais

Page 24: Introdução aos  Sistemas Operacionais

24

Multiprogramação

• Manter mais de um programa em Manter mais de um programa em “execução” simultaneamente“execução” simultaneamente

• Duas inovações de Duas inovações de hardwarehardware possibilitam o possibilitam o

surgimento da multiprogramaçãosurgimento da multiprogramação• InterrupçãoInterrupção

• Sinalização de eventosSinalização de eventos• Discos magnéticosDiscos magnéticos

• Acesso randômico a diferentes jobs no disco.Acesso randômico a diferentes jobs no disco.• Melhor desempenho em acessos de leitura e escritaMelhor desempenho em acessos de leitura e escrita

Introdução aos Sistemas Operacionais

Page 25: Introdução aos  Sistemas Operacionais

25

Sistema timesharing

• Tipo de multiprogramaçãoTipo de multiprogramação

• Usuários possuem um terminalUsuários possuem um terminal• Interação com o programa de execuçãoInteração com o programa de execução

• Ilusão de possuir a máquina dedicada a Ilusão de possuir a máquina dedicada a execução de seu programaexecução de seu programa• Divisão do tempo de processamento entre Divisão do tempo de processamento entre

usuáriosusuários• Tempo de resposta é importanteTempo de resposta é importante

Introdução aos Sistemas Operacionais

Page 26: Introdução aos  Sistemas Operacionais

26

Sistema monousuário e multiusuário

• Sistema monousuárioSistema monousuário• Projetados para serem usados por um único Projetados para serem usados por um único

usuáriousuário• Ex: MS-DOS, Windows XP, Vista, 7, MacOS...Ex: MS-DOS, Windows XP, Vista, 7, MacOS...

• Sistemas multiusuárioSistemas multiusuário• Projetados para suportar várias sessões de Projetados para suportar várias sessões de

usuários em um computadorusuários em um computador• Ex: Windows 2008, UNIX...Ex: Windows 2008, UNIX...

Introdução aos Sistemas Operacionais

Page 27: Introdução aos  Sistemas Operacionais

27

Sistemas multitarefa e monotarefa

• Sistemas monotarefaSistemas monotarefa• Capazes de executar apenas uma tarefa de cada vezCapazes de executar apenas uma tarefa de cada vez

• Ex: MS-DOSEx: MS-DOS

• Sistema multitarefaSistema multitarefa• Capazes de executar várias tarefas simultaneamenteCapazes de executar várias tarefas simultaneamente• Existem dois tipos de sistemas multitarefa:Existem dois tipos de sistemas multitarefa:

• Não preempitivo (cooperativo)Não preempitivo (cooperativo)• Ex: Windows 3.x, Windows 9x (aplicativos 16 bits)Ex: Windows 3.x, Windows 9x (aplicativos 16 bits)

• PreempitivoPreempitivo• Ex: Windows NT, OS/2, UNIX, Windows9x (aplicativos 32 Ex: Windows NT, OS/2, UNIX, Windows9x (aplicativos 32

bits)bits)

Introdução aos Sistemas Operacionais

Page 28: Introdução aos  Sistemas Operacionais

28

Sistemas distribuídos

• Distribuir a realização de uma tarefa entre Distribuir a realização de uma tarefa entre vários computadoresvários computadores

• Sistema distribuídoSistema distribuído• Conjunto de computadores autônomos Conjunto de computadores autônomos

interconectados de forma a possibilitar a interconectados de forma a possibilitar a execução de um serviçoexecução de um serviço

• Existência de várias máquinas é transparenteExistência de várias máquinas é transparente• Software fornece uma visão única do sistemaSoftware fornece uma visão única do sistema• Palavra-chave: transparênciaPalavra-chave: transparência

Introdução aos Sistemas Operacionais

Page 29: Introdução aos  Sistemas Operacionais

29

• Sistemas fracamente acopladosSistemas fracamente acoplados• Máquinas independentesMáquinas independentes

• Cada máquina possui o seu próprio sistema Cada máquina possui o seu próprio sistema operacionaloperacional

• Comunicação é feita através de troca de Comunicação é feita através de troca de mensagens mensagens entre processosentre processos

• VantagensVantagens• Compartilhamento de recursosCompartilhamento de recursos• Balanceamento de cargaBalanceamento de carga• Aumento confiabilidadeAumento confiabilidade

Sistemas distribuídos

Introdução aos Sistemas Operacionais

Page 30: Introdução aos  Sistemas Operacionais

30

Sistemas paralelos

• Máquinas multiprocessadoras possuem mais Máquinas multiprocessadoras possuem mais de de um processadorum processador

• Sistemas fortemente acopladosSistemas fortemente acoplados• Processadores compartilham memória e relógios Processadores compartilham memória e relógios

comunscomuns• Comunicação é realizada através da memóriaComunicação é realizada através da memória

• VantagensVantagens• Aumento de Aumento de troughputtroughput (número de processos (número de processos

executados)executados)• Aspectos econômicosAspectos econômicos• Aumento de confiabilidadeAumento de confiabilidade

Introdução aos Sistemas Operacionais

Page 31: Introdução aos  Sistemas Operacionais

31

• Symmetric multiprocessingSymmetric multiprocessing (SMP) (SMP)• Cada processador executa uma cópia idêntica do Cada processador executa uma cópia idêntica do

sistema operacionalsistema operacional• Vários processos podem ser executados em paralelo Vários processos podem ser executados em paralelo

sem perda de desempenho para o sistemasem perda de desempenho para o sistema• A maioria dos sistemas operacionais atuais suportam A maioria dos sistemas operacionais atuais suportam

SMP através do conceito de SMP através do conceito de multitreadingmultitreading

• Asymmetric multiprocessingAsymmetric multiprocessing• Cada processador executa uma tarefa específicaCada processador executa uma tarefa específica

• Ex: processador mestre para alocação de tarefas a Ex: processador mestre para alocação de tarefas a escravosescravos

Sistemas paralelos

Introdução aos Sistemas Operacionais

Page 32: Introdução aos  Sistemas Operacionais

32

Sistema de tempo real

• Empregado para o controle de procedimentos que Empregado para o controle de procedimentos que devem responder dentro de um certo intervalo de devem responder dentro de um certo intervalo de tempotempo• Ex: experimento científicos, tratamento de imagens médicas, Ex: experimento científicos, tratamento de imagens médicas,

controle de processos, etc.controle de processos, etc.

• Noção de tempo real é dependente da aplicaçãoNoção de tempo real é dependente da aplicação• Milisegundos, minutos, horas, etc.Milisegundos, minutos, horas, etc.

•Dois tiposDois tipos• Hard real timeHard real time

• Tarefas críticas são completadas dentro de um intervalo Tarefas críticas são completadas dentro de um intervalo de tempode tempo

• Soft real timeSoft real time• Tarefa crítica tem maior prioridade que as demaisTarefa crítica tem maior prioridade que as demais

Introdução aos Sistemas Operacionais