Buscar

1-Introdução-Parte3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
SISTEMAS
OPERACIONAIS
Estruturas de Sistemas Operacionais
Prof. Mateus Novaes
(Adaptação dos slides de Silberschatz)
SUMÁRIO
 Componentes do sistema
 Chamadas ao sistema
 Programas de sistema
 Estrutura do sistema
 Máquinas virtuais
 Projeto e implementação de sistemas
 Geração do sistema
2
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Ao projetar um S.O. é preciso ter em mente o 
objetivo deste sistema
 Definir os algoritmos e estratégias
 Um sistema operacional é grande e complexo 
portanto fica melhor entendido quando dividido 
em partes menores
 Cada parte possui uma função cuidadosamente 
definida
3
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Componentes:
 Gerência de Processos
 Gerência da Memória Principal
 Gerência de Arquivos 
 Gerência do Sistema de E/S 
 Gerência de Memória secundária
 Redes
 Sistema de Proteção 
 Interpretador de Comandos 
4
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Gerência de Processos
 Um processo é um programa em algum estado de 
execução
 Um processo precisa de alguns recursos como: tempo 
de CPU, memória, arquivos e dispositivos de E/S
 Alocados sob demanda ou ao iniciar o processo
 Um programa no disco é uma entidade passiva 
enquanto que um processo em execução é uma 
entidade ativa
5
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Gerência de Processos
 Um processo é a unidade de trabalho em um sistema 
operacional
 Processos do usuário
 Processos do sistema operacional
 O sistema operacional é responsável pelas seguintes 
ações relacionadas à gerência de processos:
 Criar e excluir processos de usuário e de sistema
 Suspender e retomar processos
 Fornecer meios para sincronização de processos
 Fornecer meios para comunicação de processos
 Tratar deadlocks 6
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Gerência da Memória Principal
 Grande vetor de bytes cada um com seu próprio 
endereço
 É um repositório de dados de rápido acesso 
compartilhado entre a CPU e os dispositivos de E/S
 Meio de armazenamento volátil
 O sistema operacional é responsável pelas seguintes 
ações relacionadas à gerência de memória:
 Conhecer quais partes da memória estão utilizadas (por 
quem) e quais estão disponíveis.
 Decidir quais processos devem ser carregados para a 
memória quando houver espaço disponível
 Alocar e desalocar espaço na memória
 Proteção da memória
7
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Gerência de Arquivos
 O sistema operacional abstrai os dados armazenados 
nos dispositivos para uma unidade lógica chamada de 
arquivo.
 Um arquivo geralmente contém informações 
correlatas definidas pelo criador.
 Podem representar programas ou dados
 O sistema operacional é responsável pelas seguintes 
ações relacionadas à gerência de Arquivos:
 Criar e excluir arquivos e diretórios
 Suportar primitivas para manipulação de arquivos e 
diretórios
 Mapear arquivos no armazenamento secundário
 Fazer backup de arquivos em meios de armazenamento 
persistentes 8
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Gerência do sistema de E/S
 Ocultar as peculiaridades de dispositivos de 
hardware específicos do usuário
 Um sistema de E/S consiste de:
 Um gerenciador de memória que incluí buffering, 
armazenamento em cache e spooling.
 Uma interface geral de driver de dispositivo
 Drivers para dispositivos de hardware específicos
9
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Gerência de armazenamento secundário
 A memória principal é volátil e pequena para 
armazenar todos os programas e dados 
permanentemente
 Os sistemas computacionais provêem um armazenamento 
secundário para complementar a memória
 A maioria dos sistemas operacionais atuais utilizam 
discos como meio de armazenamento persistente para 
os programas e dados
10
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Gerência de armazenamento secundário
 O sistema operacional é responsável pelas seguintes 
ações relacionadas à gerência de discos:
 Gerenciamento do espaço livre do disco
 Alocação de dados no disco
 Escalonamento do acesso ao disco
 Minimizar movimentos do braço do disco
 Utilizar o disco como memória virtual
 Gerenciar o cache do disco para aumento da performance
 Fornecer utilitários de discos
 Defragmentador, verificador de erros, ...
