SlideShare uma empresa Scribd logo
1 de 43
IC - UFF
Exercícios – Cap I
 1.1, 1.2, 1.3 (somente letras (a), (b) e (c))
 1.5 1.7, 1.8 e 1.12
IC - UFF
Sistemas Operacionais
Visão geral e evolução dos SOs
IC - UFF
Sistema Operacional?
 Um programa que controla a execução dos programas
de aplicação
 Uma interface entre o usuário e o h/w
 Um programa que mascara os detalhes do h/w
Duas visões: gerenciador de recursos e
máquina virtual
IC - UFF
SO como máquina virtual
Aplicativos
Utilitários
Sistema Operacional
Máquina física
usuário
progra-
mador
projetis-
ta do SO
IC - UFF
Máquina virtual: serviços
 Criação de programas
 Execução de programas
 Acesso a dispositivos de E/S
 Acesso controlado a arquivos
 Acesso ao sistema
 Detecção e correção de erros
 Contabilidade
IC - UFF
Máquina virtual: serviços
 Criação de programas
 SO oferece facilidades: editores e depuradores
 tipicamente estes serviços não são parte do SO e
sim dos utilitários
 contudo, são acessíveis através do SO
IC - UFF
Máquina virtual: serviços
 Execução de programas
 carregamento do programa em memória
 arquivos e dispositivos de E/S devem ser iniciados
 outros recursos devem ser preparados
 SO gerencia estas ações para o usuário
IC - UFF
Máquina virtual: serviços
 Acesso a dispositivos de E/S
 cada dispositivo tem seu próprio conjunto de
instruções ou sinais de controle
 SO esconde estas ações e usuário só executa
leituras e escritas
IC - UFF
Máquina virtual: serviços
 Acesso controlado a arquivos
 usuário não se preocupa coma natureza do
dispositivo de E/S (disco, fita, ...)
 usuário não se preocupa com formato do arquivo no
dispositivo
 mecanismos de proteção em caso de múltiplos
usuários
IC - UFF
Máquina virtual: serviços
 Acesso ao sistema (recursos)
 SO controla acesso ao sistema como um todo e a
recursos específicos em particular
 proteção contra acesso não autorizado
 resolução de conflitos em caso de disputa
IC - UFF
Máquina virtual: serviços
 Detecção e correção de erros
 erros de h/w: memória, dispositivos, ...
 erros de s/w: estouro aritmético, acesso proibido a
certas posições de memória
 correção da situação com mínimo de impacto no
sistema
IC - UFF
Máquina virtual: serviços
 Contabilidade
 coleta de estatísticas
 monitoramento de desempenho
 uso: melhoria de desempenho, melhorias futuras
 tarifação em um sistema multiusuário
IC - UFF
SO: gerenciador de recursos
controlador de E/S
controlador de E/S
controlador de E/S
(núcleo
do)
SO
programas
e
dados
processador
processador •••
•
•
•
Sistema computacional Dispositivos de E/S
•
•
•
memória
Núcleo
• funções mais utilizadas
• residente na MP
• decide utilização de
recursos e escalonamento
IC - UFF
Sistema operacional
 É um programa!
 Direciona o processador no uso dos recursos do
sistema e sobre o momento de executar outros
programas
 SO libera o processador para que outros programas
possam executar
IC - UFF
Evolução de um SO
 Um SO deve evoluir ao longo do tempo para (novas
versões):
 receber novos tipos de hardware (e.g., novo
terminal gráfico)
 atender novos serviços (e.g., sistema de janelas)
 reparar defeitos
Inicialmente:
 Usuário fazia tudo – processamento serial!
 Ociosidade da máquina
IC - UFF
Monitores
 Software que controla a execução de outros
programas
 SO de lote (batch): jobs (tarefas) são carregados
juntos
 Monitor é residente em memória principal
 Utilitários são carregados à medida da necessidade
 Usuário submete seu job e provê entrada
 Grau de ociosidade menor, mas execução seqüencial
