Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdu cao
Gustavo M. D. Vieira
DComp CCTS UFSCar
gdvieira@ufscar.br
2014/2
Deni cao Partes Historia Hardware API Estrutura Hardware Recursos
Sistemas Operacionais
Objetivo da Disciplina
Estudar o sistema operacional (SO), software que esconde
parte do hardware dos programas de aplica cao.
Conhecer os servicos fornecidos por um SO.
Conhecer a estrutura interna de um SO.
Importancia
Conhecer os servicos fornecidos pelo SO permite escrever
programas mais simples.
A estrutura de um SO tem implica cao no desempenho dos
programas que construmos.
A construcao de software basico e uma habilidade necessaria e
rara no mercado.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura Hardware Recursos
Regras do Jogo
Avalia coes
Ver Moodle e Nexos
Livro Texto
A. S. Tanenbaum. Sistemas Operacionais Modernos. Editora
Prentice-Hall. Terceira edi cao. 2010.
A. Silberschatz, P. Galvin e J. Peterson. Operating Systems
Concepts. Editora John Wiley and Sons. Oitava edi cao. 2008.
Estrategias de Estudo
Leitura do livro texto (individual)
Resolu cao das listas de exerccios (em grupo)
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura Hardware Recursos
Denicao de Sistema Operacional
O que e um sistema operacional?
Boa pergunta!
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura Hardware Recursos
Denicao de Sistema Operacional
O que e um sistema operacional?
Boa pergunta!
Resposta?
Nao existe uma unica resposta para esta pergunta.
Maquina virtual: esconde complexidade do hardware.
Gerente de recursos: organiza o uso do hardware.
Interface padrao: dene o que e o computador para o usuario.
Solucoes para problemas comuns envolvendo o uso de um
computador.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura Hardware Recursos
Utilidade de um Sistema Operacional
Solucoes para Problemas Comuns
Problema: Acesso ao hardware e difcil, em especial opera coes
de entrada/sada (E/S).
Solucao: Sistema operacional cria uma maquina abstrata,
escondendo os detalhes do hardware.
Problema: Opera coes de E/S sao lentas, deixando o
computador ocioso.
Solucao: Sistema operacional multiplexa o uso do sistema
entre varios programas.
Estes dois problemas fundamentais denem as principais
abstra coes de um sistema operacional: drivers, processos,
sistemas de arquivos, etc.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura Hardware Recursos
Visao Geral de Hardware
Hardware
Maquina de von Neumann.
Programa e dados sao lidos da memoria, manipulados
(opera coes aritmeticas e booleanas) e escritos na memoria.
Monitor
Keyboard
Floppy
disk drive
Hard
disk drive
Hard
disk
controller
Floppy
disk
controller
Keyboard
controller
Video
controller
Memory CPU
Bus
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura Hardware Recursos
Acesso a Dispositivos
Dispositivos
Acesso a dispositivos e feito pela escrita e leitura de
registradores de dispositivo.
E o cerebro do computador.
Busca instru coes na memoria, decodica a instru cao, busca
operandos na memoria, guarda os resultados na memoria.
Registradores
A CPU contem um pequena memoria interna para guardar os
dados lidos da memoria.
Esta memoria esta organizada em registradores.
Processadores tem um n umero variavel de registradores:
x86: 8
x86-64: 16
MIPS: 32
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
CPU
Conjunto de Instru coes
Cada processador possui o seu conjunto de instru coes.
Uma instru cao e um dado binario que indica uma opera cao a
ser executada pela CPU e seus parametros.
Instru coes sao usualmente representadas pelo seu mnem onico
em assembler:
addi $t0, $zero, 2
add $t1, $zero, $t0
add $t2, $t0, $t1
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
CPU
Registradores Especiais
Uma CPU possui alguns registradores especiais:
Contador de programa: endereco da pr oxima instru cao.
Ponteiro de pilha: endereco do topo da pilha de execu cao.
Ponteiro da base da pilha: endereco da base da pilha, quadro
de execu cao atual.
Palavra de estado do programa ou registrador de estado:
guarda informacoes sobre o estado da CPU.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
CPU
Modos de Opera cao
A CPU possui pelo menos dois modos de opera cao:
Modo supervisor (ou kernel )
Modo usuario
A CPU inicia no modo supervisor, com controle total sobre o
hardware.
Existe uma instru cao privilegiada (somente disponvel em
modo supervisor) que muda para modo usuario.
No modo usuario, apenas um subconjunto de instru coes estao
disponveis.
Uma chamada de sistema e usada para mudar de modo
usuario para supervisor, devolvendo controle ao SO.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Mem oria
Deni cao
A memoria e onde programas e dados sao armazenados.
Existem varios tipos, apresentando um balan co distinto de
pre co, velocidade e durabilidade.
Tipo Tecnologia Velocidade Pre co
Registradores SRAM (vol.) 1 ciclo de CPU $$$$$$
Cache SRAM (vol.) 2 a 10 ciclos $$$$
RAM DRAM (vol.) 100s ciclos $$
Flash NAND (pers.) 100,000s ciclos $$
Disco Magnetico (pers.) 1,000,000 ciclos $
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Mem oria
Hierarquia de Memoria
A memoria e organizada em uma hierarquia, para melhor
aproveitar as memorias mais caras e rapidas.
As memorias mais rapidas cam proximas da CPU.
Registers
Cache
Main memory
Magnetic tape
Magnetic disk
1 nsec
2 nsec
10 nsec
10 msec
100 sec
<1 KB
1 MB
64-512 MB
5-50 GB
20-100 GB
Typical capacity Typical access time
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Mem oria
Protecao de Memoria
O problema e como executar varios programas ao mesmo
tempo: isolamento e relocacao.
De forma similar ao modo de opera cao da CPU, controladores
de RAM fornecem controle de acesso na forma de uma MMU.
Este componente dene quais endere cos de memoria um
processo consegue acessar.
Isto tambem permite denir um mapeamento entre os
endere cos que um programa usa e endere cos reais.
Acessos nao autorizados por este mapeamento param a
execu cao do programa e ativam o SO.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Mem oria
Memoria Virtual
O SO controla o mapeamento entre o espa co de
endere camento do processos e endere cos reais.
O SO pode usar este poder para guardar paginas no disco.
Virtual
address
space
Physical
memory
address
60K-64K
56K-60K
52K-56K
48K-52K
44K-48K
40K-44K
36K-40K
32K-36K
28K-32K
24K-28K
20K-24K
16K-20K
12K-16K
8K-12K
4K-8K
0K-4K
28K-32K
24K-28K
20K-24K
16K-20K
12K-16K
8K-12K
4K-8K
0K-4K
Virtual page
Page frame
X
X
X
X
7
X
5
X
X
X
3
4
0
6
1
2
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Entrada e Sada
Fun cao
Dispositivos de E/S ligam a CPU ao mundo externo.
Do ponto de vista te orico, CPU e memoria sao suciente.
Na pratica, um computador sem E/S nao serve para nada.
Grande parte da motivacao e avancos de SO vem dos
dispositivos de E/S.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Entrada e Sada
Dispositivos, Controladores e Drivers
Um dispositivo de E/S e o aparelho em si.
Um controlador gerencia sicamente o dispositivo e apresenta
uma interface mais simples ao SO.
Um driver e o codigo contido no SO para utilizar um
dispositivo, atraves de seu controlador.
Exemplo de Controlador e Dispositivos
Um disco rgido e um dispositivo.
Uma interface SATA e um controlador de dispositivos de disco
rgido.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Entrada e Sada
Comunica cao com Controladores
Controladores possuem registradores que sao usados para
programa-los.
O acesso a estes registradores e feito de varias formas:
Os registradores possuem enderecos de porta e sao acessados
por instru coes especiais.
Os registradores sao mapeados na memoria e sao acessados
como um endereco de memoria qualquer.
Em ambos os casos, o controle e feito pela CPU lendo e
escrevendo bytes de dados.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Entrada e Sada
Execu cao de E/S
Uma opera cao de E/S engloba os seguintes passos:
1
Requisi cao atraves dos registradores
2
Espera pelo termino da opera cao
3
Leitura dos resultados
Existem algumas formas de se esperar e ler os dados:
Espera ocupada (polling)
Interrupcoes
Interrupcoes e acesso direto a memoria (DMA)
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Entrada e Sada
Interrupcoes
As interrupcoes geradas pelo hardware interrompem a
execu cao do programa atual, ativando o SO.
A funcao do SO responsavel por uma interrupcao e dado pelo
vetor de interrupcoes.
CPU
Interrupt
controller
Disk
controller
Disk drive
Current instruction
Next instruction
1. Interrupt
3. Return
2. Dispatch
to handler
Interrupt handler
(b) (a)
1
3
4 2
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Barramentos
Liga coes entre os dispositivos que comp oem o computador
CPU
Flash ROM
(BIOS)
Super I/O
Serial Port
Parallel Port
Floppy Disk
Keyboard
Mouse
Northbridge
(memory
o!troller hub)
Southbridge
(I/O o!troller
hub)
IDE
SATA
USB
Ethernet
Audio Codec
CMS Me!ory
O!board
graphis
o!troller
Clo"
#e!erator
#raphis
ard slot
"i#h$speed
#raphics bus
%A&P or PCI
E'press(
Chipset
Front$side
bus
Me!ory
bus
Memory Slots
PCI
Bus
PCI Slots
)PC
Bus
Internal
Bus
PCI
Bus
Cables and
ports leadin#
o*$board
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura CPU Memoria E/S Barramentos
Barramentos
Exemplos
Barramentos internos:
ISA (16,67MB/s)
PCI (133MB/s)
AGP (266MB/s a 2,133GB/s)
PCI Express (256MB/s a 16GB/s)
HyperTransport / QuickPath (19GB/s a 51GB/s)
Barramentos externos:
IDE (PATA)
SCSI
SATA
USB
FireWire
O SO deve saber como controlar o barramento, para poder
controlar os dispositivos ligados a ele.
Gustavo M. D. Vieira Sistemas Operacionais: Introdu cao
Deni cao Partes Historia Hardware API Estrutura Mecanismo API
Chamadas de Sistema
Visao Geral