3. 3/9
Definição de SO
• É uma camada de software que opera
entre o hardware e os programas
aplicativos voltados ao usuário final.
• É uma estrutura de software ampla,muitas
vezes complexa, que incorpora aspectos
de baixo nível (como drivers de
dispositivos e gerência de memória física)
e de alto nível (como programas utilitários
e a própria interface gráfica).
4. 4/9
Visão do Sistema Operacional
p r o g r a m a d o r e s
e a n a l i s t a s
m e m ó r i a d i s c o s
U C P
U s u á r i o s
H a r d w a r e
S i s t e m a O p e r a c i o n a lS i s t e m a O p e r a c i o n a l
f i t a s
i m p r e s s o r a s m o n i t o r e s
p r o g r a m a s ,
s i s t e m a s e
a p l i c a t i v o s
u s u á r i o s
5. 5/9
Abstração de Recursos
• Cada hardware tem sua particularidade
• Cabe ao sistema operacional gerenciar as
particularidades do hardware
– Um processador de texto não deve deter o
conhecimento de como gravar um arquivo
(disquetes, pen drive, hd´s).
6. 6/9
Cabe ao Sistema Operacional
• Prover interfaces de acesso aos
dispositivos, mais simples de usar que as
interface de baixo nível.
• Tornar os aplicativos independentes do
hardware.
• Definir interfaces de acesso homogêneas
para dispositivos com tecnologias
distintas.
7. 7/9
Gerência de Recursos
• Cabe ao sistema operacional definir
políticas para gerenciar o uso dos
recursos de hardware pelos aplicativos, e
resolver eventuais disputas e conflitos.
– Uso de processador
– Acesso a disco
– Memória
10. 10/12
Batch (lote)
• Todos os programas a executar eram
colocados em uma fila.
• O processador recebia um programa após
o outro, processando-os em seqüência, o
que permitia um alto grau de utilização do
sistema.
• O termo lote ainda é usado para definir
um conjunto de comandos que rodam
sem interferência do usuário
11. 11/12
Bach (lote)
P r o c e s s a m e n t o
P r o c e s s a m e n t o
P r o c e s s a m e n t o
( a )
( b )
( c )
f i t a d e e n t r a d a
f i t a d e e n t r a d a
c a r t õ e s p e r f u r a d o s
f i t a d e s a íd a
r e l a t ó r i o s
f i t a d e s a íd a
j o b 2
j o b n
r e l a t ó r i o 1
r e l a t ó r i o 2
r e l a t ó r i o n
j o b 1
12. 12/12
Rede
• Suporte a operação em rede
– Maioria dos sistemas operacionais atuais
• Compartilhamento de recursos de vários
computadores.
• Disponibilizar os próprios recursos.
• São independentes e caso a conexão entre um
dos nós sofra qualquer problema, os demais
continuam operando normalmente , apesar de
alguns recursos se tornarem indisponíveis.
13. 13/12
Distribuído
• Os recursos de cada máquina estão disponíveis
globalmente, de forma transparente aos
usuários.
• Para o usuário e suas aplicações é como se não
existisse uma rede de computadores e sim um
único sistema centralizado.
– Usuário desconhece o computador em uso.
• Ainda não são uma realidade de mercado.
• Exemplo: Amoeba
14. 14/12
Multi-usuário
• Múltiplos usuários simultâneos
– Maioria dos sistemas operacionais atuais
• Deve suportar a identificação do “dono”
de cada recurso dentro do sistema
– arquivos, processos, conexões de rede
• Imposição de regras de controle de
acesso para impedir o uso desses
recursos por usuários não autorizados
15. 15/12
Desktop
• Sistema operacional “de mesa”.
• Usuários domésticos e corporativos
– Atividades corriqueiras
• Ambiente gráfico, interatividade com
usuário e suporte a rede.
16. 16/12
Servidor
• Gestão de grandes quantidades de
recursos
– Discos, memórias e processadores
• Multi-usuários
• Suporte a rede
18. 18/12
Tempo real
• Comportamento temporal previsível
– Tempo de resposta conhecido no melhor caso e pior
caso de operação
• soft real-time systems
– perda de prazo implica em degradação do serviço
prestado (gravação de CD)
• hard real-time systems
– perda de prazo pode causar grandes prejuízos
econômicos ou ambientais (usina nuclear, caldeiras
industriais)
21. 21/11
Sistema Operacional
• Para cumprir sua função, deve atuar em
várias frentes.
• São vários os recursos a serem
gerenciados
– Abstração
22. 22/11
Gerência de Processador
• Conhecida como gerência de processos
ou de atividades,
• Visa distribuir a capacidade de
processamento de forma justa
– “Justa é diferente de igual”
• Sincronização de atividades
– Comunicação entre processos
23. 23/11
Gerência de Memória
• Fornecer a cada aplicação um espaço
próprio de memória
– Independente e isolado das demais
aplicações
• Uso do disco como memória
complementar
– Aplicação desconhece o tipo da memória em
uso
24. 24/11
Gerência de Dispositivos
• Gerência de Entrada/Saída
• Vários dispositivos diferentes
– Pen drive, disquetes, discos IDE e SCSI
• Permitir, através de drivers, o uso de
forma comum
– Vetor de blocos de dados
25. 25/11
Gerência de Arquivos
• Construída sobre a gerência de
dispositivos
– Criando abstrações de arquivos e diretórios
• Outros dispositivos podem ser utilizados
como arquivos
– Gravar arquivos numa saída TCP (Unix)
26. 26/11
Gerência de Proteção
• Políticas de acesso para sistemas
– Em rede
– Multi-usuários
• Definição de usuários, grupos de
usuários, registro de recursos por
usuários
32. 32/13
Drivers
• Códigos específicos
– Acesso dispositivos físicos
• Normalmente fornecido pelo fabricante do
hardware
– Forma binária
– Acoplado ao sistema operacional
33. 33/13
Código de Inicialização do Sistema
• Carregar o núcleo do sistema operacional
em memória e iniciar sua execução.
D i s c o M e m ó r i a
P r i n c i p a l
b o o t
S i s te m a
O p e r a c i o n a l
Á r e a d o
S i s te m a
O p e r a c i o n a l
34. 34/13
Programas Utilitários
• Facilitam o uso do sistema operacional
– Tradutor
• Montador e Compilador
– Interpretador
– Linker
– Loader
– Depurador
– Interpretador de Comandos (shell)
36. 36/13
Interpretador
• Tradutor que não gera módulo-objeto
• Traduz cada comando e executa
• Desvantagem: tempo na tradução
• Vantagem: dados dinâmicos
• Exemplos: Basic e Perl
38. 38/13
Loader
• Carregar na memória principal um
programa para ser executado
• Loader absoluto
• Loader relocável
39. 39/13
Depurador
• Permite acompanhar a execução de um
programa e detectar erros
• Visualização e alteração de variáveis
• Breakpoints
• Watchpoints
40. 40/13
Interpretador de Comandos
• Interpretador de comandos ou shell
permite ao usuário interagir com o
sistema
• Linguagem de controle são os comandos
disponíveis pelo interpretador
• Exemplos: Shell Bash
43. 43/25
Hardware
• Mono-processadores atuais seguem um
padrão definido na década de 40 por
János (John) Von Neumann
– Arquitetura Von Neumann
• Programa armazenado
– Programa a ser executado reside na memória
junto com os dados
44. 44/25
Estrutura de um Sistema
Operacional
Controladora de Dispositivos
Dispositivos físicos
Hardware
Software
Aplicativos
Programas
Utilitários Nível usuário
Nível sistema
Núcleo
Código de
Inicialização
Drivers de
Dispositivo
45. 45/25
Hardware
M e m ó r i a
P r i n c i p a l
D i s p o s i t i v o s
d e E / S
P r o c e s s a d o r / U C P
U n i d a d e L ó g i c a
e A r i tm é ti c a
R e g i s t r a d o r e s
U n i d a d e d e
C o n t r o l e
46. 46/25
Processador
• É o núcleo do sistema de computação.
• Responsável por continuamente ler as
instruções e dados da memória ou de
periféricos, processá-los e enviar os
resultados de volta a memória ou outros
periféricos.
47. 47/25
Processador
• Unidade Central de Processamento (UCP
ou CPU)
• Unidade de Controle (UC)
• Unidade Lógica e Aritmética (ULA)
• Clock
– Memórias de alta velocidade
48. 48/25
Barramento
• Ocorre todas as transferências de dados.
• Barramento de endereços
– Indica a posição de memória (ou dispositivo) a
acessar
• Barramento de controle
– Indica a operação a efetuar (leitura ou escrita)
• Barramento de dados
– Transporta a informação indicada entre o
processador e a memória ou controlador de
dispositivo
49. 49/25
Barramento
B a r r a m e n t o p r o c e s s a d o r - m e m ó r i a
BarramentodeE/S
BarramentodeE/S
A d a p t a d o r A d a p t a d o r
M e m ó r i a
P r i n c i p a l
U C P
50. 50/25
MMU
• Memory Management Unit (Unidade de
Gerência de Memória)
• Responsável por analisar cada endereço
solicitado pelo processador, validá-los,
efetuar conversões de endereçamento
necessárias e executar a operação
solicitada pelo processador
– leitura ou escrita de uma posição de memória
51. 51/25
Memória
m a i o r
c a p a c i d a d e d e
a r m a z e n a m e n t o
m a i o r c u s t o e
v e l o c i d a d e
d e a c e s s o
M e m ó r i a S e c u n d á r i a
M e m ó r i a C a c h e
M e m ó r i a P r i n c i p a l
R e g i s t r a d o r e s
52. 52/25
Dispositivos
• Memória secundária
– Discos
– Fitas magnéticas
• Interface usuário-máquina
– Teclados
– Impressoras
• Outros dispositivos
– Placa de vídeo
– Dispositivos USB’s
• São acessados através de circuitos específicos
denominados controladores
53. 53/25
Arquitetura de um Computador
controle
endereços
dados
Processador MMU
Memória
Controladora
USB
Mouse Teclado
Controladora
de vídeo
Monitor
Controladora
de disco
Controladora
de rede
Unidade
de disco
Conexão
de rede
54. 54/25
Interrupções
• Quando um controlador de periférico
possui uma informação importante para
fornecer ao processador
– Aguarda até que o processador o consulte
– Notifica o processador através do barramento
de controle
• Requisição de interrupção (IRQ – Interrupt
ReQuest)
55. 55/25
Interrupção
1. O processador está executando um programa qualquer (em outras
palavras, um fluxo de execução);
2. Um pacote vindo da rede é recebido pela placa Ethernet;
3. A placa envia uma solicitação de interrupção (IRQ) ao processador;
4. O processamento é desviado do programa em execução para a
rotina de tratamento da interrupção
5. A rotina de tratamento é executada para receber as informações da
placa de rede (via barramentos de dados e de endereços) e
atualizar as estruturas de dados do sistema operacional;
6. A rotina de tratamento da interrupção é finalizada e o processador
retorna à execução do programa que havia sido interrompido.
57. 57/25
Proteção ao Núcleo
• Certas instruções não podem estar
disponíveis para as aplicações, pois isso
poderia ocasionar um sério problema de
integridade no sistema.
– Por exemplo, um acesso ao disco rígido para
gravação de um arquivo.
58. 58/25
Níveis de privilégio
• Então, existe 2 tipos de
instruções: instruções
privilegiadas e instruções
não-privilegiadas.
• O processador
implementa 2 modos de
acesso: modo usuário e o
modo kernel (ou
supervisor).
CPU Intel x86
Sistema Operacional
Aplicação
Não utilizado
Não utilizado
0
1
2
3
59. 59/25
Separação entre núcleo e as
aplicações
Hardware
Núcleo
Nível
núcleo
Nível
usuário
Aplicação Aplicação Aplicação Aplicação
60. 60/25
Chamadas de Sistema
• São portas de entrada para se ter acesso
ao núcleo do sistema operacional.
• Exemplo: quando o usuário deseja algum
serviço, realiza uma chamada a uma de
suas rotinas através de system calls
(chamadas ao sistema).
• Para cada serviço existe um system call
associada e cada sistema operacional
tem o seu próprio conjunto de chamadas.
62. 62/25
Syscalls - Grupos de Função
• Gerência de Processos
– Criação e eliminação de processos, alteração das
características do processo e sincronização e
comunicação entre processos.
• Gerência de memória
– Alocação e desalocação de memória.
• Gerência de entrada/saída
– Operações de entrada e saída e manipulação de
arquivos e diretórios.