dos diferentes jobs
IC - UFF
Monitor: mapa de memória
processamento de interrupção
controladores de dispositivos
seqüenciamento de tarefas
interpretador de linguagem
de controle
programas do
usuário
Monitor (residente)
IC - UFF
JCL: job control language
 Tipo especial de linguagem de programação
 Direciona o monitor:
 que compilador usar
 que dados usar
 que dispositivos montar
IC - UFF
JCL: exemplo
$JOB
$FTN
...
$LOAD
$RUN
...
$END
instruções Fortran
dados
IC - UFF
Características de h/w desejáveis
 Proteção de memória
 não permitir que a área ocupada pelo monitor seja
alterada
 Temporização (inicio de multiprogramação)
 prevenir um job de monopolizar o sistema
 ocorrência de interrupção quando o tempo termina
IC - UFF
Características de h/w desejáveis
 Instruções privilegiadas
 executadas somente pelo monitor
 e.g., instruções de E/S
 ocorrência de interrupção caso o programa do
usuário tente uma dessas instruções
 Interrupções
 flexibilidade para controlar programas do usuário
IC - UFF
Monitores
Vantagens:
 Proteção
 Independência
 Organização
Desvantagens
 Monitor na Memória
 Sequenciamento de processos
 Ainda: sobrecarga de troca entre monitor e processos
IC - UFF
Multiprogramação
 Permite que o processador execute outro programa
enquanto um espera por E/S
tempo
espera
exec exec
tempo
espera
exec
A
exec
A
exec
B
exec
B
IC - UFF
Vale a pena?
 Exemplo: computador com 256K de memória (só para
usuário)
t
a
r
e
f
a
1 t
a
r
e
f
a
2 t
a
r
e
f
a
3
T
i
p
o
d
e
t
a
r
e
f
a i
n
t
e
n
s
i
v
a
e
m
U
C
P
i
n
t
e
n
s
i
v
a
e
m
E
/
S
i
n
t
e
n
s
i
v
a
e
m
E
/
S
D
u
r
a
ç
ã
o 5
m
i
n 1
5
m
i
n 1
0
m
i
n
M
e
m
ó
r
i
a
n
e
c
e
s
s
á
r
i
a 5
0
K 1
0
0
K 8
0
K
P
r
e
c
i
s
a
d
i
s
c
o
? n
ã
o n
ã
o s
i
m
P
r
e
c
i
s
a
t
e
r
m
i
n
a
l
? n
ã
o s
i
m n
ã
o
P
r
e
c
i
s
a
i
m
p
r
e
s
s
o
r
a
? n
ã
o n
ã
o s
i
m
IC - UFF
1
0
0
%
0
0 5 1
0 1
5 2
0 2
5 3
0
tarefa1 tarefa2 tarefa3
1
0
0
%
0
0 5 1
0 1
5
tarefa1
tarefa2
tarefa3
Vejamos ...
utilização da UCP:
monoprogramação X
multiprogramação
IC - UFF
Contudo ...
 Necessidade de hardware extra, como:
 E/S por interrupção
 gerenciamento de memória
 Necessidade de software extra, como:
 escalonamento de processos
 proteção de arquivos
 sincronização entre processos
IC - UFF
Time-sharing
 Uso de multiprogramação para atendimento de
tarefas interativas
 UCP é compartilhada
 Acesso via terminais
 SO deve atender a um objetivo: minimizar o tempo de
espera de cada usuário
 Time slice para cada usuário  vantajoso pois
usuários são “lentos”
IC - UFF
Funções Principais em um SO
 Processos
 Concorrência
 Escalonamento de Processos
 Gerenciamento de Memória
 Memória Virtual
 Segurança e Proteção
IC - UFF
Processos
 Mais geral que programa
 Consiste em um código executável e seus dados
