Upload
ngobao
View
213
Download
0
Embed Size (px)
Citation preview
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
– 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
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)
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.