33
Introdução a Sistemas Operacionais 41 Adão de Melo Neto

Introdução a Sistemas Operacionais - IME-USPadao/sos2y.pdf · tempo disputando pelo uso dos recursos do ... -É comum em sistemas multiusuário em que vários usuários executam

  • Upload
    ngobao

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Introdução a Sistemas Operacionais

41

Adão de Melo Neto

Definição de SOSistema OperacionalSistema Operacional

É um conjunto de rotinas (programa) executado

pelo processador que controlao funcionamento do computador como

gerente dos

Permite o compartilhamento derecursos de forma

organizada

42

diversos recursos (processadores, memórias e

dispositivos de entrada e saída).

Facilita o acesso aosrecursos do sistema

Sistema OperacionalFacilita o acesso aosFacilita o acesso aosrecursos do sistemarecursos do sistema

Disponibiliza uma Interface entre os usuários e Recursos do sistema

(usuário não precisa conhecer detalhes do hardware).

43

detalhes do hardware).Permite eficiência e menor chance de erro

Sistema Operacional

CompartilhamentoCompartilhamento dede recursosrecursos dede formaformaorganizadaorganizada

Possibilita o acesso concorrente(“ao mesmo tempo”) a recursos compartilhados(memórias, discos, impressoras, por exemplo)de forma organizada e protegida

44

de forma organizada e protegida

Sistema Operacional

� Computador– Hardware:

• circuitos eletrônicos, cabos e fontes de alimentação

– Software: • Através dele o computador consegue armazenar

45

• Através dele o computador consegue armazenar dados em discos, imprimir relatórios, gerar gráficos, etc

Sistema Operacional

� Primeiros computadores– Programação em painéis, através de fios.

Exigia grande conhecimento do hardware e de sua linguagem de máquina

46

Sistema Operacional

� Surgimento do SO– Interação entre usuário/computador mais

simples, confiável e eficiente– Parte física do computador transparente ao

usuário

47

usuário– Usuário enxerga a máquina como sendo

apenas o sistema operacional• Nível 0: hardware• Nível 1: sistema operacional

SistemaSistema OperacionalOperacionalÉ um conjunto de rotinas (programa) executado pelo processador que controlao funcionamento do computador como gerente dos diversosrecursos (processadores, memórias e dispositivos de entrada e saída).

Sistema Operacional

AplicativosAplicativosSoftwares desenvolvido pelos

usuários

UtilitáriosUtilitáriosSoftwares complementares dos sistemas operacionais