associados, além de um contexto de execução
 Linhas principais de desenvolvimento de sistemas de
computadores que levaram a especificação de
processos:
 Multiprogramação em batch: maximizar utilização devido E/S
 Time sharing: utilização assíncrona do sistema por usuários
 Sistemas de tempo real: múltiplos acessos a base de dados
IC - UFF
 Principais problemas:
 sincronização (e.g., perda de sinais)
 exclusão mútua (e.g., bases de dados)
 bloqueios (espera infinita): deadlocks
Concorrência
P1
lê do buffer
P1
leitura
sincronismo
Recurso
P1 P2
IC - UFF
Escalonamento de processos
 Como escolher qual processo ocupará o processador?
 Alguns critérios:
 justeza (fairness)
 mas prioridades diferentes
 diferenciação entre classes
 tempos de resposta diferentes
 eficiência
 vazão máxima
 minimizar tempo de resposta
 Níveis de escalonamento
IC - UFF
Gerenciamento de memória
 Devido ao compartilhamento da MP
 Requisitos:
 Gerenciar de acordo com hierarquia de memória
 Isolação/proteção da área de MP entre processos
 Demandas dinâmicas: módulos, procedimentos e
área de dados
 Ex.: pilha de memória
 Proteção e controle de acesso
 Ex.: áreas compartilhadas entre processos
 Armazenamento permanente
 Solução: memória virtual + sistema de arquivos
IC - UFF
Memória virtual?
processador
virtual
memória
virtual
arquivos
memória
perene
read, write copy
i) visão do usuário
endereço
de memória
física
processador
real
mapeamento
de endereços
memória
principal
memória
auxiliar
endereço
virtual
swapping
ii) visão do projetista
do SO
IC - UFF
Segurança e proteção
 Uma grande preocupação hoje em dia. O que está
envolvido?
 controle de acesso: quem pode acessar sistema e
dados?
 controle de fluxo de informação: quem pode
receber o que
 certificação: como saber quem é quem?
IC - UFF
Formas de estruturação
 SOs cada vez mais complexos. Para estruturar, só a
programação modular não é suficiente
 estruturação em níveis
 arquitetura em micro-núcleo
 threads e multithreads
IC - UFF
Formas de estruturação
 Em sistemas grandes
 Camadas hierárquicas
 abstração de informações
 Cada camada contém funções de mesma
complexidade, dimensão e abstração
 Um nível maior utiliza funções de um nível abaixo
 Os níveis de funcionalidade coincidem com os níveis
de um sistema computacional
IC - UFF
Formas de estruturação
 Nível 1 – componentes
 SO limpa registradores, acessa célula de memória
 Nível 2 – instruções da máquina
 SO executa instruções L2 para executar serviços
 Nível 3 – lida com procedimentos e subrotinas
 Nível 4 - tratamento de interrupções
 Parte por software para salvar contexto
IC - UFF
Formas de estruturação
 Nível 5 – manipulação de processos
 Rotinas de suspensão, escalonamento, sincronização,
semáforos, ...
 Nível 6 – manipulação de dispositivos de memória
secundária
 Leitura e gravação, manipulação de cabeçote
 Nível 7 – manipulação de memória virtual
 Transferência entre MP e MS
 Por ex., utiliza nível 6
 Nível 8 – gerenciamento de compartilhamento de
informação e troca de msg´s entre processos
IC - UFF
Formas de estruturação
 Nível 9 – manipulação de armazenamento secundário
 Mais alto nível que 6
 Nível 10 – interfaces para acesso a dispositivos
externos
 Nível 11 – rotinas de associação de identificadores de
processos externos (usuários) e internos (endereços)
IC - UFF
Outras formas
 Multiprocessamento simétrico
 cada processador executa cópia do SO
 SOs distribuídos
 fornece a ilusão de uma única memória principal
 Sistemas móveis
IC - UFF
Outros requisitos
 Sistemas de tempo real (TR)
 normalmente usados em aplicações