11
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Redes (sistemas distribuídos)
 Sistema distribuído é um conjunto de processadores 
que não compartilham memória ou um relógio 
 Os processadores são conectados por uma rede de 
comunicação 
 A comunicação ocorre através do uso de um protocolo
 Um sistema distribuído fornece ao usuário acesso a 
vários recursos do sistema
 O acesso a um recurso compartilhado permite:
 Maior velocidade de computação 
 Maior disponibilidade de dados
 Maior confiabilidade
12
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Sistema de Proteção
 Previnem que os processos interfiram na execução 
um do outro
 A proteção se refere a um mecanismo de controle de 
acesso ao sistema e recursos, por processos ou 
usuários
 O mecanismo de proteção precisa: 
 Especificar os controles a serem impostos
 Distinguir entre uso autorizado e não autorizado 
 Fornecer um meio para a imposição desses controles
13
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Sistema Interpretador de Comandos
 O interpretador de comandos é o programa que faz a 
interface entre o usuário e o sistema operacional 
propriamente dito
 Alguns S.O.s incluem o interpretador de comandos no 
kernel
 O MS-DOS e UNIX tratam o interpretador de comandos 
como um programa especial que é ativado quando o usuário 
efetua um login
 Dependendo do S.O. pode ser chamado de diferentes 
formas:
 Shell
 Command
14
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURAS DE SISTEMAS OPERACIONAIS
COMPONENTES DO SISTEMA
 Sistema Interpretador de Comandos
 Muitos comandos são dados ao sistema operacional 
pelas instruções de controle, que cuidam de:
 Criação e gerenciamento de processos
 Tratamento de E/S
 Gerenciamento do armazenamento secundário 
 Gerenciamento da memória principal
 Acesso ao sistema de arquivos 
 Proteção 
 Uso da rede
15
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
CHAMADAS AO SISTEMA
 As chamadas de sistema fornecem a interface 
entre um programa em execução e o sistema 
operacional
 Disponíveis como instruções em linguagem 
Assembly
 Linguagens de mais alto nível permitemque as 
chamadas ao sistema sejam feitas através da 
própria linguagem
16
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
CHAMADAS AO SISTEMA
 Três métodos são usados para passar parâmetros 
entre um programa em execução e o sistema 
operacional
 Passar parâmetros via registradores
 Armazenar os parâmetros em uma tabela na 
memória, e o endereço na tabela é passado como um 
parâmetro em um registrador
 O programa coloca (push) os parâmetros na pilha e o 
Sistema Operacional retira (pop) os parâmetros da 
pilha
17
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
PROGRAMAS DE SISTEMA
 Programas de sistema utilizam as chamadas ao 
sistema para prover uma interface mais amigável 
ao usuário
 Estes programas podem ser divididos nas 
seguintes categorias:
 Gerência de arquivos
 Informações de status
 Modificação de arquivo
 Suporte à linguagens de programação
 Carregamento e execução de programas
 Comunicações
18
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
PROGRAMAS DE SISTEMA
 A visão do sistema operacional para o usuário é 
definida pelos programas de sistema não pelas 
chamadas ao sistema
 Interpretador de comandos é um programa de 
sistema
 Comandos implementados diretamente
 Maior eficiência
 Comandos implementados por outros programas de 
sistema
 Maior facilidade para atualizar os comandos
 Interpretador mais exuto 19
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
PROGRAMAS DE SISTEMA
 Do ponto de vista do S.O. não existe distinção 
entre programas de sistema e programas de 
usuário
20
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURA DO SISTEMA
 Sistemas operacionais atuais normalmente são 
grandes e complexos
 Necessitam de uma estrutura modular para 
funcionar bem e ser facilmente modificado 
 O MS-DOS foi construído para proporcionar 
máxima funcionalidade com o menor tamanho 
possível
 Na época do MS-DOS não havia as proteções de 
hardware que existem hoje
 O sistema Unix é um sistema modularizado