(compiladores, linkers, etc ..

48

Tipos de Sistemas Operacionais

49

Operacionais

Tipos de Sistemas Operacionais

– O surgimento dos diversos tipos de SO estáIntimamente relacionado com a evolução dohardware e das aplicações por ele suportadas

50

Processador, memória e periféricos dedicados aexecução de umúnico programa (na memória).

Processador ocioso enquanto programaaguarda algumevento

(exemplo: digitaçãodeum dado)

Simples de implementação.Não existe preocupação comcompartilhamento de recursos

Sistemas Monoprogramáveis/Monotarefa

51

(exemplo: digitaçãodeum dado)

Memória subutilizada(não preenchida completamente,Apenas umprograma)

Periféricos dedicados a umúnicousuário

Vários programas dividemos recursos(processador, memória e periféricos)Na memória podemexistir vários programas

Sistemas Multiprogramáveis/Multitarefa

52

Sistema Monoprogramável X Multiprogramável

53

- Um programana memória principalpor vez.- UCP totalmente dedicada ao programa- Desperdíciona utilização da UCP (ex: quando programa faz uma leitura no disco)- Subutilização da memória principal (apenas um programa).

Sistema Monoprogramável X Multiprogramável

54

- Vários programasna memória principalCONCORRENDOCONCORRENDO pela utilização da UCP.- CPU totalmente dedicada aos vários programas- Menos desperdíciona utilização da UCP=>Existem vários programas se revezando para utilização daUCP=>Quando um programa solicita uma operação de E/S, outros poderão utilizar a UCP

- Melhor uso da memória principal.

Sistemas Multiprogramáveis/Multitarefa

55

- Programas submetidos são armazenados em fitas/discos onde são executado sequencialmente

-A UCP pode processar seqüencialmente cada job, diminuindo o tempo de execução dos jobs e o tempo de transição entre eles

- Programas (Jobs)normalmente não exige iteração com usuário- Programas envolvendo cálculos numéricos, compilações, etc.

Sistemas Multiprogramáveis/multitarefa

- Processador Compartilhado:

56

- Processador Compartilhado: => Vários programas sendo executados pela divisão do tempo do processadorem intervalos Time-Slace(fatia de tempo). => Programa não concluído no Time-Slaceé substituído por outro.

- Memória e periféricos são também compartilhados- Impressão de que todo sistema dedicado ao programa.- Permite a interação com o usuário- Implementação complexa

Sistemas Multiprogramáveis/multitarefa

57

- Processador Compartilhado: => Vários programas sendo executados pela divisão do tempo do processador em intervalos Time-Slace(fatia de tempo). => Programa não concluído no Time-Slaceé substituído por outro.

- Memória e periféricos são também compartilhados- Impressão de que todo sistema dedicado ao programa.- Permite a interação com o usuário- Implementação complexa

Sistemas Multiprogramáveis/multitarefa

58

- Semelhantes em implementação ao sistema de tempo compartilhado- Diferença: tempo de resposta exigido no processamento.- Idéia de “Time-Slice” não existe:O programa detém o processador (UCP) o tempo que for necessário, ou até que apareça outro programa mais prioritário (este controle é feito pela aplicação e não pelo Sistema operacional)

- Monitoramente de refinarias, controle de tráfego aéreo, de usinas (aplicações onde o tempo de resposta é fundamental)

Sistemas com múltiplos processadores

59

- Duas ou mais UCPs (processadores) trabalhando em conjunto-Vantagem: => vários programas sendo executados ao mesmo tempo (em

cada processador).=> Um programa dividido em partes para execução simultânea

em mais de um processador

Sistemas Fortemente Acoplados

60

- Desvantagem: => problema de concorrência (disputa) é introduzido (vários processadores tentando acessar a mesma área de memória)

- SFA = Sistemas multiprocessadores- Várias CPUs compartilhando única memória e dispositivos E/S sendo

gerenciadosgerenciados porpor umum únicoúnico sistemasistema operacionaloperacional

Sistemas Fortemente Acoplados AssimétricosAssimétricos

Organização Assimétrica =

Organização Mestre/Escravo

61

- Vantagem: organização simples de implementar- Desvantagem 1: => Não utiliza o hardware com eficiência.

Somente o processador mestrepode executar serviços do sistema operacional (por exemplo operações E/S)O Processador escravodeve fazer requisição ao processador mestre(ineficiência caso escravo execute muitas operações E/S)

-Desvantagem 2:=> Pode ocorrer falha do processador mestre

Sistemas Fortemente Acoplados Simétricos Simétricos (é o que existe !)(é o que existe !)

- Vantagem:

Simetria dos dois processadoresTodos podem realizar as mesmas funções

62

- Vantagem: => Um programa pode ser executado por qualquer processador ou por

vários processadores ao mesmo tempo (paralelismo)=> Quando um processador falha o sistema continua a funcionar

- Desvantagem: => Acessos simultâneos às mesmas áreas de memória: solução a cargo do

hardware e do sistema operacional.=> Implementação bastante complexa

Sistemas Fracamente Acoplados

63

Dois ou mais sistemas de computaçãointerligados em que cada um possuicada um possuio seu próprio sistema operacionalo seu próprio sistema operacional

Sistemas Operacionais de Rede

64

Permitem que uma estação compartilhe seus recursos como impressora, diretório com as demais estações da rede.

Sistemas Distribuídos

65

O sistema (operacional)distribuídoesconde os detalhesdas estações individuais e passa a tratá-los como um

conjunto único, como se fosse um sistema fortemente acoplado simétrico

Permite que uma aplicação seja dividida em partes sendo cada uma executada em estações diferentes

Concorrência

66

Concorrência

CONCORRÊNCIA

Vários programas sendo executados ao mesmo tempo disputando pelo uso dos recursos do

sistema (UCP, memória e dispositivos de E/S)

67

Só existe em sistemas multiprogramáveis (com vários programas sendo executados ao mesmo

tempo)

TÉCNICAS QUE PERMITEM A

68

TÉCNICAS QUE PERMITEM A CONCORRÊNCIA

Evento que ocorre durantea execução de um

programa eque exige a intervenção

Interrupção

Interrupção

69

que exige a intervençãodo Sistema Operacional

-Gerada pelo SO ou algumdispositivo-Independe da execução do programa (gerada por evento assíncrono/imprevisto)-Exemplo: periférico avisa a CPU que está pronto a transmitir um dado => CPU

deve interromper o programa e atender o dispositivo.-Diversos tipos de interrupção ==> rotinas de tratamento para cada interrupção-Permite a implementação de concorrência emcomputadores

Evento que ocorre durantea execução de um

programa eque exige a intervenção

Exceção

Exceção

70

que exige a intervençãodo Sistema Operacional

-Gerada pela execução de uma instrução de umprograma-Gerada por evento síncrono/previsível-Exemplo: divisão de umnúmero por zero

Buffering

Técnica que consiste na utilização de uma área de memória paratransferência de dados entre os dispositivos de entrada e saída

e a memória principal

Mais LENTA

71

e a memória principal

-Objetiva minimizar o problema da diferença de velocidade de processamentoentre a CPU e o dispositivo E/S.- Objetiva manter a CPU e dispositivo E/S ocupados a maior parte do tempo.- Exemplo: leitura e processamento de dados de umCDROM

Spooling

Técnica introduzida na década de 50 que objetiva aumentar a produtividade

e eficiência dos sistemas operacionais

72

e eficiência dos sistemas operacionais

Exemplo:Quando um comando de impressão é executado por umprograma, asinformações que serão impressas são gravadas emum arquivo em disco(arquivo de spool), para ser impresso posteriormente pelo sistema

Reentrância

É a capacidade de um código de programa (códigoreentrante) poder ser compartilhado por diversosusuários, exigindo que apenas uma cópia esteja

na memória principal

73

na memória principal(editores de texto, linkers, compiladores)

-É comum em sistemas multiusuário em que vários usuários executam o mesmo utilitário ao mesmo tempo.