dedicadas
 requisitos temporais bem definidos
 sistemas TR críticos
 vale a pena usar memória virtual?
 sistemas TR não-críticos
 Consumo de energia
IC - UFF
Caracteristicas Atuais
 Melhor tecnogia  melhor h/w  melhor s/w
 SO mais elaborado: lida com redes, maior MP, multimídia,
web, computação cliente-servidor
 Microkernel – mínimo de funções essenciais
 Gerenciador de espaço de gerenciamento
 Comunicação entre processos
 Escalonamento
 Multithread – aplicação composta de vários threads
Threads Processos
unidade de um processo
Compartilha informações
Visão somente de suas variáveis
Comunicação troca msg
IC - UFF
Exercícios – Cap II
- 2.1 até 2.5
2.1) Suponha um computador multiprogramado, em que os processos têm
características semelhantes. Em um dado período de computação, T,
considerando cada processo, metade do tempo é gasto em E/S e
outra metade em processamento. Cada processo ainda precisa de N
períodos para ser executado. Assuma uma prioridade round-robin e
que as operações de E/S possam ser sobrepostas com operações de
processamento. Defina:
a) turnaround de cada processo = tempo total para completar o
processo
b) Vazão/Throughput = média de processos finalizados por período
T
c) Utilização de processador = % de tempo que cada processador
está ativo (não está esperando)
Calcule (a), (b) e (c) para 1, 2 e 4 processos simultâneos, assumindo que o
período de tempo T é distribuído da seguinte maneira:
a) Primeira metade = E/S e segunda metade processamento
b) E/S durante o 1º e 4º quartos de tempo, e processamento, 2º e 3º
quartos de tempo

Mais conteúdo relacionado

Semelhante a aula2so.ppt

Máquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaMáquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaLincoln Lamas
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.dannas_06
 
Introducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIntroducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIsaac Vieira
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Leinylson Fontinele
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativosMaria194536
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Leinylson Fontinele
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.pptssuserb52d9e
 
parte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfparte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfAriclenesKinkela
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalAlexandre Duarte
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionaisAparicio Junior
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoMauro Tapajós
 

Semelhante a aula2so.ppt (20)

Máquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaMáquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da Microarquitetura
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.
 
Symbian so
Symbian soSymbian so
Symbian so
 
Introducao a Sistemas Operacionais
Introducao a Sistemas OperacionaisIntroducao a Sistemas Operacionais
Introducao a Sistemas Operacionais
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
Aula 02
Aula 02Aula 02
Aula 02
 
io
ioio
io
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Aula3so
Aula3soAula3so
Aula3so
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 
SO - Aula 05 - Concorrencia
SO - Aula 05 - ConcorrenciaSO - Aula 05 - Concorrencia
SO - Aula 05 - Concorrencia
 
parte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdfparte2 fundamentos de arquitetura 1 e 2 pdf
parte2 fundamentos de arquitetura 1 e 2 pdf
 
Capitulo1
Capitulo1Capitulo1
Capitulo1
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionais
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e Instalação
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 