consistindo em dois módulos principais:
 Kernel e programas de sistema 21
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURA DO SISTEMA
22
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
Estrutura em camadas do MS-DOS
ESTRUTURA DO SISTEMA
23
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
Estrutura em camadas do Unix
ESTRUTURA DO SISTEMA
ABORDAGEM EM CAMADAS
 Na abordagem em camadas um sistema 
operacional é dividido em n camadas
 Camada 0 é o hardware e a n é a interface do usuário
 Com a modularidade cada camada dá suporte a camada 
de cima e usa os serviços da camada de baixo
 Colabora com a manutenibilidade e acelera o 
desenvolvimento
 Reuso de código
24
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
ESTRUTURA DO SISTEMA
ABORDAGEM EM CAMADAS
25
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
MICROKERNELS
 Microkernels compreende diminuir as funções 
embutidas no kernel, implementando as menos 
críticas como programas de sistema
 Pouco consenso sobre quais funções devem estar 
no Microkernel
 Todos os novos serviços são adicionados como 
programas de sistema/usuário
 Benefícios:
 Microkernel fácil de estender
 Fácil de portar o novo kernel para novas arquiteturas
 Mais confiável
 Mais seguro
26
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
MÁQUINAS VIRTUAIS
 Uma máquina virtual trata o hardware e o kernel
do S.O. como se fossem hardware
 Uma interface igual à de um hardware real é 
criada virtualmente
 É criada a ilusão de que existem múltiplos 
processadores cada um com sua própria memória 
27
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
MÁQUINAS VIRTUAIS
28
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
MÁQUINAS VIRTUAIS
 Vantagens:
 A máquina virtual cria proteção total dos recursos do 
sistema um vez que as máquinas virtuais são 
isoladas
 É o melhor meio para desenvolver S.O. pois os erros 
não afetam o sistema como um todo
 Desvantagens
 Não há compartilhamento de recursos direto entre os 
processos das máquinas virtuais
 Difícil de implementar devido a dificuldade de 
reproduzir o hardware da máquina fielmente
29
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
PROJETO E IMPLEMENTAÇÃO DE
SISTEMAS
 Antes de projetar um S.O. é preciso definir seus 
objetivos
 Objetivos do usuário muitas vezes são 
conflitantes com os objetivos do sistema
 Objetivos do usuário:
 Conveniente e fácil de usar
 Fácil de aprender
 Confiável
 Seguro
 Rápido
30
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
PROJETO E IMPLEMENTAÇÃO DE
SISTEMAS
 Objetivos do sistema:
 Fácil de projetar, implementar e manter
 Deve ser flexível
 Confiável
 Livre de erros
 Eficiente
31
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
PROJETO E IMPLEMENTAÇÃO DE SISTEMAS
MECANISMOS E POLÍTICAS
 Um S.O. precisa definir muito bem o que é 
mecanismo do que é política
 Mecanismos determinam como fazer
 Políticas dizem o que será feito
 Exemplo: O timer é um mecanismo para garantir 
proteção. O tempo configurado neste timer é a 
política adotada
 Políticas devem ser configuráveis
32
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
PROJETO E IMPLEMENTAÇÃO DE SISTEMAS
IMPLEMENTAÇÃO
 Sistemas Operacionais são tradicionalmente 
implementados em linguagem de baixo nível por 
causa do desempenho
 Códigos escritos em alto nível são:
 Escritos mais rápidos
 Mais compactos
 Fáceis de entender e debugar
 Um S.O. escrito em alto nível seria muito mais 
fácil de portar para outras plataformas
33
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is
GERAÇÃO DO SISTEMA
 Um Sistema Operacional é projetado para rodar 
em várias classes de hardware
 O sistema deve se adequar a cada configuração 
encontrada
 Um processo cuida da configuração do S.O. que 
está sendo instalado (Sysgen)
 O sysgen obtém a configuração do hardware para 
personalizar o S.O. instalado
 Booting – Ato de iniciar o computador carregando 
o kernel
 Bootstrap program – Programa responsável por 
buscar o kernel, carregar na memória e executá-lo. 34
S
is
te
m
a
s
 O
p
e
r
a
c
io
n
a
is

Outros materiais