aula2so.ppt

  • 1. IC - UFF Exercícios – Cap I  1.1, 1.2, 1.3 (somente letras (a), (b) e (c))  1.5 1.7, 1.8 e 1.12
  • 2. IC - UFF Sistemas Operacionais Visão geral e evolução dos SOs
  • 3. IC - UFF Sistema Operacional?  Um programa que controla a execução dos programas de aplicação  Uma interface entre o usuário e o h/w  Um programa que mascara os detalhes do h/w Duas visões: gerenciador de recursos e máquina virtual
  • 4. IC - UFF SO como máquina virtual Aplicativos Utilitários Sistema Operacional Máquina física usuário progra- mador projetis- ta do SO
  • 5. IC - UFF Máquina virtual: serviços  Criação de programas  Execução de programas  Acesso a dispositivos de E/S  Acesso controlado a arquivos  Acesso ao sistema  Detecção e correção de erros  Contabilidade
  • 6. IC - UFF Máquina virtual: serviços  Criação de programas  SO oferece facilidades: editores e depuradores  tipicamente estes serviços não são parte do SO e sim dos utilitários  contudo, são acessíveis através do SO
  • 7. IC - UFF Máquina virtual: serviços  Execução de programas  carregamento do programa em memória  arquivos e dispositivos de E/S devem ser iniciados  outros recursos devem ser preparados  SO gerencia estas ações para o usuário
  • 8. IC - UFF Máquina virtual: serviços  Acesso a dispositivos de E/S  cada dispositivo tem seu próprio conjunto de instruções ou sinais de controle  SO esconde estas ações e usuário só executa leituras e escritas
  • 9. IC - UFF Máquina virtual: serviços  Acesso controlado a arquivos  usuário não se preocupa coma natureza do dispositivo de E/S (disco, fita, ...)  usuário não se preocupa com formato do arquivo no dispositivo  mecanismos de proteção em caso de múltiplos usuários
  • 10. IC - UFF Máquina virtual: serviços  Acesso ao sistema (recursos)  SO controla acesso ao sistema como um todo e a recursos específicos em particular  proteção contra acesso não autorizado  resolução de conflitos em caso de disputa
  • 11. IC - UFF Máquina virtual: serviços  Detecção e correção de erros  erros de h/w: memória, dispositivos, ...  erros de s/w: estouro aritmético, acesso proibido a certas posições de memória  correção da situação com mínimo de impacto no sistema
  • 12. IC - UFF Máquina virtual: serviços  Contabilidade  coleta de estatísticas  monitoramento de desempenho  uso: melhoria de desempenho, melhorias futuras  tarifação em um sistema multiusuário
  • 13. IC - UFF SO: gerenciador de recursos controlador de E/S controlador de E/S controlador de E/S (núcleo do) SO programas e dados processador processador ••• • • • Sistema computacional Dispositivos de E/S • • • memória Núcleo • funções mais utilizadas • residente na MP • decide utilização de recursos e escalonamento
  • 14. IC - UFF Sistema operacional  É um programa!  Direciona o processador no uso dos recursos do sistema e sobre o momento de executar outros programas  SO libera o processador para que outros programas possam executar
  • 15. IC - UFF Evolução de um SO  Um SO deve evoluir ao longo do tempo para (novas versões):  receber novos tipos de hardware (e.g., novo terminal gráfico)  atender novos serviços (e.g., sistema de janelas)  reparar defeitos Inicialmente:  Usuário fazia tudo – processamento serial!  Ociosidade da máquina
  • 16. IC - UFF Monitores  Software que controla a execução de outros programas  SO de lote (batch): jobs (tarefas) são carregados juntos  Monitor é residente em memória principal  Utilitários são carregados à medida da necessidade  Usuário submete seu job e provê entrada  Grau de ociosidade menor, mas execução seqüencial dos diferentes jobs
  • 17. IC - UFF Monitor: mapa de memória processamento de interrupção controladores de dispositivos seqüenciamento de tarefas interpretador de linguagem de controle programas do usuário Monitor (residente)
  • 18. IC - UFF JCL: job control language  Tipo especial de linguagem de programação  Direciona o monitor:  que compilador usar  que dados usar  que dispositivos montar
  • 19. IC - UFF JCL: exemplo $JOB $FTN ... $LOAD $RUN ... $END instruções Fortran dados
  • 20. IC - UFF Características de h/w desejáveis  Proteção de memória  não permitir que a área ocupada pelo monitor seja alterada  Temporização (inicio de multiprogramação)  prevenir um job de monopolizar o sistema  ocorrência de interrupção quando o tempo termina
  • 21. IC - UFF Características de h/w desejáveis  Instruções privilegiadas  executadas somente pelo monitor  e.g., instruções de E/S  ocorrência de interrupção caso o programa do usuário tente uma dessas instruções  Interrupções  flexibilidade para controlar programas do usuário
  • 22. IC - UFF Monitores Vantagens:  Proteção  Independência  Organização Desvantagens  Monitor na Memória  Sequenciamento de processos  Ainda: sobrecarga de troca entre monitor e processos
  • 23. IC - UFF Multiprogramação  Permite que o processador execute outro programa enquanto um espera por E/S tempo espera exec exec tempo espera exec A exec A exec B exec B
  • 24. IC - UFF Vale a pena?  Exemplo: computador com 256K de memória (só para usuário) t a r e f a 1 t a r e f a 2 t a r e f a 3 T i p o d e t a r e f a i n t e n s i v a e m U C P i n t e n s i v a e m E / S i n t e n s i v a e m E / S D u r a ç ã o 5 m i n 1 5 m i n 1 0 m i n M e m ó r i a n e c e s s á r i a 5 0 K 1 0 0 K 8 0 K P r e c i s a d i s c o ? n ã o n ã o s i m P r e c i s a t e r m i n a l ? n ã o s i m n ã o P r e c i s a i m p r e s s o r a ? n ã o n ã o s i m
  • 25. IC - UFF 1 0 0 % 0 0 5 1 0 1 5 2 0 2 5 3 0 tarefa1 tarefa2 tarefa3 1 0 0 % 0 0 5 1 0 1 5 tarefa1 tarefa2 tarefa3 Vejamos ... utilização da UCP: monoprogramação X multiprogramação
  • 26. IC - UFF Contudo ...  Necessidade de hardware extra, como:  E/S por interrupção  gerenciamento de memória  Necessidade de software extra, como:  escalonamento de processos  proteção de arquivos  sincronização entre processos
  • 27. IC - UFF Time-sharing  Uso de multiprogramação para atendimento de tarefas interativas  UCP é compartilhada  Acesso via terminais  SO deve atender a um objetivo: minimizar o tempo de espera de cada usuário  Time slice para cada usuário  vantajoso pois usuários são “lentos”
  • 28. IC - UFF Funções Principais em um SO  Processos  Concorrência  Escalonamento de Processos  Gerenciamento de Memória  Memória Virtual  Segurança e Proteção
  • 29. IC - UFF Processos  Mais geral que programa  Consiste em um código executável e seus dados associados, além de um contexto de execução  Linhas principais de desenvolvimento de sistemas de computadores que levaram a especificação de processos:  Multiprogramação em batch: maximizar utilização devido E/S  Time sharing: utilização assíncrona do sistema por usuários  Sistemas de tempo real: múltiplos acessos a base de dados
  • 30. IC - UFF  Principais problemas:  sincronização (e.g., perda de sinais)  exclusão mútua (e.g., bases de dados)  bloqueios (espera infinita): deadlocks Concorrência P1 lê do buffer P1 leitura sincronismo Recurso P1 P2
  • 31. IC - UFF Escalonamento de processos  Como escolher qual processo ocupará o processador?  Alguns critérios:  justeza (fairness)  mas prioridades diferentes  diferenciação entre classes  tempos de resposta diferentes  eficiência  vazão máxima  minimizar tempo de resposta  Níveis de escalonamento
  • 32. IC - UFF Gerenciamento de memória  Devido ao compartilhamento da MP  Requisitos:  Gerenciar de acordo com hierarquia de memória  Isolação/proteção da área de MP entre processos  Demandas dinâmicas: módulos, procedimentos e área de dados  Ex.: pilha de memória  Proteção e controle de acesso  Ex.: áreas compartilhadas entre processos  Armazenamento permanente  Solução: memória virtual + sistema de arquivos
  • 33. IC - UFF Memória virtual? processador virtual memória virtual arquivos memória perene read, write copy i) visão do usuário endereço de memória física processador real mapeamento de endereços memória principal memória auxiliar endereço virtual swapping ii) visão do projetista do SO
  • 34. IC - UFF Segurança e proteção  Uma grande preocupação hoje em dia. O que está envolvido?  controle de acesso: quem pode acessar sistema e dados?  controle de fluxo de informação: quem pode receber o que  certificação: como saber quem é quem?
  • 35. IC - UFF Formas de estruturação  SOs cada vez mais complexos. Para estruturar, só a programação modular não é suficiente  estruturação em níveis  arquitetura em micro-núcleo  threads e multithreads
  • 36. IC - UFF Formas de estruturação  Em sistemas grandes  Camadas hierárquicas  abstração de informações  Cada camada contém funções de mesma complexidade, dimensão e abstração  Um nível maior utiliza funções de um nível abaixo  Os níveis de funcionalidade coincidem com os níveis de um sistema computacional
  • 37. IC - UFF Formas de estruturação  Nível 1 – componentes  SO limpa registradores, acessa célula de memória  Nível 2 – instruções da máquina  SO executa instruções L2 para executar serviços  Nível 3 – lida com procedimentos e subrotinas  Nível 4 - tratamento de interrupções  Parte por software para salvar contexto
  • 38. IC - UFF Formas de estruturação  Nível 5 – manipulação de processos  Rotinas de suspensão, escalonamento, sincronização, semáforos, ...  Nível 6 – manipulação de dispositivos de memória secundária  Leitura e gravação, manipulação de cabeçote  Nível 7 – manipulação de memória virtual  Transferência entre MP e MS  Por ex., utiliza nível 6  Nível 8 – gerenciamento de compartilhamento de informação e troca de msg´s entre processos
  • 39. IC - UFF Formas de estruturação  Nível 9 – manipulação de armazenamento secundário  Mais alto nível que 6  Nível 10 – interfaces para acesso a dispositivos externos  Nível 11 – rotinas de associação de identificadores de processos externos (usuários) e internos (endereços)
  • 40. IC - UFF Outras formas  Multiprocessamento simétrico  cada processador executa cópia do SO  SOs distribuídos  fornece a ilusão de uma única memória principal  Sistemas móveis
  • 41. IC - UFF Outros requisitos  Sistemas de tempo real (TR)  normalmente usados em aplicações dedicadas  requisitos temporais bem definidos  sistemas TR críticos  vale a pena usar memória virtual?  sistemas TR não-críticos  Consumo de energia
  • 42. IC - UFF Caracteristicas Atuais  Melhor tecnogia  melhor h/w  melhor s/w  SO mais elaborado: lida com redes, maior MP, multimídia, web, computação cliente-servidor  Microkernel – mínimo de funções essenciais  Gerenciador de espaço de gerenciamento  Comunicação entre processos  Escalonamento  Multithread – aplicação composta de vários threads Threads Processos unidade de um processo Compartilha informações Visão somente de suas variáveis Comunicação troca msg
  • 43. IC - UFF Exercícios – Cap II - 2.1 até 2.5 2.1) Suponha um computador multiprogramado, em que os processos têm características semelhantes. Em um dado período de computação, T, considerando cada processo, metade do tempo é gasto em E/S e outra metade em processamento. Cada processo ainda precisa de N períodos para ser executado. Assuma uma prioridade round-robin e que as operações de E/S possam ser sobrepostas com operações de processamento. Defina: a) turnaround de cada processo = tempo total para completar o processo b) Vazão/Throughput = média de processos finalizados por período T c) Utilização de processador = % de tempo que cada processador está ativo (não está esperando) Calcule (a), (b) e (c) para 1, 2 e 4 processos simultâneos, assumindo que o período de tempo T é distribuído da seguinte maneira: a) Primeira metade = E/S e segunda metade processamento b) E/S durante o 1º e 4º quartos de tempo, e processamento, 2º e 3º quartos de tempo